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