From 9c0d08cb6f1ec1ee4e12ebd91fa96caf5a7f57a5 Mon Sep 17 00:00:00 2001 From: Vincent Vandemeulebrouck Date: Tue, 10 Jan 2023 22:45:56 +0100 Subject: [PATCH] Organiser la chronologie par date --- module/dialog-chronologie.js | 25 ++++++++++++++++--------- templates/chronologie-entry.html | 2 +- 2 files changed, 17 insertions(+), 10 deletions(-) diff --git a/module/dialog-chronologie.js b/module/dialog-chronologie.js index 91ab353d..59ba9542 100644 --- a/module/dialog-chronologie.js +++ b/module/dialog-chronologie.js @@ -80,8 +80,15 @@ export class DialogChronologie extends Dialog { await this.forceValidation(); const { journalId, journalEntry } = this.findJournal(); if (journalEntry?.canUserModify(game.user)) { + const journalParameters = this.extractJournalParameters(); + + const jour = journalParameters.dateRdD.jour; + const mois = journalParameters.dateRdD.mois.label; + const annee = journalParameters.dateRdD.annee; + const section = `${jour} ${mois} ${annee}` + const content = await this.prepareChronologieEntry(journalParameters); // ajouter à la page ou créer une page - this.addContentToJournal(journalEntry, await this.prepareChronologieEntry()); + this.addContentToJournal(journalEntry, section, content); this.storeLatestUsedJournalEntry(journalId); this.close(); } @@ -101,8 +108,8 @@ export class DialogChronologie extends Dialog { return { journalId, journalEntry }; } - async prepareChronologieEntry() { - return await renderTemplate("systems/foundryvtt-reve-de-dragon/templates/chronologie-entry.html", this.extractJournalParameters()); + async prepareChronologieEntry(journalParameters) { + return await renderTemplate("systems/foundryvtt-reve-de-dragon/templates/chronologie-entry.html", journalParameters); } extractJournalParameters() { @@ -120,19 +127,19 @@ export class DialogChronologie extends Dialog { } } - addContentToJournal(journalEntry, content) { - let page = journalEntry.pages.find(p => p.type == 'text' && Grammar.equalsInsensitive(p.name, 'Chronologie')); + addContentToJournal(journalEntry, section, content) { + let page = journalEntry.pages.find(p => p.type == 'text' && Grammar.equalsInsensitive(p.name, section)); if (page) { - page.update({ 'text.content': content + '\n' + page.text.content }); + page.update({ 'text.content': page.text.content + '\n' + content }); } else { - journalEntry.createEmbeddedDocuments('JournalEntryPage', [this.newPageChronologie(content)]); + journalEntry.createEmbeddedDocuments('JournalEntryPage', [this.newPageChronologie(section, content)]); } } - newPageChronologie(content) { + newPageChronologie(section, content) { return new JournalEntryPage({ - name: 'Chronologie', + name: section, type: 'text', title: { show: true, level: 1 }, text: { content: content, format: 1 } diff --git a/templates/chronologie-entry.html b/templates/chronologie-entry.html index 1e7ed124..48329f43 100644 --- a/templates/chronologie-entry.html +++ b/templates/chronologie-entry.html @@ -1,4 +1,4 @@ -

{{dateRdD.jour}} {{dateRdD.mois.label}} {{dateRdD.annee}}, à l'heure de {{dateRdD.heure.label}}

+

Heure de {{dateRdD.heure.label}}

{{information}}

Par {{auteur}} ({{dateReel}})