dispatch('captureToggle', {})}
- {disabled}
+ disabled={disabled || !!$triggerLock}
variant={captureInfo.active ? 'default' : 'accent-secondary'}
selected={captureInfo.active}
startIcon={captureInfo.active
@@ -327,12 +331,14 @@
- {#if disabled === true}
+ {#if $triggerLock}
+ {$triggerLock}.
+ {:else if disabled === true}
Enter a valid configuration to start capturing.
{:else}
{@render description?.()}
diff --git a/frontend/src/lib/components/triggers/PermissionedAsLine.svelte b/frontend/src/lib/components/triggers/PermissionedAsLine.svelte
index 86c5ad74b8..050b0e32b9 100644
--- a/frontend/src/lib/components/triggers/PermissionedAsLine.svelte
+++ b/frontend/src/lib/components/triggers/PermissionedAsLine.svelte
@@ -22,9 +22,16 @@
* `default_permissioned_as` rules and preselects the matching default.
*/
path?: string | undefined
+ /** Read-only editor: show the stored value, offer no choice and announce no change. */
+ disabled?: boolean
}
- let { permissionedAs, onPermissionedAsChange, path = undefined }: Props = $props()
+ let {
+ permissionedAs,
+ onPermissionedAsChange,
+ path = undefined,
+ disabled = false
+ }: Props = $props()
const operatingWorkspace = useOperatingWorkspace()
const operatingUser = useOperatingUser()
const actingUser = $derived(operatingUser.current)
@@ -77,13 +84,20 @@
permissionedAs !== effectivePermissionedAs
)
- const shouldRender = $derived(!!wsId && (permissionedAs !== undefined || canPreserve))
+ const shouldRender = $derived(
+ !!wsId && (permissionedAs !== undefined || (canPreserve && !disabled))
+ )
// For non-admin users editing a trigger owned by someone else: signal that
// permissioned_as will change to the current user (backend ignores preserve for non-admins).
// Only fires when there's an actual change (DB value differs from current user).
$effect(() => {
- if (!canPreserve && permissionedAs !== undefined && permissionedAs !== myPermissionedAs) {
+ if (
+ !disabled &&
+ !canPreserve &&
+ permissionedAs !== undefined &&
+ permissionedAs !== myPermissionedAs
+ ) {
onPermissionedAsChange(undefined, false)
}
})
@@ -107,7 +121,7 @@
{#if shouldRender && wsId}
Permissioned as
- {#if canPreserve}
+ {#if canPreserve && !disabled}
{permissionedAs}
- {#if willChange}
+ {#if willChange && !disabled}
will change to {effectivePermissionedAs} on save