arengibook 2.0.8-table → 2.0.10-table

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.
Files changed (2) hide show
  1. package/dist/index.js +44 -7
  2. package/package.json +1 -1
package/dist/index.js CHANGED
@@ -47630,6 +47630,7 @@ var Table = function Table(_ref7) {
47630
47630
  _ref7$editable = _ref7.editable,
47631
47631
  editable = _ref7$editable === void 0 ? false : _ref7$editable,
47632
47632
  onChange = _ref7.onChange,
47633
+ onCellChange = _ref7.onCellChange,
47633
47634
  carto = _ref7.carto;
47634
47635
  var _useState15 = useState(value),
47635
47636
  _useState16 = _slicedToArray$c(_useState15, 2),
@@ -47699,11 +47700,22 @@ var Table = function Table(_ref7) {
47699
47700
  var val = rowData[options.field];
47700
47701
  if (!val) return '';
47701
47702
  // Forcer le parsing en heure locale pour éviter le décalage UTC
47702
- var _String$split = String(val).split('-'),
47703
- _String$split2 = _slicedToArray$c(_String$split, 3),
47704
- y = _String$split2[0],
47705
- m = _String$split2[1],
47706
- d = _String$split2[2];
47703
+ // Supporte YYYY-MM-DD (ISO) et dd/mm/YYYY (format français du backend)
47704
+ var str = String(val);
47705
+ var y, m, d;
47706
+ if (str.includes('/')) {
47707
+ var _str$split = str.split('/');
47708
+ var _str$split2 = _slicedToArray$c(_str$split, 3);
47709
+ d = _str$split2[0];
47710
+ m = _str$split2[1];
47711
+ y = _str$split2[2];
47712
+ } else {
47713
+ var _str$split3 = str.split('-');
47714
+ var _str$split4 = _slicedToArray$c(_str$split3, 3);
47715
+ y = _str$split4[0];
47716
+ m = _str$split4[1];
47717
+ d = _str$split4[2];
47718
+ }
47707
47719
  return new Date(y, m - 1, d).toLocaleDateString('fr-FR', {
47708
47720
  day: '2-digit',
47709
47721
  month: '2-digit',
@@ -47885,8 +47897,28 @@ var Table = function Table(_ref7) {
47885
47897
  });
47886
47898
  }, []);
47887
47899
  var dateEditor = useCallback(function (options) {
47900
+ // Convertit la valeur (string dd/mm/YYYY ou YYYY-MM-DD) en objet Date pour le DatePicker
47901
+ var dateObj = null;
47902
+ var str = options.value ? String(options.value) : null;
47903
+ if (str) {
47904
+ if (str.includes('/')) {
47905
+ var _str$split5 = str.split('/'),
47906
+ _str$split6 = _slicedToArray$c(_str$split5, 3),
47907
+ d = _str$split6[0],
47908
+ m = _str$split6[1],
47909
+ y = _str$split6[2];
47910
+ dateObj = new Date(y, m - 1, d);
47911
+ } else if (str.includes('-')) {
47912
+ var _str$split7 = str.split('-'),
47913
+ _str$split8 = _slicedToArray$c(_str$split7, 3),
47914
+ _y = _str$split8[0],
47915
+ _m = _str$split8[1],
47916
+ _d = _str$split8[2];
47917
+ dateObj = new Date(_y, _m - 1, _d);
47918
+ }
47919
+ }
47888
47920
  return /*#__PURE__*/React__default.createElement(DatePicker, {
47889
- value: options.value,
47921
+ value: dateObj,
47890
47922
  onChange: function onChange(e) {
47891
47923
  return options.editorCallback(e.value ? [e.value.getFullYear(), String(e.value.getMonth() + 1).padStart(2, '0'), String(e.value.getDate()).padStart(2, '0')].join('-') : null);
47892
47924
  }
@@ -47987,7 +48019,12 @@ var Table = function Table(_ref7) {
47987
48019
  });
47988
48020
  setData(updated);
47989
48021
  onChange === null || onChange === void 0 || onChange(updated);
47990
- }, [data, onChange, columns]);
48022
+ onCellChange === null || onCellChange === void 0 || onCellChange({
48023
+ rowData: rowData,
48024
+ field: field,
48025
+ newValue: newRowData[field]
48026
+ });
48027
+ }, [data, onChange, onCellChange, columns]);
47991
48028
 
47992
48029
  /** Get the body renderer for a column based on its type */
47993
48030
  var getBodyTemplate = useCallback(function (col) {
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "arengibook",
3
3
  "private": false,
4
- "version": "2.0.8-table",
4
+ "version": "2.0.10-table",
5
5
  "main": "dist/index.js",
6
6
  "module": "dist/index.js",
7
7
  "exports": {