5
0
mirror of https://github.com/wailsapp/wails.git synced 2025-05-08 13:40:02 +08:00

Add dialog to kitchensink

This commit is contained in:
Lea Anthony 2020-11-19 07:04:42 +11:00
parent eaeecbb180
commit cc4967d457
No known key found for this signature in database
GPG Key ID: 33DAF7BB90A58405
8 changed files with 137 additions and 18 deletions

View File

@ -135,9 +135,9 @@
}
},
"@wails/runtime": {
"version": "1.2.11",
"resolved": "https://registry.npmjs.org/@wails/runtime/-/runtime-1.2.11.tgz",
"integrity": "sha512-IhCsu8bvCb8Vjv3T0Ob+yLFYlpzFwox073LD55khsVJc7/1jB3aMcqt4y7Jnnomn6SUcitImLHpw8bytKsHjLA==",
"version": "1.2.12",
"resolved": "https://registry.npmjs.org/@wails/runtime/-/runtime-1.2.12.tgz",
"integrity": "sha512-QnmDZhLz58HXatXERglpR5yLelTKHnPYM7XlRTNFrzABXJ2EVTy3wMirbe5aucKKzpYmUNzVFhz3FLkFgWNn2A==",
"dev": true
},
"alphanum-sort": {
@ -2976,9 +2976,9 @@
"dev": true
},
"rollup": {
"version": "2.33.2",
"resolved": "https://registry.npmjs.org/rollup/-/rollup-2.33.2.tgz",
"integrity": "sha512-QPQ6/fWCrzHtSXkI269rhKaC7qXGghYBwXU04b1JsDZ6ibZa3DJ9D1SFAYRMgx1inDg0DaTbb3N4Z1NK/r3fhw==",
"version": "2.33.3",
"resolved": "https://registry.npmjs.org/rollup/-/rollup-2.33.3.tgz",
"integrity": "sha512-RpayhPTe4Gu/uFGCmk7Gp5Z9Qic2VsqZ040G+KZZvsZYdcuWaJg678JeDJJvJeEQXminu24a2au+y92CUWVd+w==",
"dev": true,
"requires": {
"fsevents": "~2.1.2"
@ -3429,9 +3429,9 @@
}
},
"svelte-preprocess": {
"version": "4.5.2",
"resolved": "https://registry.npmjs.org/svelte-preprocess/-/svelte-preprocess-4.5.2.tgz",
"integrity": "sha512-ClUX5NecnGBwI+nJnnBvKKy0XutCq5uHTIKe6cPhpvuOj9AAnyvef9wOZAE93yr85OKPutGCNIJa/X1TrJ7O0Q==",
"version": "4.6.0",
"resolved": "https://registry.npmjs.org/svelte-preprocess/-/svelte-preprocess-4.6.0.tgz",
"integrity": "sha512-kJwcU71+yw3KKMgGu9eHZMJVBSkW4VfGJ5LSMgFQP/XcwvY2QUV6JcyBoQTjJm+h1KRlo/WGDo6A7+7e+B8B4A==",
"dev": true,
"requires": {
"@types/pug": "^2.0.4",

View File

@ -11,12 +11,12 @@
"@rollup/plugin-commonjs": "^11.0.0",
"@rollup/plugin-node-resolve": "^7.0.0",
"@rollup/plugin-url": "^5.0.1",
"@wails/runtime": "^1.2.11",
"@wails/runtime": "^1.2.12",
"focus-visible": "^5.2.0",
"halfmoon": "^1.1.1",
"postcss": "^8.1.7",
"postcss-import": "^12.0.1",
"rollup": "^2.33.2",
"rollup": "^2.33.3",
"rollup-plugin-livereload": "^1.0.0",
"rollup-plugin-postcss": "^3.1.8",
"rollup-plugin-string": "^3.0.0",
@ -25,7 +25,7 @@
"sirv-cli": "^0.4.4",
"svelte": "^3.29.7",
"svelte-highlight": "^0.6.2",
"svelte-preprocess": "^4.5.2"
"svelte-preprocess": "^4.6.0"
},
"dependencies": {}
}

View File

@ -24,6 +24,9 @@
--lm-switch-bg-color-checked: rgb(186,167,49);
--lm-switch-slider-bg-color: #FFF;
--dm-switch-slider-bg-color: #FFF;
--dm-base-text-color: white;
--lm-base-text-color: black;
}
::-webkit-scrollbar {
@ -119,6 +122,7 @@
top: 50px;
}
/* * {
font-family: 'Roboto';
} */
html {
font-family: -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol";
}

View File

@ -1,11 +1,14 @@
<script>
import Open from './Open/Open.svelte';
import Save from './Save/Save.svelte';
</script>
<div>
The ability to open a dialog and prompt the user to select files or directories is provided as part of the <code>runtime.Dialog</code> component.
The ability to open a dialog and prompt the user to select files or directories is provided as part of the <code>runtime.Dialog</code> component. There are 2 types of dialogs available: Save and Open.
<br/><br/>
<Open></Open>
<br/>
<Save></Save>
</div>

View File

@ -7,7 +7,7 @@
var isJs = false;
$: lang = isJs ? 'Javascript' : 'Go';
var id = "Dialog";
var id = "OpenDialog";
let options = {
"DefaultDirectory": "",
@ -19,7 +19,7 @@
"AllowMultiple": false,
"ShowHiddenFiles": false,
"CanCreateDirectories": false,
"ResolveAliases": false,
"ResolvesAliases": false,
"TreatPackagesAsDirectories": false
}

View File

@ -0,0 +1,84 @@
<script>
import { Dialog } from '@wails/runtime';
import CodeBlock from '../../../components/CodeBlock.svelte';
import CodeSnippet from '../../../components/CodeSnippet.svelte';
import jsCode from './code.jsx';
import goCode from './code.go';
var isJs = false;
$: lang = isJs ? 'Javascript' : 'Go';
var id = "SaveDialog";
let options = {
"DefaultDirectory": "",
"DefaultFilename": "",
"Title": "",
"Filters": "",
"ShowHiddenFiles": false,
"CanCreateDirectories": false,
"TreatPackagesAsDirectories": false
}
function processSave() {
if( isJs ) {
console.log(options);
Dialog.Save(options);
} else {
backend.main.Dialog.Save(options).then( (result) => {
console.log(result);
});
}
}
$: encodedJSOptions = JSON.stringify(options, null, " ");
$: encodedGoOptions = encodedJSOptions
.replace(/\ {2}"(.*)":/mg, " $1:")
.replace(/\n}/, ",\n}");
$: testcodeJs = "import { runtime } from '@wails/runtime';\nruntime.Dialog.Save(" + encodedJSOptions + ");";
$: testcodeGo = '// runtime is given through WailsInit()\nimport "github.com/wailsapp/wails/v2/pkg/options"\n\nselectedFiles := runtime.Dialog.Save( &options.SaveDialog' + encodedGoOptions + ')';
</script>
<CodeBlock bind:isJs={isJs} {jsCode} {goCode} title="Save" {id} showRun=true>
<div class="browser-form">
<form data-wails-no-drag class="mw-full">
<div class="form-row row-eq-spacing-sm">
<div class="col-sm">
<label for="{id}-Title">Title</label>
<input type="text" class="form-control" id="{id}-Title" bind:value="{options.Title}">
<div class="form-text"> The title for the dialog </div>
</div>
<div class="col-sm">
<label for="{id}-defaultDirectory">Default Directory</label>
<input type="text" class="form-control" id="{id}-defaultDirectory" bind:value="{options.DefaultDirectory}">
<div class="form-text"> The directory the dialog will default to </div>
</div>
</div>
<div class="form-row row-eq-spacing-sm">
<div class="col-sm">
<label for="{id}-defaultFilename">Default Filename</label>
<input type="text" class="form-control" id="{id}-defaultFilename" bind:value="{options.DefaultFilename}">
<div class="form-text"> The filename the dialog will suggest to use </div>
</div>
<div class="col-sm">
<label for="{id}-Filters">Filters</label>
<input type="text" class="form-control" id="{id}-Filters" bind:value="{options.Filters}">
<div class="form-text"> A list of extensions eg <code>*.jpg,*.jpeg</code> </div>
</div>
</div>
<div class="form-row row-eq-spacing-sm">
<div class="col-sm">
<input type="checkbox" id="{id}-CanCreateDirectories" bind:checked="{options.CanCreateDirectories}">
<label for="{id}-CanCreateDirectories">Can create directories</label>
</div>
</div>
<input class="btn btn-primary" type="button" on:click="{processSave}" value="Save using {lang} runtime">
<CodeSnippet bind:isJs={isJs} jsCode={testcodeJs} goCode={testcodeGo}></CodeSnippet>
</form>
</div>
</CodeBlock>

View File

@ -0,0 +1,11 @@
package main
import wails "github.com/wailsapp/wails/v2"
type MyStruct struct {
runtime *wails.Runtime
}
func (l *MyStruct) ShowHelp() {
l.runtime.Browser.Open("https://www.youtube.com/watch?v=dQw4w9WgXcQ")
}

View File

@ -0,0 +1,17 @@
import { Log } from '@wails/runtime';
function doSomeOperation() {
// Do things
let value = doSomething();
Log.Print("A raw message");
Log.Trace("I got: " + value);
Log.Debug("A debug message");
Log.Info("An Info message");
Log.Warning("A Warning message");
Log.Error("An Error message");
}
function abort() {
// Do some things
Log.Fatal("I accidentally the whole application!");
}