2020-03-10 14:53:23 +01:00
|
|
|
<script>
|
2020-03-12 15:23:29 +01:00
|
|
|
import { store } from "../../builderStore"
|
2020-03-10 17:06:30 +01:00
|
|
|
import Select from "../../common/Select.svelte"
|
2020-03-12 15:23:29 +01:00
|
|
|
import { CreateEditRecordModal, DeleteRecordModal } from "./modals"
|
2020-03-10 17:06:30 +01:00
|
|
|
import ActionButton from "../../common/ActionButton.svelte"
|
2020-03-12 15:23:29 +01:00
|
|
|
import TablePagination from "./TablePagination.svelte"
|
|
|
|
import * as api from "./api"
|
|
|
|
import { getIndexSchema } from "../../common/core"
|
2020-03-10 17:06:30 +01:00
|
|
|
|
2020-03-10 14:53:23 +01:00
|
|
|
let pages = [1, 2, 3]
|
|
|
|
|
2020-03-10 17:06:30 +01:00
|
|
|
export let data = [
|
|
|
|
{ name: "Joe", inStock: true },
|
|
|
|
{ name: "Mike", inStock: false },
|
|
|
|
{ name: "Martin", inStock: true },
|
|
|
|
]
|
|
|
|
export let headers = ["name", "inStock"]
|
2020-03-12 15:23:29 +01:00
|
|
|
// export let pageSize = 10
|
|
|
|
|
|
|
|
let selectedView = ""
|
|
|
|
let modalOpen = false
|
|
|
|
let deleteRecordModal = false
|
|
|
|
|
|
|
|
$: indexes = $store.hierarchy.indexes
|
|
|
|
|
|
|
|
const getSchema = getIndexSchema($store.hierarchy)
|
2020-03-10 14:53:23 +01:00
|
|
|
</script>
|
|
|
|
|
2020-03-12 15:23:29 +01:00
|
|
|
<CreateEditRecordModal bind:modalOpen />
|
|
|
|
<DeleteRecordModal modalOpen={deleteRecordModal} />
|
|
|
|
|
2020-03-10 14:53:23 +01:00
|
|
|
<section>
|
2020-03-10 17:06:30 +01:00
|
|
|
<div class="table-controls">
|
2020-03-12 15:23:29 +01:00
|
|
|
<h4 class="budibase__title--3">Shoe database</h4>
|
|
|
|
<Select
|
|
|
|
icon="ri-eye-line"
|
|
|
|
on:change={e => api.fetchDataForView(e.target.value)}>
|
|
|
|
{#each indexes as index}
|
|
|
|
({console.log(getSchema(index))})
|
|
|
|
<option value={index.name}>{index.name}</option>
|
|
|
|
{/each}
|
|
|
|
</Select>
|
2020-03-10 17:06:30 +01:00
|
|
|
</div>
|
2020-03-10 14:53:23 +01:00
|
|
|
<table class="uk-table">
|
|
|
|
<thead>
|
|
|
|
<tr>
|
2020-03-10 17:06:30 +01:00
|
|
|
<th>Edit</th>
|
|
|
|
{#each headers as header}
|
|
|
|
<th>{header}</th>
|
|
|
|
{/each}
|
2020-03-10 14:53:23 +01:00
|
|
|
</tr>
|
|
|
|
</thead>
|
|
|
|
<tbody>
|
2020-03-10 17:06:30 +01:00
|
|
|
{#each data as row}
|
|
|
|
<tr>
|
|
|
|
<td>
|
2020-03-12 15:23:29 +01:00
|
|
|
<div class="uk-inline">
|
|
|
|
<i class="ri-more-line" />
|
|
|
|
<div uk-dropdown="mode: click">
|
|
|
|
<ul class="uk-nav uk-dropdown-nav">
|
|
|
|
<li>
|
|
|
|
<div>View</div>
|
|
|
|
</li>
|
|
|
|
<li>
|
|
|
|
<div on:click={() => (modalOpen = true)}>Edit</div>
|
|
|
|
</li>
|
|
|
|
<li>
|
|
|
|
<div on:click={() => (deleteRecordModal = true)}>Delete</div>
|
|
|
|
</li>
|
|
|
|
<li>
|
|
|
|
<div>Duplicate</div>
|
|
|
|
</li>
|
|
|
|
</ul>
|
|
|
|
</div>
|
|
|
|
</div>
|
2020-03-10 17:06:30 +01:00
|
|
|
</td>
|
|
|
|
{#each headers as header}
|
|
|
|
<td>{row[header]}</td>
|
|
|
|
{/each}
|
|
|
|
</tr>
|
|
|
|
{/each}
|
2020-03-10 14:53:23 +01:00
|
|
|
</tbody>
|
|
|
|
</table>
|
2020-03-12 15:23:29 +01:00
|
|
|
<TablePagination {data} />
|
2020-03-10 14:53:23 +01:00
|
|
|
</section>
|
|
|
|
|
|
|
|
<style>
|
|
|
|
table {
|
|
|
|
border: 1px solid #ccc;
|
2020-03-10 17:06:30 +01:00
|
|
|
background: #fff;
|
|
|
|
border-radius: 2px;
|
2020-03-10 14:53:23 +01:00
|
|
|
}
|
|
|
|
|
|
|
|
thead {
|
|
|
|
background: var(--background-button);
|
|
|
|
}
|
|
|
|
|
|
|
|
thead th {
|
|
|
|
color: var(--button-text);
|
|
|
|
text-transform: capitalize;
|
2020-03-10 17:06:30 +01:00
|
|
|
font-weight: 500;
|
2020-03-10 14:53:23 +01:00
|
|
|
}
|
2020-03-10 17:06:30 +01:00
|
|
|
|
2020-03-10 14:53:23 +01:00
|
|
|
tr {
|
|
|
|
border-bottom: 1px solid #ccc;
|
|
|
|
}
|
2020-03-10 17:06:30 +01:00
|
|
|
|
|
|
|
.table-controls {
|
|
|
|
display: flex;
|
|
|
|
justify-content: space-between;
|
|
|
|
align-items: center;
|
|
|
|
}
|
2020-03-12 15:23:29 +01:00
|
|
|
|
|
|
|
.ri-more-line:hover, .uk-dropdown-nav li:hover{
|
|
|
|
cursor: pointer;
|
|
|
|
}
|
2020-03-10 17:06:30 +01:00
|
|
|
</style>
|