(refreshCount += 1)} />
@@ -165,6 +169,7 @@
{preFilter}
{small}
{displayPath}
+ {refreshCount}
/>
diff --git a/frontend/src/lib/components/flows/pickers/PickHubScriptQuick.svelte b/frontend/src/lib/components/flows/pickers/PickHubScriptQuick.svelte
index e9e2686840..feaa82a792 100644
--- a/frontend/src/lib/components/flows/pickers/PickHubScriptQuick.svelte
+++ b/frontend/src/lib/components/flows/pickers/PickHubScriptQuick.svelte
@@ -1,7 +1,8 @@
@@ -51,6 +53,7 @@
}[]
displayPath?: boolean
apps?: string[]
+ refreshCount?: number
}
let {
@@ -61,14 +64,17 @@
appFilter = undefined,
items = $bindable([]),
displayPath = false,
- apps = $bindable([])
+ apps = $bindable([]),
+ refreshCount = 0
}: Props = $props()
let allApps: string[] = []
async function getAllApps(filterKind: typeof kind) {
try {
hubNotAvailable = false
- allApps = (await listHubIntegrationsCached({ kind: filterKind })).map((x) => x.name)
+ allApps = (await listHubIntegrationsCached({ kind: filterKind, refreshCount })).map(
+ (x) => x.name
+ )
apps = allApps
} catch (err) {
console.error('Hub is not available')
@@ -79,11 +85,11 @@
}
let hubScriptsFilteredPromise = usePromise(
- () => listHubScriptsCached({ appFilter, filter, kind }),
+ () => listHubScriptsCached({ appFilter, filter, kind, refreshCount }),
{ loadInit: false }
)
$effect(() => {
- ;[filter, kind, appFilter]
+ ;[filter, kind, appFilter, refreshCount]
hubScriptsFilteredPromise.refresh()
})
$effect(() => {
@@ -131,7 +137,7 @@
}
}
$effect(() => {
- kind
+ ;[kind, refreshCount]
untrack(() => {
getAllApps(kind)
})
diff --git a/frontend/src/lib/components/flows/pickers/WorkspaceScriptPickerQuick.svelte b/frontend/src/lib/components/flows/pickers/WorkspaceScriptPickerQuick.svelte
index d003af2c30..2f6da65b47 100644
--- a/frontend/src/lib/components/flows/pickers/WorkspaceScriptPickerQuick.svelte
+++ b/frontend/src/lib/components/flows/pickers/WorkspaceScriptPickerQuick.svelte
@@ -1,4 +1,5 @@
@@ -28,6 +40,7 @@
import BarsStaggered from '$lib/components/icons/BarsStaggered.svelte'
import Popover from '$lib/components/Popover.svelte'
import { usePromise } from '$lib/svelte5Utils.svelte'
+ import { get } from 'svelte/store'
type Item = {
path: string
@@ -37,7 +50,8 @@
}
let items = usePromise(
- async () => await loadItemsCached({ workspace: $workspaceStore!, kind, isTemplate }),
+ async () =>
+ await loadItemsCached({ workspace: $workspaceStore!, kind, isTemplate, refreshCount }),
{ loadInit: false }
)
@@ -54,6 +68,7 @@
ownerFilter?:
| { kind: 'inline' | 'owner' | 'integrations'; name: string | undefined }
| undefined
+ refreshCount?: number
}
let {
@@ -64,7 +79,8 @@
filteredWithOwner = $bindable(undefined),
filter = '',
owners = $bindable([]),
- ownerFilter = $bindable(undefined)
+ ownerFilter = $bindable(undefined),
+ refreshCount = 0
}: Props = $props()
const dispatch = createEventDispatcher()
@@ -88,6 +104,7 @@
}
}
$effect(() => {
+ refreshCount
$workspaceStore && kind && untrack(() => items.refresh())
})
$effect(() => {