update example

pull/2019/head
amrbashir 8 months ago
parent 47a5c858e4
commit 6d62ec79ec
No known key found for this signature in database
GPG Key ID: BBD7A47A2003FF33

@ -81,6 +81,10 @@
"deny": ["$APPDATA/db/*.stronghold"]
},
"store:default",
"opener:default"
"opener:default",
{
"identifier": "opener:allow-open-path",
"allow": [{ "path": "$APPDATA" }, { "path": "$APPDATA/**" }]
}
]
}

@ -1,5 +1,5 @@
<script>
import { open } from '@tauri-apps/plugin-opener'
import * as opener from '@tauri-apps/plugin-opener'
export let onMessage
@ -17,34 +17,83 @@
'wslview'
]
let url = ''
let path = ''
let revealPath = ''
let program = 'Default'
let urlProgram = 'Default'
let pathProgram = 'Default'
function openUrl() {
opener
.openUrl(url, urlProgram === 'Default' ? undefined : urlProgram)
.catch(onMessage)
}
function openPath() {
open(path, program === 'Default' ? undefined : program).catch(onMessage)
opener
.openPath(path, pathProgram === 'Default' ? undefined : urlProgram)
.catch(onMessage)
}
function revealItemInDir() {
opener.revealItemInDir(revealPath).catch(onMessage)
}
</script>
<div class="flex flex-col">
<div class="flex flex-col gap-2">
<form
class="flex flex-row gap-2 items-center"
on:submit|preventDefault={openUrl}
>
<button class="btn" type="submit">Open URL</button>
<input
class="input grow"
placeholder="Type the URL to open..."
bind:value={url}
/>
<span> with </span>
<select class="input" bind:value={urlProgram}>
<option value="Default">Default</option>
{#each programs as p}
<option value={p}>{p}</option>
{/each}
</select>
</form>
<form
class="flex flex-row gap-2 items-center"
on:submit|preventDefault={openPath}
>
<button class="btn" type="submit">Open Path</button>
<input
class="input grow"
placeholder="Type the path to watch..."
placeholder="Type the path to open..."
bind:value={path}
/>
<span> with </span>
<select class="input" bind:value={program}>
<select class="input" bind:value={pathProgram}>
<option value="Default">Default</option>
{#each programs as p}
<option value={p}>{p}</option>
{/each}
</select>
</form>
<button class="btn" type="submit">Open</button>
<form
class="flex flex-row gap-2 items-center"
on:submit|preventDefault={revealItemInDir}
>
<button class="btn" type="submit">Reveal</button>
<input
class="input grow"
placeholder="Type the path to reveal..."
bind:value={revealPath}
/>
</form>
</div>

@ -16,7 +16,7 @@ pub async fn open_url<R: Runtime>(
app: AppHandle<R>,
command_scope: CommandScope<crate::scope::Entry>,
global_scope: GlobalScope<crate::scope::Entry>,
path: String,
url: String,
with: Option<Program>,
) -> crate::Result<()> {
let scope = Scope::new(
@ -33,10 +33,10 @@ pub async fn open_url<R: Runtime>(
.collect(),
);
if scope.is_url_allowed(&path) {
crate::open_url(path, with)
if scope.is_url_allowed(&url) {
crate::open_url(url, with)
} else {
Err(Error::ForbiddenUrl(path))
Err(Error::ForbiddenUrl(url))
}
}

Loading…
Cancel
Save