refactor screen templates to include table name

This commit is contained in:
Peter Clement 2021-11-24 19:10:10 +00:00
parent 23b6a204f6
commit 7e65edfc5a
4 changed files with 8 additions and 7 deletions

View File

@ -15,6 +15,7 @@ export default function (tables) {
name: `${table.name} - New`,
create: () => createScreen(table),
id: NEW_ROW_TEMPLATE,
table: table.name
}
})
}

View File

@ -17,6 +17,7 @@ export default function (tables) {
name: `${table.name} - Detail`,
create: () => createScreen(table),
id: ROW_DETAIL_TEMPLATE,
table: table.name
}
})
}

View File

@ -10,6 +10,7 @@ export default function (tables) {
name: `${table.name} - List`,
create: () => createScreen(table),
id: ROW_LIST_TEMPLATE,
table: table.name
}
})
}

View File

@ -21,13 +21,13 @@
$: autoSelected = selectedScreens?.length > 0 && !blankSelected
let templates = getTemplates($store, $tables.list)
const toggleScreenSelection = table => {
if (selectedScreens.find(s => s.name.includes(table.name))) {
if (selectedScreens.find(s => s.table === table.name)) {
selectedScreens = selectedScreens.filter(
screen => !screen.name.includes(table.name)
screen => screen.table !== table.name
)
} else {
let partialTemplates = getTemplates($store, $tables.list).filter(
template => template.name.includes(table.name)
template => template.table === table.name
)
selectedScreens = [...partialTemplates, ...selectedScreens]
}
@ -75,9 +75,7 @@
{#each $tables.list.filter(table => table._id !== "ta_users") as table}
<div
class:disabled={blankSelected}
class:selected={selectedScreens.find(x =>
x.name.includes(table.name)
)}
class:selected={selectedScreens.find(x => x.table === table.name)}
on:click={() => toggleScreenSelection(table)}
class="item"
>
@ -87,7 +85,7 @@
<div
style="color: var(--spectrum-global-color-green-600); float: right"
>
{#if selectedScreens.find(x => x.name.includes(table.name))}
{#if selectedScreens.find(x => x.table === table.name)}
<div class="checkmark-spacing">
<Icon size="S" name="CheckmarkCircleOutline" />
</div>