Files
lucent-laravel/front/js/svelte/content/Grid.svelte
T

68 lines
2.3 KiB
Svelte
Raw Normal View History

2023-11-17 21:22:26 +02:00
<script>
import {getContext} from "svelte";
import {selectRecord} from "./functions/recordSelect.js";
2024-03-25 21:26:21 +02:00
import Preview from "../newPreview/Preview.svelte";
2023-11-17 21:22:26 +02:00
const channel = getContext("channel");
export let records;
export let isWritable;
export let selected = [];
function select(record) {
selected = selectRecord(record, selected)
}
</script>
<div class="row" style="max-width:1000px">
2024-03-25 21:26:21 +02:00
{#each records as queryRecord (queryRecord.record.id)}
2023-11-17 21:22:26 +02:00
<div class="col-6 col-md-4">
<div
class="file-wrapper rounded p-2 mb-4 bg-light"
2024-03-25 21:26:21 +02:00
class:selected={selected.includes(queryRecord)}
2023-11-17 21:22:26 +02:00
>
{#if isWritable}
<div class="form-check">
<input
2024-03-25 21:26:21 +02:00
on:change={() => select(queryRecord.record)}
2023-11-17 21:22:26 +02:00
class="form-check-input "
type="checkbox"
checked={selected.find(
2024-03-25 21:26:21 +02:00
(r) => r.id === queryRecord.record.id
2023-11-17 21:22:26 +02:00
)}
2024-03-25 21:26:21 +02:00
value={queryRecord}
2023-11-17 21:22:26 +02:00
/>
</div>
{/if}
<div class="d-flex justify-content-center">
2024-03-25 21:26:21 +02:00
<Preview record={queryRecord.record} />
2023-11-17 21:22:26 +02:00
</div>
<a
2024-03-25 21:26:21 +02:00
href="{channel.lucentUrl}/records/{queryRecord.record.id}"
title={queryRecord.record._file.path}
2023-11-17 21:22:26 +02:00
class="d-block text-center overflow-hidden text-nowrap my-2 "
style="
text-overflow: ellipsis;
font-size: 13px;
color: #333;
2024-03-25 21:26:21 +02:00
">{queryRecord.record._file.path}</a
2023-11-17 21:22:26 +02:00
>
<span
class="lx-small-text text-muted d-block text-center"
2024-03-25 21:26:21 +02:00
>{queryRecord.record._file.mime}</span
2023-11-17 21:22:26 +02:00
>
</div>
</div>
{/each}
</div>
<style>
.form-check {
display: inline-block;
margin-bottom: 0;
}
</style>