55 lines
1.9 KiB
JavaScript
55 lines
1.9 KiB
JavaScript
////////////////////////
|
|
// MERGE ENTITY
|
|
////////////////////////
|
|
|
|
// when "merge entity" dialog is shown, set up the form
|
|
on('show.bs.modal', '#modal-merge-entity', async e => {
|
|
const entitySelectMerge = newEntitySelect($('#modal-merge-entity .entity-merge'), 1, true);
|
|
const entitySelectKeep = newEntitySelect($('#modal-merge-entity .entity-keep'), 1, true);
|
|
const entityIDMerge = e?.relatedTarget?.dataset?.entityIDMerge;
|
|
const entityIDKeep = e?.relatedTarget?.dataset?.entityIDKeep;
|
|
if (entityIDMerge) {
|
|
const entities = await app.SearchEntities({
|
|
repo: tlz.openRepos[0].instance_id,
|
|
row_id: [Number(entityIDMerge)]
|
|
});
|
|
entitySelectMerge.addOption(entities[0]);
|
|
entitySelectMerge.addItem(entities[0].id);
|
|
}
|
|
if (entityIDKeep) {
|
|
const entities = await app.SearchEntities({
|
|
repo: tlz.openRepos[0].instance_id,
|
|
row_id: [Number(entityIDKeep)]
|
|
});
|
|
entitySelectKeep.addOption(entities[0]);
|
|
entitySelectKeep.addItem(entities[0].id);
|
|
}
|
|
});
|
|
|
|
on('change', '#modal-merge-entity select', e => {
|
|
const keepID = $('#modal-merge-entity .entity-keep').tomselect.getValue();
|
|
const mergeID = $('#modal-merge-entity .entity-merge').tomselect.getValue();
|
|
if (keepID && mergeID) {
|
|
$('#do-entity-merge').classList.remove('disabled');
|
|
} else {
|
|
$('#do-entity-merge').classList.add('disabled');
|
|
}
|
|
});
|
|
|
|
on('click', '#do-entity-merge', async e => {
|
|
let keepID = $('#modal-merge-entity .entity-keep').tomselect.getValue();
|
|
let mergeID = $('#modal-merge-entity .entity-merge').tomselect.getValue();
|
|
if (!keepID || !mergeID) return;
|
|
keepID = Number(keepID);
|
|
mergeID = Number(mergeID);
|
|
await app.MergeEntities(tlz.openRepos[0].instance_id, keepID, [mergeID]);
|
|
notify({
|
|
type: "success",
|
|
title: `Entities merged`,
|
|
duration: 2000
|
|
});
|
|
// also update owner picture at the top if its entity was in the merge
|
|
if (keepID == 1 || mergeID == 1) {
|
|
updateRepoOwners(true);
|
|
}
|
|
});
|