Browse Source

Primary display column is always required

pull/4023/head
Michael Shanks 6 years ago
parent
commit
45322846c0
  1. 12
      packages/builder/src/components/backend/DataTable/popovers/CreateEditColumnPopover.svelte

12
packages/builder/src/components/backend/DataTable/popovers/CreateEditColumnPopover.svelte

@ -40,7 +40,7 @@
$: tableOptions = $backendUiStore.tables.filter(
table => table._id !== $backendUiStore.draftTable._id
)
$: required = !!field?.constraints?.presence
$: required = !!field?.constraints?.presence || primaryDisplay
async function saveColumn() {
backendUiStore.update(state => {
@ -67,6 +67,14 @@
field.constraints.presence = req ? { allowEmpty: false } : false
required = req
}
function onChangePrimaryDisplay(e) {
const isPrimary = e.target.checked
// primary display is always required
if (isPrimary) {
field.constraints.presence = { allowEmpty: false }
}
}
</script>
<div class="actions">
@ -88,6 +96,7 @@
<Toggle
checked={required}
on:change={onChangeRequired}
disabled={primaryDisplay}
thin
text="Required" />
{/if}
@ -95,6 +104,7 @@
{#if field.type !== 'link'}
<Toggle
bind:checked={primaryDisplay}
on:change={onChangePrimaryDisplay}
thin
text="Use as table display column" />
{/if}

Loading…
Cancel
Save