Reactivity fix for the editableColumn and an update to the onChange behaviour for the formula value to ensure updates are detected

This commit is contained in:
Dean 2023-02-09 16:36:02 +00:00
parent 8eeb766976
commit 4c013df676
1 changed files with 18 additions and 9 deletions

View File

@ -75,16 +75,20 @@
editableColumn.constraints.presence = { allowEmpty: false } editableColumn.constraints.presence = { allowEmpty: false }
} }
$: if (field && !savingColumn) { const initialiseField = (field, savingColumn) => {
editableColumn = cloneDeep(field) if (field && !savingColumn) {
originalName = editableColumn.name ? editableColumn.name + "" : null editableColumn = cloneDeep(field)
linkEditDisabled = originalName != null originalName = editableColumn.name ? editableColumn.name + "" : null
isCreating = originalName == null linkEditDisabled = originalName != null
primaryDisplay = isCreating = originalName == null
$tables.selected.primaryDisplay == null || primaryDisplay =
$tables.selected.primaryDisplay === editableColumn.name $tables.selected.primaryDisplay == null ||
$tables.selected.primaryDisplay === editableColumn.name
}
} }
$: initialiseField(field, savingColumn)
$: checkConstraints(editableColumn) $: checkConstraints(editableColumn)
$: required = !!editableColumn?.constraints?.presence || primaryDisplay $: required = !!editableColumn?.constraints?.presence || primaryDisplay
$: uneditable = $: uneditable =
@ -583,7 +587,12 @@
title="Formula" title="Formula"
label="Formula" label="Formula"
value={editableColumn.formula} value={editableColumn.formula}
on:change={e => (editableColumn.formula = e.detail)} on:change={e => {
editableColumn = {
...editableColumn,
formula: e.detail,
}
}}
bindings={getBindings({ table })} bindings={getBindings({ table })}
allowJS allowJS
/> />