Linting.
This commit is contained in:
parent
a8ff2cc7bd
commit
9aa672101e
|
@ -11,31 +11,40 @@
|
|||
export let toRelationship = {}
|
||||
export let close
|
||||
|
||||
let originalFromName = fromRelationship.name, originalToName = toRelationship.name
|
||||
let originalFromName = fromRelationship.name,
|
||||
originalToName = toRelationship.name
|
||||
|
||||
function isValid(relationship) {
|
||||
if (relationship.relationshipType === RelationshipTypes.MANY_TO_MANY && !relationship.through) {
|
||||
if (
|
||||
relationship.relationshipType === RelationshipTypes.MANY_TO_MANY &&
|
||||
!relationship.through
|
||||
) {
|
||||
return false
|
||||
}
|
||||
return relationship.name && relationship.tableId && relationship.relationshipType
|
||||
return (
|
||||
relationship.name && relationship.tableId && relationship.relationshipType
|
||||
)
|
||||
}
|
||||
|
||||
$: tableOptions = plusTables.map(table => ({ label: table.name, value: table._id }))
|
||||
$: tableOptions = plusTables.map(table => ({
|
||||
label: table.name,
|
||||
value: table._id,
|
||||
}))
|
||||
$: fromTable = plusTables.find(table => table._id === toRelationship?.tableId)
|
||||
$: toTable = plusTables.find(table => table._id === fromRelationship?.tableId)
|
||||
$: through = plusTables.find(table => table._id === fromRelationship?.through)
|
||||
$: valid = toTable && fromTable && isValid(fromRelationship)
|
||||
$: linkTable = through || toTable
|
||||
$: relationshipTypes = [
|
||||
{
|
||||
label: "Many",
|
||||
value: RelationshipTypes.MANY_TO_MANY,
|
||||
},
|
||||
{
|
||||
label: "One",
|
||||
value: RelationshipTypes.MANY_TO_ONE,
|
||||
}
|
||||
]
|
||||
{
|
||||
label: "Many",
|
||||
value: RelationshipTypes.MANY_TO_MANY,
|
||||
},
|
||||
{
|
||||
label: "One",
|
||||
value: RelationshipTypes.MANY_TO_ONE,
|
||||
},
|
||||
]
|
||||
$: updateRelationshipType(fromRelationship?.relationshipType)
|
||||
|
||||
function updateRelationshipType(fromType) {
|
||||
|
@ -48,7 +57,8 @@
|
|||
|
||||
function buildRelationships() {
|
||||
// if any to many only need to check from
|
||||
const manyToMany = fromRelationship.relationshipType === RelationshipTypes.MANY_TO_MANY
|
||||
const manyToMany =
|
||||
fromRelationship.relationshipType === RelationshipTypes.MANY_TO_MANY
|
||||
// main is simply used to know this is the side the user configured it from
|
||||
const id = uuid()
|
||||
let relateFrom = {
|
||||
|
@ -97,9 +107,11 @@
|
|||
async function saveRelationship() {
|
||||
buildRelationships()
|
||||
// source of relationship
|
||||
datasource.entities[fromTable.name].schema[fromRelationship.name] = fromRelationship
|
||||
datasource.entities[fromTable.name].schema[fromRelationship.name] =
|
||||
fromRelationship
|
||||
// save other side of relationship in the other schema
|
||||
datasource.entities[toTable.name].schema[toRelationship.name] = toRelationship
|
||||
datasource.entities[toTable.name].schema[toRelationship.name] =
|
||||
toRelationship
|
||||
|
||||
// If relationship has been renamed
|
||||
if (originalFromName !== fromRelationship.name) {
|
||||
|
@ -165,9 +177,9 @@
|
|||
/>
|
||||
{:else if toTable}
|
||||
<Select
|
||||
label={`Foreign Key (${toTable?.name})`}
|
||||
options={Object.keys(toTable?.schema)}
|
||||
bind:value={fromRelationship.fieldName}
|
||||
label={`Foreign Key (${toTable?.name})`}
|
||||
options={Object.keys(toTable?.schema)}
|
||||
bind:value={fromRelationship.fieldName}
|
||||
/>
|
||||
{/if}
|
||||
</div>
|
||||
|
|
|
@ -317,6 +317,6 @@
|
|||
.table-buttons {
|
||||
display: grid;
|
||||
grid-gap: var(--spacing-l);
|
||||
grid-template-columns:1fr 1fr;
|
||||
grid-template-columns: 1fr 1fr;
|
||||
}
|
||||
</style>
|
||||
|
|
|
@ -19,20 +19,25 @@
|
|||
if (!table || !table.schema) {
|
||||
return []
|
||||
}
|
||||
return Object.entries(table.schema).filter(field => field[1].type !== "link").map(([fieldName]) => fieldName)
|
||||
return Object.entries(table.schema)
|
||||
.filter(field => field[1].type !== "link")
|
||||
.map(([fieldName]) => fieldName)
|
||||
}
|
||||
</script>
|
||||
|
||||
<ModalContent
|
||||
title="Edit display columns"
|
||||
confirmText="Save"
|
||||
onConfirm={saveDisplayColumns}
|
||||
title="Edit display columns"
|
||||
confirmText="Save"
|
||||
onConfirm={saveDisplayColumns}
|
||||
>
|
||||
<Body>Select the columns that will be shown when displaying relationships.</Body>
|
||||
<Body
|
||||
>Select the columns that will be shown when displaying relationships.</Body
|
||||
>
|
||||
{#each plusTables as table}
|
||||
<Select
|
||||
label={table.name}
|
||||
options={getColumnOptions(table)}
|
||||
bind:value={table.primaryDisplay}
|
||||
label={table.name}
|
||||
options={getColumnOptions(table)}
|
||||
bind:value={table.primaryDisplay}
|
||||
/>
|
||||
{/each}
|
||||
</ModalContent>
|
Loading…
Reference in New Issue