{constraintInfo ? _t('foreignKeyEditor.editForeignKey', { defaultMessage: 'Edit foreign key' }) : _t('foreignKeyEditor.addForeignKey', { defaultMessage: 'Add foreign key' })}
{_t('tableEditor.constraintName', { defaultMessage: 'Constraint name' })}
(constraintName = e.target['value'])} focused disabled={isReadOnly} />
{_t('foreignKeyEditor.referencedTable', { defaultMessage: 'Referenced table' })}
({ label: fullNameToLabel(tbl), value: fullNameToString(tbl), }))} disabled={isReadOnly} on:change={e => { if (e.detail) { const name = fullNameFromString(e.detail); refTableName = name.pureName; refSchemaName = name.schemaName; if (!columns?.find(x => x.columnName)) { const refTable = dbInfo?.tables?.find( x => x.pureName == refTableName && x.schemaName == refSchemaName ); if (refTable?.primaryKey) { columns = refTable.primaryKey.columns.map(col => ({ refColumnName: col.columnName, })); } else { columns = []; } } } }} />
{_t('foreignKeyEditor.onUpdateAction', { defaultMessage: 'On update action' })}
{ updateAction = e.detail || null; }} />
{_t('foreignKeyEditor.onDeleteAction', { defaultMessage: 'On delete action' })}
{ deleteAction = e.detail || null; }} />
{_t('foreignKeyEditor.baseColumn', { defaultMessage: 'Base column - ' })}{tableInfo.pureName}
{_t('foreignKeyEditor.refColumn', { defaultMessage: 'Ref column - ' })}{refTableName || _t('foreignKeyEditor.tableNotSet', { defaultMessage: '(table not set)' })}
{#each columns as column, index}
{#key column.columnName} ({ label: col.columnName, value: col.columnName, }))} on:change={e => { if (e.detail) { columns = columns.map((col, i) => (i == index ? { ...col, columnName: e.detail } : col)); } }} /> {/key}
{#key column.refColumnName} ({ label: col.columnName, value: col.columnName, }))} on:change={e => { if (e.detail) { columns = columns.map((col, i) => (i == index ? { ...col, refColumnName: e.detail } : col)); } }} /> {/key}
{ const x = [...columns]; x.splice(index, 1); columns = x; }} />
{/each} { columns = [...columns, {}]; }} />
{ closeCurrentModal(); if (constraintInfo) { setTableInfo(tbl => editorModifyConstraint(tbl, getConstraint())); } else { setTableInfo(tbl => editorAddConstraint(tbl, getConstraint())); } }} /> {#if constraintInfo} { closeCurrentModal(); setTableInfo(tbl => editorDeleteConstraint(tbl, constraintInfo)); }} /> {/if}