Fix: déplacement de conteneurs entre acteurs

This commit is contained in:
Vincent Vandemeulebrouck 2021-06-09 22:23:11 +02:00
parent b6678823d0
commit aaeaedbf40

View File

@ -1141,12 +1141,17 @@ export class RdDActor extends Actor {
sourceActor.buildSubConteneurObjetList(itemId, itemsList); // Get itemId list
let itemMap = {};
for (let item of itemsList) {
let srcItem = sourceActor.data.items.find(subItem => subItem._id == item.id);
let newItem = await this.createEmbeddedDocuments('Item', [duplicate(srcItem)]);
const itemsDataToCreate = itemsList.map(it => sourceActor.getObjet(it.id))
.map(it => duplicate(Misc.data(it)))
.map(it => { it.data.contenu = []; return it; });
let newItems = await this.createEmbeddedDocuments('Item', itemsDataToCreate);
for (let i = 0; i < itemsList.length; i++) {
const srcItem = itemsList[i];
const newItem = newItems[i];
console.log('New object', newItem, srcItem);
itemMap[srcItem._id] = newItem._id; // Pour garder le lien ancien / nouveau
itemMap[srcItem.id] = newItem._id; // Pour garder le lien ancien / nouveau
}
for (let item of itemsList) { // Second boucle pour traiter la remise en conteneurs
// gestion conteneur/contenu
if (item.conteneurId) { // l'Objet était dans un conteneur