arengibook 3.3.7-main → 3.4.0-main
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +2 -1
- package/dist/index.js +16 -3
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -21,8 +21,9 @@ généré automatiquement.
|
|
|
21
21
|
| [`docs/architecture.md`](docs/architecture.md) | devs de la bibliothèque | Build rollup, API publique, design tokens, cœur i18n, outillage Storybook |
|
|
22
22
|
| [`docs/integration-symfony.md`](docs/integration-symfony.md) | intégrateurs (arengibox) | Montage des composants depuis Twig, helpers `arengibookEnhance`/`arengibookRemount`, pièges connus |
|
|
23
23
|
| [`CHANGELOG.md`](CHANGELOG.md) | tous | Ce que contient chaque version publiée |
|
|
24
|
+
| [`RELEASE_NOTES.md`](RELEASE_NOTES.md) | chefs de projet, utilisateurs | Ce qui change pour l'utilisateur à chaque version, sans jargon technique |
|
|
24
25
|
| [`TODO_DESIGN.md`](TODO_DESIGN.md) | devs de la bibliothèque | Backlog des améliorations de composants |
|
|
25
|
-
| `Table
|
|
26
|
+
| Page Docs du `Table` (Storybook) | chefs de projet, intégrateurs | Documentation complète du composant `Table` (le plus utilisé) : onglets Doc, Implémentation, Intégration Symfony |
|
|
26
27
|
|
|
27
28
|
---
|
|
28
29
|
|
package/dist/index.js
CHANGED
|
@@ -58133,6 +58133,7 @@ var Table$1 = function Table(_ref17) {
|
|
|
58133
58133
|
addTooltip = _ref17.addTooltip,
|
|
58134
58134
|
_ref17$addRowPosition = _ref17.addRowPosition,
|
|
58135
58135
|
addRowPosition = _ref17$addRowPosition === void 0 ? 'end' : _ref17$addRowPosition,
|
|
58136
|
+
newRowDefaults = _ref17.newRowDefaults,
|
|
58136
58137
|
_ref17$defaultRowHeig = _ref17.defaultRowHeight,
|
|
58137
58138
|
defaultRowHeight = _ref17$defaultRowHeig === void 0 ? 'small' : _ref17$defaultRowHeig,
|
|
58138
58139
|
onReorderClick = _ref17.onReorderClick,
|
|
@@ -59124,9 +59125,7 @@ var Table$1 = function Table(_ref17) {
|
|
|
59124
59125
|
});
|
|
59125
59126
|
}, [onChange]);
|
|
59126
59127
|
var handleAddRow = useCallback(function () {
|
|
59127
|
-
// id temporaire négatif pour éviter les collisions avec les id BDD positifs
|
|
59128
59128
|
var newRow = {
|
|
59129
|
-
id: -Date.now(),
|
|
59130
59129
|
attributeData: buildAttributeData()
|
|
59131
59130
|
};
|
|
59132
59131
|
columns.forEach(function (col) {
|
|
@@ -59139,7 +59138,18 @@ var Table$1 = function Table(_ref17) {
|
|
|
59139
59138
|
default:
|
|
59140
59139
|
newRow[col.field] = null;
|
|
59141
59140
|
}
|
|
59141
|
+
// Copie profonde : une valeur objet/tableau partagée entre les lignes neuves
|
|
59142
|
+
// serait modifiée dans toutes à la fois.
|
|
59143
|
+
if (newRowDefaults && col.field !== 'id' && col.field !== 'attributeData' && Object.prototype.hasOwnProperty.call(newRowDefaults, col.field)) {
|
|
59144
|
+
var def = newRowDefaults[col.field];
|
|
59145
|
+
newRow[col.field] = def !== null && _typeof$e(def) === 'object' ? JSON.parse(JSON.stringify(def)) : def;
|
|
59146
|
+
}
|
|
59142
59147
|
});
|
|
59148
|
+
// id temporaire négatif pour éviter les collisions avec les id BDD positifs.
|
|
59149
|
+
// Posé APRÈS les colonnes : une colonne `field: 'id'` (ex. tableau de saisie du
|
|
59150
|
+
// mapper d'import) le remettait à null, et toutes les lignes ajoutées partageaient
|
|
59151
|
+
// alors le même id — modifier une cellule modifiait toutes ces lignes (updateRow).
|
|
59152
|
+
newRow.id = -Date.now();
|
|
59143
59153
|
// En lazy, l'insertion optimiste n'a pas de sens (la page cible n'est pas
|
|
59144
59154
|
// forcément chargée) : tout est délégué à l'app via onAdd(newRow, null) —
|
|
59145
59155
|
// charge à elle de créer côté serveur puis de recharger la page voulue.
|
|
@@ -59160,7 +59170,7 @@ var Table$1 = function Table(_ref17) {
|
|
|
59160
59170
|
setFirst(Math.floor(index / pageRows) * pageRows);
|
|
59161
59171
|
}
|
|
59162
59172
|
setPendingScroll(addRowPosition === 'start' ? 'top' : 'bottom');
|
|
59163
|
-
}, [columns, data, onChange, onAdd, buildAttributeData, addRowPosition, paginator, pageRows, lazy]);
|
|
59173
|
+
}, [columns, data, onChange, onAdd, buildAttributeData, addRowPosition, newRowDefaults, paginator, pageRows, lazy]);
|
|
59164
59174
|
|
|
59165
59175
|
// Visibilité du bouton « + » : opt-in explicite (`showAdd`), sinon déduite de la
|
|
59166
59176
|
// présence de `onAdd`. Voir le commentaire de la prop `showAdd`.
|
|
@@ -60734,6 +60744,9 @@ var Table$1 = function Table(_ref17) {
|
|
|
60734
60744
|
if (val === null || val === undefined || val === '') return '';
|
|
60735
60745
|
var num = parseFloat(val);
|
|
60736
60746
|
if (isNaN(num)) return val;
|
|
60747
|
+
// id provisoire (négatif) d'une ligne ajoutée par handleAddRow : interne au
|
|
60748
|
+
// composant, sans signification pour l'utilisateur tant que la ligne n'est pas créée.
|
|
60749
|
+
if (col.field === 'id' && num < 0) return '';
|
|
60737
60750
|
var outOfRange = col.min != null && num < col.min || col.max != null && num > col.max;
|
|
60738
60751
|
var message = col.min != null && num < col.min ? "Min : ".concat(col.min) : col.max != null && num > col.max ? "Max : ".concat(col.max) : null;
|
|
60739
60752
|
if (outOfRange) return /*#__PURE__*/React__default.createElement("span", {
|