From bfb38ab51ec9387dbef4256b65489d89cbf9c277 Mon Sep 17 00:00:00 2001 From: Gani Georgiev Date: Wed, 26 Apr 2023 18:35:34 +0300 Subject: [PATCH] added select readonly prop and updated the disabled schema field state --- ui/src/components/base/Select.svelte | 17 ++++++++++++----- .../collections/schema/SchemaField.svelte | 3 ++- .../collections/schema/SchemaFieldFile.svelte | 4 ++-- .../schema/SchemaFieldRelation.svelte | 6 +++--- .../collections/schema/SchemaFieldSelect.svelte | 8 ++++---- ui/src/scss/_form.scss | 4 ++++ ui/src/scss/_schema_field.scss | 16 ++++++++++++++-- 7 files changed, 41 insertions(+), 17 deletions(-) diff --git a/ui/src/components/base/Select.svelte b/ui/src/components/base/Select.svelte index c901c2c5..4aa807cb 100644 --- a/ui/src/components/base/Select.svelte +++ b/ui/src/components/base/Select.svelte @@ -11,6 +11,7 @@ export let items = []; export let multiple = false; export let disabled = false; + export let readonly = false; export let selected = multiple ? [] : undefined; export let toggle = multiple; // toggle option on click export let closable = true; // close the dropdown on option select/deselect @@ -177,7 +178,7 @@ function onLabelClick(e) { e.stopPropagation(); - !disabled && toggler?.toggle(); + !readonly && !disabled && toggler?.toggle(); } onMount(() => { @@ -195,9 +196,15 @@ }); -
+
-
+
{#each CommonHelper.toArray(selected) as item, i}
{#if labelComponent} @@ -218,13 +225,13 @@ {/if}
{:else} -
+
{selectPlaceholder}
{/each}
- {#if !disabled} + {#if !disabled && !readonly} { diff --git a/ui/src/components/collections/schema/SchemaFieldFile.svelte b/ui/src/components/collections/schema/SchemaFieldFile.svelte index bd39eff8..ce922321 100644 --- a/ui/src/components/collections/schema/SchemaFieldFile.svelte +++ b/ui/src/components/collections/schema/SchemaFieldFile.svelte @@ -85,14 +85,14 @@
diff --git a/ui/src/components/collections/schema/SchemaFieldRelation.svelte b/ui/src/components/collections/schema/SchemaFieldRelation.svelte index 10a9ffbc..8359244f 100644 --- a/ui/src/components/collections/schema/SchemaFieldRelation.svelte +++ b/ui/src/components/collections/schema/SchemaFieldRelation.svelte @@ -116,7 +116,7 @@ noOptionsText="No collections found" selectionKey="id" items={$collections} - disabled={!interactive || field.id} + readonly={!interactive || field.id} bind:keyOfSelected={field.options.collectionId} > @@ -136,14 +136,14 @@
diff --git a/ui/src/components/collections/schema/SchemaFieldSelect.svelte b/ui/src/components/collections/schema/SchemaFieldSelect.svelte index f0127bf3..af5f7420 100644 --- a/ui/src/components/collections/schema/SchemaFieldSelect.svelte +++ b/ui/src/components/collections/schema/SchemaFieldSelect.svelte @@ -55,7 +55,7 @@
@@ -74,14 +74,14 @@
diff --git a/ui/src/scss/_form.scss b/ui/src/scss/_form.scss index fe21f967..95d04828 100644 --- a/ui/src/scss/_form.scss +++ b/ui/src/scss/_form.scss @@ -955,6 +955,7 @@ select { &:not(.disabled) .selected-container:hover { cursor: pointer; } + &.readonly, &.disabled { color: var(--txtHintColor); pointer-events: none; @@ -978,6 +979,9 @@ select { } } } + &.disabled { + color: var(--txtDisabledColor); + } // dropdown .txt-missing { diff --git a/ui/src/scss/_schema_field.scss b/ui/src/scss/_schema_field.scss index d1aba533..08d86d53 100644 --- a/ui/src/scss/_schema_field.scss +++ b/ui/src/scss/_schema_field.scss @@ -30,7 +30,7 @@ .separator { width: 1px; height: $minHeight; - background: var(--baseAlt2Color); + background: rgba(#000, 0.06); } .drag-handle-wrapper { position: absolute; @@ -81,7 +81,6 @@ @include show(); } } - } .schema-field-options { @@ -111,4 +110,17 @@ } } } + &.deleted { + .schema-field-header { + background: var(--bodyColor); + } + .markers, + .separator { + opacity: 0.5; + } + %input { + background: none; + box-shadow: none; + } + } }