mirror of
https://github.com/tauri-apps/plugins-workspace.git
synced 2026-05-07 12:26:41 +02:00
fix(positioner): handleIconState missing permission and wrong impl (#1911)
This commit is contained in:
committed by
GitHub
parent
51ddf6a715
commit
3c1f3874f4
@@ -0,0 +1,6 @@
|
||||
---
|
||||
"positioner": patch
|
||||
"positioner-js": patch
|
||||
---
|
||||
|
||||
Added missing permission for `handleIconState` and fixed its event processing logic.
|
||||
@@ -1 +1 @@
|
||||
if("__TAURI__"in window){var __TAURI_PLUGIN_POSITIONER__=function(t){"use strict";async function e(t,e={},o){return window.__TAURI_INTERNALS__.invoke(t,e,o)}var o;return"function"==typeof SuppressedError&&SuppressedError,t.Position=void 0,(o=t.Position||(t.Position={}))[o.TopLeft=0]="TopLeft",o[o.TopRight=1]="TopRight",o[o.BottomLeft=2]="BottomLeft",o[o.BottomRight=3]="BottomRight",o[o.TopCenter=4]="TopCenter",o[o.BottomCenter=5]="BottomCenter",o[o.LeftCenter=6]="LeftCenter",o[o.RightCenter=7]="RightCenter",o[o.Center=8]="Center",o[o.TrayLeft=9]="TrayLeft",o[o.TrayBottomLeft=10]="TrayBottomLeft",o[o.TrayRight=11]="TrayRight",o[o.TrayBottomRight=12]="TrayBottomRight",o[o.TrayCenter=13]="TrayCenter",o[o.TrayBottomCenter=14]="TrayBottomCenter",t.handleIconState=async function(t){const o={};o[`${t.rect.size.type}`]={width:t.rect.size.width,height:t.rect.size.height};const i={};i[`${t.rect.position.type}`]={x:t.rect.position.x,y:t.rect.position.y},await e("plugin:positioner|set_tray_icon_state",{position:i,size:o})},t.moveWindow=async function(t){await e("plugin:positioner|move_window",{position:t})},t}({});Object.defineProperty(window.__TAURI__,"positioner",{value:__TAURI_PLUGIN_POSITIONER__})}
|
||||
if("__TAURI__"in window){var __TAURI_PLUGIN_POSITIONER__=function(t){"use strict";async function o(t,o={},e){return window.__TAURI_INTERNALS__.invoke(t,o,e)}var e;return"function"==typeof SuppressedError&&SuppressedError,t.Position=void 0,(e=t.Position||(t.Position={}))[e.TopLeft=0]="TopLeft",e[e.TopRight=1]="TopRight",e[e.BottomLeft=2]="BottomLeft",e[e.BottomRight=3]="BottomRight",e[e.TopCenter=4]="TopCenter",e[e.BottomCenter=5]="BottomCenter",e[e.LeftCenter=6]="LeftCenter",e[e.RightCenter=7]="RightCenter",e[e.Center=8]="Center",e[e.TrayLeft=9]="TrayLeft",e[e.TrayBottomLeft=10]="TrayBottomLeft",e[e.TrayRight=11]="TrayRight",e[e.TrayBottomRight=12]="TrayBottomRight",e[e.TrayCenter=13]="TrayCenter",e[e.TrayBottomCenter=14]="TrayBottomCenter",t.handleIconState=async function(t){await o("plugin:positioner|set_tray_icon_state",{position:t.rect.position,size:t.rect.size})},t.moveWindow=async function(t){await o("plugin:positioner|move_window",{position:t})},t}({});Object.defineProperty(window.__TAURI__,"positioner",{value:__TAURI_PLUGIN_POSITIONER__})}
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
// SPDX-License-Identifier: MIT
|
||||
|
||||
const COMMANDS: &[&str] = &["move_window"];
|
||||
const COMMANDS: &[&str] = &["move_window", "set_tray_icon_state"];
|
||||
|
||||
fn main() {
|
||||
tauri_plugin::Builder::new(COMMANDS)
|
||||
|
||||
@@ -40,20 +40,8 @@ export async function moveWindow(to: Position): Promise<void> {
|
||||
}
|
||||
|
||||
export async function handleIconState(event: TrayIconEvent): Promise<void> {
|
||||
const size = {} as Record<string, unknown>
|
||||
size[`${event.rect.size.type}`] = {
|
||||
width: event.rect.size.width,
|
||||
height: event.rect.size.height
|
||||
}
|
||||
|
||||
const position = {} as Record<string, unknown>
|
||||
position[`${event.rect.position.type}`] = {
|
||||
x: event.rect.position.x,
|
||||
y: event.rect.position.y
|
||||
}
|
||||
|
||||
await invoke('plugin:positioner|set_tray_icon_state', {
|
||||
position,
|
||||
size
|
||||
position: event.rect.position,
|
||||
size: event.rect.size
|
||||
})
|
||||
}
|
||||
|
||||
@@ -4,5 +4,10 @@
|
||||
|
||||
[[permission]]
|
||||
identifier = "allow-set-tray-icon-state"
|
||||
description = "Enables the set_tray_icon_state to handle events and set the TrayIcon state."
|
||||
description = "Enables the set_tray_icon_state command without any pre-configured scope."
|
||||
commands.allow = ["set_tray_icon_state"]
|
||||
|
||||
[[permission]]
|
||||
identifier = "deny-set-tray-icon-state"
|
||||
description = "Denies the set_tray_icon_state command without any pre-configured scope."
|
||||
commands.deny = ["set_tray_icon_state"]
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
## Default Permission
|
||||
|
||||
Allows the move_window command
|
||||
Allows the moveWindow and handleIconState APIs
|
||||
|
||||
- `allow-move-window`
|
||||
- `set-tray-icon-state`
|
||||
@@ -48,7 +48,20 @@ Denies the move_window command without any pre-configured scope.
|
||||
</td>
|
||||
<td>
|
||||
|
||||
Enables the set_tray_icon_state to handle events and set the TrayIcon state.
|
||||
Enables the set_tray_icon_state command without any pre-configured scope.
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td>
|
||||
|
||||
`positioner:deny-set-tray-icon-state`
|
||||
|
||||
</td>
|
||||
<td>
|
||||
|
||||
Denies the set_tray_icon_state command without any pre-configured scope.
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
"$schema" = "schemas/schema.json"
|
||||
[default]
|
||||
description = "Allows the move_window command"
|
||||
description = "Allows the moveWindow and handleIconState APIs"
|
||||
permissions = ["allow-move-window", "set-tray-icon-state"]
|
||||
|
||||
@@ -305,12 +305,17 @@
|
||||
"const": "deny-move-window"
|
||||
},
|
||||
{
|
||||
"description": "Enables the set_tray_icon_state to handle events and set the TrayIcon state.",
|
||||
"description": "Enables the set_tray_icon_state command without any pre-configured scope.",
|
||||
"type": "string",
|
||||
"const": "allow-set-tray-icon-state"
|
||||
},
|
||||
{
|
||||
"description": "Allows the move_window command",
|
||||
"description": "Denies the set_tray_icon_state command without any pre-configured scope.",
|
||||
"type": "string",
|
||||
"const": "deny-set-tray-icon-state"
|
||||
},
|
||||
{
|
||||
"description": "Allows the moveWindow and handleIconState APIs",
|
||||
"type": "string",
|
||||
"const": "default"
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user