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