mirror of
https://github.com/tauri-apps/plugins-workspace.git
synced 2026-06-06 13:53:54 +02:00
feat: add tauri-plugin-opener (#2019)
This commit is contained in:
@@ -19,6 +19,7 @@
|
||||
"@tauri-apps/plugin-fs": "2.0.2",
|
||||
"@tauri-apps/plugin-geolocation": "2.0.0",
|
||||
"@tauri-apps/plugin-global-shortcut": "2.0.0",
|
||||
"@tauri-apps/plugin-opener": "1.0.0",
|
||||
"@tauri-apps/plugin-haptics": "2.0.0",
|
||||
"@tauri-apps/plugin-http": "2.0.1",
|
||||
"@tauri-apps/plugin-nfc": "2.0.0",
|
||||
|
||||
@@ -33,6 +33,7 @@ tauri-plugin-notification = { path = "../../../plugins/notification", version =
|
||||
] }
|
||||
tauri-plugin-os = { path = "../../../plugins/os", version = "2.0.1" }
|
||||
tauri-plugin-process = { path = "../../../plugins/process", version = "2.0.1" }
|
||||
tauri-plugin-opener = { path = "../../../plugins/opener", version = "1.0.0" }
|
||||
tauri-plugin-shell = { path = "../../../plugins/shell", version = "2.0.2" }
|
||||
tauri-plugin-store = { path = "../../../plugins/store", version = "2.1.0" }
|
||||
|
||||
|
||||
@@ -80,6 +80,11 @@
|
||||
],
|
||||
"deny": ["$APPDATA/db/*.stronghold"]
|
||||
},
|
||||
"store:default"
|
||||
"store:default",
|
||||
"opener:default",
|
||||
{
|
||||
"identifier": "opener:allow-open-path",
|
||||
"allow": [{ "path": "$APPDATA" }, { "path": "$APPDATA/**" }]
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
@@ -36,6 +36,7 @@ pub fn run() {
|
||||
.plugin(tauri_plugin_notification::init())
|
||||
.plugin(tauri_plugin_os::init())
|
||||
.plugin(tauri_plugin_process::init())
|
||||
.plugin(tauri_plugin_opener::init())
|
||||
.plugin(tauri_plugin_shell::init())
|
||||
.plugin(tauri_plugin_store::Builder::default().build())
|
||||
.setup(move |app| {
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
<script>
|
||||
import { writable } from 'svelte/store'
|
||||
import { open } from '@tauri-apps/plugin-shell'
|
||||
import { getCurrentWindow } from '@tauri-apps/api/window'
|
||||
import { getCurrentWebview } from '@tauri-apps/api/webview'
|
||||
import * as os from '@tauri-apps/plugin-os'
|
||||
@@ -14,6 +13,7 @@
|
||||
import Notifications from './views/Notifications.svelte'
|
||||
import Shortcuts from './views/Shortcuts.svelte'
|
||||
import Shell from './views/Shell.svelte'
|
||||
import Opener from './views/Opener.svelte'
|
||||
import Store from './views/Store.svelte'
|
||||
import Updater from './views/Updater.svelte'
|
||||
import Clipboard from './views/Clipboard.svelte'
|
||||
@@ -92,6 +92,11 @@
|
||||
component: Shell,
|
||||
icon: 'i-codicon-terminal-bash'
|
||||
},
|
||||
{
|
||||
label: 'Opener',
|
||||
component: Opener,
|
||||
icon: 'i-codicon-link-external'
|
||||
},
|
||||
{
|
||||
label: 'Store',
|
||||
component: Store,
|
||||
|
||||
@@ -0,0 +1,66 @@
|
||||
<script>
|
||||
import * as opener from '@tauri-apps/plugin-opener'
|
||||
|
||||
export let onMessage
|
||||
|
||||
let url = ''
|
||||
let urlProgram = ''
|
||||
function openUrl() {
|
||||
opener.openUrl(url, urlProgram ? urlProgram : undefined).catch(onMessage)
|
||||
}
|
||||
|
||||
let path = ''
|
||||
let pathProgram = ''
|
||||
function openPath() {
|
||||
opener
|
||||
.openPath(path, pathProgram ? pathProgram : undefined)
|
||||
.catch(onMessage)
|
||||
}
|
||||
|
||||
let revealPath = ''
|
||||
function revealItemInDir() {
|
||||
opener.revealItemInDir(revealPath).catch(onMessage)
|
||||
}
|
||||
</script>
|
||||
|
||||
<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>
|
||||
<input class="input" bind:value={urlProgram} />
|
||||
</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 open..."
|
||||
bind:value={path}
|
||||
/>
|
||||
<span> with </span>
|
||||
<input class="input" bind:value={pathProgram} />
|
||||
</form>
|
||||
|
||||
<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>
|
||||
Reference in New Issue
Block a user