Compare commits

...

6 Commits

Author SHA1 Message Date
Lea Anthony
b6dd999757 Added more docs around config 2020-11-01 06:29:49 +11:00
Lea Anthony
e572345068 Update HTML escaping 2020-11-01 06:08:17 +11:00
Lea Anthony
1ddb74c6ce Fix custom HTML 2020-10-31 21:04:51 +11:00
Lea Anthony
73ee9ef530 v1.9.1 2020-10-31 16:24:35 +11:00
Lea Anthony
003eecc4ff Fix firebug flag 2020-10-31 16:23:23 +11:00
Lea Anthony
f97341abbe Revert "Allow use of custom HTML (#545)"
This reverts commit dc605c1683.
2020-10-31 16:15:29 +11:00
6 changed files with 68 additions and 34 deletions

File diff suppressed because one or more lines are too long

View File

@@ -1,4 +1,4 @@
package cmd package cmd
// Version - Wails version // Version - Wails version
const Version = "v1.9.0" const Version = "v1.9.1"

View File

@@ -73,7 +73,6 @@ func init() {
// Project options // Project options
projectOptions := &cmd.ProjectOptions{} projectOptions := &cmd.ProjectOptions{}
projectOptions.Verbose = verbose projectOptions.Verbose = verbose
projectOptions.UseFirebug = usefirebug
// Check we are in project directory // Check we are in project directory
// Check project.json loads correctly // Check project.json loads correctly
@@ -83,6 +82,9 @@ func init() {
return fmt.Errorf("Unable to find 'project.json'. Please check you are in a Wails project directory") return fmt.Errorf("Unable to find 'project.json'. Please check you are in a Wails project directory")
} }
// Set firebug flag
projectOptions.UseFirebug = usefirebug
// Check that this platform is supported // Check that this platform is supported
if !projectOptions.PlatformSupported() { if !projectOptions.PlatformSupported() {
logger.Yellow("WARNING: This project is unsupported on %s - it probably won't work!\n Valid platforms: %s\n", runtime.GOOS, strings.Join(projectOptions.Platforms, ", ")) logger.Yellow("WARNING: This project is unsupported on %s - it probably won't work!\n Valid platforms: %s\n", runtime.GOOS, strings.Join(projectOptions.Platforms, ", "))

View File

@@ -1,20 +1,39 @@
package wails package wails
import ( import (
b64 "encoding/base64" "fmt"
"net/url"
"strings"
"github.com/leaanthony/mewn"
"github.com/wailsapp/wails/runtime" "github.com/wailsapp/wails/runtime"
) )
// AppConfig is the configuration structure used when creating a Wails App object // AppConfig is the configuration structure used when creating a Wails App object
type AppConfig struct { type AppConfig struct {
Width, Height int // The width and height of your application in pixels
Title string Width, Height int
HTML string
JS string // The title to put in the title bar
CSS string Title string
Colour string
Resizable bool // The HTML your app should use. If you leave it blank, a default will be used:
// <!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta http-equiv="IE=edge" content="IE=edge"></head><body><div id="app"></div><script type="text/javascript"></script></body></html>
HTML string
// The Javascript your app should use. Normally this should be generated by a bundler.
JS string
// The CSS your app should use. Normally this should be generated by a bundler.
CSS string
// The colour of your window. Can take "#fff", "rgb(255,255,255)", "rgba(255,255,255,1)" formats
Colour string
// Indicates whether your app should be resizable
Resizable bool
// Indicated if the devtools should be disabled
DisableInspector bool DisableInspector bool
} }
@@ -33,9 +52,14 @@ func (a *AppConfig) GetTitle() string {
return a.Title return a.Title
} }
// GetHTML returns the HTML for the app // GetHTML returns the default HTML
func (a *AppConfig) GetHTML() string { func (a *AppConfig) GetHTML() string {
return "data:text/html;base64," + b64.URLEncoding.EncodeToString([]byte(a.HTML)) if len(a.HTML) > 0 {
a.HTML = url.QueryEscape(a.HTML)
a.HTML = "data:text/html," + strings.ReplaceAll(a.HTML, "+", "%20")
a.HTML = strings.ReplaceAll(a.HTML, "%3D", "=")
}
return a.HTML
} }
// GetResizable returns true if the window should be resizable // GetResizable returns true if the window should be resizable
@@ -75,14 +99,14 @@ func (a *AppConfig) merge(in *AppConfig) error {
a.Colour = in.Colour a.Colour = in.Colour
} }
if in.HTML != "" {
a.HTML = in.HTML
}
if in.JS != "" { if in.JS != "" {
a.JS = in.JS a.JS = in.JS
} }
if in.HTML != "" {
a.HTML = in.HTML
}
if in.Width != 0 { if in.Width != 0 {
a.Width = in.Width a.Width = in.Width
} }
@@ -103,7 +127,7 @@ func newConfig(userConfig *AppConfig) (*AppConfig, error) {
Resizable: true, Resizable: true,
Title: "My Wails App", Title: "My Wails App",
Colour: "#FFF", // White by default Colour: "#FFF", // White by default
HTML: defaultHTML, HTML: mewn.String("./runtime/assets/default.html"),
} }
if userConfig != nil { if userConfig != nil {
@@ -113,19 +137,9 @@ func newConfig(userConfig *AppConfig) (*AppConfig, error) {
} }
} }
println("****************************************************")
fmt.Printf("%+v\n", result)
println("****************************************************")
return result, nil return result, nil
} }
var defaultHTML = `<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
</head>
<body>
<div id="app"></div>
</body>
</html>`

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1,18 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
</head>
<body>
<div id="app"></div>
<script type="text/javascript">function AddScript(js, callbackID) {
var script = document.createElement('script');
script.text = js;
document.body.appendChild(script);
}</script>
</body>
</html>