arengibook 3.1.25-main → 3.1.28-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.
Files changed (2) hide show
  1. package/dist/index.js +51 -27
  2. package/package.json +1 -1
package/dist/index.js CHANGED
@@ -54541,15 +54541,15 @@ FilterService.register('arrayContains', function (value, filter) {
54541
54541
  return Array.isArray(value) && value.includes(filter);
54542
54542
  });
54543
54543
 
54544
- // Déduit le dateFormat PrimeReact depuis un dbFormat utilisateur
54545
- var dbFormatToPrime = function dbFormatToPrime(dbFormat) {
54546
- var u = dbFormat.toUpperCase();
54544
+ // Déduit le dateFormat PrimeReact depuis un dbDateFormat utilisateur
54545
+ var dbDateFormatToPrime = function dbDateFormatToPrime(dbDateFormat) {
54546
+ var u = dbDateFormat.toUpperCase();
54547
54547
  if (u.includes('D')) return 'dd/mm/yy';
54548
54548
  if (u.includes('M')) return 'mm/yy';
54549
54549
  return 'yy';
54550
54550
  };
54551
54551
 
54552
- // Formats candidats pour l'auto-détection (sans dbFormat déclaré)
54552
+ // Formats candidats pour l'auto-détection (sans dbDateFormat déclaré)
54553
54553
  var DATE_CANDIDATE_FORMATS = ['dd/MM/yyyy', 'd/MM/yyyy', 'dd/M/yyyy', 'd/M/yyyy', 'dd/MM/yy', 'd/MM/yy', 'MM/yyyy', 'M/yyyy', 'MM/yy', 'M/yy', 'yyyy-MM-dd', 'yyyy-MM', 'yyyy', 'yy'];
54554
54554
 
54555
54555
  // Retourne { date: Date, primeFormat: 'dd/mm/yy' | 'mm/yy' | 'yy' } ou null
@@ -55484,7 +55484,7 @@ var SelfEditableCell = function SelfEditableCell(_ref11) {
55484
55484
  var _parsed$date, _parsed$primeFormat;
55485
55485
  var parsed = parseDateAuto(localValue);
55486
55486
  var dateObj = (_parsed$date = parsed === null || parsed === void 0 ? void 0 : parsed.date) !== null && _parsed$date !== void 0 ? _parsed$date : new Date();
55487
- var primeFormat = col.dbDateFormat ? dbFormatToPrime(col.dbDateFormat) : (_parsed$primeFormat = parsed === null || parsed === void 0 ? void 0 : parsed.primeFormat) !== null && _parsed$primeFormat !== void 0 ? _parsed$primeFormat : 'dd/mm/yy';
55487
+ var primeFormat = col.dbDateFormat ? dbDateFormatToPrime(col.dbDateFormat) : (_parsed$primeFormat = parsed === null || parsed === void 0 ? void 0 : parsed.primeFormat) !== null && _parsed$primeFormat !== void 0 ? _parsed$primeFormat : 'dd/mm/yy';
55488
55488
  return /*#__PURE__*/React__default.createElement("div", {
55489
55489
  ref: containerRef
55490
55490
  }, /*#__PURE__*/React__default.createElement(DatePicker, {
@@ -55730,8 +55730,10 @@ var Table$1 = function Table(_ref13) {
55730
55730
  onCellChange = _ref13.onCellChange,
55731
55731
  tableId = _ref13.tableId,
55732
55732
  onAdd = _ref13.onAdd,
55733
+ _ref13$showAdd = _ref13.showAdd,
55734
+ showAdd = _ref13$showAdd === void 0 ? true : _ref13$showAdd,
55733
55735
  _ref13$addLabel = _ref13.addLabel,
55734
- addLabel = _ref13$addLabel === void 0 ? 'Ajouter' : _ref13$addLabel,
55736
+ addLabel = _ref13$addLabel === void 0 ? '+' : _ref13$addLabel,
55735
55737
  onDeleteRow = _ref13.onDeleteRow,
55736
55738
  _ref13$rowSelection = _ref13.rowSelection,
55737
55739
  rowSelection = _ref13$rowSelection === void 0 ? false : _ref13$rowSelection,
@@ -55788,6 +55790,29 @@ var Table$1 = function Table(_ref13) {
55788
55790
  return updated;
55789
55791
  });
55790
55792
  }, [onChange]);
55793
+ var handleAddRow = useCallback(function () {
55794
+ // id temporaire négatif pour éviter les collisions avec les id BDD positifs
55795
+ var newRow = {
55796
+ id: -Date.now()
55797
+ };
55798
+ columns.forEach(function (col) {
55799
+ switch (col.type) {
55800
+ case 'selectMultiple':
55801
+ case 'badges':
55802
+ case 'documents':
55803
+ newRow[col.field] = [];
55804
+ break;
55805
+ default:
55806
+ newRow[col.field] = null;
55807
+ }
55808
+ });
55809
+ setData(function (prev) {
55810
+ var updated = [newRow].concat(_toConsumableArray$a(prev));
55811
+ onChange === null || onChange === void 0 || onChange(updated);
55812
+ onAdd === null || onAdd === void 0 || onAdd(newRow, updated);
55813
+ return updated;
55814
+ });
55815
+ }, [columns, onChange, onAdd]);
55791
55816
  var _useState37 = useState({}),
55792
55817
  _useState38 = _slicedToArray$d(_useState37, 2),
55793
55818
  editingRows = _useState38[0],
@@ -56161,7 +56186,7 @@ var Table$1 = function Table(_ref13) {
56161
56186
  var val = rowData[options.field];
56162
56187
  var parsed = parseDateAuto(val);
56163
56188
  if (!parsed) return 'N/A';
56164
- if (options.dbDateFormat) parsed.primeFormat = dbFormatToPrime(options.dbDateFormat);
56189
+ if (options.dbDateFormat) parsed.primeFormat = dbDateFormatToPrime(options.dbDateFormat);
56165
56190
  var localeOpts = parsed.primeFormat === 'dd/mm/yy' ? {
56166
56191
  day: '2-digit',
56167
56192
  month: '2-digit',
@@ -56827,7 +56852,7 @@ var Table$1 = function Table(_ref13) {
56827
56852
  displayFn = function displayFn(rd) {
56828
56853
  return dateTemplate(rd, {
56829
56854
  field: col.field,
56830
- dbFormat: col.dbDateFormat
56855
+ dbDateFormat: col.dbDateFormat
56831
56856
  });
56832
56857
  };
56833
56858
  break;
@@ -57071,7 +57096,18 @@ var Table$1 = function Table(_ref13) {
57071
57096
  alignItems: 'center',
57072
57097
  gap: '0.5rem'
57073
57098
  }
57074
- }, lockable && /*#__PURE__*/React__default.createElement("button", {
57099
+ }, showAdd === true && /*#__PURE__*/React__default.createElement("button", {
57100
+ type: "button",
57101
+ className: "p-button p-component p-button-outlined p-button-sm",
57102
+ onClick: handleAddRow,
57103
+ "aria-label": addLabel,
57104
+ title: addLabel
57105
+ }, /*#__PURE__*/React__default.createElement("span", {
57106
+ style: {
57107
+ fontWeight: 'bold',
57108
+ fontSize: '12px'
57109
+ }
57110
+ }, addLabel)), lockable && /*#__PURE__*/React__default.createElement("button", {
57075
57111
  type: "button",
57076
57112
  className: "p-button p-component p-button-outlined p-button-sm",
57077
57113
  onClick: function onClick() {
@@ -57325,22 +57361,7 @@ var Table$1 = function Table(_ref13) {
57325
57361
  height: "calc(100vh - ".concat(headerH, "px)")
57326
57362
  };
57327
57363
  }() : undefined
57328
- }, onAdd && /*#__PURE__*/React__default.createElement("div", {
57329
- style: {
57330
- display: 'flex',
57331
- justifyContent: 'flex-end',
57332
- padding: '0 0 8px 0'
57333
- }
57334
- }, /*#__PURE__*/React__default.createElement("div", {
57335
- className: "btn btn-add",
57336
- onClick: onAdd,
57337
- style: {
57338
- border: '2px solid #1E976A',
57339
- color: '#1E976A',
57340
- padding: '5px 12px',
57341
- cursor: 'pointer'
57342
- }
57343
- }, addLabel)), /*#__PURE__*/React__default.createElement(DataTable, {
57364
+ }, /*#__PURE__*/React__default.createElement(DataTable, {
57344
57365
  key: tableKey,
57345
57366
  value: data,
57346
57367
  header: header,
@@ -58109,7 +58130,7 @@ var columnsTyped = [
58109
58130
  header: 'Inscription',
58110
58131
  type: 'date',
58111
58132
  editable: true,
58112
- dbDateFormat: 'YYYY'
58133
+ dbDateFormat: 'MMMM/y'
58113
58134
  }, {
58114
58135
  field: 'dateNaissance',
58115
58136
  header: 'Naissance',
@@ -58220,7 +58241,10 @@ var TablePresets = {
58220
58241
  value: dataTyped,
58221
58242
  columns: columnsTyped,
58222
58243
  editable: true,
58223
- tableId: 'table-presets-demo'
58244
+ tableId: 'table-presets-demo',
58245
+ onAdd: function onAdd(row, updated) {
58246
+ console.log(row.id);
58247
+ }
58224
58248
  }
58225
58249
  };
58226
58250
 
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "arengibook",
3
3
  "private": false,
4
- "version": "3.1.25-main",
4
+ "version": "3.1.28-main",
5
5
  "main": "dist/index.js",
6
6
  "module": "dist/index.js",
7
7
  "exports": {