Organiser la chronologie par date

This commit is contained in:
Vincent Vandemeulebrouck 2023-01-10 22:45:56 +01:00
parent f9fd8a1e24
commit 9c0d08cb6f
2 changed files with 17 additions and 10 deletions

View File

@ -80,8 +80,15 @@ export class DialogChronologie extends Dialog {
await this.forceValidation(); await this.forceValidation();
const { journalId, journalEntry } = this.findJournal(); const { journalId, journalEntry } = this.findJournal();
if (journalEntry?.canUserModify(game.user)) { 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 // ajouter à la page ou créer une page
this.addContentToJournal(journalEntry, await this.prepareChronologieEntry()); this.addContentToJournal(journalEntry, section, content);
this.storeLatestUsedJournalEntry(journalId); this.storeLatestUsedJournalEntry(journalId);
this.close(); this.close();
} }
@ -101,8 +108,8 @@ export class DialogChronologie extends Dialog {
return { journalId, journalEntry }; return { journalId, journalEntry };
} }
async prepareChronologieEntry() { async prepareChronologieEntry(journalParameters) {
return await renderTemplate("systems/foundryvtt-reve-de-dragon/templates/chronologie-entry.html", this.extractJournalParameters()); return await renderTemplate("systems/foundryvtt-reve-de-dragon/templates/chronologie-entry.html", journalParameters);
} }
extractJournalParameters() { extractJournalParameters() {
@ -120,19 +127,19 @@ export class DialogChronologie extends Dialog {
} }
} }
addContentToJournal(journalEntry, content) { addContentToJournal(journalEntry, section, content) {
let page = journalEntry.pages.find(p => p.type == 'text' && Grammar.equalsInsensitive(p.name, 'Chronologie')); let page = journalEntry.pages.find(p => p.type == 'text' && Grammar.equalsInsensitive(p.name, section));
if (page) { if (page) {
page.update({ 'text.content': content + '\n' + page.text.content }); page.update({ 'text.content': page.text.content + '\n' + content });
} }
else { else {
journalEntry.createEmbeddedDocuments('JournalEntryPage', [this.newPageChronologie(content)]); journalEntry.createEmbeddedDocuments('JournalEntryPage', [this.newPageChronologie(section, content)]);
} }
} }
newPageChronologie(content) { newPageChronologie(section, content) {
return new JournalEntryPage({ return new JournalEntryPage({
name: 'Chronologie', name: section,
type: 'text', type: 'text',
title: { show: true, level: 1 }, title: { show: true, level: 1 },
text: { content: content, format: 1 } text: { content: content, format: 1 }

View File

@ -1,4 +1,4 @@
<h2>{{dateRdD.jour}} {{dateRdD.mois.label}} {{dateRdD.annee}}, à l'heure de {{dateRdD.heure.label}}</h2> <h2>Heure de {{dateRdD.heure.label}}</h2>
<p>{{information}}</p> <p>{{information}}</p>
<p class="poesie-reference">Par {{auteur}} ({{dateReel}})</p> <p class="poesie-reference">Par {{auteur}} ({{dateReel}})</p>
<hr> <hr>