Implemented row-level merge in actors admin panel.

This commit is contained in:
2026-06-17 00:10:25 +02:00
parent adcd6abfc7
commit 0394093407

View File

@@ -88,13 +88,16 @@
v-tooltip="'Merge'"
icon="make-group"
class="actor-action action-merge"
@click="activeActor = actor; showMergeDialog = true;"
/>
<!--
<Icon
v-tooltip="'Delete'"
icon="bin"
class="actor-action action-delete"
/>
-->
</div>
</td>
</tr>
@@ -103,9 +106,8 @@
<Merge
v-if="showMergeDialog"
:actor="actors[0]"
:actors="actors.filter((actor) => selectedActors.has(actor.id))"
@close="showMergeDialog = false"
:actors="activeActor ? [activeActor] : actors.filter((actor) => selectedActors.has(actor.id))"
@close="showMergeDialog = false; activeActor = null;"
/>
</Admin>
</template>
@@ -125,14 +127,13 @@ const { pageProps, urlParsed } = inject('pageContext');
const actors = ref(pageProps.actors);
const selectedActors = ref(new Set([]));
const activeActor = ref(null);
const actorQuery = ref(urlParsed.search.q || null);
const lastSelectedIndex = ref(null);
const holdingShift = ref(false);
const showMergeDialog = ref(false);
console.log(actors.value);
function selectActors(selectedActor, isChecked, index) {
const [start, end] = holdingShift.value
? [index, lastSelectedIndex.value].toSorted((indexA, indexB) => indexA - indexB)