arengibook 2.0.13-table → 2.0.15-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.
- package/dist/index.js +513 -116
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -47294,6 +47294,8 @@ var DeviseBodyCell = function DeviseBodyCell(_ref) {
|
|
|
47294
47294
|
var rowData = _ref.rowData,
|
|
47295
47295
|
col = _ref.col,
|
|
47296
47296
|
editable = _ref.editable,
|
|
47297
|
+
_ref$isRowEditing = _ref.isRowEditing,
|
|
47298
|
+
isRowEditing = _ref$isRowEditing === void 0 ? false : _ref$isRowEditing,
|
|
47297
47299
|
onSave = _ref.onSave;
|
|
47298
47300
|
var _useState = useState(false),
|
|
47299
47301
|
_useState2 = _slicedToArray$c(_useState, 2),
|
|
@@ -47329,6 +47331,21 @@ var DeviseBodyCell = function DeviseBodyCell(_ref) {
|
|
|
47329
47331
|
setDevise(initialDevise);
|
|
47330
47332
|
setEditing(true);
|
|
47331
47333
|
};
|
|
47334
|
+
|
|
47335
|
+
// Sync avec le mode row edit : auto-ouvrir / fermer
|
|
47336
|
+
useEffect(function () {
|
|
47337
|
+
if (isRowEditing && !editing) {
|
|
47338
|
+
var _displayCell$value2, _ref4, _ref5, _displayCell$devise2;
|
|
47339
|
+
setAmount((_displayCell$value2 = displayCell === null || displayCell === void 0 ? void 0 : displayCell.value) !== null && _displayCell$value2 !== void 0 ? _displayCell$value2 : '');
|
|
47340
|
+
var initialDevise = (_ref4 = (_ref5 = (_displayCell$devise2 = displayCell === null || displayCell === void 0 ? void 0 : displayCell.devise) !== null && _displayCell$devise2 !== void 0 ? _displayCell$devise2 : col.currency) !== null && _ref5 !== void 0 ? _ref5 : devises[0]) !== null && _ref4 !== void 0 ? _ref4 : null;
|
|
47341
|
+
deviseRef.current = initialDevise;
|
|
47342
|
+
setDevise(initialDevise);
|
|
47343
|
+
setEditing(true);
|
|
47344
|
+
} else if (!isRowEditing && editing) {
|
|
47345
|
+
setEditing(false);
|
|
47346
|
+
}
|
|
47347
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
47348
|
+
}, [isRowEditing]);
|
|
47332
47349
|
var handleSave = function handleSave() {
|
|
47333
47350
|
var _devises$find;
|
|
47334
47351
|
var currentDevise = deviseRef.current;
|
|
@@ -47344,7 +47361,7 @@ var DeviseBodyCell = function DeviseBodyCell(_ref) {
|
|
|
47344
47361
|
setEditing(false);
|
|
47345
47362
|
};
|
|
47346
47363
|
useEffect(function () {
|
|
47347
|
-
if (!editing) return;
|
|
47364
|
+
if (!editing || isRowEditing) return;
|
|
47348
47365
|
var handler = function handler(e) {
|
|
47349
47366
|
if (containerRef.current && !containerRef.current.contains(e.target)) {
|
|
47350
47367
|
setEditing(false);
|
|
@@ -47354,7 +47371,7 @@ var DeviseBodyCell = function DeviseBodyCell(_ref) {
|
|
|
47354
47371
|
return function () {
|
|
47355
47372
|
return document.removeEventListener('mousedown', handler);
|
|
47356
47373
|
};
|
|
47357
|
-
}, [editing]);
|
|
47374
|
+
}, [editing, isRowEditing]);
|
|
47358
47375
|
if (editing) {
|
|
47359
47376
|
var devisesOptions = devises.map(function (d) {
|
|
47360
47377
|
return {
|
|
@@ -47418,11 +47435,13 @@ var DeviseBodyCell = function DeviseBodyCell(_ref) {
|
|
|
47418
47435
|
className: "span-sub"
|
|
47419
47436
|
}, "".concat(numberWithSpaces(value), " ").concat(cellDevise.code)));
|
|
47420
47437
|
};
|
|
47421
|
-
var TreeSelectBodyCell = function TreeSelectBodyCell(
|
|
47422
|
-
var rowData =
|
|
47423
|
-
col =
|
|
47424
|
-
editable =
|
|
47425
|
-
|
|
47438
|
+
var TreeSelectBodyCell = function TreeSelectBodyCell(_ref6) {
|
|
47439
|
+
var rowData = _ref6.rowData,
|
|
47440
|
+
col = _ref6.col,
|
|
47441
|
+
editable = _ref6.editable,
|
|
47442
|
+
_ref6$isRowEditing = _ref6.isRowEditing,
|
|
47443
|
+
isRowEditing = _ref6$isRowEditing === void 0 ? false : _ref6$isRowEditing,
|
|
47444
|
+
onSave = _ref6.onSave;
|
|
47426
47445
|
var _useState9 = useState(false),
|
|
47427
47446
|
_useState0 = _slicedToArray$c(_useState9, 2),
|
|
47428
47447
|
editing = _useState0[0],
|
|
@@ -47448,6 +47467,17 @@ var TreeSelectBodyCell = function TreeSelectBodyCell(_ref4) {
|
|
|
47448
47467
|
setEditValue(savedValue);
|
|
47449
47468
|
setEditing(true);
|
|
47450
47469
|
};
|
|
47470
|
+
|
|
47471
|
+
// Sync avec le mode row edit : auto-ouvrir / fermer
|
|
47472
|
+
useEffect(function () {
|
|
47473
|
+
if (isRowEditing && !editing) {
|
|
47474
|
+
setEditValue(savedValue);
|
|
47475
|
+
setEditing(true);
|
|
47476
|
+
} else if (!isRowEditing && editing) {
|
|
47477
|
+
setEditing(false);
|
|
47478
|
+
}
|
|
47479
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
47480
|
+
}, [isRowEditing]);
|
|
47451
47481
|
var handleChange = function handleChange(e) {
|
|
47452
47482
|
var val = e.value;
|
|
47453
47483
|
if (val == null || val === '' || _typeof$f(val) === 'object' && Object.keys(val).length === 0) return;
|
|
@@ -47456,7 +47486,7 @@ var TreeSelectBodyCell = function TreeSelectBodyCell(_ref4) {
|
|
|
47456
47486
|
onSave(val);
|
|
47457
47487
|
};
|
|
47458
47488
|
useEffect(function () {
|
|
47459
|
-
if (!editing) return;
|
|
47489
|
+
if (!editing || isRowEditing) return;
|
|
47460
47490
|
var handler = function handler(e) {
|
|
47461
47491
|
if (containerRef.current && !containerRef.current.contains(e.target)) {
|
|
47462
47492
|
if (e.target.closest('.p-treeselect-panel')) return;
|
|
@@ -47467,7 +47497,7 @@ var TreeSelectBodyCell = function TreeSelectBodyCell(_ref4) {
|
|
|
47467
47497
|
return function () {
|
|
47468
47498
|
return document.removeEventListener('mousedown', handler);
|
|
47469
47499
|
};
|
|
47470
|
-
}, [editing]);
|
|
47500
|
+
}, [editing, isRowEditing]);
|
|
47471
47501
|
if (editing) {
|
|
47472
47502
|
var _col$selectionMode, _col$filter, _col$display;
|
|
47473
47503
|
return /*#__PURE__*/React__default.createElement("div", {
|
|
@@ -47516,10 +47546,10 @@ var TreeSelectBodyCell = function TreeSelectBodyCell(_ref4) {
|
|
|
47516
47546
|
}, label);
|
|
47517
47547
|
}));
|
|
47518
47548
|
};
|
|
47519
|
-
var DocumentEditorCell = function DocumentEditorCell(
|
|
47549
|
+
var DocumentEditorCell = function DocumentEditorCell(_ref7) {
|
|
47520
47550
|
var _options$value;
|
|
47521
|
-
var options =
|
|
47522
|
-
col =
|
|
47551
|
+
var options = _ref7.options,
|
|
47552
|
+
col = _ref7.col;
|
|
47523
47553
|
var _useState13 = useState(false),
|
|
47524
47554
|
_useState14 = _slicedToArray$c(_useState13, 2),
|
|
47525
47555
|
uploading = _useState14[0],
|
|
@@ -47527,8 +47557,8 @@ var DocumentEditorCell = function DocumentEditorCell(_ref5) {
|
|
|
47527
47557
|
var fileInputRef = useRef(null);
|
|
47528
47558
|
var docs = (_options$value = options.value) !== null && _options$value !== void 0 ? _options$value : [];
|
|
47529
47559
|
var handleFileChange = /*#__PURE__*/function () {
|
|
47530
|
-
var
|
|
47531
|
-
var file, formData, res, data;
|
|
47560
|
+
var _ref8 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee(e) {
|
|
47561
|
+
var file, formData, res, data, _t, _t2;
|
|
47532
47562
|
return _regenerator().w(function (_context) {
|
|
47533
47563
|
while (1) switch (_context.n) {
|
|
47534
47564
|
case 0:
|
|
@@ -47542,7 +47572,8 @@ var DocumentEditorCell = function DocumentEditorCell(_ref5) {
|
|
|
47542
47572
|
setUploading(true);
|
|
47543
47573
|
_context.p = 2;
|
|
47544
47574
|
formData = new FormData();
|
|
47545
|
-
formData.append('
|
|
47575
|
+
formData.append('Filedata', file);
|
|
47576
|
+
if (col.csrfToken) formData.append('token', col.csrfToken);
|
|
47546
47577
|
_context.n = 3;
|
|
47547
47578
|
return fetch(col.uploadUrl, {
|
|
47548
47579
|
method: 'POST',
|
|
@@ -47550,23 +47581,38 @@ var DocumentEditorCell = function DocumentEditorCell(_ref5) {
|
|
|
47550
47581
|
});
|
|
47551
47582
|
case 3:
|
|
47552
47583
|
res = _context.v;
|
|
47584
|
+
if (res.ok) {
|
|
47585
|
+
_context.n = 5;
|
|
47586
|
+
break;
|
|
47587
|
+
}
|
|
47588
|
+
_t = Error;
|
|
47553
47589
|
_context.n = 4;
|
|
47554
|
-
return res.
|
|
47590
|
+
return res.text();
|
|
47555
47591
|
case 4:
|
|
47556
|
-
|
|
47557
|
-
|
|
47592
|
+
_t2 = _context.v;
|
|
47593
|
+
throw new _t(_t2);
|
|
47558
47594
|
case 5:
|
|
47559
|
-
_context.
|
|
47595
|
+
_context.n = 6;
|
|
47596
|
+
return res.json();
|
|
47597
|
+
case 6:
|
|
47598
|
+
data = _context.v;
|
|
47599
|
+
options.editorCallback([].concat(_toConsumableArray$a(docs), [{
|
|
47600
|
+
id: data.id,
|
|
47601
|
+
name: data.name,
|
|
47602
|
+
url: data.path
|
|
47603
|
+
}]));
|
|
47604
|
+
case 7:
|
|
47605
|
+
_context.p = 7;
|
|
47560
47606
|
setUploading(false);
|
|
47561
47607
|
e.target.value = '';
|
|
47562
|
-
return _context.f(
|
|
47563
|
-
case
|
|
47608
|
+
return _context.f(7);
|
|
47609
|
+
case 8:
|
|
47564
47610
|
return _context.a(2);
|
|
47565
47611
|
}
|
|
47566
|
-
}, _callee, null, [[2,,
|
|
47612
|
+
}, _callee, null, [[2,, 7, 8]]);
|
|
47567
47613
|
}));
|
|
47568
47614
|
return function handleFileChange(_x) {
|
|
47569
|
-
return
|
|
47615
|
+
return _ref8.apply(this, arguments);
|
|
47570
47616
|
};
|
|
47571
47617
|
}();
|
|
47572
47618
|
var handleDelete = function handleDelete(id) {
|
|
@@ -47615,32 +47661,278 @@ var DocumentEditorCell = function DocumentEditorCell(_ref5) {
|
|
|
47615
47661
|
onChange: handleFileChange
|
|
47616
47662
|
}));
|
|
47617
47663
|
};
|
|
47618
|
-
var
|
|
47619
|
-
var
|
|
47620
|
-
|
|
47621
|
-
|
|
47622
|
-
|
|
47623
|
-
|
|
47624
|
-
|
|
47625
|
-
|
|
47626
|
-
rows = _ref7$rows === void 0 ? 25 : _ref7$rows,
|
|
47627
|
-
_ref7$loading = _ref7.loading,
|
|
47628
|
-
loading = _ref7$loading === void 0 ? false : _ref7$loading,
|
|
47629
|
-
_ref7$stripedRows = _ref7.stripedRows,
|
|
47630
|
-
stripedRows = _ref7$stripedRows === void 0 ? false : _ref7$stripedRows,
|
|
47631
|
-
_ref7$selectionMode = _ref7.selectionMode,
|
|
47632
|
-
selectionMode = _ref7$selectionMode === void 0 ? null : _ref7$selectionMode,
|
|
47633
|
-
selection = _ref7.selection,
|
|
47634
|
-
onSelectionChange = _ref7.onSelectionChange,
|
|
47635
|
-
_ref7$editable = _ref7.editable,
|
|
47636
|
-
editable = _ref7$editable === void 0 ? false : _ref7$editable,
|
|
47637
|
-
onChange = _ref7.onChange,
|
|
47638
|
-
onCellChange = _ref7.onCellChange,
|
|
47639
|
-
carto = _ref7.carto;
|
|
47640
|
-
var _useState15 = useState(value),
|
|
47664
|
+
var SelfEditableCell = function SelfEditableCell(_ref9) {
|
|
47665
|
+
var rowData = _ref9.rowData,
|
|
47666
|
+
col = _ref9.col,
|
|
47667
|
+
editable = _ref9.editable,
|
|
47668
|
+
isRowEditing = _ref9.isRowEditing,
|
|
47669
|
+
onSave = _ref9.onSave,
|
|
47670
|
+
renderDisplay = _ref9.renderDisplay;
|
|
47671
|
+
var _useState15 = useState(false),
|
|
47641
47672
|
_useState16 = _slicedToArray$c(_useState15, 2),
|
|
47642
|
-
|
|
47643
|
-
|
|
47673
|
+
editing = _useState16[0],
|
|
47674
|
+
setEditing = _useState16[1];
|
|
47675
|
+
var _useState17 = useState(rowData[col.field]),
|
|
47676
|
+
_useState18 = _slicedToArray$c(_useState17, 2),
|
|
47677
|
+
localValue = _useState18[0],
|
|
47678
|
+
setLocalValue = _useState18[1];
|
|
47679
|
+
var containerRef = useRef(null);
|
|
47680
|
+
var localValueRef = useRef(localValue);
|
|
47681
|
+
useEffect(function () {
|
|
47682
|
+
localValueRef.current = localValue;
|
|
47683
|
+
}, [localValue]);
|
|
47684
|
+
useEffect(function () {
|
|
47685
|
+
if (isRowEditing && !editing) {
|
|
47686
|
+
setLocalValue(rowData[col.field]);
|
|
47687
|
+
setEditing(true);
|
|
47688
|
+
} else if (!isRowEditing && editing) {
|
|
47689
|
+
setEditing(false);
|
|
47690
|
+
}
|
|
47691
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
47692
|
+
}, [isRowEditing]);
|
|
47693
|
+
var commit = useCallback(function (val) {
|
|
47694
|
+
onSave(val);
|
|
47695
|
+
setLocalValue(val);
|
|
47696
|
+
if (!isRowEditing) setEditing(false);
|
|
47697
|
+
}, [isRowEditing, onSave]);
|
|
47698
|
+
useEffect(function () {
|
|
47699
|
+
if (!editing || isRowEditing) return;
|
|
47700
|
+
var handler = function handler(e) {
|
|
47701
|
+
if (containerRef.current && !containerRef.current.contains(e.target)) {
|
|
47702
|
+
if (e.target.closest('.p-dropdown-panel, .p-datepicker, .p-multiselect-panel')) return;
|
|
47703
|
+
commit(localValueRef.current);
|
|
47704
|
+
}
|
|
47705
|
+
};
|
|
47706
|
+
document.addEventListener('mousedown', handler);
|
|
47707
|
+
return function () {
|
|
47708
|
+
return document.removeEventListener('mousedown', handler);
|
|
47709
|
+
};
|
|
47710
|
+
}, [editing, isRowEditing, commit]);
|
|
47711
|
+
if (!editing) {
|
|
47712
|
+
var _rowData$col$field;
|
|
47713
|
+
return /*#__PURE__*/React__default.createElement("div", {
|
|
47714
|
+
onClick: function onClick() {
|
|
47715
|
+
return editable && setEditing(true);
|
|
47716
|
+
},
|
|
47717
|
+
style: {
|
|
47718
|
+
cursor: editable ? 'pointer' : 'default',
|
|
47719
|
+
minHeight: '1.5rem'
|
|
47720
|
+
}
|
|
47721
|
+
}, renderDisplay ? renderDisplay(rowData) : (_rowData$col$field = rowData[col.field]) !== null && _rowData$col$field !== void 0 ? _rowData$col$field : '');
|
|
47722
|
+
}
|
|
47723
|
+
switch (col.type) {
|
|
47724
|
+
case 'select':
|
|
47725
|
+
return /*#__PURE__*/React__default.createElement("div", {
|
|
47726
|
+
ref: containerRef
|
|
47727
|
+
}, /*#__PURE__*/React__default.createElement(Dropdown, _extends$I({}, DropdownPresets.Base, {
|
|
47728
|
+
value: localValue,
|
|
47729
|
+
options: col.options,
|
|
47730
|
+
onChange: function onChange(e) {
|
|
47731
|
+
return commit(e.value);
|
|
47732
|
+
},
|
|
47733
|
+
autoFocus: true
|
|
47734
|
+
})));
|
|
47735
|
+
case 'selectMultiple':
|
|
47736
|
+
return /*#__PURE__*/React__default.createElement("div", {
|
|
47737
|
+
ref: containerRef
|
|
47738
|
+
}, /*#__PURE__*/React__default.createElement(MultiSelect, _extends$I({}, MultiSelectPresets.Base, {
|
|
47739
|
+
value: localValue !== null && localValue !== void 0 ? localValue : [],
|
|
47740
|
+
options: col.options,
|
|
47741
|
+
onChange: function onChange(ids) {
|
|
47742
|
+
return commit(ids);
|
|
47743
|
+
}
|
|
47744
|
+
})));
|
|
47745
|
+
case 'date':
|
|
47746
|
+
{
|
|
47747
|
+
var dateObj = null;
|
|
47748
|
+
var str = localValue ? String(localValue) : null;
|
|
47749
|
+
if (str && str !== 'N/A') {
|
|
47750
|
+
if (str.includes('/')) {
|
|
47751
|
+
var _str$split = str.split('/'),
|
|
47752
|
+
_str$split2 = _slicedToArray$c(_str$split, 3),
|
|
47753
|
+
d = _str$split2[0],
|
|
47754
|
+
m = _str$split2[1],
|
|
47755
|
+
y = _str$split2[2];
|
|
47756
|
+
dateObj = new Date(y, m - 1, d);
|
|
47757
|
+
} else if (str.includes('-')) {
|
|
47758
|
+
var _str$split3 = str.split('-'),
|
|
47759
|
+
_str$split4 = _slicedToArray$c(_str$split3, 3),
|
|
47760
|
+
_y = _str$split4[0],
|
|
47761
|
+
_m = _str$split4[1],
|
|
47762
|
+
_d = _str$split4[2];
|
|
47763
|
+
dateObj = new Date(_y, _m - 1, _d);
|
|
47764
|
+
}
|
|
47765
|
+
}
|
|
47766
|
+
if (!dateObj || isNaN(dateObj.getTime())) dateObj = new Date();
|
|
47767
|
+
return /*#__PURE__*/React__default.createElement("div", {
|
|
47768
|
+
ref: containerRef
|
|
47769
|
+
}, /*#__PURE__*/React__default.createElement(DatePicker, {
|
|
47770
|
+
value: dateObj,
|
|
47771
|
+
onChange: function onChange(e) {
|
|
47772
|
+
return commit(e.value ? [e.value.getFullYear(), String(e.value.getMonth() + 1).padStart(2, '0'), String(e.value.getDate()).padStart(2, '0')].join('-') : null);
|
|
47773
|
+
}
|
|
47774
|
+
}));
|
|
47775
|
+
}
|
|
47776
|
+
case 'numeric':
|
|
47777
|
+
return /*#__PURE__*/React__default.createElement("div", {
|
|
47778
|
+
ref: containerRef
|
|
47779
|
+
}, /*#__PURE__*/React__default.createElement(InputText, {
|
|
47780
|
+
type: "number",
|
|
47781
|
+
value: localValue !== null && localValue !== void 0 ? localValue : '',
|
|
47782
|
+
min: col.min,
|
|
47783
|
+
max: col.max,
|
|
47784
|
+
step: col.step,
|
|
47785
|
+
onChange: function onChange(e) {
|
|
47786
|
+
var v = e.target.value === '' ? '' : parseFloat(e.target.value);
|
|
47787
|
+
if (col.min != null && v !== '' && v < col.min) v = col.min;
|
|
47788
|
+
if (col.max != null && v !== '' && v > col.max) v = col.max;
|
|
47789
|
+
setLocalValue(v);
|
|
47790
|
+
},
|
|
47791
|
+
onKeyDown: function onKeyDown(e) {
|
|
47792
|
+
if (e.key === 'Enter') {
|
|
47793
|
+
e.stopPropagation();
|
|
47794
|
+
commit(localValueRef.current);
|
|
47795
|
+
}
|
|
47796
|
+
},
|
|
47797
|
+
autoFocus: true
|
|
47798
|
+
}));
|
|
47799
|
+
default:
|
|
47800
|
+
return /*#__PURE__*/React__default.createElement("div", {
|
|
47801
|
+
ref: containerRef
|
|
47802
|
+
}, /*#__PURE__*/React__default.createElement(InputText, {
|
|
47803
|
+
value: localValue !== null && localValue !== void 0 ? localValue : '',
|
|
47804
|
+
onChange: function onChange(e) {
|
|
47805
|
+
return setLocalValue(e.target.value);
|
|
47806
|
+
},
|
|
47807
|
+
onKeyDown: function onKeyDown(e) {
|
|
47808
|
+
if (e.key === 'Enter') {
|
|
47809
|
+
e.stopPropagation();
|
|
47810
|
+
commit(localValueRef.current);
|
|
47811
|
+
}
|
|
47812
|
+
},
|
|
47813
|
+
autoFocus: true
|
|
47814
|
+
}));
|
|
47815
|
+
}
|
|
47816
|
+
};
|
|
47817
|
+
var DocumentBodyCell = function DocumentBodyCell(_ref0) {
|
|
47818
|
+
var _rowData$col$field2;
|
|
47819
|
+
var rowData = _ref0.rowData,
|
|
47820
|
+
col = _ref0.col,
|
|
47821
|
+
editable = _ref0.editable,
|
|
47822
|
+
isRowEditing = _ref0.isRowEditing,
|
|
47823
|
+
onSave = _ref0.onSave;
|
|
47824
|
+
var _useState19 = useState(false),
|
|
47825
|
+
_useState20 = _slicedToArray$c(_useState19, 2),
|
|
47826
|
+
editing = _useState20[0],
|
|
47827
|
+
setEditing = _useState20[1];
|
|
47828
|
+
var _useState21 = useState((_rowData$col$field2 = rowData[col.field]) !== null && _rowData$col$field2 !== void 0 ? _rowData$col$field2 : []),
|
|
47829
|
+
_useState22 = _slicedToArray$c(_useState21, 2),
|
|
47830
|
+
docs = _useState22[0],
|
|
47831
|
+
setDocs = _useState22[1];
|
|
47832
|
+
var containerRef = useRef(null);
|
|
47833
|
+
useEffect(function () {
|
|
47834
|
+
if (isRowEditing && !editing) {
|
|
47835
|
+
var _rowData$col$field3;
|
|
47836
|
+
setDocs((_rowData$col$field3 = rowData[col.field]) !== null && _rowData$col$field3 !== void 0 ? _rowData$col$field3 : []);
|
|
47837
|
+
setEditing(true);
|
|
47838
|
+
} else if (!isRowEditing && editing) {
|
|
47839
|
+
setEditing(false);
|
|
47840
|
+
}
|
|
47841
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
47842
|
+
}, [isRowEditing]);
|
|
47843
|
+
useEffect(function () {
|
|
47844
|
+
if (!editing || isRowEditing) return;
|
|
47845
|
+
var handler = function handler(e) {
|
|
47846
|
+
if (containerRef.current && !containerRef.current.contains(e.target)) {
|
|
47847
|
+
setEditing(false);
|
|
47848
|
+
}
|
|
47849
|
+
};
|
|
47850
|
+
document.addEventListener('mousedown', handler);
|
|
47851
|
+
return function () {
|
|
47852
|
+
return document.removeEventListener('mousedown', handler);
|
|
47853
|
+
};
|
|
47854
|
+
}, [editing, isRowEditing]);
|
|
47855
|
+
var handleCallback = useCallback(function (newDocs) {
|
|
47856
|
+
setDocs(newDocs);
|
|
47857
|
+
onSave(newDocs);
|
|
47858
|
+
}, [onSave]);
|
|
47859
|
+
if (editing) {
|
|
47860
|
+
return /*#__PURE__*/React__default.createElement("div", {
|
|
47861
|
+
ref: containerRef
|
|
47862
|
+
}, /*#__PURE__*/React__default.createElement(DocumentEditorCell, {
|
|
47863
|
+
options: {
|
|
47864
|
+
value: docs,
|
|
47865
|
+
editorCallback: handleCallback
|
|
47866
|
+
},
|
|
47867
|
+
col: col
|
|
47868
|
+
}));
|
|
47869
|
+
}
|
|
47870
|
+
if (!docs.length) {
|
|
47871
|
+
return /*#__PURE__*/React__default.createElement("span", {
|
|
47872
|
+
className: "doc-cell-empty",
|
|
47873
|
+
onClick: function onClick() {
|
|
47874
|
+
return editable && setEditing(true);
|
|
47875
|
+
},
|
|
47876
|
+
style: {
|
|
47877
|
+
cursor: editable ? 'pointer' : 'default'
|
|
47878
|
+
}
|
|
47879
|
+
}, /*#__PURE__*/React__default.createElement("i", {
|
|
47880
|
+
className: "pi pi-paperclip"
|
|
47881
|
+
}), " \u2014");
|
|
47882
|
+
}
|
|
47883
|
+
return /*#__PURE__*/React__default.createElement("div", {
|
|
47884
|
+
className: "doc-cell",
|
|
47885
|
+
onClick: function onClick() {
|
|
47886
|
+
return editable && setEditing(true);
|
|
47887
|
+
},
|
|
47888
|
+
style: {
|
|
47889
|
+
cursor: editable ? 'pointer' : 'default'
|
|
47890
|
+
}
|
|
47891
|
+
}, /*#__PURE__*/React__default.createElement("div", {
|
|
47892
|
+
className: "doc-cell-summary"
|
|
47893
|
+
}, /*#__PURE__*/React__default.createElement("i", {
|
|
47894
|
+
className: "pi pi-paperclip"
|
|
47895
|
+
}), /*#__PURE__*/React__default.createElement("span", null, docs.length === 1 ? docs[0].name : "".concat(docs.length, " documents"))), docs.length > 1 && /*#__PURE__*/React__default.createElement("div", {
|
|
47896
|
+
className: "doc-cell-list"
|
|
47897
|
+
}, docs.map(function (doc, i) {
|
|
47898
|
+
var _doc$id2;
|
|
47899
|
+
return /*#__PURE__*/React__default.createElement("div", {
|
|
47900
|
+
key: (_doc$id2 = doc.id) !== null && _doc$id2 !== void 0 ? _doc$id2 : i
|
|
47901
|
+
}, /*#__PURE__*/React__default.createElement("a", {
|
|
47902
|
+
href: doc.url,
|
|
47903
|
+
target: "_blank",
|
|
47904
|
+
rel: "noreferrer"
|
|
47905
|
+
}, doc.name));
|
|
47906
|
+
})));
|
|
47907
|
+
};
|
|
47908
|
+
var Table = function Table(_ref1) {
|
|
47909
|
+
var _ref1$value = _ref1.value,
|
|
47910
|
+
value = _ref1$value === void 0 ? [] : _ref1$value,
|
|
47911
|
+
_ref1$columns = _ref1.columns,
|
|
47912
|
+
columns = _ref1$columns === void 0 ? [] : _ref1$columns,
|
|
47913
|
+
_ref1$paginator = _ref1.paginator,
|
|
47914
|
+
paginator = _ref1$paginator === void 0 ? true : _ref1$paginator,
|
|
47915
|
+
_ref1$rows = _ref1.rows,
|
|
47916
|
+
rows = _ref1$rows === void 0 ? 25 : _ref1$rows,
|
|
47917
|
+
_ref1$loading = _ref1.loading,
|
|
47918
|
+
loading = _ref1$loading === void 0 ? false : _ref1$loading,
|
|
47919
|
+
_ref1$stripedRows = _ref1.stripedRows,
|
|
47920
|
+
stripedRows = _ref1$stripedRows === void 0 ? false : _ref1$stripedRows,
|
|
47921
|
+
_ref1$selectionMode = _ref1.selectionMode,
|
|
47922
|
+
selectionMode = _ref1$selectionMode === void 0 ? null : _ref1$selectionMode,
|
|
47923
|
+
selection = _ref1.selection,
|
|
47924
|
+
onSelectionChange = _ref1.onSelectionChange,
|
|
47925
|
+
_ref1$editable = _ref1.editable,
|
|
47926
|
+
editable = _ref1$editable === void 0 ? false : _ref1$editable,
|
|
47927
|
+
_ref1$rowEdit = _ref1.rowEdit,
|
|
47928
|
+
rowEdit = _ref1$rowEdit === void 0 ? true : _ref1$rowEdit,
|
|
47929
|
+
onChange = _ref1.onChange,
|
|
47930
|
+
onCellChange = _ref1.onCellChange,
|
|
47931
|
+
carto = _ref1.carto;
|
|
47932
|
+
var _useState23 = useState(value),
|
|
47933
|
+
_useState24 = _slicedToArray$c(_useState23, 2),
|
|
47934
|
+
data = _useState24[0],
|
|
47935
|
+
setData = _useState24[1];
|
|
47644
47936
|
var updateRow = useCallback(function (rowId, field, newVal) {
|
|
47645
47937
|
setData(function (prev) {
|
|
47646
47938
|
var updated = prev.map(function (row) {
|
|
@@ -47650,21 +47942,53 @@ var Table = function Table(_ref7) {
|
|
|
47650
47942
|
return updated;
|
|
47651
47943
|
});
|
|
47652
47944
|
}, [onChange]);
|
|
47945
|
+
var _useState25 = useState({}),
|
|
47946
|
+
_useState26 = _slicedToArray$c(_useState25, 2),
|
|
47947
|
+
editingRows = _useState26[0],
|
|
47948
|
+
setEditingRows = _useState26[1];
|
|
47949
|
+
var onRowEditChange = useCallback(function (e) {
|
|
47950
|
+
setEditingRows(e.data);
|
|
47951
|
+
}, []);
|
|
47952
|
+
var onRowEditComplete = useCallback(function (e) {
|
|
47953
|
+
var _data$index;
|
|
47954
|
+
var newData = e.newData,
|
|
47955
|
+
index = e.index;
|
|
47956
|
+
// All editable columns are self-managed (SelfEditableCell / DocumentBodyCell / DeviseBodyCell / TreeSelectBodyCell)
|
|
47957
|
+
// and already applied their changes via updateRow — data[index] is the source of truth.
|
|
47958
|
+
// Merge: keep self-managed field values from data, keep non-editable fields from newData.
|
|
47959
|
+
var currentRow = (_data$index = data[index]) !== null && _data$index !== void 0 ? _data$index : newData;
|
|
47960
|
+
var mergedData = _objectSpread2({}, newData);
|
|
47961
|
+
columns.forEach(function (col) {
|
|
47962
|
+
var colEditable = editable ? col.editable !== false : col.editable === true;
|
|
47963
|
+
if (colEditable) {
|
|
47964
|
+
mergedData[col.field] = currentRow[col.field];
|
|
47965
|
+
}
|
|
47966
|
+
});
|
|
47967
|
+
var updated = data.map(function (row, i) {
|
|
47968
|
+
return i === index ? mergedData : row;
|
|
47969
|
+
});
|
|
47970
|
+
setData(updated);
|
|
47971
|
+
onChange === null || onChange === void 0 || onChange(updated);
|
|
47972
|
+
onCellChange === null || onCellChange === void 0 || onCellChange({
|
|
47973
|
+
rowData: data[index],
|
|
47974
|
+
newRowData: mergedData
|
|
47975
|
+
});
|
|
47976
|
+
}, [data, onChange, onCellChange, columns, editable]);
|
|
47653
47977
|
var STORAGE_KEY = useMemo(function () {
|
|
47654
47978
|
return carto ? "Table:visibleColumns:".concat(carto) : "Table:visibleColumns";
|
|
47655
47979
|
}, [carto]);
|
|
47656
|
-
var
|
|
47657
|
-
|
|
47658
|
-
visibleColumns =
|
|
47659
|
-
setVisibleColumns =
|
|
47660
|
-
var
|
|
47661
|
-
|
|
47662
|
-
showColumnPicker =
|
|
47663
|
-
setShowColumnPicker =
|
|
47664
|
-
var
|
|
47665
|
-
|
|
47666
|
-
globalFilter =
|
|
47667
|
-
setGlobalFilter =
|
|
47980
|
+
var _useState27 = useState(columns),
|
|
47981
|
+
_useState28 = _slicedToArray$c(_useState27, 2),
|
|
47982
|
+
visibleColumns = _useState28[0],
|
|
47983
|
+
setVisibleColumns = _useState28[1];
|
|
47984
|
+
var _useState29 = useState(false),
|
|
47985
|
+
_useState30 = _slicedToArray$c(_useState29, 2),
|
|
47986
|
+
showColumnPicker = _useState30[0],
|
|
47987
|
+
setShowColumnPicker = _useState30[1];
|
|
47988
|
+
var _useState31 = useState(''),
|
|
47989
|
+
_useState32 = _slicedToArray$c(_useState31, 2),
|
|
47990
|
+
globalFilter = _useState32[0],
|
|
47991
|
+
setGlobalFilter = _useState32[1];
|
|
47668
47992
|
useEffect(function () {
|
|
47669
47993
|
var nextVisible = columns;
|
|
47670
47994
|
var defaultVisible = columns.filter(function (c) {
|
|
@@ -47687,9 +48011,9 @@ var Table = function Table(_ref7) {
|
|
|
47687
48011
|
|
|
47688
48012
|
var linkTemplate = useCallback(function (col) {
|
|
47689
48013
|
return function (rowData) {
|
|
47690
|
-
var
|
|
48014
|
+
var _ref10, _col$href;
|
|
47691
48015
|
var label = rowData[col.field];
|
|
47692
|
-
var href = typeof col.href === 'function' ? col.href(rowData) : (
|
|
48016
|
+
var href = typeof col.href === 'function' ? col.href(rowData) : (_ref10 = (_col$href = col.href) !== null && _col$href !== void 0 ? _col$href : rowData[col.field + 'Url']) !== null && _ref10 !== void 0 ? _ref10 : '#';
|
|
47693
48017
|
return /*#__PURE__*/React__default.createElement("div", {
|
|
47694
48018
|
className: "arengi-table-grey-title-box"
|
|
47695
48019
|
}, /*#__PURE__*/React__default.createElement("a", {
|
|
@@ -47706,17 +48030,17 @@ var Table = function Table(_ref7) {
|
|
|
47706
48030
|
var str = String(val);
|
|
47707
48031
|
var y, m, d;
|
|
47708
48032
|
if (str.includes('/')) {
|
|
47709
|
-
var _str$
|
|
47710
|
-
var _str$
|
|
47711
|
-
d = _str$
|
|
47712
|
-
m = _str$
|
|
47713
|
-
y = _str$
|
|
48033
|
+
var _str$split5 = str.split('/');
|
|
48034
|
+
var _str$split6 = _slicedToArray$c(_str$split5, 3);
|
|
48035
|
+
d = _str$split6[0];
|
|
48036
|
+
m = _str$split6[1];
|
|
48037
|
+
y = _str$split6[2];
|
|
47714
48038
|
} else {
|
|
47715
|
-
var _str$
|
|
47716
|
-
var _str$
|
|
47717
|
-
y = _str$
|
|
47718
|
-
m = _str$
|
|
47719
|
-
d = _str$
|
|
48039
|
+
var _str$split7 = str.split('-');
|
|
48040
|
+
var _str$split8 = _slicedToArray$c(_str$split7, 3);
|
|
48041
|
+
y = _str$split8[0];
|
|
48042
|
+
m = _str$split8[1];
|
|
48043
|
+
d = _str$split8[2];
|
|
47720
48044
|
}
|
|
47721
48045
|
var date = new Date(y, m - 1, d);
|
|
47722
48046
|
if (isNaN(date.getTime())) return 'N/A';
|
|
@@ -47746,9 +48070,9 @@ var Table = function Table(_ref7) {
|
|
|
47746
48070
|
}, []);
|
|
47747
48071
|
var textTemplate = useCallback(function (col) {
|
|
47748
48072
|
return function (rowData) {
|
|
47749
|
-
var _rowData$col$
|
|
48073
|
+
var _rowData$col$field4;
|
|
47750
48074
|
if (typeof col.textTemplate === 'function') return col.textTemplate(rowData);
|
|
47751
|
-
return (_rowData$col$
|
|
48075
|
+
return (_rowData$col$field4 = rowData[col.field]) !== null && _rowData$col$field4 !== void 0 ? _rowData$col$field4 : '';
|
|
47752
48076
|
};
|
|
47753
48077
|
}, []);
|
|
47754
48078
|
var colorTextTemplate = useCallback(function (col) {
|
|
@@ -47807,8 +48131,8 @@ var Table = function Table(_ref7) {
|
|
|
47807
48131
|
}, []);
|
|
47808
48132
|
var documentTemplate = useCallback(function (col) {
|
|
47809
48133
|
return function (rowData) {
|
|
47810
|
-
var _rowData$col$
|
|
47811
|
-
var docs = (_rowData$col$
|
|
48134
|
+
var _rowData$col$field5;
|
|
48135
|
+
var docs = (_rowData$col$field5 = rowData[col.field]) !== null && _rowData$col$field5 !== void 0 ? _rowData$col$field5 : [];
|
|
47812
48136
|
if (!docs.length) return /*#__PURE__*/React__default.createElement("span", {
|
|
47813
48137
|
className: "doc-cell-empty"
|
|
47814
48138
|
}, /*#__PURE__*/React__default.createElement("i", {
|
|
@@ -47823,9 +48147,9 @@ var Table = function Table(_ref7) {
|
|
|
47823
48147
|
}), /*#__PURE__*/React__default.createElement("span", null, docs.length === 1 ? docs[0].name : "".concat(docs.length, " documents"))), docs.length > 1 && /*#__PURE__*/React__default.createElement("div", {
|
|
47824
48148
|
className: "doc-cell-list"
|
|
47825
48149
|
}, docs.map(function (doc, i) {
|
|
47826
|
-
var _doc$
|
|
48150
|
+
var _doc$id3;
|
|
47827
48151
|
return /*#__PURE__*/React__default.createElement("div", {
|
|
47828
|
-
key: (_doc$
|
|
48152
|
+
key: (_doc$id3 = doc.id) !== null && _doc$id3 !== void 0 ? _doc$id3 : i
|
|
47829
48153
|
}, /*#__PURE__*/React__default.createElement("a", {
|
|
47830
48154
|
href: doc.url,
|
|
47831
48155
|
target: "_blank",
|
|
@@ -47847,13 +48171,14 @@ var Table = function Table(_ref7) {
|
|
|
47847
48171
|
return /*#__PURE__*/React__default.createElement(DeviseBodyCell, {
|
|
47848
48172
|
rowData: rowData,
|
|
47849
48173
|
col: col,
|
|
47850
|
-
editable: editable && col.editable !== false,
|
|
48174
|
+
editable: editable || rowEdit && col.editable !== false,
|
|
48175
|
+
isRowEditing: rowEdit && !!editingRows[rowData.id],
|
|
47851
48176
|
onSave: function onSave(newVal) {
|
|
47852
48177
|
return updateRow(rowData.id, col.field, newVal);
|
|
47853
48178
|
}
|
|
47854
48179
|
});
|
|
47855
48180
|
};
|
|
47856
|
-
}, [editable, updateRow]);
|
|
48181
|
+
}, [editable, rowEdit, editingRows, updateRow]);
|
|
47857
48182
|
var deviseEditor = useCallback(function () {
|
|
47858
48183
|
return undefined;
|
|
47859
48184
|
}, []);
|
|
@@ -47907,19 +48232,19 @@ var Table = function Table(_ref7) {
|
|
|
47907
48232
|
var str = options.value ? String(options.value) : null;
|
|
47908
48233
|
if (str && str !== 'N/A') {
|
|
47909
48234
|
if (str.includes('/')) {
|
|
47910
|
-
var _str$
|
|
47911
|
-
_str$
|
|
47912
|
-
d = _str$
|
|
47913
|
-
m = _str$
|
|
47914
|
-
y = _str$
|
|
48235
|
+
var _str$split9 = str.split('/'),
|
|
48236
|
+
_str$split0 = _slicedToArray$c(_str$split9, 3),
|
|
48237
|
+
d = _str$split0[0],
|
|
48238
|
+
m = _str$split0[1],
|
|
48239
|
+
y = _str$split0[2];
|
|
47915
48240
|
dateObj = new Date(y, m - 1, d);
|
|
47916
48241
|
} else if (str.includes('-')) {
|
|
47917
|
-
var _str$
|
|
47918
|
-
_str$
|
|
47919
|
-
|
|
47920
|
-
|
|
47921
|
-
|
|
47922
|
-
dateObj = new Date(
|
|
48242
|
+
var _str$split1 = str.split('-'),
|
|
48243
|
+
_str$split10 = _slicedToArray$c(_str$split1, 3),
|
|
48244
|
+
_y2 = _str$split10[0],
|
|
48245
|
+
_m2 = _str$split10[1],
|
|
48246
|
+
_d2 = _str$split10[2];
|
|
48247
|
+
dateObj = new Date(_y2, _m2 - 1, _d2);
|
|
47923
48248
|
}
|
|
47924
48249
|
}
|
|
47925
48250
|
if (!dateObj || isNaN(dateObj.getTime())) dateObj = new Date();
|
|
@@ -47977,19 +48302,27 @@ var Table = function Table(_ref7) {
|
|
|
47977
48302
|
return /*#__PURE__*/React__default.createElement(TreeSelectBodyCell, {
|
|
47978
48303
|
rowData: rowData,
|
|
47979
48304
|
col: col,
|
|
47980
|
-
editable: editable && col.editable !== false,
|
|
48305
|
+
editable: editable || rowEdit && col.editable !== false,
|
|
48306
|
+
isRowEditing: rowEdit && !!editingRows[rowData.id],
|
|
47981
48307
|
onSave: function onSave(newVal) {
|
|
47982
48308
|
return updateRow(rowData.id, col.field, newVal);
|
|
47983
48309
|
}
|
|
47984
48310
|
});
|
|
47985
48311
|
};
|
|
47986
|
-
}, [editable, updateRow]);
|
|
48312
|
+
}, [editable, rowEdit, editingRows, updateRow]);
|
|
47987
48313
|
var treeSelectEditor = useCallback(function () {
|
|
47988
48314
|
return undefined;
|
|
47989
48315
|
}, []);
|
|
47990
48316
|
var getEditorTemplate = useCallback(function (col) {
|
|
47991
48317
|
var colEditable = editable ? col.editable !== false : col.editable === true;
|
|
47992
48318
|
if (!colEditable) return undefined;
|
|
48319
|
+
// In rowEdit mode, all columns except devise/treeSelect use SelfEditableCell or DocumentBodyCell
|
|
48320
|
+
// which manage their own editing state — no PrimeReact editor needed.
|
|
48321
|
+
if (rowEdit) {
|
|
48322
|
+
if (col.type === 'devise') return deviseEditor(col);
|
|
48323
|
+
if (col.type === 'treeSelect') return treeSelectEditor(col);
|
|
48324
|
+
return undefined;
|
|
48325
|
+
}
|
|
47993
48326
|
switch (col.type) {
|
|
47994
48327
|
case 'date':
|
|
47995
48328
|
return dateEditor;
|
|
@@ -48010,8 +48343,9 @@ var Table = function Table(_ref7) {
|
|
|
48010
48343
|
default:
|
|
48011
48344
|
return textEditor;
|
|
48012
48345
|
}
|
|
48013
|
-
}, [editable, textEditor, dateEditor, selectEditor, selectMultipleEditor, numericEditor, documentEditor, deviseEditor, treeSelectEditor]);
|
|
48346
|
+
}, [editable, rowEdit, textEditor, dateEditor, selectEditor, selectMultipleEditor, numericEditor, documentEditor, deviseEditor, treeSelectEditor]);
|
|
48014
48347
|
var onCellEditComplete = useCallback(function (e) {
|
|
48348
|
+
if (rowEdit) return;
|
|
48015
48349
|
var rowData = e.rowData,
|
|
48016
48350
|
newRowData = e.newRowData,
|
|
48017
48351
|
field = e.field;
|
|
@@ -48030,38 +48364,87 @@ var Table = function Table(_ref7) {
|
|
|
48030
48364
|
field: field,
|
|
48031
48365
|
newValue: newRowData[field]
|
|
48032
48366
|
});
|
|
48033
|
-
}, [data, onChange, onCellChange, columns]);
|
|
48367
|
+
}, [data, onChange, onCellChange, columns, rowEdit]);
|
|
48034
48368
|
|
|
48035
48369
|
/** Get the body renderer for a column based on its type */
|
|
48036
48370
|
var getBodyTemplate = useCallback(function (col) {
|
|
48371
|
+
var colEditable = editable ? col.editable !== false : col.editable === true;
|
|
48372
|
+
|
|
48373
|
+
// These types always manage their own editing state regardless of mode
|
|
48374
|
+
if (col.type === 'devise') return deviseTemplate(col);
|
|
48375
|
+
if (col.type === 'treeSelect') return treeSelectTemplate(col);
|
|
48376
|
+
if (col.type === 'picto') return pictoTemplate(col);
|
|
48377
|
+
if (col.type === 'calcul') return calculTemplate(col);
|
|
48378
|
+
|
|
48379
|
+
// Documents: self-managed click-to-edit in rowEdit mode
|
|
48380
|
+
if (col.type === 'documents') {
|
|
48381
|
+
if (rowEdit && colEditable) {
|
|
48382
|
+
return function (rowData) {
|
|
48383
|
+
return /*#__PURE__*/React__default.createElement(DocumentBodyCell, {
|
|
48384
|
+
rowData: rowData,
|
|
48385
|
+
col: col,
|
|
48386
|
+
editable: colEditable,
|
|
48387
|
+
isRowEditing: !!editingRows[rowData.id],
|
|
48388
|
+
onSave: function onSave(v) {
|
|
48389
|
+
return updateRow(rowData.id, col.field, v);
|
|
48390
|
+
}
|
|
48391
|
+
});
|
|
48392
|
+
};
|
|
48393
|
+
}
|
|
48394
|
+
return documentTemplate(col);
|
|
48395
|
+
}
|
|
48396
|
+
|
|
48397
|
+
// Pure display renderer
|
|
48398
|
+
var displayFn;
|
|
48037
48399
|
switch (col.type) {
|
|
48038
48400
|
case 'link':
|
|
48039
|
-
|
|
48401
|
+
displayFn = linkTemplate(col);
|
|
48402
|
+
break;
|
|
48040
48403
|
case 'date':
|
|
48041
|
-
|
|
48404
|
+
displayFn = function displayFn(rd) {
|
|
48405
|
+
return dateTemplate(rd, {
|
|
48406
|
+
field: col.field
|
|
48407
|
+
});
|
|
48408
|
+
};
|
|
48409
|
+
break;
|
|
48042
48410
|
case 'select':
|
|
48043
|
-
|
|
48411
|
+
displayFn = selectTemplate(col);
|
|
48412
|
+
break;
|
|
48044
48413
|
case 'selectMultiple':
|
|
48045
|
-
|
|
48414
|
+
displayFn = selectMultipleTemplate(col);
|
|
48415
|
+
break;
|
|
48046
48416
|
case 'colorText':
|
|
48047
|
-
|
|
48048
|
-
|
|
48049
|
-
return pictoTemplate(col);
|
|
48417
|
+
displayFn = colorTextTemplate(col);
|
|
48418
|
+
break;
|
|
48050
48419
|
case 'numeric':
|
|
48051
|
-
|
|
48052
|
-
|
|
48053
|
-
return calculTemplate(col);
|
|
48054
|
-
case 'documents':
|
|
48055
|
-
return documentTemplate(col);
|
|
48056
|
-
case 'devise':
|
|
48057
|
-
return deviseTemplate(col);
|
|
48058
|
-
case 'treeSelect':
|
|
48059
|
-
return treeSelectTemplate(col);
|
|
48420
|
+
displayFn = numericTemplate(col);
|
|
48421
|
+
break;
|
|
48060
48422
|
case 'text':
|
|
48061
48423
|
default:
|
|
48062
|
-
|
|
48424
|
+
displayFn = col.textTemplate ? textTemplate(col) : undefined;
|
|
48425
|
+
break;
|
|
48063
48426
|
}
|
|
48064
|
-
|
|
48427
|
+
|
|
48428
|
+
// In rowEdit mode, wrap editable columns with SelfEditableCell for click-to-edit
|
|
48429
|
+
if (rowEdit && colEditable) {
|
|
48430
|
+
return function (rowData) {
|
|
48431
|
+
return /*#__PURE__*/React__default.createElement(SelfEditableCell, {
|
|
48432
|
+
rowData: rowData,
|
|
48433
|
+
col: col,
|
|
48434
|
+
editable: colEditable,
|
|
48435
|
+
isRowEditing: !!editingRows[rowData.id],
|
|
48436
|
+
onSave: function onSave(v) {
|
|
48437
|
+
return updateRow(rowData.id, col.field, v);
|
|
48438
|
+
},
|
|
48439
|
+
renderDisplay: displayFn !== null && displayFn !== void 0 ? displayFn : function (rd) {
|
|
48440
|
+
var _rd$col$field;
|
|
48441
|
+
return (_rd$col$field = rd[col.field]) !== null && _rd$col$field !== void 0 ? _rd$col$field : '';
|
|
48442
|
+
}
|
|
48443
|
+
});
|
|
48444
|
+
};
|
|
48445
|
+
}
|
|
48446
|
+
return displayFn;
|
|
48447
|
+
}, [rowEdit, editable, editingRows, updateRow, linkTemplate, dateTemplate, selectTemplate, selectMultipleTemplate, colorTextTemplate, pictoTemplate, textTemplate, numericTemplate, calculTemplate, documentTemplate, deviseTemplate, treeSelectTemplate]);
|
|
48065
48448
|
var getSortField = useCallback(function (col) {
|
|
48066
48449
|
return col.field;
|
|
48067
48450
|
}, []);
|
|
@@ -48183,9 +48566,12 @@ var Table = function Table(_ref7) {
|
|
|
48183
48566
|
selection: selection,
|
|
48184
48567
|
onSelectionChange: onSelectionChange,
|
|
48185
48568
|
globalFilter: globalFilter,
|
|
48186
|
-
editMode: editable || columns.some(function (c) {
|
|
48569
|
+
editMode: editable || rowEdit || columns.some(function (c) {
|
|
48187
48570
|
return c.editable === true;
|
|
48188
|
-
}) ? 'cell' : undefined,
|
|
48571
|
+
}) ? rowEdit ? 'row' : 'cell' : undefined,
|
|
48572
|
+
editingRows: rowEdit ? editingRows : undefined,
|
|
48573
|
+
onRowEditChange: rowEdit ? onRowEditChange : undefined,
|
|
48574
|
+
onRowEditComplete: rowEdit ? onRowEditComplete : undefined,
|
|
48189
48575
|
dataKey: "id",
|
|
48190
48576
|
tableClassName: '',
|
|
48191
48577
|
resizableColumns: true,
|
|
@@ -48205,12 +48591,23 @@ var Table = function Table(_ref7) {
|
|
|
48205
48591
|
header: col.header,
|
|
48206
48592
|
body: getBodyTemplate(col),
|
|
48207
48593
|
editor: getEditorTemplate(col),
|
|
48208
|
-
onCellEditComplete: (editable ? col.editable !== false : col.editable === true) ? onCellEditComplete : undefined,
|
|
48594
|
+
onCellEditComplete: !rowEdit && (editable ? col.editable !== false : col.editable === true) ? onCellEditComplete : undefined,
|
|
48209
48595
|
className: col.field === 'nom' ? 'arengi-table-grey-title' : 'hide1time',
|
|
48210
48596
|
style: {
|
|
48211
48597
|
minWidth: (_col$minWidth = col.minWidth) !== null && _col$minWidth !== void 0 ? _col$minWidth : '200px'
|
|
48212
48598
|
}
|
|
48213
48599
|
});
|
|
48600
|
+
}), rowEdit && /*#__PURE__*/React__default.createElement(Column, {
|
|
48601
|
+
rowEditor: true,
|
|
48602
|
+
headerStyle: {
|
|
48603
|
+
width: '6rem',
|
|
48604
|
+
minWidth: '6rem'
|
|
48605
|
+
},
|
|
48606
|
+
bodyStyle: {
|
|
48607
|
+
textAlign: 'center'
|
|
48608
|
+
},
|
|
48609
|
+
frozen: true,
|
|
48610
|
+
alignFrozen: "right"
|
|
48214
48611
|
})));
|
|
48215
48612
|
};
|
|
48216
48613
|
|