feat: notes de bord et sauvegarde position calendrier

- bouton crayon sur la fenêtre calendrier (MJ) → dialogue de note
- date impériale + date réelle préremplies
- append au journal configuré (créé auto si inexistant)
- appendJournalNote : labels passés depuis l'ouverture (pas de re-lecture)
- échappement XSS via jQuery .text().html()
- onSave async + await + try/catch
- sauvegarde position calendrier (client scope, debounced 300ms)
- restore position au constructeur
- close() async avec await settings.set
- boutons note et config groupés dans .mgt2-cal-actions (flex row)
This commit is contained in:
2026-07-25 17:08:54 +02:00
parent 8882cf8ee2
commit 47442be3ef
7 changed files with 282 additions and 6 deletions
+8 -3
View File
@@ -3,8 +3,13 @@
<span class="mgt2-cal-date">{{dateLabel}}</span>
</div>
{{#if isGM}}
<button type="button" class="mgt2-cal-config-btn" title="Configurer le calendrier">
<i class="fas fa-cog"></i>
</button>
<div class="mgt2-cal-actions">
<button type="button" class="mgt2-cal-note-btn" title="Ajouter une note de bord">
<i class="fas fa-pen"></i>
</button>
<button type="button" class="mgt2-cal-config-btn" title="Configurer le calendrier">
<i class="fas fa-cog"></i>
</button>
</div>
{{/if}}
</div>
+19
View File
@@ -0,0 +1,19 @@
<form class="mgt2-note-form">
<div class="mgt2-note-row">
<label>Date impériale</label>
<span class="mgt2-note-value">{{imperialDate}}</span>
</div>
<div class="mgt2-note-row">
<label>Date réelle</label>
<span class="mgt2-note-value">{{realDate}}</span>
</div>
<div class="mgt2-note-row">
<label for="note-content">Note</label>
<textarea id="note-content" name="content" rows="6" placeholder="Saisissez votre note…" autofocus></textarea>
</div>
<div class="mgt2-note-actions">
<button type="button" class="mgt2-cal-btn mgt2-cal-btn-primary" data-action="save">
<i class="fas fa-save"></i> Enregistrer
</button>
</div>
</form>