fix: selector unlabeled attr handling

This commit is contained in:
Tomáš Mládek 2023-05-03 23:20:20 +02:00
parent d254a8c329
commit 98f19da5f4

View file

@ -77,13 +77,21 @@
attribute, attribute,
}; };
}); });
const attributeToCreate = inputValue
.toUpperCase()
.replaceAll(/[^A-Z0-9]/g, "_");
if (
!allAttributes.map((attr) => attr.name).includes(attributeToCreate)
) {
options.push({ options.push({
attribute: { attribute: {
labels: [], labels: [],
name: inputValue.toUpperCase().replaceAll(/[^A-Z0-9]/g, "_"), name: attributeToCreate,
}, },
labelToCreate: inputValue, labelToCreate: inputValue,
}); });
}
options = options; options = options;
break; break;
} }
@ -313,16 +321,20 @@
}} }}
> >
{#if option.attribute} {#if option.attribute}
{#if option.attribute.labels.length} {#if option.labelToCreate}
<div class="content">{option.labelToCreate}</div>
<div class="type">Create attribute ({option.attribute.name})</div>
{:else if option.attribute.labels.length}
<div class="content"> <div class="content">
{#each option.attribute.labels as label} {#each option.attribute.labels as label}
<div class="label">{label}</div> <div class="label">{label}</div>
{/each} {/each}
</div> </div>
<div class="type">{option.attribute.name}</div> <div class="type">{option.attribute.name}</div>
{:else if option.labelToCreate} {:else}
<div class="content">{option.labelToCreate}</div> <div class="content">
<div class="type">Create attribute ({option.attribute.name})</div> {option.attribute.name}
</div>
{/if} {/if}
{:else if option.value} {:else if option.value}
{#if option.value.t == "Address"} {#if option.value.t == "Address"}