From ee83b0620dd372b194aec561de316d5df8fea915 Mon Sep 17 00:00:00 2001 From: Ruben Fiszel Date: Sat, 3 Dec 2022 12:02:40 +0100 Subject: [PATCH] disable inputs non readable resource --- frontend/src/lib/components/AppConnect.svelte | 2 +- .../src/lib/components/ResourceEditor.svelte | 10 ++++++- frontend/src/lib/components/SchemaForm.svelte | 3 +- .../src/lib/components/SharedBadge.svelte | 2 +- frontend/src/routes/resources.svelte | 29 ++++++++++++++++--- 5 files changed, 38 insertions(+), 8 deletions(-) diff --git a/frontend/src/lib/components/AppConnect.svelte b/frontend/src/lib/components/AppConnect.svelte index 1349e988c1..5ffd755298 100644 --- a/frontend/src/lib/components/AppConnect.svelte +++ b/frontend/src/lib/components/AppConnect.svelte @@ -44,7 +44,7 @@ import { createEventDispatcher } from 'svelte' import Icon from 'svelte-awesome' import Path from './Path.svelte' - import { Alert, Button, Drawer, Skeleton } from './common' + import { Button, Drawer, Skeleton } from './common' import DrawerContent from './common/drawer/DrawerContent.svelte' import ApiConnectForm from './ApiConnectForm.svelte' import SearchItems from './SearchItems.svelte' diff --git a/frontend/src/lib/components/ResourceEditor.svelte b/frontend/src/lib/components/ResourceEditor.svelte index fc71741406..89d4ce5487 100644 --- a/frontend/src/lib/components/ResourceEditor.svelte +++ b/frontend/src/lib/components/ResourceEditor.svelte @@ -138,7 +138,15 @@

Value

{#if resourceSchema && resourceSchema?.properties} - + + {:else if !can_write} + {:else}
diff --git a/frontend/src/lib/components/SchemaForm.svelte b/frontend/src/lib/components/SchemaForm.svelte index cf063f8b89..794069eaf9 100644 --- a/frontend/src/lib/components/SchemaForm.svelte +++ b/frontend/src/lib/components/SchemaForm.svelte @@ -14,6 +14,7 @@ export let schema: Schema export let args: Record = {} export let disabledArgs: string[] = [] + export let disabled = false export let editableSchema = false export let isValid: boolean = true @@ -83,7 +84,7 @@ contentEncoding={schema.properties[argName].contentEncoding} properties={schema.properties[argName].properties} bind:itemsType={schema.properties[argName].items} - disabled={disabledArgs.includes(argName)} + disabled={disabledArgs.includes(argName) || disabled} {editableSchema} {compact} password={argName == password} diff --git a/frontend/src/lib/components/SharedBadge.svelte b/frontend/src/lib/components/SharedBadge.svelte index a3ff8afe91..7ab8ebe788 100644 --- a/frontend/src/lib/components/SharedBadge.svelte +++ b/frontend/src/lib/components/SharedBadge.svelte @@ -54,7 +54,7 @@ {kind} {#if reason} - {reason} + {reason} {/if} {/if} diff --git a/frontend/src/routes/resources.svelte b/frontend/src/routes/resources.svelte index 7975c95573..cc5f15ab69 100644 --- a/frontend/src/routes/resources.svelte +++ b/frontend/src/routes/resources.svelte @@ -249,6 +249,7 @@ path + resource type description @@ -258,15 +259,35 @@ {#if resources} {#each resources as { path, description, resource_type, extra_perms, canWrite, is_oauth, is_linked, account, refresh_error, is_expired }} - + resourceEditor?.initEdit?.(path)}>{path} -
- + + { + const linkedRt = resourceTypes?.find((rt) => rt.name === resource_type) + if (linkedRt) { + resourceTypeViewerObj = { + rt: linkedRt.name, + schema: linkedRt.schema, + description: linkedRt.description ?? '' + } + resourceTypeViewer.openDrawer?.() + } else { + sendUserToast( + `Resource type ${resource_type} not found in workspace.`, + true + ) + } + }}>