Add May 2026 AG Grid session notes
This commit is contained in:
@@ -702,3 +702,112 @@ Le switch du theme met maintenant aussi a jour le logo sans attendre un nouveau
|
||||
- continuer a garder le dark mode dans un perimetre "safe" tant que les composants les plus fragiles ne sont pas inventories
|
||||
- si un nouveau bloc reste clair en dark mode, le traiter par zone locale au lieu de surcharger tout le theme global
|
||||
- si un fallback AG Grid semble anormal, commencer par lire `TREE_VIEW_DECISION_FLAT_JSON`
|
||||
|
||||
## Session du 2026-05-04
|
||||
|
||||
### Sauvegarde Git / repo
|
||||
|
||||
- migration du remote Git vers:
|
||||
- `https://gitea.open-squared.tech/admin/sao2.0.git`
|
||||
- commit de sauvegarde global du travail AG Grid / dark mode / notes
|
||||
- rappel important d'arborescence:
|
||||
- ce repo ne correspond pas exactement a l'arborescence serveur
|
||||
- `index.html` est gere dans le repo parent cote serveur
|
||||
- les fichiers effectivement deployes manuellement cote serveur sont surtout dans `/dist`
|
||||
- quand on modifie `tryton-sao.js` ou `tryton-sao.css`, penser a synchroniser aussi `dist/tryton-sao.js` ou `dist/tryton-sao.css`
|
||||
|
||||
### Correctif Many2One / icones dans les champs
|
||||
|
||||
Probleme observe:
|
||||
|
||||
- dans les champs `Many2One`, le texte chevauchait l'icone primaire "ouvrir le modele lie"
|
||||
- le symptome etait visible sur des champs comme `Party`, `Payment Term`, `Currency`, `From location`, `To location`
|
||||
|
||||
Cause:
|
||||
|
||||
- la modernisation CSS des inputs dans `.screen-container` avait casse le padding historique reserve aux icones `input-icon-primary` / `input-icon-secondary`
|
||||
- une premiere correction CSS ne s'appliquait pas car la page a `html lang="en" theme="default"` mais pas `dir="ltr"`
|
||||
- autre point important: `index.html` charge `dist/tryton-sao.js` et `dist/tryton-sao.css`, pas seulement les fichiers racine
|
||||
|
||||
Correction stabilisee:
|
||||
|
||||
- ajout d'une correction JS dans `Sao.View.Form.Many2One`
|
||||
- nouvelle methode:
|
||||
- `_sync_icon_padding`
|
||||
- appelee depuis `display`
|
||||
- elle force le padding gauche/droite de l'input selon les icones visibles
|
||||
- correction appliquee dans:
|
||||
- `tryton-sao.js`
|
||||
- `dist/tryton-sao.js`
|
||||
|
||||
Trace temporaire utile:
|
||||
|
||||
- `[M2O_ICON_LAYOUT]`
|
||||
|
||||
Note:
|
||||
|
||||
- la trace est volontairement limitee aux premiers champs
|
||||
- elle pourra etre retiree apres stabilisation definitive de l'UI
|
||||
|
||||
### Correctif AG Grid grouping restaure
|
||||
|
||||
Probleme observe:
|
||||
|
||||
- en groupant par un champ `Many2One` comme `Supplier`, le grouping fonctionnait pendant la session
|
||||
- apres fermeture/reouverture de la forme, le panneau `Grouping` restaurait bien la ligne `Supplier`
|
||||
- mais les donnees etaient regroupees comme si les valeurs etaient vides, avec principalement `(Empty)`
|
||||
|
||||
Cause probable confirmee:
|
||||
|
||||
- le state de grouping etait restaure avant que les valeurs texte des champs groupants soient chargees
|
||||
- pour un `Many2One`, il faut le `rec_name`
|
||||
- si la construction de `rowData` part trop tot, `_get_group_key_text` retombe sur une valeur vide et cree le groupe `(Empty)`
|
||||
|
||||
Correction:
|
||||
|
||||
- ajout de `_load_grouping_values`
|
||||
- avant de construire `rowData`, `display` attend le chargement des champs presents dans `grouping.groupBy`
|
||||
- ensuite seulement la grille reconstruit les lignes groupees
|
||||
- correction appliquee dans:
|
||||
- `tryton-sao.js`
|
||||
- `dist/tryton-sao.js`
|
||||
|
||||
Traces utiles:
|
||||
|
||||
- `[AGGRID][GROUPING_LOAD_FIELDS_FLAT_JSON]`
|
||||
- `[AGGRID][GROUPING_KEYS_FLAT_JSON]`
|
||||
|
||||
### Favicon Trad'on
|
||||
|
||||
- ajout d'une icone navigateur Trad'on basee sur le style existant:
|
||||
- grand `T` vert
|
||||
- fond carre arrondi bleu petrole / vert
|
||||
- fichier ajoute:
|
||||
- `images/tradon-icon.png`
|
||||
- `index.html` reference deja:
|
||||
- `images/tradon-icon.png`
|
||||
|
||||
Point de deploiement:
|
||||
|
||||
- comme `index.html` est dans le repo parent cote serveur, verifier que le fichier `images/tradon-icon.png` est bien servi au bon chemin relatif
|
||||
- le cache favicon navigateur peut etre tenace: refresh dur ou vidage cache si besoin
|
||||
|
||||
### Commits importants
|
||||
|
||||
- `fc9ab5d Save SAO AG Grid work`
|
||||
- `d9292b8 Fix served Many2One icon padding`
|
||||
- `d78c9e0 Fix AG Grid restored grouping values`
|
||||
- `fb54c32 Add Tradon browser favicon`
|
||||
|
||||
### Memo pour la prochaine session
|
||||
|
||||
- ne pas oublier que les changements utiles au serveur doivent souvent toucher `dist/`
|
||||
- retirer plus tard les traces temporaires:
|
||||
- `[M2O_ICON_LAYOUT]`
|
||||
- `[AGGRID][GROUPING_LOAD_FIELDS_FLAT_JSON]`
|
||||
- `[AGGRID][GROUPING_KEYS_FLAT_JSON]`
|
||||
- les anciennes traces `GROUPING_*` / `ROW_DATA_KIND_*` si elles ne sont plus necessaires
|
||||
- si le grouping restaure retombe encore sur `(Empty)`, lire d'abord:
|
||||
- `GROUPING_LOAD_FIELDS_FLAT_JSON`
|
||||
- `GROUPING_KEYS_FLAT_JSON`
|
||||
- si une correction visuelle semble inactive, verifier d'abord quel fichier est charge par `index.html` et si `dist/` a ete synchronise
|
||||
|
||||
@@ -160,3 +160,76 @@ Si AG Grid doit devenir central dans les vues `tree`, il faudra probablement:
|
||||
- mieux isoler AG Grid du CSS global SAO
|
||||
- ou rationaliser les anciennes regles SAO sur `input/select/radio/checkbox`
|
||||
- ou definir une vraie zone de styles AG Grid maitrisee
|
||||
|
||||
## Point de reprise apres la session du 2026-05-04
|
||||
|
||||
Session de stabilisation apres migration vers le depot:
|
||||
|
||||
- `https://gitea.open-squared.tech/admin/sao2.0.git`
|
||||
|
||||
### Regle importante d'arborescence / deploiement
|
||||
|
||||
Le repo local ne correspond pas exactement a l'arborescence serveur:
|
||||
|
||||
- `index.html` est gere dans le repo parent cote serveur
|
||||
- les fichiers utiles au runtime sont charges depuis `dist/`
|
||||
- quand on modifie `tryton-sao.js` ou `tryton-sao.css`, penser a synchroniser aussi:
|
||||
- `dist/tryton-sao.js`
|
||||
- `dist/tryton-sao.css`
|
||||
|
||||
Ce point a explique pourquoi une correction CSS Many2One semblait inactive.
|
||||
|
||||
### Correctif Many2One
|
||||
|
||||
Probleme corrige:
|
||||
|
||||
- texte des champs `Many2One` chevauchant l'icone primaire d'ouverture
|
||||
|
||||
Correction retenue:
|
||||
|
||||
- ne pas compter uniquement sur le CSS
|
||||
- `Sao.View.Form.Many2One.display()` appelle maintenant `_sync_icon_padding`
|
||||
- `_sync_icon_padding` pose directement le padding gauche/droite selon les icones visibles
|
||||
|
||||
Trace temporaire:
|
||||
|
||||
- `[M2O_ICON_LAYOUT]`
|
||||
|
||||
### Correctif grouping AG Grid restaure
|
||||
|
||||
Probleme corrige:
|
||||
|
||||
- apres reouverture d'une vue, le panneau `Grouping` restaurait bien `Supplier`
|
||||
- mais les groupes etaient reconstruits avec des valeurs vides, donc `(Empty)`
|
||||
|
||||
Cause:
|
||||
|
||||
- le grouping persistait plus vite que le chargement des valeurs texte `Many2One` / `rec_name`
|
||||
|
||||
Correction:
|
||||
|
||||
- `_load_grouping_values` charge les champs presents dans `grouping.groupBy`
|
||||
- `display()` attend ce chargement avant de construire `rowData`
|
||||
|
||||
Traces a lire si le sujet revient:
|
||||
|
||||
- `[AGGRID][GROUPING_LOAD_FIELDS_FLAT_JSON]`
|
||||
- `[AGGRID][GROUPING_KEYS_FLAT_JSON]`
|
||||
- `[AGGRID][ROW_DATA_KIND_FLAT_JSON]`
|
||||
|
||||
### Favicon
|
||||
|
||||
- ajout de `images/tradon-icon.png`
|
||||
- style: grand `T` vert sur fond carre arrondi bleu petrole / vert
|
||||
- attention au cache navigateur favicon
|
||||
|
||||
### Commits de reprise
|
||||
|
||||
- `d9292b8 Fix served Many2One icon padding`
|
||||
- `d78c9e0 Fix AG Grid restored grouping values`
|
||||
- `fb54c32 Add Tradon browser favicon`
|
||||
|
||||
### Nettoyage futur
|
||||
|
||||
- retirer les traces temporaires une fois la stabilisation confirmee
|
||||
- garder le reflexe des traces JSON plates pour les bugs AG Grid difficiles
|
||||
|
||||
Reference in New Issue
Block a user