{#if expressOAuthSetup} {#if open} {#key refreshCount} {#await import('./AppConnectLightweightResourcePicker.svelte') then Module} { sendUserToast(e.detail, true) open = false }} on:refresh={async (e) => { await loadResources(resourceType) value = e.detail open = false }} /> {/await} {/key} {/if} {:else} {#await import('./AppConnectLightweightResourcePicker.svelte')} {:then Module} { sendUserToast(e.detail, true) }} on:refresh={async (e) => { await loadResources(resourceType) value = e.detail drawer?.closeDrawer?.() open = false }} /> {/await} {/if} {#if loading} {:else if expressOAuthSetup && collection.length < 2} {#if collection.length == 0} Connect {resourceType} {:else if collection.length == 1 && value == collection[0]?.value} {resourceType} {:else} { const item = collection[0] if (item) { value = item.value } }}>Use existing {/if} {:else} value, (v) => { value = v } } onClear={() => { value = undefined }} clearable items={collection} class="text-clip grow min-w-0" placeholder="{resourceType ?? 'any'} resource" /> {/if} {#if value && expressOAuthSetup} { if (value) { await ResourceService.deleteResource({ workspace: appViewerContext?.workspace ?? $workspaceStore, path: value }) value = undefined await loadResources(resourceType) } }} startIcon={{ icon: Link2Off }} /> {/if} {#if resourceType} { refreshCount += 1 open = true drawer?.openDrawer?.() }} startIcon={{ icon: Plus }} iconOnly /> {/if}