primereact 10.9.4 → 10.9.6
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/api/api.cjs.js +9 -1
- package/api/api.cjs.min.js +1 -1
- package/api/api.d.ts +5 -3
- package/api/api.esm.js +9 -1
- package/api/api.esm.min.js +1 -1
- package/api/api.js +9 -1
- package/api/api.min.js +1 -1
- package/autocomplete/autocomplete.cjs.js +13 -1
- package/autocomplete/autocomplete.cjs.min.js +1 -1
- package/autocomplete/autocomplete.d.ts +5 -5
- package/autocomplete/autocomplete.esm.js +14 -2
- package/autocomplete/autocomplete.esm.min.js +1 -1
- package/autocomplete/autocomplete.js +13 -1
- package/autocomplete/autocomplete.min.js +1 -1
- package/breadcrumb/breadcrumb.cjs.js +2 -1
- package/breadcrumb/breadcrumb.cjs.min.js +1 -1
- package/breadcrumb/breadcrumb.esm.js +2 -1
- package/breadcrumb/breadcrumb.esm.min.js +1 -1
- package/breadcrumb/breadcrumb.js +2 -1
- package/breadcrumb/breadcrumb.min.js +1 -1
- package/calendar/calendar.cjs.js +37 -7
- package/calendar/calendar.cjs.min.js +1 -1
- package/calendar/calendar.esm.js +38 -8
- package/calendar/calendar.esm.min.js +1 -1
- package/calendar/calendar.js +37 -7
- package/calendar/calendar.min.js +1 -1
- package/cascadeselect/cascadeselect.cjs.js +62 -5
- package/cascadeselect/cascadeselect.cjs.min.js +1 -1
- package/cascadeselect/cascadeselect.d.ts +22 -0
- package/cascadeselect/cascadeselect.esm.js +63 -6
- package/cascadeselect/cascadeselect.esm.min.js +1 -1
- package/cascadeselect/cascadeselect.js +63 -7
- package/cascadeselect/cascadeselect.min.js +1 -1
- package/checkbox/checkbox.cjs.js +1 -1
- package/checkbox/checkbox.cjs.min.js +1 -1
- package/checkbox/checkbox.esm.js +1 -1
- package/checkbox/checkbox.esm.min.js +1 -1
- package/checkbox/checkbox.js +1 -1
- package/checkbox/checkbox.min.js +1 -1
- package/chip/chip.cjs.js +15 -2
- package/chip/chip.cjs.min.js +1 -1
- package/chip/chip.esm.js +17 -4
- package/chip/chip.esm.min.js +1 -1
- package/chip/chip.js +15 -2
- package/chip/chip.min.js +1 -1
- package/chips/chips.cjs.js +1 -1
- package/chips/chips.cjs.min.js +1 -1
- package/chips/chips.esm.js +1 -1
- package/chips/chips.esm.min.js +1 -1
- package/chips/chips.js +1 -1
- package/chips/chips.min.js +1 -1
- package/colorpicker/colorpicker.cjs.js +9 -2
- package/colorpicker/colorpicker.cjs.min.js +1 -1
- package/colorpicker/colorpicker.esm.js +9 -2
- package/colorpicker/colorpicker.esm.min.js +1 -1
- package/colorpicker/colorpicker.js +9 -2
- package/colorpicker/colorpicker.min.js +1 -1
- package/confirmpopup/confirmpopup.cjs.js +10 -2
- package/confirmpopup/confirmpopup.cjs.min.js +1 -1
- package/confirmpopup/confirmpopup.esm.js +10 -2
- package/confirmpopup/confirmpopup.esm.min.js +1 -1
- package/confirmpopup/confirmpopup.js +10 -2
- package/confirmpopup/confirmpopup.min.js +1 -1
- package/core/core.js +214 -38
- package/core/core.min.js +9 -9
- package/datatable/datatable.cjs.js +359 -291
- package/datatable/datatable.cjs.min.js +1 -1
- package/datatable/datatable.d.ts +79 -3
- package/datatable/datatable.esm.js +360 -292
- package/datatable/datatable.esm.min.js +1 -1
- package/datatable/datatable.js +359 -291
- package/datatable/datatable.min.js +1 -1
- package/dialog/dialog.cjs.js +3 -2
- package/dialog/dialog.cjs.min.js +1 -1
- package/dialog/dialog.d.ts +6 -1
- package/dialog/dialog.esm.js +3 -2
- package/dialog/dialog.esm.min.js +1 -1
- package/dialog/dialog.js +3 -2
- package/dialog/dialog.min.js +1 -1
- package/dropdown/dropdown.cjs.js +26 -5
- package/dropdown/dropdown.cjs.min.js +1 -1
- package/dropdown/dropdown.d.ts +4 -0
- package/dropdown/dropdown.esm.js +26 -5
- package/dropdown/dropdown.esm.min.js +1 -1
- package/dropdown/dropdown.js +26 -5
- package/dropdown/dropdown.min.js +1 -1
- package/fileupload/fileupload.cjs.js +4 -2
- package/fileupload/fileupload.cjs.min.js +1 -1
- package/fileupload/fileupload.esm.js +4 -2
- package/fileupload/fileupload.esm.min.js +1 -1
- package/fileupload/fileupload.js +4 -2
- package/fileupload/fileupload.min.js +1 -1
- package/galleria/galleria.cjs.js +1 -0
- package/galleria/galleria.cjs.min.js +1 -1
- package/galleria/galleria.esm.js +1 -0
- package/galleria/galleria.esm.min.js +1 -1
- package/galleria/galleria.js +1 -0
- package/galleria/galleria.min.js +1 -1
- package/hooks/hooks.cjs.js +16 -6
- package/hooks/hooks.cjs.min.js +1 -1
- package/hooks/hooks.esm.js +16 -6
- package/hooks/hooks.esm.min.js +1 -1
- package/hooks/hooks.js +16 -6
- package/hooks/hooks.min.js +1 -1
- package/inputmask/inputmask.cjs.js +1 -1
- package/inputmask/inputmask.cjs.min.js +1 -1
- package/inputmask/inputmask.esm.js +1 -1
- package/inputmask/inputmask.esm.min.js +1 -1
- package/inputmask/inputmask.js +1 -1
- package/inputmask/inputmask.min.js +1 -1
- package/inputnumber/inputnumber.cjs.js +11 -3
- package/inputnumber/inputnumber.cjs.min.js +1 -1
- package/inputnumber/inputnumber.esm.js +11 -3
- package/inputnumber/inputnumber.esm.min.js +1 -1
- package/inputnumber/inputnumber.js +11 -3
- package/inputnumber/inputnumber.min.js +1 -1
- package/inputotp/inputotp.cjs.js +1 -0
- package/inputotp/inputotp.cjs.min.js +1 -1
- package/inputotp/inputotp.esm.js +1 -0
- package/inputotp/inputotp.esm.min.js +1 -1
- package/inputotp/inputotp.js +1 -0
- package/inputotp/inputotp.min.js +1 -1
- package/listbox/listbox.d.ts +4 -4
- package/mention/mention.cjs.js +18 -9
- package/mention/mention.cjs.min.js +1 -1
- package/mention/mention.d.ts +5 -0
- package/mention/mention.esm.js +18 -9
- package/mention/mention.esm.min.js +1 -1
- package/mention/mention.js +18 -9
- package/mention/mention.min.js +1 -1
- package/menu/menu.cjs.js +14 -3
- package/menu/menu.cjs.min.js +1 -1
- package/menu/menu.esm.js +15 -4
- package/menu/menu.esm.min.js +1 -1
- package/menu/menu.js +14 -3
- package/menu/menu.min.js +1 -1
- package/menubar/menubar.cjs.js +6 -9
- package/menubar/menubar.cjs.min.js +1 -1
- package/menubar/menubar.esm.js +6 -9
- package/menubar/menubar.esm.min.js +1 -1
- package/menubar/menubar.js +6 -9
- package/menubar/menubar.min.js +1 -1
- package/multiselect/multiselect.cjs.js +68 -18
- package/multiselect/multiselect.cjs.min.js +1 -1
- package/multiselect/multiselect.esm.js +68 -18
- package/multiselect/multiselect.esm.min.js +1 -1
- package/multiselect/multiselect.js +68 -18
- package/multiselect/multiselect.min.js +1 -1
- package/multistatecheckbox/multistatecheckbox.cjs.js +17 -9
- package/multistatecheckbox/multistatecheckbox.cjs.min.js +1 -1
- package/multistatecheckbox/multistatecheckbox.esm.js +17 -9
- package/multistatecheckbox/multistatecheckbox.esm.min.js +1 -1
- package/multistatecheckbox/multistatecheckbox.js +17 -9
- package/multistatecheckbox/multistatecheckbox.min.js +1 -1
- package/orderlist/orderlist.cjs.js +34 -3
- package/orderlist/orderlist.cjs.min.js +1 -1
- package/orderlist/orderlist.esm.js +34 -3
- package/orderlist/orderlist.esm.min.js +1 -1
- package/orderlist/orderlist.js +34 -3
- package/orderlist/orderlist.min.js +1 -1
- package/overlaypanel/overlaypanel.cjs.js +9 -10
- package/overlaypanel/overlaypanel.cjs.min.js +1 -1
- package/overlaypanel/overlaypanel.esm.js +9 -10
- package/overlaypanel/overlaypanel.esm.min.js +1 -1
- package/overlaypanel/overlaypanel.js +9 -10
- package/overlaypanel/overlaypanel.min.js +1 -1
- package/package.json +1 -1
- package/paginator/paginator.cjs.js +9 -1
- package/paginator/paginator.cjs.min.js +1 -1
- package/paginator/paginator.esm.js +9 -1
- package/paginator/paginator.esm.min.js +1 -1
- package/paginator/paginator.js +9 -1
- package/paginator/paginator.min.js +1 -1
- package/password/password.cjs.js +9 -2
- package/password/password.cjs.min.js +1 -1
- package/password/password.esm.js +10 -3
- package/password/password.esm.min.js +1 -1
- package/password/password.js +9 -2
- package/password/password.min.js +1 -1
- package/picklist/picklist.cjs.js +9 -1
- package/picklist/picklist.cjs.min.js +1 -1
- package/picklist/picklist.esm.js +9 -1
- package/picklist/picklist.esm.min.js +1 -1
- package/picklist/picklist.js +9 -1
- package/picklist/picklist.min.js +1 -1
- package/primereact.all.cjs.js +931 -442
- package/primereact.all.cjs.min.js +1 -1
- package/primereact.all.esm.js +932 -443
- package/primereact.all.esm.min.js +1 -1
- package/primereact.all.js +931 -442
- package/primereact.all.min.js +1 -1
- package/radiobutton/radiobutton.cjs.js +2 -2
- package/radiobutton/radiobutton.cjs.min.js +1 -1
- package/radiobutton/radiobutton.d.ts +1 -1
- package/radiobutton/radiobutton.esm.js +2 -2
- package/radiobutton/radiobutton.esm.min.js +1 -1
- package/radiobutton/radiobutton.js +2 -2
- package/radiobutton/radiobutton.min.js +1 -1
- package/slidemenu/slidemenu.cjs.js +9 -2
- package/slidemenu/slidemenu.cjs.min.js +1 -1
- package/slidemenu/slidemenu.esm.js +10 -3
- package/slidemenu/slidemenu.esm.min.js +1 -1
- package/slidemenu/slidemenu.js +9 -2
- package/slidemenu/slidemenu.min.js +1 -1
- package/tree/tree.cjs.js +1 -1
- package/tree/tree.cjs.min.js +1 -1
- package/tree/tree.esm.js +1 -1
- package/tree/tree.esm.min.js +1 -1
- package/tree/tree.js +1 -1
- package/tree/tree.min.js +1 -1
- package/treeselect/treeselect.cjs.js +19 -8
- package/treeselect/treeselect.cjs.min.js +1 -1
- package/treeselect/treeselect.d.ts +33 -0
- package/treeselect/treeselect.esm.js +19 -8
- package/treeselect/treeselect.esm.min.js +1 -1
- package/treeselect/treeselect.js +19 -8
- package/treeselect/treeselect.min.js +1 -1
- package/treetable/treetable.cjs.js +1 -1
- package/treetable/treetable.cjs.min.js +1 -1
- package/treetable/treetable.esm.js +1 -1
- package/treetable/treetable.esm.min.js +1 -1
- package/treetable/treetable.js +1 -1
- package/treetable/treetable.min.js +1 -1
- package/tristatecheckbox/tristatecheckbox.cjs.js +7 -6
- package/tristatecheckbox/tristatecheckbox.cjs.min.js +1 -1
- package/tristatecheckbox/tristatecheckbox.esm.js +7 -6
- package/tristatecheckbox/tristatecheckbox.esm.min.js +1 -1
- package/tristatecheckbox/tristatecheckbox.js +7 -6
- package/tristatecheckbox/tristatecheckbox.min.js +1 -1
- package/utils/utils.cjs.js +138 -18
- package/utils/utils.cjs.min.js +1 -1
- package/utils/utils.d.ts +5 -1
- package/utils/utils.esm.js +138 -18
- package/utils/utils.esm.min.js +1 -1
- package/utils/utils.js +138 -18
- package/utils/utils.min.js +1 -1
- package/web-types.json +105 -11
|
@@ -740,7 +740,7 @@ var Checkbox = /*#__PURE__*/React__namespace.memo(/*#__PURE__*/React__namespace.
|
|
|
740
740
|
return props.checked === props.trueValue;
|
|
741
741
|
};
|
|
742
742
|
var _onChange = function onChange(event) {
|
|
743
|
-
if (props.disabled || props.
|
|
743
|
+
if (props.disabled || props.readOnly) {
|
|
744
744
|
return;
|
|
745
745
|
}
|
|
746
746
|
if (props.onChange) {
|
|
@@ -999,7 +999,7 @@ var RadioButton = /*#__PURE__*/React__namespace.memo(/*#__PURE__*/React__namespa
|
|
|
999
999
|
onChange(event);
|
|
1000
1000
|
};
|
|
1001
1001
|
var onChange = function onChange(event) {
|
|
1002
|
-
if (props.disabled || props.
|
|
1002
|
+
if (props.disabled || props.readOnly) {
|
|
1003
1003
|
return;
|
|
1004
1004
|
}
|
|
1005
1005
|
if (props.onChange) {
|
|
@@ -1102,7 +1102,7 @@ var RadioButton = /*#__PURE__*/React__namespace.memo(/*#__PURE__*/React__namespa
|
|
|
1102
1102
|
onBlur: onBlur,
|
|
1103
1103
|
onChange: onChange,
|
|
1104
1104
|
disabled: props.disabled,
|
|
1105
|
-
readOnly: props.
|
|
1105
|
+
readOnly: props.readOnly,
|
|
1106
1106
|
required: props.required,
|
|
1107
1107
|
tabIndex: props.tabIndex,
|
|
1108
1108
|
className: cx('input')
|
|
@@ -1175,7 +1175,7 @@ RowRadioButton.displayName = 'RowRadioButton';
|
|
|
1175
1175
|
|
|
1176
1176
|
function ownKeys$b(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
1177
1177
|
function _objectSpread$b(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$b(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$b(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
1178
|
-
var
|
|
1178
|
+
var Cell = function Cell(props) {
|
|
1179
1179
|
var mergeProps = hooks.useMergeProps();
|
|
1180
1180
|
var _React$useState = React__namespace.useState(props.editing),
|
|
1181
1181
|
_React$useState2 = _slicedToArray(_React$useState, 2),
|
|
@@ -1203,13 +1203,9 @@ var BodyCell = /*#__PURE__*/React__namespace.memo(function (props) {
|
|
|
1203
1203
|
var getColumnProp = function getColumnProp(name) {
|
|
1204
1204
|
return ColumnBase.getCProp(props.column, name);
|
|
1205
1205
|
};
|
|
1206
|
-
var getColumnProps = function getColumnProps() {
|
|
1207
|
-
return ColumnBase.getCProps(props.column);
|
|
1208
|
-
};
|
|
1209
1206
|
var getColumnPTOptions = function getColumnPTOptions(key) {
|
|
1210
|
-
var cProps = getColumnProps();
|
|
1211
1207
|
var columnMetaData = {
|
|
1212
|
-
props: cProps,
|
|
1208
|
+
props: props.cProps,
|
|
1213
1209
|
parent: props.metaData,
|
|
1214
1210
|
hostName: props.hostName,
|
|
1215
1211
|
state: {
|
|
@@ -1225,10 +1221,8 @@ var BodyCell = /*#__PURE__*/React__namespace.memo(function (props) {
|
|
|
1225
1221
|
};
|
|
1226
1222
|
return mergeProps(ptm("column.".concat(key), {
|
|
1227
1223
|
column: columnMetaData
|
|
1228
|
-
}), ptm("column.".concat(key), columnMetaData), ptmo(cProps, key, columnMetaData));
|
|
1224
|
+
}), ptm("column.".concat(key), columnMetaData), ptmo(props.cProps, key, columnMetaData));
|
|
1229
1225
|
};
|
|
1230
|
-
var field = getColumnProp('field') || "field_".concat(props.index);
|
|
1231
|
-
var editingKey = props.dataKey ? props.rowData && props.rowData[props.dataKey] || props.rowIndex : props.rowIndex;
|
|
1232
1226
|
var isEditable = function isEditable() {
|
|
1233
1227
|
return utils.ObjectUtils.isNotEmpty(props.editMode) && getColumnProp('editor');
|
|
1234
1228
|
};
|
|
@@ -1253,34 +1247,22 @@ var BodyCell = /*#__PURE__*/React__namespace.memo(function (props) {
|
|
|
1253
1247
|
_useEventListener2 = _slicedToArray(_useEventListener, 2),
|
|
1254
1248
|
bindDocumentClickListener = _useEventListener2[0],
|
|
1255
1249
|
unbindDocumentClickListener = _useEventListener2[1];
|
|
1256
|
-
var isSelected = function isSelected() {
|
|
1257
|
-
return props.selection ? props.selection instanceof Array ? findIndex(props.selection) > -1 : equals(props.selection) : false;
|
|
1258
|
-
};
|
|
1259
|
-
var equalsData = function equalsData(data) {
|
|
1260
|
-
return props.compareSelectionBy === 'equals' ? data === props.rowData : utils.ObjectUtils.equals(data, props.rowData, props.dataKey);
|
|
1261
|
-
};
|
|
1262
|
-
var equals = function equals(selectedCell) {
|
|
1263
|
-
return selectedCell && (selectedCell.rowIndex === props.rowIndex || equalsData(selectedCell.rowData)) && (selectedCell.field === field || selectedCell.cellIndex === props.index);
|
|
1264
|
-
};
|
|
1265
1250
|
var isOutsideClicked = function isOutsideClicked(target) {
|
|
1266
1251
|
return elementRef.current && !(elementRef.current.isSameNode(target) || elementRef.current.contains(target));
|
|
1267
1252
|
};
|
|
1268
|
-
var getVirtualScrollerOption = function getVirtualScrollerOption(option) {
|
|
1269
|
-
return props.virtualScrollerOptions ? props.virtualScrollerOptions[option] : null;
|
|
1270
|
-
};
|
|
1271
1253
|
var getStyle = function getStyle() {
|
|
1272
1254
|
var bodyStyle = getColumnProp('bodyStyle');
|
|
1273
1255
|
var columnStyle = getColumnProp('style');
|
|
1274
|
-
return
|
|
1256
|
+
return props.frozenCol ? Object.assign({}, columnStyle, bodyStyle, styleObjectState) : Object.assign({}, columnStyle, bodyStyle);
|
|
1275
1257
|
};
|
|
1276
1258
|
var getCellParams = function getCellParams() {
|
|
1277
1259
|
return {
|
|
1278
|
-
value: resolveFieldData(),
|
|
1279
|
-
field: field,
|
|
1260
|
+
value: props.resolveFieldData(),
|
|
1261
|
+
field: props.field,
|
|
1280
1262
|
rowData: props.rowData,
|
|
1281
1263
|
rowIndex: props.rowIndex,
|
|
1282
1264
|
cellIndex: props.index,
|
|
1283
|
-
selected:
|
|
1265
|
+
selected: props.isCellSelected,
|
|
1284
1266
|
column: props.column,
|
|
1285
1267
|
props: props
|
|
1286
1268
|
};
|
|
@@ -1291,20 +1273,6 @@ var BodyCell = /*#__PURE__*/React__namespace.memo(function (props) {
|
|
|
1291
1273
|
originalEvent: event
|
|
1292
1274
|
}, params);
|
|
1293
1275
|
};
|
|
1294
|
-
var resolveFieldData = function resolveFieldData(data) {
|
|
1295
|
-
return utils.ObjectUtils.resolveFieldData(data || props.rowData, field);
|
|
1296
|
-
};
|
|
1297
|
-
var getEditingRowData = function getEditingRowData() {
|
|
1298
|
-
return props.editingMeta && props.editingMeta[editingKey] ? props.editingMeta[editingKey].data : props.rowData;
|
|
1299
|
-
};
|
|
1300
|
-
var getTabIndex = function getTabIndex(cellSelected) {
|
|
1301
|
-
return props.allowCellSelection ? cellSelected ? 0 : props.rowIndex === 0 && props.index === 0 ? props.tabIndex : -1 : null;
|
|
1302
|
-
};
|
|
1303
|
-
var findIndex = function findIndex(collection) {
|
|
1304
|
-
return (collection || []).findIndex(function (data) {
|
|
1305
|
-
return equals(data);
|
|
1306
|
-
});
|
|
1307
|
-
};
|
|
1308
1276
|
var closeCell = function closeCell(event) {
|
|
1309
1277
|
var params = getCellCallbackParams(event);
|
|
1310
1278
|
var onBeforeCellEditHide = getColumnProp('onBeforeCellEditHide');
|
|
@@ -1325,7 +1293,7 @@ var BodyCell = /*#__PURE__*/React__namespace.memo(function (props) {
|
|
|
1325
1293
|
var switchCellToViewMode = function switchCellToViewMode(event, submit) {
|
|
1326
1294
|
var callbackParams = getCellCallbackParams(event);
|
|
1327
1295
|
var newRowData = _objectSpread$b({}, editingRowDataStateRef.current);
|
|
1328
|
-
var newValue = resolveFieldData(newRowData);
|
|
1296
|
+
var newValue = props.resolveFieldData(newRowData);
|
|
1329
1297
|
var params = _objectSpread$b(_objectSpread$b({}, callbackParams), {}, {
|
|
1330
1298
|
newRowData: newRowData,
|
|
1331
1299
|
newValue: newValue
|
|
@@ -1350,128 +1318,20 @@ var BodyCell = /*#__PURE__*/React__namespace.memo(function (props) {
|
|
|
1350
1318
|
}
|
|
1351
1319
|
setEditingRowDataState(newRowData);
|
|
1352
1320
|
};
|
|
1353
|
-
var _findNextSelectableCell = function findNextSelectableCell(cell) {
|
|
1354
|
-
var nextCell = cell.nextElementSibling;
|
|
1355
|
-
return nextCell ? utils.DomHandler.getAttribute(nextCell, 'data-p-selectable-cell') ? nextCell : _findNextSelectableCell(nextCell) : null;
|
|
1356
|
-
};
|
|
1357
|
-
var _findPrevSelectableCell = function findPrevSelectableCell(cell) {
|
|
1358
|
-
var prevCell = cell.previousElementSibling;
|
|
1359
|
-
return prevCell ? utils.DomHandler.getAttribute(prevCell, 'data-p-selectable-cell') ? prevCell : _findPrevSelectableCell(prevCell) : null;
|
|
1360
|
-
};
|
|
1361
|
-
var _findDownSelectableCell = function findDownSelectableCell(cell) {
|
|
1362
|
-
var downRow = cell.parentElement.nextElementSibling;
|
|
1363
|
-
var downCell = downRow ? downRow.children[props.index] : null;
|
|
1364
|
-
return downRow && downCell ? utils.DomHandler.getAttribute(downRow, 'data-p-selectable-row') && utils.DomHandler.getAttribute(downCell, 'data-p-selectable-cell') ? downCell : _findDownSelectableCell(downCell) : null;
|
|
1365
|
-
};
|
|
1366
|
-
var _findUpSelectableCell = function findUpSelectableCell(cell) {
|
|
1367
|
-
var upRow = cell.parentElement.previousElementSibling;
|
|
1368
|
-
var upCell = upRow ? upRow.children[props.index] : null;
|
|
1369
|
-
return upRow && upCell ? utils.DomHandler.getAttribute(upRow, 'data-p-selectable-row') && utils.DomHandler.getAttribute(upCell, 'data-p-selectable-cell') ? upCell : _findUpSelectableCell(upCell) : null;
|
|
1370
|
-
};
|
|
1371
|
-
var changeTabIndex = function changeTabIndex(currentCell, nextCell) {
|
|
1372
|
-
if (currentCell && nextCell) {
|
|
1373
|
-
currentCell.tabIndex = -1;
|
|
1374
|
-
nextCell.tabIndex = props.tabIndex;
|
|
1375
|
-
}
|
|
1376
|
-
};
|
|
1377
|
-
var focusOnElement = function focusOnElement() {
|
|
1378
|
-
clearTimeout(focusTimeout.current);
|
|
1379
|
-
focusTimeout.current = setTimeout(function () {
|
|
1380
|
-
if (editingState) {
|
|
1381
|
-
var focusableEl = props.editMode === 'cell' ? utils.DomHandler.getFirstFocusableElement(elementRef.current, ':not([data-pc-section="editorkeyhelperlabel"])') : utils.DomHandler.findSingle(elementRef.current, '[data-p-row-editor-save="true"]');
|
|
1382
|
-
focusableEl && focusableEl.focus();
|
|
1383
|
-
}
|
|
1384
|
-
keyHelperRef.current && (keyHelperRef.current.tabIndex = editingState ? -1 : 0);
|
|
1385
|
-
}, 1);
|
|
1386
|
-
};
|
|
1387
|
-
var focusOnInit = function focusOnInit() {
|
|
1388
|
-
clearTimeout(initFocusTimeout.current);
|
|
1389
|
-
initFocusTimeout.current = setTimeout(function () {
|
|
1390
|
-
var focusableEl = props.editMode === 'row' ? utils.DomHandler.findSingle(elementRef.current, '[data-p-row-editor-init="true"]') : null;
|
|
1391
|
-
focusableEl && focusableEl.focus();
|
|
1392
|
-
}, 1);
|
|
1393
|
-
};
|
|
1394
|
-
var updateStickyPosition = function updateStickyPosition() {
|
|
1395
|
-
if (getColumnProp('frozen')) {
|
|
1396
|
-
var styleObject = _objectSpread$b({}, styleObjectState);
|
|
1397
|
-
var align = getColumnProp('alignFrozen');
|
|
1398
|
-
if (align === 'right') {
|
|
1399
|
-
var right = 0;
|
|
1400
|
-
var next = elementRef.current && elementRef.current.nextElementSibling;
|
|
1401
|
-
if (next && next.classList.contains('p-frozen-column')) {
|
|
1402
|
-
right = utils.DomHandler.getOuterWidth(next) + parseFloat(next.style.right || 0);
|
|
1403
|
-
}
|
|
1404
|
-
styleObject.right = right + 'px';
|
|
1405
|
-
} else {
|
|
1406
|
-
var left = 0;
|
|
1407
|
-
var prev = elementRef.current && elementRef.current.previousElementSibling;
|
|
1408
|
-
if (prev && prev.classList.contains('p-frozen-column')) {
|
|
1409
|
-
left = utils.DomHandler.getOuterWidth(prev) + parseFloat(prev.style.left || 0);
|
|
1410
|
-
}
|
|
1411
|
-
styleObject.left = left + 'px';
|
|
1412
|
-
}
|
|
1413
|
-
var isSameStyle = styleObjectState.left === styleObject.left && styleObjectState.right === styleObject.right;
|
|
1414
|
-
!isSameStyle && setStyleObjectState(styleObject);
|
|
1415
|
-
}
|
|
1416
|
-
};
|
|
1417
1321
|
var editorCallback = function editorCallback(val) {
|
|
1418
1322
|
var editingRowData = _objectSpread$b({}, editingRowDataState);
|
|
1419
|
-
utils.ObjectUtils.mutateFieldData(editingRowData, field, val);
|
|
1323
|
+
utils.ObjectUtils.mutateFieldData(editingRowData, props.field, val);
|
|
1420
1324
|
setEditingRowDataState(editingRowData);
|
|
1421
1325
|
|
|
1422
1326
|
// update editing meta for complete methods on row mode
|
|
1423
|
-
var currentData = getEditingRowData();
|
|
1327
|
+
var currentData = props.getEditingRowData();
|
|
1424
1328
|
if (currentData) {
|
|
1425
|
-
utils.ObjectUtils.mutateFieldData(currentData, field, val);
|
|
1329
|
+
utils.ObjectUtils.mutateFieldData(currentData, props.field, val);
|
|
1426
1330
|
}
|
|
1427
1331
|
editingRowDataStateRef.current = editingRowData;
|
|
1428
1332
|
};
|
|
1429
1333
|
var _onClick = function onClick(event) {
|
|
1430
|
-
|
|
1431
|
-
if (props.editMode !== 'row' && isEditable() && !editingState && (props.selectOnEdit || !props.selectOnEdit && props.selected)) {
|
|
1432
|
-
selfClick.current = true;
|
|
1433
|
-
var onBeforeCellEditShow = getColumnProp('onBeforeCellEditShow');
|
|
1434
|
-
var onCellEditInit = getColumnProp('onCellEditInit');
|
|
1435
|
-
var cellEditValidatorEvent = getColumnProp('cellEditValidatorEvent');
|
|
1436
|
-
if (onBeforeCellEditShow) {
|
|
1437
|
-
// if user returns false do not show the editor
|
|
1438
|
-
if (onBeforeCellEditShow(params) === false) {
|
|
1439
|
-
return;
|
|
1440
|
-
}
|
|
1441
|
-
|
|
1442
|
-
// if user prevents default stop the editor
|
|
1443
|
-
if (event && event.defaultPrevented) {
|
|
1444
|
-
return;
|
|
1445
|
-
}
|
|
1446
|
-
}
|
|
1447
|
-
|
|
1448
|
-
// If the data is sorted using sort icon, it has been added to wait for the sort operation when any cell is wanted to be opened.
|
|
1449
|
-
setTimeout(function () {
|
|
1450
|
-
setEditingState(true);
|
|
1451
|
-
if (onCellEditInit) {
|
|
1452
|
-
if (onCellEditInit(params) === false) {
|
|
1453
|
-
return;
|
|
1454
|
-
}
|
|
1455
|
-
|
|
1456
|
-
// if user prevents default stop the editor
|
|
1457
|
-
if (event && event.defaultPrevented) {
|
|
1458
|
-
return;
|
|
1459
|
-
}
|
|
1460
|
-
}
|
|
1461
|
-
if (cellEditValidatorEvent === 'click') {
|
|
1462
|
-
bindDocumentClickListener();
|
|
1463
|
-
overlayEventListener.current = function (e) {
|
|
1464
|
-
if (!isOutsideClicked(e.target)) {
|
|
1465
|
-
selfClick.current = true;
|
|
1466
|
-
}
|
|
1467
|
-
};
|
|
1468
|
-
overlayservice.OverlayService.on('overlay-click', overlayEventListener.current);
|
|
1469
|
-
}
|
|
1470
|
-
}, 1);
|
|
1471
|
-
}
|
|
1472
|
-
if (props.allowCellSelection && props.onClick) {
|
|
1473
|
-
props.onClick(params);
|
|
1474
|
-
}
|
|
1334
|
+
props.onClick(event, getCellCallbackParams(event), isEditable(), editingState, setEditingState, selfClick, props.column, bindDocumentClickListener, overlayEventListener, isOutsideClicked);
|
|
1475
1335
|
};
|
|
1476
1336
|
var _onMouseDown = function onMouseDown(event) {
|
|
1477
1337
|
var params = getCellCallbackParams(event);
|
|
@@ -1495,7 +1355,7 @@ var BodyCell = /*#__PURE__*/React__namespace.memo(function (props) {
|
|
|
1495
1355
|
cell = event.currentTarget;
|
|
1496
1356
|
switch (event.code) {
|
|
1497
1357
|
case 'ArrowLeft':
|
|
1498
|
-
var prevCell =
|
|
1358
|
+
var prevCell = props.findPrevSelectableCell(cell);
|
|
1499
1359
|
if (prevCell) {
|
|
1500
1360
|
changeTabIndex(cell, prevCell);
|
|
1501
1361
|
prevCell.focus();
|
|
@@ -1503,7 +1363,7 @@ var BodyCell = /*#__PURE__*/React__namespace.memo(function (props) {
|
|
|
1503
1363
|
event.preventDefault();
|
|
1504
1364
|
break;
|
|
1505
1365
|
case 'ArrowRight':
|
|
1506
|
-
var nextCell =
|
|
1366
|
+
var nextCell = props.findNextSelectableCell(cell);
|
|
1507
1367
|
if (nextCell) {
|
|
1508
1368
|
changeTabIndex(cell, nextCell);
|
|
1509
1369
|
nextCell.focus();
|
|
@@ -1511,7 +1371,7 @@ var BodyCell = /*#__PURE__*/React__namespace.memo(function (props) {
|
|
|
1511
1371
|
event.preventDefault();
|
|
1512
1372
|
break;
|
|
1513
1373
|
case 'ArrowUp':
|
|
1514
|
-
var upCell =
|
|
1374
|
+
var upCell = props.findUpSelectableCell(cell, index);
|
|
1515
1375
|
if (upCell) {
|
|
1516
1376
|
changeTabIndex(cell, upCell);
|
|
1517
1377
|
upCell.focus();
|
|
@@ -1519,7 +1379,7 @@ var BodyCell = /*#__PURE__*/React__namespace.memo(function (props) {
|
|
|
1519
1379
|
event.preventDefault();
|
|
1520
1380
|
break;
|
|
1521
1381
|
case 'ArrowDown':
|
|
1522
|
-
var downCell =
|
|
1382
|
+
var downCell = props.findDownSelectableCell(cell, index);
|
|
1523
1383
|
if (downCell) {
|
|
1524
1384
|
changeTabIndex(cell, downCell);
|
|
1525
1385
|
downCell.focus();
|
|
@@ -1558,13 +1418,6 @@ var BodyCell = /*#__PURE__*/React__namespace.memo(function (props) {
|
|
|
1558
1418
|
index: props.rowIndex
|
|
1559
1419
|
});
|
|
1560
1420
|
};
|
|
1561
|
-
var onCheckboxChange = function onCheckboxChange(event) {
|
|
1562
|
-
props.onCheckboxChange({
|
|
1563
|
-
originalEvent: event,
|
|
1564
|
-
data: props.rowData,
|
|
1565
|
-
index: props.rowIndex
|
|
1566
|
-
});
|
|
1567
|
-
};
|
|
1568
1421
|
var onRowToggle = function onRowToggle(event) {
|
|
1569
1422
|
props.onRowToggle({
|
|
1570
1423
|
originalEvent: event,
|
|
@@ -1577,8 +1430,8 @@ var BodyCell = /*#__PURE__*/React__namespace.memo(function (props) {
|
|
|
1577
1430
|
props.onRowEditInit({
|
|
1578
1431
|
originalEvent: event,
|
|
1579
1432
|
data: props.rowData,
|
|
1580
|
-
newData: getEditingRowData(),
|
|
1581
|
-
field: field,
|
|
1433
|
+
newData: props.getEditingRowData(),
|
|
1434
|
+
field: props.field,
|
|
1582
1435
|
index: props.rowIndex
|
|
1583
1436
|
});
|
|
1584
1437
|
};
|
|
@@ -1586,32 +1439,26 @@ var BodyCell = /*#__PURE__*/React__namespace.memo(function (props) {
|
|
|
1586
1439
|
props.onRowEditSave({
|
|
1587
1440
|
originalEvent: event,
|
|
1588
1441
|
data: props.rowData,
|
|
1589
|
-
newData: getEditingRowData(),
|
|
1590
|
-
field: field,
|
|
1442
|
+
newData: props.getEditingRowData(),
|
|
1443
|
+
field: props.field,
|
|
1591
1444
|
index: props.rowIndex
|
|
1592
1445
|
});
|
|
1593
|
-
focusOnInit();
|
|
1446
|
+
props.focusOnInit(initFocusTimeout, elementRef);
|
|
1594
1447
|
};
|
|
1595
1448
|
var onRowEditCancel = function onRowEditCancel(event) {
|
|
1596
1449
|
props.onRowEditCancel({
|
|
1597
1450
|
originalEvent: event,
|
|
1598
1451
|
data: props.rowData,
|
|
1599
|
-
newData: getEditingRowData(),
|
|
1600
|
-
field: field,
|
|
1452
|
+
newData: props.getEditingRowData(),
|
|
1453
|
+
field: props.field,
|
|
1601
1454
|
index: props.rowIndex
|
|
1602
1455
|
});
|
|
1603
|
-
focusOnInit();
|
|
1456
|
+
props.focusOnInit(initFocusTimeout, elementRef);
|
|
1604
1457
|
};
|
|
1605
1458
|
React__namespace.useEffect(function () {
|
|
1606
|
-
if (
|
|
1607
|
-
|
|
1608
|
-
|
|
1609
|
-
});
|
|
1610
|
-
React__namespace.useEffect(function () {
|
|
1611
|
-
if (props.editMode === 'cell' || props.editMode === 'row') {
|
|
1612
|
-
focusOnElement();
|
|
1613
|
-
}
|
|
1614
|
-
}, [props.editMode, props.editing, editingState]); // eslint-disable-line react-hooks/exhaustive-deps
|
|
1459
|
+
if (props.frozenCol) props.updateStickyPosition(elementRef, props.frozenCol, props.alignFrozenCol, styleObjectState, setStyleObjectState);
|
|
1460
|
+
if (props.editMode === 'cell' || props.editMode === 'row') props.focusOnElement(focusTimeout, editingState, elementRef, keyHelperRef);
|
|
1461
|
+
}, [props.editMode, props.editing, editingState, props.frozenCol, props.alignFrozenCol]); // eslint-disable-line react-hooks/exhaustive-deps
|
|
1615
1462
|
|
|
1616
1463
|
React__namespace.useEffect(function () {
|
|
1617
1464
|
if (props.editMode === 'row' && props.editing !== editingState) {
|
|
@@ -1620,7 +1467,7 @@ var BodyCell = /*#__PURE__*/React__namespace.memo(function (props) {
|
|
|
1620
1467
|
}, [props.editMode, props.editing, editingState]);
|
|
1621
1468
|
hooks.useUpdateEffect(function () {
|
|
1622
1469
|
if (props.editMode === 'cell' || props.editMode === 'row') {
|
|
1623
|
-
var editingRowData = getEditingRowData();
|
|
1470
|
+
var editingRowData = props.getEditingRowData();
|
|
1624
1471
|
setEditingRowDataState(editingRowData);
|
|
1625
1472
|
editingRowDataStateRef.current = editingRowData;
|
|
1626
1473
|
}
|
|
@@ -1630,7 +1477,7 @@ var BodyCell = /*#__PURE__*/React__namespace.memo(function (props) {
|
|
|
1630
1477
|
var callbackParams = getCellCallbackParams();
|
|
1631
1478
|
var params = _objectSpread$b(_objectSpread$b({}, callbackParams), {}, {
|
|
1632
1479
|
editing: editingState,
|
|
1633
|
-
editingKey: editingKey
|
|
1480
|
+
editingKey: props.editingKey
|
|
1634
1481
|
});
|
|
1635
1482
|
props.onEditingMetaChange(params);
|
|
1636
1483
|
}
|
|
@@ -1643,16 +1490,16 @@ var BodyCell = /*#__PURE__*/React__namespace.memo(function (props) {
|
|
|
1643
1490
|
}
|
|
1644
1491
|
});
|
|
1645
1492
|
var createLoading = function createLoading() {
|
|
1646
|
-
var options = getVirtualScrollerOption('getLoaderOptions')(props.rowIndex, {
|
|
1493
|
+
var options = props.getVirtualScrollerOption('getLoaderOptions')(props.rowIndex, {
|
|
1647
1494
|
cellIndex: props.index,
|
|
1648
1495
|
cellFirst: props.index === 0,
|
|
1649
|
-
cellLast: props.index === getVirtualScrollerOption('columns').length - 1,
|
|
1496
|
+
cellLast: props.index === props.getVirtualScrollerOption('columns').length - 1,
|
|
1650
1497
|
cellEven: props.index % 2 === 0,
|
|
1651
1498
|
cellOdd: props.index % 2 !== 0,
|
|
1652
1499
|
column: props.column,
|
|
1653
|
-
field: field
|
|
1500
|
+
field: props.field
|
|
1654
1501
|
});
|
|
1655
|
-
var content = utils.ObjectUtils.getJSXElement(getVirtualScrollerOption('loadingTemplate'), options);
|
|
1502
|
+
var content = utils.ObjectUtils.getJSXElement(props.getVirtualScrollerOption('loadingTemplate'), options);
|
|
1656
1503
|
var bodyCellProps = mergeProps(getColumnPTOptions('bodyCell'), {
|
|
1657
1504
|
role: 'cell'
|
|
1658
1505
|
});
|
|
@@ -1661,20 +1508,20 @@ var BodyCell = /*#__PURE__*/React__namespace.memo(function (props) {
|
|
|
1661
1508
|
var createElement = function createElement() {
|
|
1662
1509
|
var content;
|
|
1663
1510
|
var editorKeyHelper;
|
|
1664
|
-
var cellSelected = props.allowCellSelection &&
|
|
1511
|
+
var cellSelected = props.allowCellSelection && props.isCellSelected;
|
|
1665
1512
|
var isRowEditor = props.editMode === 'row';
|
|
1666
|
-
var tabIndex = getTabIndex(cellSelected);
|
|
1513
|
+
var tabIndex = props.getTabIndex(cellSelected, props.index);
|
|
1667
1514
|
var selectionMode = getColumnProp('selectionMode');
|
|
1668
1515
|
var rowReorder = getColumnProp('rowReorder');
|
|
1669
1516
|
var header = getColumnProp('header');
|
|
1670
1517
|
var body = getColumnProp('body');
|
|
1671
1518
|
var editor = getColumnProp('editor');
|
|
1672
|
-
var frozen =
|
|
1519
|
+
var frozen = props.frozenCol;
|
|
1673
1520
|
var align = getColumnProp('align');
|
|
1674
|
-
var value = resolveFieldData();
|
|
1521
|
+
var value = props.resolveFieldData();
|
|
1675
1522
|
var columnBodyOptions = {
|
|
1676
1523
|
column: props.column,
|
|
1677
|
-
field: field,
|
|
1524
|
+
field: props.field,
|
|
1678
1525
|
rowIndex: props.rowIndex,
|
|
1679
1526
|
frozenRow: props.frozenRow,
|
|
1680
1527
|
props: props.tableProps
|
|
@@ -1699,12 +1546,12 @@ var BodyCell = /*#__PURE__*/React__namespace.memo(function (props) {
|
|
|
1699
1546
|
if (showSelection) {
|
|
1700
1547
|
var ariaLabelField = props.selectionAriaLabel || props.tableProps.dataKey;
|
|
1701
1548
|
var ariaLabelText = utils.ObjectUtils.resolveFieldData(props.rowData, ariaLabelField);
|
|
1702
|
-
label = "".concat(props.
|
|
1549
|
+
label = "".concat(props.isRowSelected ? PrimeReact$1.ariaLabel('unselectRow') : PrimeReact$1.ariaLabel('selectRow'), " ").concat(ariaLabelText);
|
|
1703
1550
|
}
|
|
1704
1551
|
content = showSelection && /*#__PURE__*/React__namespace.createElement(React__namespace.Fragment, null, selectionMode === 'single' && /*#__PURE__*/React__namespace.createElement(RowRadioButton, {
|
|
1705
1552
|
hostName: props.hostName,
|
|
1706
1553
|
column: props.column,
|
|
1707
|
-
checked: props.
|
|
1554
|
+
checked: props.isRowSelected,
|
|
1708
1555
|
disabled: !props.isSelectable({
|
|
1709
1556
|
data: props.rowData,
|
|
1710
1557
|
index: props.rowIndex
|
|
@@ -1719,12 +1566,12 @@ var BodyCell = /*#__PURE__*/React__namespace.memo(function (props) {
|
|
|
1719
1566
|
}), selectionMode === 'multiple' && /*#__PURE__*/React__namespace.createElement(RowCheckbox, {
|
|
1720
1567
|
hostName: props.hostName,
|
|
1721
1568
|
column: props.column,
|
|
1722
|
-
checked: props.
|
|
1569
|
+
checked: props.isRowSelected,
|
|
1723
1570
|
disabled: !props.isSelectable({
|
|
1724
1571
|
data: props.rowData,
|
|
1725
1572
|
index: props.rowIndex
|
|
1726
1573
|
}),
|
|
1727
|
-
onChange: onCheckboxChange,
|
|
1574
|
+
onChange: props.onCheckboxChange,
|
|
1728
1575
|
tabIndex: props.tabIndex,
|
|
1729
1576
|
ariaLabel: label,
|
|
1730
1577
|
checkIcon: props.checkIcon,
|
|
@@ -1774,7 +1621,7 @@ var BodyCell = /*#__PURE__*/React__namespace.memo(function (props) {
|
|
|
1774
1621
|
expanderProps.element = content;
|
|
1775
1622
|
content = utils.ObjectUtils.getJSXElement(body, props.rowData, {
|
|
1776
1623
|
column: props.column,
|
|
1777
|
-
field: field,
|
|
1624
|
+
field: props.field,
|
|
1778
1625
|
rowIndex: props.rowIndex,
|
|
1779
1626
|
frozenRow: props.frozenRow,
|
|
1780
1627
|
props: props.tableProps,
|
|
@@ -1848,7 +1695,7 @@ var BodyCell = /*#__PURE__*/React__namespace.memo(function (props) {
|
|
|
1848
1695
|
rowEditorProps.element = content;
|
|
1849
1696
|
content = utils.ObjectUtils.getJSXElement(body, props.rowData, {
|
|
1850
1697
|
column: props.column,
|
|
1851
|
-
field: field,
|
|
1698
|
+
field: props.field,
|
|
1852
1699
|
rowIndex: props.rowIndex,
|
|
1853
1700
|
frozenRow: props.frozenRow,
|
|
1854
1701
|
props: props.tableProps,
|
|
@@ -1858,7 +1705,7 @@ var BodyCell = /*#__PURE__*/React__namespace.memo(function (props) {
|
|
|
1858
1705
|
} else if (body && (!editingState || !editor)) {
|
|
1859
1706
|
content = body ? utils.ObjectUtils.getJSXElement(body, props.rowData, {
|
|
1860
1707
|
column: props.column,
|
|
1861
|
-
field: field,
|
|
1708
|
+
field: props.field,
|
|
1862
1709
|
rowIndex: props.rowIndex,
|
|
1863
1710
|
frozenRow: props.frozenRow,
|
|
1864
1711
|
props: props.tableProps
|
|
@@ -1866,9 +1713,9 @@ var BodyCell = /*#__PURE__*/React__namespace.memo(function (props) {
|
|
|
1866
1713
|
} else if (editor && editingState) {
|
|
1867
1714
|
content = utils.ObjectUtils.getJSXElement(editor, {
|
|
1868
1715
|
rowData: editingRowDataState,
|
|
1869
|
-
value: resolveFieldData(editingRowDataState),
|
|
1716
|
+
value: props.resolveFieldData(editingRowDataState),
|
|
1870
1717
|
column: props.column,
|
|
1871
|
-
field: field,
|
|
1718
|
+
field: props.field,
|
|
1872
1719
|
rowIndex: props.rowIndex,
|
|
1873
1720
|
frozenRow: props.frozenRow,
|
|
1874
1721
|
props: props.tableProps,
|
|
@@ -1936,7 +1783,29 @@ var BodyCell = /*#__PURE__*/React__namespace.memo(function (props) {
|
|
|
1936
1783
|
ref: elementRef
|
|
1937
1784
|
}, bodyCellProps), editorKeyHelper, title, content);
|
|
1938
1785
|
};
|
|
1939
|
-
return getVirtualScrollerOption('loading') ? createLoading() : createElement();
|
|
1786
|
+
return props.getVirtualScrollerOption('loading') ? createLoading() : createElement();
|
|
1787
|
+
};
|
|
1788
|
+
|
|
1789
|
+
// RadioCheckCell is used for the Radio and Checkbox selection and has the isRowSelected dependency
|
|
1790
|
+
var RadioCheckCell = /*#__PURE__*/React__namespace.memo(function (props) {
|
|
1791
|
+
return /*#__PURE__*/React__namespace.createElement(Cell, props);
|
|
1792
|
+
}, function (prevProps, nextProps) {
|
|
1793
|
+
var keysToCompare = ['isRowSelected', 'field', 'allowCellSelection', 'isCellSelected', 'editMode', 'index', 'tabIndex', 'editing', 'expanded', 'editingMeta', 'rowData'];
|
|
1794
|
+
return utils.ObjectUtils.selectiveCompare(prevProps, nextProps, keysToCompare);
|
|
1795
|
+
});
|
|
1796
|
+
RadioCheckCell.displayName = 'RadioCheckCell';
|
|
1797
|
+
var defaultKeysToCompare = ['rowData', 'field', 'allowCellSelection', 'isCellSelected', 'editMode', 'index', 'tabIndex', 'editing', 'expanded', 'editingMeta', 'frozenCol', 'alignFrozenCol'];
|
|
1798
|
+
var BodyCell = /*#__PURE__*/React__namespace.memo(function (props) {
|
|
1799
|
+
return /*#__PURE__*/React__namespace.createElement(Cell, props);
|
|
1800
|
+
}, function (prevProps, nextProps) {
|
|
1801
|
+
if (nextProps.cellMemo === false) return false;
|
|
1802
|
+
var memoProps = nextProps.cellMemoProps;
|
|
1803
|
+
var keysToCompare = Array.isArray(memoProps) && memoProps.every(function (prop) {
|
|
1804
|
+
return typeof prop === 'string';
|
|
1805
|
+
}) ? memoProps : defaultKeysToCompare;
|
|
1806
|
+
var memoPropsDepth = nextProps.cellMemoPropsDepth;
|
|
1807
|
+
var depth = typeof memoPropsDepth === 'number' && memoPropsDepth > 0 ? memoPropsDepth : 1;
|
|
1808
|
+
return utils.ObjectUtils.selectiveCompare(prevProps, nextProps, keysToCompare, depth);
|
|
1940
1809
|
});
|
|
1941
1810
|
BodyCell.displayName = 'BodyCell';
|
|
1942
1811
|
|
|
@@ -1952,6 +1821,7 @@ var BodyRow = /*#__PURE__*/React__namespace.memo(function (props) {
|
|
|
1952
1821
|
var _props$ptCallbacks = props.ptCallbacks,
|
|
1953
1822
|
ptm = _props$ptCallbacks.ptm,
|
|
1954
1823
|
cx = _props$ptCallbacks.cx;
|
|
1824
|
+
var isRowSelected = !props.allowCellSelection && props.selected || props.contextMenuSelected;
|
|
1955
1825
|
var getBodyRowPTOptions = function getBodyRowPTOptions(key) {
|
|
1956
1826
|
return ptm(key, {
|
|
1957
1827
|
parent: props.metaData,
|
|
@@ -1965,7 +1835,7 @@ var BodyRow = /*#__PURE__*/React__namespace.memo(function (props) {
|
|
|
1965
1835
|
data: props.rowData,
|
|
1966
1836
|
index: props.rowIndex
|
|
1967
1837
|
}),
|
|
1968
|
-
selected:
|
|
1838
|
+
selected: isRowSelected,
|
|
1969
1839
|
stripedRows: props.metaData.props.stripedRows
|
|
1970
1840
|
}
|
|
1971
1841
|
});
|
|
@@ -1994,10 +1864,10 @@ var BodyRow = /*#__PURE__*/React__namespace.memo(function (props) {
|
|
|
1994
1864
|
return equals(rowData, data);
|
|
1995
1865
|
});
|
|
1996
1866
|
};
|
|
1997
|
-
var changeTabIndex = function changeTabIndex(
|
|
1998
|
-
if (
|
|
1999
|
-
|
|
2000
|
-
|
|
1867
|
+
var changeTabIndex = function changeTabIndex(currentElement, nextElement) {
|
|
1868
|
+
if (currentElement && nextElement) {
|
|
1869
|
+
currentElement.tabIndex = -1;
|
|
1870
|
+
nextElement.tabIndex = props.tabIndex;
|
|
2001
1871
|
}
|
|
2002
1872
|
};
|
|
2003
1873
|
var findFirstSelectableRow = function findFirstSelectableRow(row) {
|
|
@@ -2324,32 +2194,179 @@ var BodyRow = /*#__PURE__*/React__namespace.memo(function (props) {
|
|
|
2324
2194
|
onEditChange(e, false);
|
|
2325
2195
|
event.preventDefault();
|
|
2326
2196
|
};
|
|
2197
|
+
var equalsDataCell = function equalsDataCell(data) {
|
|
2198
|
+
return props.compareSelectionBy === 'equals' ? data === props.rowData : utils.ObjectUtils.equals(data, props.rowData, props.dataKey);
|
|
2199
|
+
};
|
|
2200
|
+
var equalsCell = function equalsCell(selectedCell, field, colIndex) {
|
|
2201
|
+
return selectedCell && (selectedCell.rowIndex === props.rowIndex || equalsDataCell(selectedCell.rowData)) && (selectedCell.field === field || selectedCell.cellIndex === colIndex);
|
|
2202
|
+
};
|
|
2203
|
+
var findIndexCell = function findIndexCell(collection, field, colIndex) {
|
|
2204
|
+
return (collection || []).findIndex(function (data) {
|
|
2205
|
+
return equalsCell(data, field, colIndex);
|
|
2206
|
+
});
|
|
2207
|
+
};
|
|
2208
|
+
var isCellSelected = function isCellSelected(selection, field, colIndex) {
|
|
2209
|
+
return selection ? selection instanceof Array ? findIndexCell(selection, field, colIndex) > -1 : equalsCell(selection, field, colIndex) : false;
|
|
2210
|
+
};
|
|
2211
|
+
var onCheckboxChange = function onCheckboxChange(event) {
|
|
2212
|
+
props.onCheckboxChange({
|
|
2213
|
+
originalEvent: event,
|
|
2214
|
+
data: props.rowData,
|
|
2215
|
+
index: props.rowIndex
|
|
2216
|
+
});
|
|
2217
|
+
};
|
|
2218
|
+
var editingKey = props.dataKey ? props.rowData && props.rowData[props.dataKey] || props.rowIndex : props.rowIndex;
|
|
2219
|
+
var getVirtualScrollerOption = React__namespace.useCallback(function (option) {
|
|
2220
|
+
return props.virtualScrollerOptions ? props.virtualScrollerOptions[option] : null;
|
|
2221
|
+
}, [props.virtualScrollerOptions]);
|
|
2222
|
+
var getEditingRowData = function getEditingRowData() {
|
|
2223
|
+
return props.editingMeta && props.editingMeta[editingKey] ? props.editingMeta[editingKey].data : props.rowData;
|
|
2224
|
+
};
|
|
2225
|
+
var getTabIndexCell = React__namespace.useCallback(function (cellSelected, cellIndex) {
|
|
2226
|
+
return props.allowCellSelection ? cellSelected ? 0 : props.rowIndex === 0 && cellIndex === 0 ? props.tabIndex : -1 : null;
|
|
2227
|
+
}, [props.allowCellSelection, props.rowIndex, props.tabIndex]);
|
|
2228
|
+
var findNextSelectableCell = React__namespace.useCallback(function (cell) {
|
|
2229
|
+
var nextCell = cell.nextElementSibling;
|
|
2230
|
+
return nextCell ? utils.DomHandler.getAttribute(nextCell, 'data-p-selectable-cell') ? nextCell : findNextSelectableCell(nextCell) : null;
|
|
2231
|
+
}, []);
|
|
2232
|
+
var findPrevSelectableCell = React__namespace.useCallback(function (cell) {
|
|
2233
|
+
var prevCell = cell.previousElementSibling;
|
|
2234
|
+
return prevCell ? utils.DomHandler.getAttribute(prevCell, 'data-p-selectable-cell') ? prevCell : findPrevSelectableCell(prevCell) : null;
|
|
2235
|
+
}, []);
|
|
2236
|
+
var findDownSelectableCell = React__namespace.useCallback(function (cell, cellIndex) {
|
|
2237
|
+
var downRow = cell.parentElement.nextElementSibling;
|
|
2238
|
+
var downCell = downRow ? downRow.children[cellIndex] : null;
|
|
2239
|
+
return downRow && downCell ? utils.DomHandler.getAttribute(downRow, 'data-p-selectable-row') && utils.DomHandler.getAttribute(downCell, 'data-p-selectable-cell') ? downCell : findDownSelectableCell(downCell) : null;
|
|
2240
|
+
}, []);
|
|
2241
|
+
var findUpSelectableCell = React__namespace.useCallback(function (cell, cellIndex) {
|
|
2242
|
+
var upRow = cell.parentElement.previousElementSibling;
|
|
2243
|
+
var upCell = upRow ? upRow.children[cellIndex] : null;
|
|
2244
|
+
return upRow && upCell ? utils.DomHandler.getAttribute(upRow, 'data-p-selectable-row') && utils.DomHandler.getAttribute(upCell, 'data-p-selectable-cell') ? upCell : findUpSelectableCell(upCell) : null;
|
|
2245
|
+
}, []);
|
|
2246
|
+
var focusOnElement = React__namespace.useCallback(function (focusTimeoutRef, editingState, elementRef, keyHelperRef) {
|
|
2247
|
+
clearTimeout(focusTimeoutRef.current);
|
|
2248
|
+
focusTimeoutRef.current = setTimeout(function () {
|
|
2249
|
+
if (editingState) {
|
|
2250
|
+
var focusableEl = props.editMode === 'cell' ? utils.DomHandler.getFirstFocusableElement(elementRef.current, ':not([data-pc-section="editorkeyhelperlabel"])') : utils.DomHandler.findSingle(elementRef.current, '[data-p-row-editor-save="true"]');
|
|
2251
|
+
focusableEl && focusableEl.focus();
|
|
2252
|
+
}
|
|
2253
|
+
keyHelperRef.current && (keyHelperRef.current.tabIndex = editingState ? -1 : 0);
|
|
2254
|
+
}, 1);
|
|
2255
|
+
}, [props.editMode]);
|
|
2256
|
+
var focusOnInit = React__namespace.useCallback(function (initFocusTimeoutRef, elementRef) {
|
|
2257
|
+
clearTimeout(initFocusTimeoutRef.current);
|
|
2258
|
+
initFocusTimeoutRef.current = setTimeout(function () {
|
|
2259
|
+
var focusableEl = props.editMode === 'row' ? utils.DomHandler.findSingle(elementRef.current, '[data-p-row-editor-init="true"]') : null;
|
|
2260
|
+
focusableEl && focusableEl.focus();
|
|
2261
|
+
}, 1);
|
|
2262
|
+
}, [props.editMode]);
|
|
2263
|
+
var updateStickyPosition = React__namespace.useCallback(function (elementRef, frozen, alignFrozen, styleObjectState, setStyleObjectState) {
|
|
2264
|
+
if (frozen) {
|
|
2265
|
+
var styleObject = _objectSpread$a({}, styleObjectState);
|
|
2266
|
+
if (alignFrozen === 'right') {
|
|
2267
|
+
var right = 0;
|
|
2268
|
+
var next = elementRef.current && elementRef.current.nextElementSibling;
|
|
2269
|
+
if (next && next.classList.contains('p-frozen-column')) {
|
|
2270
|
+
right = utils.DomHandler.getOuterWidth(next) + parseFloat(next.style.right || 0);
|
|
2271
|
+
}
|
|
2272
|
+
styleObject.right = right + 'px';
|
|
2273
|
+
} else {
|
|
2274
|
+
var left = 0;
|
|
2275
|
+
var prev = elementRef.current && elementRef.current.previousElementSibling;
|
|
2276
|
+
if (prev && prev.classList.contains('p-frozen-column')) {
|
|
2277
|
+
left = utils.DomHandler.getOuterWidth(prev) + parseFloat(prev.style.left || 0);
|
|
2278
|
+
}
|
|
2279
|
+
styleObject.left = left + 'px';
|
|
2280
|
+
}
|
|
2281
|
+
var isSameStyle = styleObjectState.left === styleObject.left && styleObjectState.right === styleObject.right;
|
|
2282
|
+
!isSameStyle && setStyleObjectState(styleObject);
|
|
2283
|
+
}
|
|
2284
|
+
}, []);
|
|
2285
|
+
var onCellClick = function onCellClick(event, params, isEditable, editingState, setEditingState, selfClick, column, bindDocumentClickListener, overlayEventListener, isOutsideClicked) {
|
|
2286
|
+
if (props.editMode !== 'row' && isEditable && !editingState && (props.selectOnEdit || !props.selectOnEdit && props.isRowSelected)) {
|
|
2287
|
+
selfClick.current = true;
|
|
2288
|
+
var onBeforeCellEditShow = getColumnProp(column, 'onBeforeCellEditShow');
|
|
2289
|
+
var onCellEditInit = getColumnProp(column, 'onCellEditInit');
|
|
2290
|
+
var cellEditValidatorEvent = getColumnProp(column, 'cellEditValidatorEvent');
|
|
2291
|
+
if (onBeforeCellEditShow) {
|
|
2292
|
+
// if user returns false do not show the editor
|
|
2293
|
+
if (onBeforeCellEditShow(params) === false) {
|
|
2294
|
+
return;
|
|
2295
|
+
}
|
|
2296
|
+
|
|
2297
|
+
// if user prevents default stop the editor
|
|
2298
|
+
if (event && event.defaultPrevented) {
|
|
2299
|
+
return;
|
|
2300
|
+
}
|
|
2301
|
+
}
|
|
2302
|
+
|
|
2303
|
+
// If the data is sorted using sort icon, it has been added to wait for the sort operation when any cell is wanted to be opened.
|
|
2304
|
+
setTimeout(function () {
|
|
2305
|
+
setEditingState(true);
|
|
2306
|
+
if (onCellEditInit) {
|
|
2307
|
+
if (onCellEditInit(params) === false) {
|
|
2308
|
+
return;
|
|
2309
|
+
}
|
|
2310
|
+
|
|
2311
|
+
// if user prevents default stop the editor
|
|
2312
|
+
if (event && event.defaultPrevented) {
|
|
2313
|
+
return;
|
|
2314
|
+
}
|
|
2315
|
+
}
|
|
2316
|
+
if (cellEditValidatorEvent === 'click') {
|
|
2317
|
+
bindDocumentClickListener();
|
|
2318
|
+
overlayEventListener.current = function (e) {
|
|
2319
|
+
if (!isOutsideClicked(e.target)) {
|
|
2320
|
+
selfClick.current = true;
|
|
2321
|
+
}
|
|
2322
|
+
};
|
|
2323
|
+
overlayservice.OverlayService.on('overlay-click', overlayEventListener.current);
|
|
2324
|
+
}
|
|
2325
|
+
}, 1);
|
|
2326
|
+
}
|
|
2327
|
+
if (props.allowCellSelection && props.onCellClick) {
|
|
2328
|
+
props.onCellClick(params);
|
|
2329
|
+
}
|
|
2330
|
+
};
|
|
2327
2331
|
var createContent = function createContent() {
|
|
2328
2332
|
return props.columns.map(function (col, i) {
|
|
2329
2333
|
if (shouldRenderBodyCell(props.value, col, props.index)) {
|
|
2330
2334
|
var key = "".concat(props.rowIndex, "_").concat(getColumnProp(col, 'columnKey') || getColumnProp(col, 'field'), "_").concat(i);
|
|
2331
2335
|
var rowSpan = props.rowGroupMode === 'rowspan' ? calculateRowGroupSize(props.value, col, props.index) : null;
|
|
2332
|
-
|
|
2336
|
+
var field = getColumnProp(col, 'field') || "field_".concat(i);
|
|
2337
|
+
var resolveFieldData = function resolveFieldData(data) {
|
|
2338
|
+
return utils.ObjectUtils.resolveFieldData(data || props.rowData, field);
|
|
2339
|
+
};
|
|
2340
|
+
var selectionMode = getColumnProp(col, 'selectionMode');
|
|
2341
|
+
var cellProps = mergeProps({
|
|
2333
2342
|
hostName: props.hostName,
|
|
2334
|
-
key: key,
|
|
2335
2343
|
allowCellSelection: props.allowCellSelection,
|
|
2344
|
+
cellMemo: props.cellMemo,
|
|
2345
|
+
cellMemoProps: props.cellMemoProps,
|
|
2346
|
+
cellMemoPropsDepth: props.cellMemoPropsDepth,
|
|
2336
2347
|
cellClassName: props.cellClassName,
|
|
2337
2348
|
checkIcon: props.checkIcon,
|
|
2338
2349
|
collapsedRowIcon: props.collapsedRowIcon,
|
|
2350
|
+
field: field,
|
|
2351
|
+
resolveFieldData: resolveFieldData,
|
|
2339
2352
|
column: col,
|
|
2340
|
-
|
|
2353
|
+
cProps: props.colsProps[i],
|
|
2341
2354
|
dataKey: props.dataKey,
|
|
2342
2355
|
editMode: props.editMode,
|
|
2343
2356
|
editing: editing,
|
|
2344
2357
|
editingMeta: props.editingMeta,
|
|
2358
|
+
onEditingMetaChange: props.onEditingMetaChange,
|
|
2359
|
+
editingKey: editingKey,
|
|
2360
|
+
getEditingRowData: getEditingRowData,
|
|
2345
2361
|
expanded: props.expanded,
|
|
2346
2362
|
expandedRowIcon: props.expandedRowIcon,
|
|
2347
2363
|
frozenRow: props.frozenRow,
|
|
2364
|
+
frozenCol: getColumnProp(col, 'frozen'),
|
|
2365
|
+
alignFrozenCol: getColumnProp(col, 'alignFrozen'),
|
|
2348
2366
|
index: i,
|
|
2349
2367
|
isSelectable: props.isSelectable,
|
|
2350
|
-
onCheckboxChange:
|
|
2351
|
-
onClick:
|
|
2352
|
-
onEditingMetaChange: props.onEditingMetaChange,
|
|
2368
|
+
onCheckboxChange: onCheckboxChange,
|
|
2369
|
+
onClick: onCellClick,
|
|
2353
2370
|
onMouseDown: props.onCellMouseDown,
|
|
2354
2371
|
onMouseUp: props.onCellMouseUp,
|
|
2355
2372
|
onRadioChange: props.onRadioChange,
|
|
@@ -2365,20 +2382,31 @@ var BodyRow = /*#__PURE__*/React__namespace.memo(function (props) {
|
|
|
2365
2382
|
rowIndex: props.rowIndex,
|
|
2366
2383
|
rowSpan: rowSpan,
|
|
2367
2384
|
selectOnEdit: props.selectOnEdit,
|
|
2368
|
-
|
|
2369
|
-
|
|
2385
|
+
isRowSelected: isRowSelected,
|
|
2386
|
+
isCellSelected: isCellSelected(props.selection, field, i),
|
|
2370
2387
|
selectionAriaLabel: props.tableProps.selectionAriaLabel,
|
|
2371
2388
|
showRowReorderElement: props.showRowReorderElement,
|
|
2372
2389
|
showSelectionElement: props.showSelectionElement,
|
|
2373
2390
|
tabIndex: props.tabIndex,
|
|
2391
|
+
getTabIndex: getTabIndexCell,
|
|
2374
2392
|
tableProps: props.tableProps,
|
|
2375
2393
|
tableSelector: props.tableSelector,
|
|
2376
2394
|
value: props.value,
|
|
2377
|
-
|
|
2395
|
+
getVirtualScrollerOption: getVirtualScrollerOption,
|
|
2378
2396
|
ptCallbacks: props.ptCallbacks,
|
|
2379
2397
|
metaData: props.metaData,
|
|
2380
|
-
unstyled: props.unstyled
|
|
2398
|
+
unstyled: props.unstyled,
|
|
2399
|
+
findNextSelectableCell: findNextSelectableCell,
|
|
2400
|
+
findPrevSelectableCell: findPrevSelectableCell,
|
|
2401
|
+
findDownSelectableCell: findDownSelectableCell,
|
|
2402
|
+
findUpSelectableCell: findUpSelectableCell,
|
|
2403
|
+
focusOnElement: focusOnElement,
|
|
2404
|
+
focusOnInit: focusOnInit,
|
|
2405
|
+
updateStickyPosition: updateStickyPosition
|
|
2381
2406
|
});
|
|
2407
|
+
return /*#__PURE__*/React__namespace.createElement(React.Fragment, {
|
|
2408
|
+
key: key
|
|
2409
|
+
}, selectionMode ? /*#__PURE__*/React__namespace.createElement(RadioCheckCell, cellProps) : /*#__PURE__*/React__namespace.createElement(BodyCell, cellProps));
|
|
2382
2410
|
}
|
|
2383
2411
|
return null;
|
|
2384
2412
|
});
|
|
@@ -2528,8 +2556,11 @@ var TableBody = /*#__PURE__*/React__namespace.memo(/*#__PURE__*/React__namespace
|
|
|
2528
2556
|
var getColumnProps = function getColumnProps(column) {
|
|
2529
2557
|
return ColumnBase.getCProps(column);
|
|
2530
2558
|
};
|
|
2559
|
+
var cProps = getColumnProps(props.column);
|
|
2560
|
+
var colsProps = props.columns ? props.columns.map(function (col) {
|
|
2561
|
+
return getColumnProps(col);
|
|
2562
|
+
}) : [];
|
|
2531
2563
|
var getColumnPTOptions = function getColumnPTOptions(key) {
|
|
2532
|
-
var cProps = getColumnProps(props.column);
|
|
2533
2564
|
var columnMetaData = {
|
|
2534
2565
|
props: cProps,
|
|
2535
2566
|
parent: props.metaData,
|
|
@@ -2654,8 +2685,12 @@ var TableBody = /*#__PURE__*/React__namespace.memo(/*#__PURE__*/React__namespace
|
|
|
2654
2685
|
var allowSelection = function allowSelection(event) {
|
|
2655
2686
|
return !utils.DomHandler.isClickable(event.originalEvent.target);
|
|
2656
2687
|
};
|
|
2688
|
+
var metaKeySelectionRef = React__namespace.useRef(props.metaKeySelection);
|
|
2689
|
+
React__namespace.useEffect(function () {
|
|
2690
|
+
metaKeySelectionRef.current = props.metaKeySelection;
|
|
2691
|
+
}, [props.metaKeySelection]);
|
|
2657
2692
|
var allowMetaKeySelection = function allowMetaKeySelection(event) {
|
|
2658
|
-
return !rowTouched.current && (!
|
|
2693
|
+
return !rowTouched.current && (!metaKeySelectionRef.current || metaKeySelectionRef.current && (event.originalEvent.metaKey || event.originalEvent.ctrlKey));
|
|
2659
2694
|
};
|
|
2660
2695
|
var allowRangeSelection = function allowRangeSelection(event) {
|
|
2661
2696
|
return isMultipleSelection() && event.originalEvent.shiftKey && anchorRowIndex.current !== null;
|
|
@@ -2676,9 +2711,6 @@ var TableBody = /*#__PURE__*/React__namespace.memo(/*#__PURE__*/React__namespace
|
|
|
2676
2711
|
options = options || props.virtualScrollerOptions;
|
|
2677
2712
|
return options ? options[option] : null;
|
|
2678
2713
|
};
|
|
2679
|
-
var getProcessedDataIndex = function getProcessedDataIndex(rowIndex) {
|
|
2680
|
-
return props.lazy ? rowIndex - props.first : rowIndex;
|
|
2681
|
-
};
|
|
2682
2714
|
var findIndex = function findIndex(collection, rowData) {
|
|
2683
2715
|
return (collection || []).findIndex(function (data) {
|
|
2684
2716
|
return equals(rowData, data);
|
|
@@ -2728,6 +2760,10 @@ var TableBody = /*#__PURE__*/React__namespace.memo(/*#__PURE__*/React__namespace
|
|
|
2728
2760
|
});
|
|
2729
2761
|
}
|
|
2730
2762
|
};
|
|
2763
|
+
var selectionRef = React__namespace.useRef(props.selection);
|
|
2764
|
+
React__namespace.useEffect(function () {
|
|
2765
|
+
selectionRef.current = props.selection;
|
|
2766
|
+
}, [props.selection]);
|
|
2731
2767
|
var onSingleSelection = function onSingleSelection(_ref) {
|
|
2732
2768
|
var originalEvent = _ref.originalEvent,
|
|
2733
2769
|
data = _ref.data,
|
|
@@ -2741,10 +2777,11 @@ var TableBody = /*#__PURE__*/React__namespace.memo(/*#__PURE__*/React__namespace
|
|
|
2741
2777
|
return;
|
|
2742
2778
|
}
|
|
2743
2779
|
var selected = isSelected(data);
|
|
2744
|
-
var
|
|
2780
|
+
var currentSelection = selectionRef.current || [];
|
|
2781
|
+
var newSelection = currentSelection;
|
|
2745
2782
|
if (selected) {
|
|
2746
2783
|
if (toggleable) {
|
|
2747
|
-
|
|
2784
|
+
newSelection = null;
|
|
2748
2785
|
onUnselect({
|
|
2749
2786
|
originalEvent: originalEvent,
|
|
2750
2787
|
data: data,
|
|
@@ -2752,7 +2789,7 @@ var TableBody = /*#__PURE__*/React__namespace.memo(/*#__PURE__*/React__namespace
|
|
|
2752
2789
|
});
|
|
2753
2790
|
}
|
|
2754
2791
|
} else {
|
|
2755
|
-
|
|
2792
|
+
newSelection = data;
|
|
2756
2793
|
onSelect({
|
|
2757
2794
|
originalEvent: originalEvent,
|
|
2758
2795
|
data: data,
|
|
@@ -2760,10 +2797,10 @@ var TableBody = /*#__PURE__*/React__namespace.memo(/*#__PURE__*/React__namespace
|
|
|
2760
2797
|
});
|
|
2761
2798
|
}
|
|
2762
2799
|
focusOnElement(originalEvent, true);
|
|
2763
|
-
if (props.onSelectionChange &&
|
|
2800
|
+
if (props.onSelectionChange && newSelection !== currentSelection) {
|
|
2764
2801
|
props.onSelectionChange({
|
|
2765
2802
|
originalEvent: originalEvent,
|
|
2766
|
-
value:
|
|
2803
|
+
value: newSelection,
|
|
2767
2804
|
type: type
|
|
2768
2805
|
});
|
|
2769
2806
|
}
|
|
@@ -2781,11 +2818,12 @@ var TableBody = /*#__PURE__*/React__namespace.memo(/*#__PURE__*/React__namespace
|
|
|
2781
2818
|
return;
|
|
2782
2819
|
}
|
|
2783
2820
|
var selected = isSelected(data);
|
|
2784
|
-
var
|
|
2821
|
+
var currentSelection = selectionRef.current || [];
|
|
2822
|
+
var newSelection = currentSelection;
|
|
2785
2823
|
if (selected) {
|
|
2786
2824
|
if (toggleable) {
|
|
2787
|
-
var selectionIndex = findIndex(
|
|
2788
|
-
|
|
2825
|
+
var selectionIndex = findIndex(currentSelection, data);
|
|
2826
|
+
newSelection = currentSelection.filter(function (val, i) {
|
|
2789
2827
|
return i !== selectionIndex;
|
|
2790
2828
|
});
|
|
2791
2829
|
onUnselect({
|
|
@@ -2793,15 +2831,15 @@ var TableBody = /*#__PURE__*/React__namespace.memo(/*#__PURE__*/React__namespace
|
|
|
2793
2831
|
data: data,
|
|
2794
2832
|
type: type
|
|
2795
2833
|
});
|
|
2796
|
-
} else if (
|
|
2797
|
-
|
|
2834
|
+
} else if (currentSelection.length) {
|
|
2835
|
+
currentSelection.forEach(function (d) {
|
|
2798
2836
|
return onUnselect({
|
|
2799
2837
|
originalEvent: originalEvent,
|
|
2800
2838
|
data: d,
|
|
2801
2839
|
type: type
|
|
2802
2840
|
});
|
|
2803
2841
|
});
|
|
2804
|
-
|
|
2842
|
+
newSelection = [data];
|
|
2805
2843
|
onSelect({
|
|
2806
2844
|
originalEvent: originalEvent,
|
|
2807
2845
|
data: data,
|
|
@@ -2809,18 +2847,18 @@ var TableBody = /*#__PURE__*/React__namespace.memo(/*#__PURE__*/React__namespace
|
|
|
2809
2847
|
});
|
|
2810
2848
|
}
|
|
2811
2849
|
} else {
|
|
2812
|
-
|
|
2813
|
-
|
|
2850
|
+
newSelection = utils.ObjectUtils.isObject(currentSelection) ? [currentSelection] : currentSelection;
|
|
2851
|
+
newSelection = toggleable && isMultipleSelection() ? [].concat(_toConsumableArray(newSelection), [data]) : [data];
|
|
2814
2852
|
onSelect({
|
|
2815
2853
|
originalEvent: originalEvent,
|
|
2816
2854
|
data: data,
|
|
2817
2855
|
type: type
|
|
2818
2856
|
});
|
|
2819
2857
|
}
|
|
2820
|
-
if (props.onSelectionChange &&
|
|
2858
|
+
if (props.onSelectionChange && newSelection !== currentSelection) {
|
|
2821
2859
|
props.onSelectionChange({
|
|
2822
2860
|
originalEvent: originalEvent,
|
|
2823
|
-
value:
|
|
2861
|
+
value: newSelection,
|
|
2824
2862
|
type: type
|
|
2825
2863
|
});
|
|
2826
2864
|
}
|
|
@@ -2843,16 +2881,14 @@ var TableBody = /*#__PURE__*/React__namespace.memo(/*#__PURE__*/React__namespace
|
|
|
2843
2881
|
var rangeStart;
|
|
2844
2882
|
var rangeEnd;
|
|
2845
2883
|
var isAllowCellSelection = allowCellSelection();
|
|
2846
|
-
|
|
2847
|
-
|
|
2848
|
-
|
|
2849
|
-
|
|
2850
|
-
|
|
2851
|
-
|
|
2852
|
-
rangeStart = rangeRowIndexInProcessedData;
|
|
2853
|
-
rangeEnd = anchorRowIndexInProcessedData;
|
|
2884
|
+
if (rangeRowIndex.current > anchorRowIndex.current) {
|
|
2885
|
+
rangeStart = anchorRowIndex.current;
|
|
2886
|
+
rangeEnd = rangeRowIndex.current;
|
|
2887
|
+
} else if (rangeRowIndex.current < anchorRowIndex.current) {
|
|
2888
|
+
rangeStart = rangeRowIndex.current;
|
|
2889
|
+
rangeEnd = anchorRowIndex.current;
|
|
2854
2890
|
} else {
|
|
2855
|
-
rangeStart = rangeEnd =
|
|
2891
|
+
rangeStart = rangeEnd = rangeRowIndex.current;
|
|
2856
2892
|
}
|
|
2857
2893
|
return isAllowCellSelection ? selectRangeOnCell(event, rangeStart, rangeEnd) : selectRangeOnRow(event, rangeStart, rangeEnd);
|
|
2858
2894
|
};
|
|
@@ -2893,7 +2929,7 @@ var TableBody = /*#__PURE__*/React__namespace.memo(/*#__PURE__*/React__namespace
|
|
|
2893
2929
|
for (var i = rowRangeStart; i <= rowRangeEnd; i++) {
|
|
2894
2930
|
var rowData = value[i];
|
|
2895
2931
|
var columns = props.columns;
|
|
2896
|
-
var rowIndex = props.
|
|
2932
|
+
var rowIndex = props.paginator ? i + props.first : i;
|
|
2897
2933
|
for (var j = cellRangeStart; j <= cellRangeEnd; j++) {
|
|
2898
2934
|
var field = getColumnProp(columns[j], 'field');
|
|
2899
2935
|
var _value = utils.ObjectUtils.resolveFieldData(rowData, field);
|
|
@@ -3092,13 +3128,17 @@ var TableBody = /*#__PURE__*/React__namespace.memo(/*#__PURE__*/React__namespace
|
|
|
3092
3128
|
onRangeSelection(event, 'row');
|
|
3093
3129
|
}
|
|
3094
3130
|
};
|
|
3131
|
+
var expandedRowsRef = React__namespace.useRef(props.expandedRows);
|
|
3132
|
+
React__namespace.useEffect(function () {
|
|
3133
|
+
expandedRowsRef.current = props.expandedRows;
|
|
3134
|
+
}, [props.expandedRows]);
|
|
3095
3135
|
var onRowToggle = function onRowToggle(event) {
|
|
3096
3136
|
var expandedRows;
|
|
3097
3137
|
var dataKey = props.dataKey;
|
|
3098
3138
|
var hasDataKey = props.groupRowsBy ? dataKey === props.groupRowsBy : !!dataKey;
|
|
3099
3139
|
if (hasDataKey) {
|
|
3100
3140
|
var dataKeyValue = String(utils.ObjectUtils.resolveFieldData(event.data, dataKey));
|
|
3101
|
-
expandedRows =
|
|
3141
|
+
expandedRows = expandedRowsRef.current ? _objectSpread$8({}, expandedRowsRef.current) : {};
|
|
3102
3142
|
if (expandedRows[dataKeyValue] != null) {
|
|
3103
3143
|
delete expandedRows[dataKeyValue];
|
|
3104
3144
|
if (props.onRowCollapse) {
|
|
@@ -3117,8 +3157,8 @@ var TableBody = /*#__PURE__*/React__namespace.memo(/*#__PURE__*/React__namespace
|
|
|
3117
3157
|
}
|
|
3118
3158
|
}
|
|
3119
3159
|
} else {
|
|
3120
|
-
var expandedRowIndex = findIndex(
|
|
3121
|
-
expandedRows =
|
|
3160
|
+
var expandedRowIndex = findIndex(expandedRowsRef.current, event.data);
|
|
3161
|
+
expandedRows = expandedRowsRef.current ? _toConsumableArray(expandedRowsRef.current) : [];
|
|
3122
3162
|
if (expandedRowIndex !== -1) {
|
|
3123
3163
|
expandedRows = expandedRows.filter(function (_, i) {
|
|
3124
3164
|
return i !== expandedRowIndex;
|
|
@@ -3368,7 +3408,7 @@ var TableBody = /*#__PURE__*/React__namespace.memo(/*#__PURE__*/React__namespace
|
|
|
3368
3408
|
return null;
|
|
3369
3409
|
};
|
|
3370
3410
|
var createGroupHeader = function createGroupHeader(rowData, rowIndex, expanded, colSpan) {
|
|
3371
|
-
if (isSubheaderGrouping && shouldRenderRowGroupHeader(props.value, rowData,
|
|
3411
|
+
if (isSubheaderGrouping && shouldRenderRowGroupHeader(props.value, rowData, rowIndex - props.first)) {
|
|
3372
3412
|
var style = rowGroupHeaderStyle();
|
|
3373
3413
|
var toggler = props.expandableRowGroups && /*#__PURE__*/React__namespace.createElement(RowTogglerButton, {
|
|
3374
3414
|
hostName: props.hostName,
|
|
@@ -3418,10 +3458,14 @@ var TableBody = /*#__PURE__*/React__namespace.memo(/*#__PURE__*/React__namespace
|
|
|
3418
3458
|
hostName: props.hostName,
|
|
3419
3459
|
allowCellSelection: _allowCellSelection,
|
|
3420
3460
|
allowRowSelection: _allowRowSelection,
|
|
3461
|
+
cellMemo: props.cellMemo,
|
|
3462
|
+
cellMemoProps: props.cellMemoProps,
|
|
3463
|
+
cellMemoPropsDepth: props.cellMemoPropsDepth,
|
|
3421
3464
|
cellClassName: props.cellClassName,
|
|
3422
3465
|
checkIcon: props.checkIcon,
|
|
3423
3466
|
collapsedRowIcon: props.collapsedRowIcon,
|
|
3424
3467
|
columns: props.columns,
|
|
3468
|
+
colsProps: colsProps,
|
|
3425
3469
|
compareSelectionBy: props.compareSelectionBy,
|
|
3426
3470
|
contextMenuSelected: contextMenuSelected,
|
|
3427
3471
|
dataKey: props.dataKey,
|
|
@@ -3809,6 +3853,7 @@ var FilterMatchMode = Object.freeze({
|
|
|
3809
3853
|
EQUALS: 'equals',
|
|
3810
3854
|
NOT_EQUALS: 'notEquals',
|
|
3811
3855
|
IN: 'in',
|
|
3856
|
+
NOT_IN: 'notIn',
|
|
3812
3857
|
LESS_THAN: 'lt',
|
|
3813
3858
|
LESS_THAN_OR_EQUAL_TO: 'lte',
|
|
3814
3859
|
GREATER_THAN: 'gt',
|
|
@@ -3897,6 +3942,7 @@ var locales = {
|
|
|
3897
3942
|
emptySelectionMessage: 'No selected item',
|
|
3898
3943
|
endsWith: 'Ends with',
|
|
3899
3944
|
equals: 'Equals',
|
|
3945
|
+
fileChosenMessage: '{0} files',
|
|
3900
3946
|
fileSizeTypes: ['B', 'KB', 'MB', 'GB', 'TB', 'PB', 'EB', 'ZB', 'YB'],
|
|
3901
3947
|
filter: 'Filter',
|
|
3902
3948
|
firstDayOfWeek: 0,
|
|
@@ -3915,6 +3961,7 @@ var locales = {
|
|
|
3915
3961
|
nextMonth: 'Next Month',
|
|
3916
3962
|
nextSecond: 'Next Second',
|
|
3917
3963
|
nextYear: 'Next Year',
|
|
3964
|
+
noFileChosenMessage: 'No file chosen',
|
|
3918
3965
|
noFilter: 'No Filter',
|
|
3919
3966
|
notContains: 'Not contains',
|
|
3920
3967
|
notEquals: 'Not equals',
|
|
@@ -3942,8 +3989,10 @@ var locales = {
|
|
|
3942
3989
|
aria: {
|
|
3943
3990
|
cancelEdit: 'Cancel Edit',
|
|
3944
3991
|
close: 'Close',
|
|
3992
|
+
collapseLabel: 'Collapse',
|
|
3945
3993
|
collapseRow: 'Row Collapsed',
|
|
3946
3994
|
editRow: 'Edit Row',
|
|
3995
|
+
expandLabel: 'Expand',
|
|
3947
3996
|
expandRow: 'Row Expanded',
|
|
3948
3997
|
falseLabel: 'False',
|
|
3949
3998
|
filterConstraint: 'Filter Constraint',
|
|
@@ -3968,18 +4017,20 @@ var locales = {
|
|
|
3968
4017
|
next: 'Next',
|
|
3969
4018
|
nextPageLabel: 'Next Page',
|
|
3970
4019
|
nullLabel: 'Not Selected',
|
|
3971
|
-
pageLabel: 'Page {page}',
|
|
3972
4020
|
otpLabel: 'Please enter one time password character {0}',
|
|
4021
|
+
pageLabel: 'Page {page}',
|
|
3973
4022
|
passwordHide: 'Hide Password',
|
|
3974
4023
|
passwordShow: 'Show Password',
|
|
3975
4024
|
previous: 'Previous',
|
|
3976
4025
|
prevPageLabel: 'Previous Page',
|
|
4026
|
+
removeLabel: 'Remove',
|
|
3977
4027
|
rotateLeft: 'Rotate Left',
|
|
3978
4028
|
rotateRight: 'Rotate Right',
|
|
3979
4029
|
rowsPerPageLabel: 'Rows per page',
|
|
3980
4030
|
saveEdit: 'Save Edit',
|
|
3981
4031
|
scrollTop: 'Scroll Top',
|
|
3982
4032
|
selectAll: 'All items selected',
|
|
4033
|
+
selectLabel: 'Select',
|
|
3983
4034
|
selectRow: 'Row Selected',
|
|
3984
4035
|
showFilterMenu: 'Show Filter Menu',
|
|
3985
4036
|
slide: 'Slide',
|
|
@@ -3988,6 +4039,7 @@ var locales = {
|
|
|
3988
4039
|
stars: '{star} stars',
|
|
3989
4040
|
trueLabel: 'True',
|
|
3990
4041
|
unselectAll: 'All items unselected',
|
|
4042
|
+
unselectLabel: 'Unselect',
|
|
3991
4043
|
unselectRow: 'Row Unselected',
|
|
3992
4044
|
zoomImage: 'Zoom Image',
|
|
3993
4045
|
zoomIn: 'Zoom In',
|
|
@@ -4205,9 +4257,17 @@ var ColumnFilter = /*#__PURE__*/React__namespace.memo(function (props) {
|
|
|
4205
4257
|
var type = _ref.type,
|
|
4206
4258
|
valid = _ref.valid;
|
|
4207
4259
|
if (valid) {
|
|
4208
|
-
type === 'outside'
|
|
4260
|
+
if (type === 'outside') {
|
|
4261
|
+
if (!selfClick.current && !isTargetClicked(event.target)) {
|
|
4262
|
+
hide();
|
|
4263
|
+
}
|
|
4264
|
+
selfClick.current = false;
|
|
4265
|
+
} else if (context.hideOverlaysOnDocumentScrolling) {
|
|
4266
|
+
hide();
|
|
4267
|
+
} else if (!utils.DomHandler.isDocument(event.target)) {
|
|
4268
|
+
utils.DomHandler.alignOverlay(overlayRef.current, iconRef.current, context && context.appendTo || PrimeReact__default["default"].appendTo, false);
|
|
4269
|
+
}
|
|
4209
4270
|
}
|
|
4210
|
-
selfClick.current = false;
|
|
4211
4271
|
},
|
|
4212
4272
|
when: overlayVisibleState
|
|
4213
4273
|
}),
|
|
@@ -6906,58 +6966,60 @@ var DataTable = /*#__PURE__*/React__namespace.forwardRef(function (inProps, ref)
|
|
|
6906
6966
|
var exportCSV = function exportCSV(options) {
|
|
6907
6967
|
var data;
|
|
6908
6968
|
var csv = "\uFEFF";
|
|
6909
|
-
var columns = getColumns();
|
|
6910
6969
|
if (options && options.selectionOnly) {
|
|
6911
6970
|
data = props.selection || [];
|
|
6912
6971
|
} else {
|
|
6913
6972
|
data = [].concat(_toConsumableArray(props.frozenValue || []), _toConsumableArray(processedData() || []));
|
|
6914
6973
|
}
|
|
6915
6974
|
|
|
6916
|
-
//
|
|
6917
|
-
|
|
6918
|
-
var
|
|
6975
|
+
// First build collection of exportable columns
|
|
6976
|
+
var exportableColumns = getColumns().filter(function (column) {
|
|
6977
|
+
var exportable = getColumnProp(column, 'exportable');
|
|
6978
|
+
var field = getColumnProp(column, 'field');
|
|
6979
|
+
|
|
6980
|
+
// Column must be exportable (or undefined/not set) and have a field defined
|
|
6981
|
+
return exportable !== false && field;
|
|
6982
|
+
});
|
|
6983
|
+
|
|
6984
|
+
// headers
|
|
6985
|
+
exportableColumns.forEach(function (column, i) {
|
|
6986
|
+
var _ref5 = [getColumnProp(column, 'field'), getColumnProp(column, 'header'), getColumnProp(column, 'exportHeader')],
|
|
6919
6987
|
field = _ref5[0],
|
|
6920
6988
|
header = _ref5[1],
|
|
6921
|
-
exportHeader = _ref5[2]
|
|
6922
|
-
|
|
6923
|
-
|
|
6924
|
-
|
|
6925
|
-
csv = csv +
|
|
6926
|
-
if (i < columns.length - 1) {
|
|
6927
|
-
csv = csv + props.csvSeparator;
|
|
6928
|
-
}
|
|
6989
|
+
exportHeader = _ref5[2];
|
|
6990
|
+
var columnHeader = String(exportHeader || header || field).replace(/"/g, '""').replace(/\n/g, "\u2028");
|
|
6991
|
+
csv = csv + ('"' + columnHeader + '"');
|
|
6992
|
+
if (i < exportableColumns.length - 1) {
|
|
6993
|
+
csv = csv + props.csvSeparator;
|
|
6929
6994
|
}
|
|
6930
6995
|
});
|
|
6931
6996
|
|
|
6932
|
-
//body
|
|
6997
|
+
// body
|
|
6933
6998
|
data.forEach(function (record) {
|
|
6934
6999
|
csv = csv + '\n';
|
|
6935
|
-
|
|
6936
|
-
var _ref6 = [getColumnProp(column, 'field'), getColumnProp(column, 'exportField')
|
|
7000
|
+
exportableColumns.forEach(function (column, i) {
|
|
7001
|
+
var _ref6 = [getColumnProp(column, 'field'), getColumnProp(column, 'exportField')],
|
|
6937
7002
|
colField = _ref6[0],
|
|
6938
|
-
exportField = _ref6[1]
|
|
6939
|
-
exportable = _ref6[2];
|
|
7003
|
+
exportField = _ref6[1];
|
|
6940
7004
|
var field = exportField || colField;
|
|
6941
|
-
|
|
6942
|
-
|
|
6943
|
-
if (
|
|
6944
|
-
|
|
6945
|
-
cellData
|
|
6946
|
-
|
|
6947
|
-
|
|
6948
|
-
|
|
6949
|
-
|
|
6950
|
-
});
|
|
6951
|
-
} else {
|
|
6952
|
-
cellData = String(cellData).replace(/"/g, '""').replace(/\n/g, "\u2028");
|
|
6953
|
-
}
|
|
7005
|
+
var cellData = utils.ObjectUtils.resolveFieldData(record, field);
|
|
7006
|
+
if (cellData != null) {
|
|
7007
|
+
if (props.exportFunction) {
|
|
7008
|
+
cellData = props.exportFunction({
|
|
7009
|
+
data: cellData,
|
|
7010
|
+
field: field,
|
|
7011
|
+
rowData: record,
|
|
7012
|
+
column: column
|
|
7013
|
+
});
|
|
6954
7014
|
} else {
|
|
6955
|
-
cellData = '';
|
|
6956
|
-
}
|
|
6957
|
-
csv = csv + ('"' + cellData + '"');
|
|
6958
|
-
if (i < columns.length - 1) {
|
|
6959
|
-
csv = csv + props.csvSeparator;
|
|
7015
|
+
cellData = String(cellData).replace(/"/g, '""').replace(/\n/g, "\u2028");
|
|
6960
7016
|
}
|
|
7017
|
+
} else {
|
|
7018
|
+
cellData = '';
|
|
7019
|
+
}
|
|
7020
|
+
csv = csv + ('"' + cellData + '"');
|
|
7021
|
+
if (i < exportableColumns.length - 1) {
|
|
7022
|
+
csv = csv + props.csvSeparator;
|
|
6961
7023
|
}
|
|
6962
7024
|
});
|
|
6963
7025
|
});
|
|
@@ -7222,6 +7284,9 @@ var DataTable = /*#__PURE__*/React__namespace.forwardRef(function (inProps, ref)
|
|
|
7222
7284
|
var frozenBody = utils.ObjectUtils.isNotEmpty(props.frozenValue) && /*#__PURE__*/React__namespace.createElement(TableBody, {
|
|
7223
7285
|
hostName: "DataTable",
|
|
7224
7286
|
ref: frozenBodyRef,
|
|
7287
|
+
cellMemo: props.cellMemo,
|
|
7288
|
+
cellMemoProps: props.cellMemoProps,
|
|
7289
|
+
cellMemoPropsDepth: props.cellMemoPropsDepth,
|
|
7225
7290
|
cellClassName: props.cellClassName,
|
|
7226
7291
|
cellSelection: props.cellSelection,
|
|
7227
7292
|
checkIcon: props.checkIcon,
|
|
@@ -7306,6 +7371,9 @@ var DataTable = /*#__PURE__*/React__namespace.forwardRef(function (inProps, ref)
|
|
|
7306
7371
|
var body = /*#__PURE__*/React__namespace.createElement(TableBody, {
|
|
7307
7372
|
hostName: "DataTable",
|
|
7308
7373
|
ref: bodyRef,
|
|
7374
|
+
cellMemo: props.cellMemo,
|
|
7375
|
+
cellMemoProps: props.cellMemoProps,
|
|
7376
|
+
cellMemoPropsDepth: props.cellMemoPropsDepth,
|
|
7309
7377
|
cellClassName: props.cellClassName,
|
|
7310
7378
|
cellSelection: props.cellSelection,
|
|
7311
7379
|
checkIcon: props.checkIcon,
|