Aller au contenu principal

Vues de liste

L'éditeur Vues de liste est la page de configuration des quatre pages de liste pilotées par spécification : Factures, Erreurs d'intégration, E-Reporting et Journal de traitement. Une spec JSON par vue pilote la forme des colonnes sur chaque page — libellés, type, format, alignement, largeur, tri par défaut et la liste blanche des filtres — modifiable ici sans toucher au code.

Un second concept vit à côté de la spec : le catalogue de colonnes. Chaque vue livre un catalogue de toutes les colonnes que les tables sous-jacentes peuvent produire — le catalogue est la source de vérité de ce qui est adressable, la spec en sélectionne un sous-ensemble et le présente. Le picker + Ajouter une colonne est juste une vue filtrée du catalogue.


Vue d'ensemble

Vues de liste💾 EnregistrerFacturesErreurs d'intégrationE-ReportingJournalview.invoicesoverrideSource : propriété db-nomaubl · retour au défaut embarqué sinon⠿ · NOM · LIBELLÉ EN · LIBELLÉ FR · TYPE · FORMAT · LARGEUR · VISIBLE · FILTRE · ⌫statusCodeStatusStatutstringbadge90×customerNameCustomerClientstring180×grossAmountTotal TTCTotal TTCnumberamount120×logPaUuidPA UUIDUUID PAstring200×+ Ajouter une colonneChoix depuis le catalogue de colonneslogSourceFile · logActivityCode · logBusinessUnit · logDueDate · logUser · logJobn …Une carte par vuepliable, sélectionnableoverride / defaultbadge selon l'état destockage de la specPoignée ⠿réordonne les colonnesdans la grille+ Ajouter une colonnepicker catalogue filtré

Sélecteur de vue

Une barre de pastilles en haut de page bascule entre les quatre vues actuellement pilotées par une spec :

VuePage pilotée
FacturesFacturesview.invoices.
Erreurs d'intégrationErreurs d'intégrationview.integration-errors.
E-ReportingE-Reportingview.ereporting.
Journal de traitementJournal de traitementview.processing-log.

Une seule vue à la fois est chargée dans l'éditeur. Le changement de vue ne perd pas les modifications non enregistrées sur la vue précédente tant que la page reste ouverte ; Enregistrer écrit uniquement la carte active.

Un petit badge à côté du nom de vue indique si la spec active vient du défaut embarqué dans le JAR (default) ou d'une entrée stockée sur db-nomaubl (override) :

  • default — aucune propriété view.<nom> n'existe sur db-nomaubl. C'est le JSON embarqué dans config/list-views/view.<nom>.json qui pilote l'affichage. Enregistrer depuis l'éditeur écrit une propriété et fait basculer le badge en override.
  • override — une propriété a été stockée. L'éditeur lit la valeur stockée, la page lit la valeur stockée, le défaut embarqué est ignoré.

Lignes de colonne

Chaque carte porte une table des colonnes actuellement dans la spec. Une ligne par colonne.

ColonneDescription
⠿ (poignée)Glisser-déposer pour réordonner. L'ordre dans l'éditeur est l'ordre dans la grille.
NomLe nom de colonne de la spec — doit correspondre à une colonne du catalogue de la vue. Lecture seule sur les lignes existantes (le nom est la clé de jointure avec le catalogue) ; modifiable uniquement à l'ajout via le picker.
Libellé EN / Libellé FRLes libellés affichés dans l'en-tête de la grille. Libellé FR est utilisé quand la locale active commence par fr, sinon Libellé EN. Les deux champs sont libres.
Typestring / number / date / datetime. Pilote le tri et l'alignement par défaut des cellules.
FormatRenderer optionnel : date / datetime / amount / percent / badge. Appliqué par-dessus le type.
LargeurLargeur en pixels passée au <colgroup> de la table. Les colonnes sans largeur se partagent l'espace horizontal restant.
VisibleBascule maître. Désactivé = la colonne est dans la spec mais cachée dans la grille (toujours interrogeable).
FiltreListe blanche pour le panneau Filtres avancés. Désactivé = aucune pastille de filtre n'est proposée pour cette colonne.
⌫ (retirer)Retire la colonne de la spec. L'entrée du catalogue est intacte — la rajouter plus tard reproduit la même forme.

Le tri par défaut vit sur la spec mais se définit ailleurs (aujourd'hui en modifiant le JSON embarqué ou la propriété stockée directement ; un toggle UI est prévu pour une version future). Chaque vue livre un défaut adapté.


+ Ajouter une colonne

Le bouton sous la liste des lignes ouvre le picker du catalogue — une liste recherchable de toutes les entrées de catalogue absentes de la spec courante. Chaque entrée affiche :

ChampContenu
NomLe nom de colonne dans le catalogue — c'est la valeur que la spec stocke.
LibelléLe libellé anglais par défaut proposé par le catalogue. Le libellé français dérive du labelFr du catalogue s'il existe ; les deux libellés sont modifiables une fois la colonne dans la spec.
TypeSTRING / NUMBER / DATE / JDE_DATE / JDE_DATETIME. Pilote le type par défaut de la ligne de spec. Les dates JDE intègrent un décodeur (julien ou composite UPMJ+UPMT).

Choisir une entrée insère une nouvelle ligne en bas de la table, amorcée avec les défauts du catalogue. Enregistrer valide ; la colonne apparaît dans la page au prochain rendu.

Le catalogue lui-même est côté serveur et n'est pas modifiable depuis l'IHM. Ajouter une colonne réellement nouvelle (que le back-end ne sait pas projeter) demande une modification de code dans le handler Java.


Panneau Filtres avancés

La liste blanche filter: true de la spec alimente une seconde IHM sur la page destination : le panneau Filtres avancés — pliable, indexé par nom de colonne de spec, avec un sélecteur d'opérateur par colonne (contains, equals, , <, , >, , between, empty, not empty). Le panneau émet un état brouillon ; un bouton Exécuter explicite le valide en appliedFilters — taper ne sature pas le back-end.

La liste d'opérateurs proposée par colonne dépend du comportement de filtre de l'entrée du catalogue :

filterKind du catalogueOpérateurs proposés
exactequals, , empty, not empty.
LIKEcontains, equals, , empty, not empty.
inListequals (multi-choix — le catalogue éclate les buckets séparés par virgule en clause IN (?,?,?,?,?)).
between<, , >, , between. S'applique aux colonnes numériques et de date.

Marquer une colonne Filtre = désactivé dans la spec la laisse visible dans la grille mais retire sa pastille du panneau — utile pour les champs en lecture seule que l'opérateur n'a pas besoin d'interroger.


Référence du schéma

Le fichier de spec ressemble à ceci (extrait) :

{
"name": "view.invoices",
"defaultSort": [{"column": "creationDate", "direction": "desc"}],
"columns": [
{
"name": "statusCode",
"label": "Status",
"labelFr": "Statut",
"type": "string",
"format": "badge",
"align": "left",
"width": 90,
"visible": true,
"filter": true
},
{
"name": "customerName",
"label": "Customer",
"labelFr": "Client",
"type": "string",
"width": 180,
"visible": true,
"filter": true
}
]
}

Le name se joint à l'entrée de catalogue qui a la clé correspondante ; tout le reste de la ligne est de la présentation. Enregistrer depuis l'éditeur écrit la même forme sous db-nomaubl.view.<nom>. Réinitialiser la propriété — plus simple via Configuration → Système → Global quand il porte les propriétés JSON — fait basculer la page vers le défaut embarqué et le badge passe à default.


Conseils & bonnes pratiques

  • Partir du défaut embarqué. Chaque vue livre un défaut soigné ; ne modifier que quand un besoin spécifique apparaît. Le badge override signale à l'opérateur que la spec s'écarte de la configuration livrée.
  • Utiliser le catalogue avant de demander une modification de code. Quand la colonne souhaitée est déjà dans le catalogue (par ex. logBusinessUnit, logDueDate), + Ajouter une colonne règle le sujet en quelques clics. Une modification de code n'est nécessaire que quand la colonne est absente du catalogue.
  • Garder la liste blanche de filtres courte. Marquer toutes les colonnes filter: true encombre le panneau Filtres avancés — limiter la liste aux colonnes que les opérateurs interrogent réellement.
  • Définir une largeur pour les colonnes qui en ont besoin. Les badges de statut, les dates, les codes ont des largeurs naturelles ; les longues chaînes restent sans largeur pour prendre l'espace restant. width est aussi le min-width CSS de la colonne — une valeur trop grande écrase le reste de la grille.
  • Caché ≠ retiré. Mettre Visible = désactivé garde la colonne interrogeable par le panneau Filtres avancés. À utiliser pour les champs techniques que l'opérateur filtre sans avoir besoin de les lire.