Nombreux fixes

* Utilisation de EmbeddedDocuments
* utiliser data seulement dans le chemin d'update
* utiliser class au lieu de id dans le html
* si possible, update de la valuer au lieu d'un duplicate du noeud
This commit is contained in:
Vincent Vandemeulebrouck
2021-03-07 01:25:36 +01:00
parent b4c1dc1222
commit a86a786111
73 changed files with 571 additions and 638 deletions

View File

@@ -123,24 +123,20 @@ export class Draconique {
}
async createCaseTmr(actor, label, tmr, sourceId = undefined) {
await actor.createOwnedItem({
await actor.createEmbeddedDocuments('Item', [{
name: label, type: 'casetmr', img: this.img(), _id: randomID(16),
data: { coord: tmr.coord, specific: this.code(), sourceid: sourceId }
});
}]);
}
async deleteCasesTmr(actor, draconique) {
let caseTmrs = actor.data.items.filter(it => this.isCase(it) && it.data.sourceid == draconique._id);
for (let casetmr of caseTmrs) {
await actor.deleteOwnedItem(casetmr._id);
}
await actor.deleteEmbeddedDocuments('Item', caseTmrs.map(it =>it._id));
}
async onVisiteSupprimer(actor, tmr, onRemoveToken) {
let existants = actor.data.items.filter(it => this.isCase(it, tmr.coord));
for (let casetmr of existants) {
await actor.deleteOwnedItem(casetmr._id);
onRemoveToken(tmr, casetmr);
}
await actor.deleteEmbeddedDocuments('Item', [ existants.map(it => it._id)]);
existants.forEach(it => onRemoveToken(tmr, it));
}
}