2023-10-21 22:53:36 +02:00
|
|
|
<script lang="ts">
|
2024-01-22 20:33:12 +01:00
|
|
|
import { i18n } from '../i18n';
|
|
|
|
import { selected } from './EntitySelect.svelte';
|
|
|
|
import EntryView from './EntryView.svelte';
|
|
|
|
import MultiGroupEditor from './MultiGroupEditor.svelte';
|
|
|
|
import Icon from './utils/Icon.svelte';
|
|
|
|
import EntityList from './widgets/EntityList.svelte';
|
|
|
|
import type { Widget } from '$lib/components/EntryView.svelte';
|
2023-10-22 13:38:52 +02:00
|
|
|
|
2024-01-22 20:33:12 +01:00
|
|
|
const selectedWidgets: Widget[] = [
|
|
|
|
{
|
|
|
|
name: 'List',
|
|
|
|
icon: 'list-check',
|
|
|
|
components: ({ entities }) => [
|
|
|
|
{
|
|
|
|
component: EntityList,
|
|
|
|
props: {
|
|
|
|
entities,
|
|
|
|
thumbnails: false,
|
|
|
|
select: 'remove'
|
|
|
|
}
|
|
|
|
}
|
|
|
|
]
|
|
|
|
},
|
|
|
|
{
|
|
|
|
name: 'EntityList',
|
|
|
|
icon: 'image',
|
|
|
|
components: ({ entities }) => [
|
|
|
|
{
|
|
|
|
component: EntityList,
|
|
|
|
props: {
|
|
|
|
entities,
|
|
|
|
thumbnails: true,
|
|
|
|
select: 'remove'
|
|
|
|
}
|
|
|
|
}
|
|
|
|
]
|
|
|
|
}
|
|
|
|
];
|
2023-10-21 22:53:36 +02:00
|
|
|
</script>
|
|
|
|
|
|
|
|
<div class="view">
|
2024-01-22 20:33:12 +01:00
|
|
|
<h2>
|
|
|
|
<Icon plain name="select-multiple" />
|
|
|
|
{$i18n.t('Selected')}: {$selected.length}
|
|
|
|
</h2>
|
|
|
|
<div class="actions">
|
|
|
|
<MultiGroupEditor entities={$selected} />
|
|
|
|
</div>
|
|
|
|
<div class="entities">
|
|
|
|
<EntryView
|
|
|
|
title={$i18n.t('Selected entities') || ''}
|
|
|
|
entities={$selected}
|
|
|
|
widgets={selectedWidgets}
|
|
|
|
/>
|
|
|
|
</div>
|
2023-10-21 22:53:36 +02:00
|
|
|
</div>
|
|
|
|
|
|
|
|
<style lang="scss">
|
2024-01-22 20:33:12 +01:00
|
|
|
.view {
|
|
|
|
display: flex;
|
|
|
|
flex-direction: column;
|
|
|
|
height: 100%;
|
|
|
|
}
|
2023-10-22 13:38:52 +02:00
|
|
|
|
2024-01-22 20:33:12 +01:00
|
|
|
h2 {
|
|
|
|
text-align: center;
|
|
|
|
margin: 0;
|
|
|
|
margin-top: -0.66em;
|
|
|
|
}
|
2023-10-22 13:38:52 +02:00
|
|
|
|
2024-01-22 20:33:12 +01:00
|
|
|
.entities {
|
|
|
|
flex-grow: 1;
|
|
|
|
overflow-y: auto;
|
|
|
|
height: 0;
|
|
|
|
}
|
2023-10-21 22:53:36 +02:00
|
|
|
</style>
|