task planner categories optimisation
All checks were successful
Deploy Sokko G / deploy (push) Successful in 7s

This commit is contained in:
Shinuwa 2026-07-28 17:48:13 +02:00
parent 3dc5ed8733
commit 1d3bdd60f1
7 changed files with 217 additions and 37 deletions

View file

@ -269,7 +269,9 @@ Type : `taskPlanner`
"weeklyResetDay": 1,
"resetTime": "00:00",
"lastResetAt": 1760000000000,
"hideCompleted": true,
"categoryOrder": ["Raid", "Farm"],
"collapsedCategories": ["Farm"],
"tasks": [
{
"id": "task1",
@ -309,10 +311,12 @@ Notes :
- `sortMode` vaut `manual` ou `type`. Le tri par type affiche quotidiennes, hebdo, puis uniques.
- `weeklyResetDay` suit les jours JavaScript : `0` dimanche, `1` lundi, ..., `6` samedi.
- `resetTime` est global à l'outil et vaut `HH:MM`.
- `hideCompleted` masque les tâches effectuées à l'affichage, ainsi que les catégories dont toutes les tâches sont effectuées.
- `weeklyResetDay` sur une tâche hebdo surcharge le jour global.
- `category` sur une tâche racine est facultatif. Les tâches enfants héritent de la catégorie effective de leur parent et ne stockent pas de catégorie propre.
- Les tâches catégorisées sont regroupées par catégorie au niveau racine.
- `categoryOrder` stocke l'ordre d'affichage des catégories utilisées. Les catégories absentes des tâches sont retirées à la normalisation.
- `collapsedCategories` stocke les noms des catégories repliées.
- `relations` stocke les parents directionnels. `fromTaskId` désigne la tâche enfant, `toTaskId` son parent.
- une tâche ne conserve qu'un seul parent.
- `prerequisite: true` marque aussi ce parent comme pré requis.
@ -325,9 +329,11 @@ Stockage compact :
- `weeklyResetDay` global est omis si la valeur vaut `1`.
- `resetTime` est omis si la valeur vaut `00:00`.
- `lastResetAt` est omis si la valeur vaut `0`.
- `hideCompleted` est omis si `false`.
- `description` est omis si vide.
- `category` est omis si vide ou si la tâche a un parent.
- `categoryOrder` est omis si aucune catégorie n'est utilisée.
- `collapsedCategories` est omis si aucune catégorie n'est repliée.
- `checked` et `checkedAt` sont omis si la tâche n'est pas effectuée.
- `weeklyResetDay` unitaire est omis si non défini.
- `relations` est omis si vide.