1
0
Fork 0
timelinize/frontend/resources/js/modals.js
Matthew Holt 952057f1b5
Update profile picture in corner when entity 1 gets new picture
Including when entity 1 is merged into
2025-05-17 16:58:03 -06:00

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);
}
});