On replie par defaut les série dans le catalogue.
Un bouton permet de déplier/replier toutes les séries d'un coup.
This commit is contained in:
@@ -4,9 +4,9 @@
|
||||
Un bloc de série au catalogue, replié ou déplié — et récursif, parce qu'un cycle est une
|
||||
série de séries : chaque niveau porte sa propre bascule.
|
||||
|
||||
⚠️ Tout est DÉPLIÉ par défaut, et l'on replie ce dont on ne veut pas. C'est la règle déjà
|
||||
tenue par l'arbre des séries : l'inverse obligerait à ouvrir chaque bloc pour retrouver un
|
||||
livre qu'on voyait très bien avant.
|
||||
⚠️ Tout est REPLIÉ par défaut ici (2026-09-10), à l'inverse de l'arbre des séries : le
|
||||
catalogue liste D'ABORD les livres, une série n'y est qu'un détail qu'on ouvre au besoin —
|
||||
alors que l'écran des séries EST la liste des séries, où les masquer toutes viderait l'écran.
|
||||
|
||||
⚠️ Replié, le bloc annonce toujours ce qu'il contient : sans ce compte, le compteur du haut
|
||||
du catalogue paraîtrait mentir.
|
||||
@@ -43,7 +43,7 @@
|
||||
<ul class="liste-livres">
|
||||
@foreach (var sous in Entree.SousEntrees)
|
||||
{
|
||||
<GroupeCatalogue Entree="sous" Replies="Replies" Totaux="Totaux" />
|
||||
<GroupeCatalogue Entree="sous" Ouverts="Ouverts" Totaux="Totaux" />
|
||||
}
|
||||
</ul>
|
||||
}
|
||||
@@ -66,15 +66,14 @@
|
||||
[Parameter, EditorRequired] public EntreeCatalogue Entree { get; set; } = default!;
|
||||
|
||||
/// <summary>
|
||||
/// Blocs REPLIÉS, par identifiant de série — et non dépliés : le défaut est de tout montrer.
|
||||
/// Blocs OUVERTS, par identifiant de série — et non repliés : le défaut est de tout replier.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// État local de l'écran, volontairement non persistant, comme celui de l'arbre des séries :
|
||||
/// c'est un confort de lecture, pas une propriété de la série. Il survit en revanche aux
|
||||
/// rechargements du catalogue (frappe dans la recherche, filtre), le jeu appartenant à
|
||||
/// l'écran et non au bloc.
|
||||
/// État local de l'écran, volontairement non persistant : c'est un confort de lecture, pas
|
||||
/// une propriété de la série. Il survit en revanche aux rechargements du catalogue (frappe
|
||||
/// dans la recherche, filtre), le jeu appartenant à l'écran et non au bloc.
|
||||
/// </remarks>
|
||||
[Parameter, EditorRequired] public ISet<int> Replies { get; set; } = new HashSet<int>();
|
||||
[Parameter, EditorRequired] public ISet<int> Ouverts { get; set; } = new HashSet<int>();
|
||||
|
||||
/// <summary>
|
||||
/// Compteurs par série, descendance comprise : ce qu'on possède, et ce que la série recense.
|
||||
@@ -95,13 +94,13 @@
|
||||
|
||||
private int Total => Compte.Total;
|
||||
|
||||
private bool Deplie => !Replies.Contains(Entree.Serie!.Id);
|
||||
private bool Deplie => Ouverts.Contains(Entree.Serie!.Id);
|
||||
|
||||
private void Basculer()
|
||||
{
|
||||
if (!Replies.Add(Entree.Serie!.Id))
|
||||
if (!Ouverts.Add(Entree.Serie!.Id))
|
||||
{
|
||||
Replies.Remove(Entree.Serie!.Id);
|
||||
Ouverts.Remove(Entree.Serie!.Id);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user