diff --git a/module/dialog-chronologie.js b/module/dialog-chronologie.js index 31dfe673..98762087 100644 --- a/module/dialog-chronologie.js +++ b/module/dialog-chronologie.js @@ -16,13 +16,15 @@ export class DialogChronologie extends Dialog { }); } static async create() { + const dateRdD = game.system.rdd.calendrier.getCalendrier(); const dialogData = { auteur: game.user.name, isGM: game.user.isGM, information: "", journalId: game.settings.get(SYSTEM_RDD, LATEST_USED_JOURNAL_ID), journaux: game.journal.filter(it => it.testUserPermission(game.user, CONST.DOCUMENT_OWNERSHIP_LEVELS.OWNER)), - dateRdD: game.system.rdd.calendrier.getCalendrier(), + dateRdD: dateRdD, + jourRdD: dateRdD.jour +1, heureRdD: game.system.rdd.calendrier.getCurrentHeure(), dateReel: DialogChronologie.getCurrentDateTime() }; @@ -90,7 +92,7 @@ export class DialogChronologie extends Dialog { auteur: $("form.rdddialogchrono :input[name='auteur']").val(), information: $("form.rdddialogchrono :input[name='information']").val(), dateRdD: { - jour: $("form.rdddialogchrono :input[name='dateRdD.jour']").val(), + jour: $("form.rdddialogchrono :input[name='jourRdD']").val(), moisRdD: $("form.rdddialogchrono :input[name='dateRdD.moisRdD.key']").val(), annee: $("form.rdddialogchrono :input[name='dateRdD.annee']").val() }, diff --git a/module/rdd-calendrier-editeur.js b/module/rdd-calendrier-editeur.js index cceaa0d3..6a740d5c 100644 --- a/module/rdd-calendrier-editeur.js +++ b/module/rdd-calendrier-editeur.js @@ -12,45 +12,47 @@ export class RdDCalendrierEditeur extends Dialog { content: html, title: "Editeur de date/heure", buttons: { - save: { label: "Enregistrer", callback: html => this.fillData() } - }, + save: { label: "Enregistrer", callback: html => this.fillData() } + }, default: "save" }; - let dialogOptions = { classes: ["rdddialog"], width: 400, height: 'fit-content', 'z-index': 99999 } + let dialogOptions = { classes: ["rdd-dialog-calendar-editor"], width: 400, height: 'fit-content', 'z-index': 99999 } super(dialogConf, dialogOptions) - + this.calendrier = calendrier; this.calendrierData = calendrierData; } /* -------------------------------------------- */ - fillData( ) { - this.calendrierData.moisKey = $("#nomMois").val(); - this.calendrierData.heureKey = $("#nomHeure").val(); - this.calendrierData.jourMois = $("#jourMois").val(); - this.calendrierData.minutesRelative = $("#minutesRelative").val(); - + fillData() { + this.calendrierData.annee = $("input[name='annee']").val(); + this.calendrierData.moisKey = $("select[name='nomMois']").val(); + this.calendrierData.heureKey = $("select[name='nomHeure']").val(); + this.calendrierData.jourMois = $("select[name='jourMois']").val(); + this.calendrierData.minutesRelative = $("select[name='minutesRelative']").val(); + console.log("UPDATE ", this.calendrierData); - this.calendrier.saveEditeur( this.calendrierData ) + this.calendrier.saveEditeur(this.calendrierData) } /* -------------------------------------------- */ - updateData( calendrierData ) { + updateData(calendrierData) { this.calendrierData = duplicate(calendrierData); } /* -------------------------------------------- */ activateListeners(html) { super.activateListeners(html); - + let calendrierData = this.calendrierData; $(function () { console.log(calendrierData); - $("#nomMois").val(calendrierData.moisKey); - $("#nomHeure").val(calendrierData.heureKey); - $("#jourMois").val(calendrierData.jourMois); - $("#minutesRelative").val(calendrierData.minutesRelative); + $("input[name='nomMois']").val(calendrierData.moisKey); + $("select[name='nomHeure']").val(calendrierData.heureKey); + $("select[name='jourMois']").val(calendrierData.jourMois); + $("select[name='minutesRelative']").val(calendrierData.minutesRelative); + $("select[name='annee']").val(calendrierData.annee); }); } diff --git a/module/rdd-calendrier.js b/module/rdd-calendrier.js index 68ab4f76..f47ca3fd 100644 --- a/module/rdd-calendrier.js +++ b/module/rdd-calendrier.js @@ -116,7 +116,7 @@ export class RdDCalendrier extends Application { game.settings.set(SYSTEM_RDD, "calendrier", this.calendrier); this.listeNombreAstral = this.getListeNombreAstral(); - this.rebuildListeNombreAstral(false); // Ensure always up-to-date + this.rebuildListeNombreAstral(HIDE_DICE); // Ensure always up-to-date } console.log('RdDCalendrier.constructor()', this.calendrier, this.calendrierPos, this.listeNombreAstral); } @@ -210,12 +210,13 @@ export class RdDCalendrier extends Application { /* -------------------------------------------- */ getNombreAstral(indexDate) { - let astralData = this.getListeNombreAstral().find((nombreAstral, i) => nombreAstral.index == indexDate); + const listNombreAstral = this.getListeNombreAstral(); + let astralData = listNombreAstral.find((nombreAstral, i) => nombreAstral.index == indexDate); return astralData?.nombreAstral; } /* -------------------------------------------- */ - async rebuildListeNombreAstral(showDice = SHOW_DICE) { + async rebuildListeNombreAstral(showDice = HIDE_DICE) { if (Misc.isUniqueConnectedGM()) { let jourCourant = this.getCurrentDayIndex(); let newList = []; @@ -228,9 +229,8 @@ export class RdDCalendrier extends Application { newList[i] = await this.ajouterNombreAstral(dayIndex, showDice); } } - //console.log("SAVE list", newList, jourCourant); + game.settings.set(SYSTEM_RDD, "liste-nombre-astral", newList); this.listeNombreAstral = newList; - game.settings.set(SYSTEM_RDD, "liste-nombre-astral", this.listeNombreAstral); } } @@ -323,6 +323,7 @@ export class RdDCalendrier extends Application { formData.moisKey = mois.key; formData.jourMois = this.calendrier.jour + 1; formData.nomMois = mois.label; // heures et mois nommés identiques + formData.annee = this.calendrier.annee; formData.iconMois = dossierIconesHeures + mois.icon; formData.nomHeure = heure.label; formData.iconHeure = dossierIconesHeures + heure.icon; @@ -471,7 +472,7 @@ export class RdDCalendrier extends Application { updateDisplay() { let calendrier = this.fillCalendrierData(); // Rebuild text du calendrier - let dateHTML = `Jour ${calendrier.jourMois} de ${calendrier.nomMois} (${calendrier.nomSaison})` + let dateHTML = `${calendrier.jourMois} ${calendrier.nomMois} ${calendrier.annee} (${calendrier.nomSaison})` if (game.user.isGM) { dateHTML = dateHTML + " - NA: " + (this.getCurrentNombreAstral() ?? "indéterminé"); } @@ -494,6 +495,7 @@ export class RdDCalendrier extends Application { this.calendrier.minutesRelative = Number(calendrierData.minutesRelative); this.calendrier.jour = Number(calendrierData.jourMois) - 1; this.calendrier.moisRdD = RdDCalendrier.getChiffreFromSigne(calendrierData.moisKey); + this.calendrier.annee = Number(calendrierData.annee); this.calendrier.heureRdD = RdDCalendrier.getChiffreFromSigne(calendrierData.heureKey); game.settings.set(SYSTEM_RDD, "calendrier", duplicate(this.calendrier)); diff --git a/templates/calendar-editor-template.html b/templates/calendar-editor-template.html index 3636a705..3f69620e 100644 --- a/templates/calendar-editor-template.html +++ b/templates/calendar-editor-template.html @@ -1,4 +1,4 @@ -
+

Edition du Calendrier

@@ -7,9 +7,13 @@ {{!-- Sheet Body --}}
+
+ + +
- {{#select nomMois}} {{>"systems/foundryvtt-reve-de-dragon/templates/enum-heures.html"}} {{/select}} @@ -17,7 +21,7 @@
- {{#select jourMois}} {{#each jourMoisOptions as |key|}} @@ -27,7 +31,7 @@
- {{#select nomHeure}} {{>"systems/foundryvtt-reve-de-dragon/templates/enum-heures.html"}} {{/select}} @@ -35,7 +39,7 @@
- {{#select minutesRelative}} {{#each minutesOptions as |key|}} diff --git a/templates/dialog-chronologie.html b/templates/dialog-chronologie.html index dc6cd03e..320fa413 100644 --- a/templates/dialog-chronologie.html +++ b/templates/dialog-chronologie.html @@ -17,9 +17,9 @@
- + - +