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
package/datatable/datatable.js
CHANGED
|
@@ -707,7 +707,7 @@ this.primereact.datatable = (function (exports, React, PrimeReact$1, componentba
|
|
|
707
707
|
return props.checked === props.trueValue;
|
|
708
708
|
};
|
|
709
709
|
var _onChange = function onChange(event) {
|
|
710
|
-
if (props.disabled || props.
|
|
710
|
+
if (props.disabled || props.readOnly) {
|
|
711
711
|
return;
|
|
712
712
|
}
|
|
713
713
|
if (props.onChange) {
|
|
@@ -966,7 +966,7 @@ this.primereact.datatable = (function (exports, React, PrimeReact$1, componentba
|
|
|
966
966
|
onChange(event);
|
|
967
967
|
};
|
|
968
968
|
var onChange = function onChange(event) {
|
|
969
|
-
if (props.disabled || props.
|
|
969
|
+
if (props.disabled || props.readOnly) {
|
|
970
970
|
return;
|
|
971
971
|
}
|
|
972
972
|
if (props.onChange) {
|
|
@@ -1069,7 +1069,7 @@ this.primereact.datatable = (function (exports, React, PrimeReact$1, componentba
|
|
|
1069
1069
|
onBlur: onBlur,
|
|
1070
1070
|
onChange: onChange,
|
|
1071
1071
|
disabled: props.disabled,
|
|
1072
|
-
readOnly: props.
|
|
1072
|
+
readOnly: props.readOnly,
|
|
1073
1073
|
required: props.required,
|
|
1074
1074
|
tabIndex: props.tabIndex,
|
|
1075
1075
|
className: cx('input')
|
|
@@ -1142,7 +1142,7 @@ this.primereact.datatable = (function (exports, React, PrimeReact$1, componentba
|
|
|
1142
1142
|
|
|
1143
1143
|
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; }
|
|
1144
1144
|
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; }
|
|
1145
|
-
var
|
|
1145
|
+
var Cell = function Cell(props) {
|
|
1146
1146
|
var mergeProps = hooks.useMergeProps();
|
|
1147
1147
|
var _React$useState = React__namespace.useState(props.editing),
|
|
1148
1148
|
_React$useState2 = _slicedToArray(_React$useState, 2),
|
|
@@ -1170,13 +1170,9 @@ this.primereact.datatable = (function (exports, React, PrimeReact$1, componentba
|
|
|
1170
1170
|
var getColumnProp = function getColumnProp(name) {
|
|
1171
1171
|
return ColumnBase.getCProp(props.column, name);
|
|
1172
1172
|
};
|
|
1173
|
-
var getColumnProps = function getColumnProps() {
|
|
1174
|
-
return ColumnBase.getCProps(props.column);
|
|
1175
|
-
};
|
|
1176
1173
|
var getColumnPTOptions = function getColumnPTOptions(key) {
|
|
1177
|
-
var cProps = getColumnProps();
|
|
1178
1174
|
var columnMetaData = {
|
|
1179
|
-
props: cProps,
|
|
1175
|
+
props: props.cProps,
|
|
1180
1176
|
parent: props.metaData,
|
|
1181
1177
|
hostName: props.hostName,
|
|
1182
1178
|
state: {
|
|
@@ -1192,10 +1188,8 @@ this.primereact.datatable = (function (exports, React, PrimeReact$1, componentba
|
|
|
1192
1188
|
};
|
|
1193
1189
|
return mergeProps(ptm("column.".concat(key), {
|
|
1194
1190
|
column: columnMetaData
|
|
1195
|
-
}), ptm("column.".concat(key), columnMetaData), ptmo(cProps, key, columnMetaData));
|
|
1191
|
+
}), ptm("column.".concat(key), columnMetaData), ptmo(props.cProps, key, columnMetaData));
|
|
1196
1192
|
};
|
|
1197
|
-
var field = getColumnProp('field') || "field_".concat(props.index);
|
|
1198
|
-
var editingKey = props.dataKey ? props.rowData && props.rowData[props.dataKey] || props.rowIndex : props.rowIndex;
|
|
1199
1193
|
var isEditable = function isEditable() {
|
|
1200
1194
|
return utils.ObjectUtils.isNotEmpty(props.editMode) && getColumnProp('editor');
|
|
1201
1195
|
};
|
|
@@ -1220,34 +1214,22 @@ this.primereact.datatable = (function (exports, React, PrimeReact$1, componentba
|
|
|
1220
1214
|
_useEventListener2 = _slicedToArray(_useEventListener, 2),
|
|
1221
1215
|
bindDocumentClickListener = _useEventListener2[0],
|
|
1222
1216
|
unbindDocumentClickListener = _useEventListener2[1];
|
|
1223
|
-
var isSelected = function isSelected() {
|
|
1224
|
-
return props.selection ? props.selection instanceof Array ? findIndex(props.selection) > -1 : equals(props.selection) : false;
|
|
1225
|
-
};
|
|
1226
|
-
var equalsData = function equalsData(data) {
|
|
1227
|
-
return props.compareSelectionBy === 'equals' ? data === props.rowData : utils.ObjectUtils.equals(data, props.rowData, props.dataKey);
|
|
1228
|
-
};
|
|
1229
|
-
var equals = function equals(selectedCell) {
|
|
1230
|
-
return selectedCell && (selectedCell.rowIndex === props.rowIndex || equalsData(selectedCell.rowData)) && (selectedCell.field === field || selectedCell.cellIndex === props.index);
|
|
1231
|
-
};
|
|
1232
1217
|
var isOutsideClicked = function isOutsideClicked(target) {
|
|
1233
1218
|
return elementRef.current && !(elementRef.current.isSameNode(target) || elementRef.current.contains(target));
|
|
1234
1219
|
};
|
|
1235
|
-
var getVirtualScrollerOption = function getVirtualScrollerOption(option) {
|
|
1236
|
-
return props.virtualScrollerOptions ? props.virtualScrollerOptions[option] : null;
|
|
1237
|
-
};
|
|
1238
1220
|
var getStyle = function getStyle() {
|
|
1239
1221
|
var bodyStyle = getColumnProp('bodyStyle');
|
|
1240
1222
|
var columnStyle = getColumnProp('style');
|
|
1241
|
-
return
|
|
1223
|
+
return props.frozenCol ? Object.assign({}, columnStyle, bodyStyle, styleObjectState) : Object.assign({}, columnStyle, bodyStyle);
|
|
1242
1224
|
};
|
|
1243
1225
|
var getCellParams = function getCellParams() {
|
|
1244
1226
|
return {
|
|
1245
|
-
value: resolveFieldData(),
|
|
1246
|
-
field: field,
|
|
1227
|
+
value: props.resolveFieldData(),
|
|
1228
|
+
field: props.field,
|
|
1247
1229
|
rowData: props.rowData,
|
|
1248
1230
|
rowIndex: props.rowIndex,
|
|
1249
1231
|
cellIndex: props.index,
|
|
1250
|
-
selected:
|
|
1232
|
+
selected: props.isCellSelected,
|
|
1251
1233
|
column: props.column,
|
|
1252
1234
|
props: props
|
|
1253
1235
|
};
|
|
@@ -1258,20 +1240,6 @@ this.primereact.datatable = (function (exports, React, PrimeReact$1, componentba
|
|
|
1258
1240
|
originalEvent: event
|
|
1259
1241
|
}, params);
|
|
1260
1242
|
};
|
|
1261
|
-
var resolveFieldData = function resolveFieldData(data) {
|
|
1262
|
-
return utils.ObjectUtils.resolveFieldData(data || props.rowData, field);
|
|
1263
|
-
};
|
|
1264
|
-
var getEditingRowData = function getEditingRowData() {
|
|
1265
|
-
return props.editingMeta && props.editingMeta[editingKey] ? props.editingMeta[editingKey].data : props.rowData;
|
|
1266
|
-
};
|
|
1267
|
-
var getTabIndex = function getTabIndex(cellSelected) {
|
|
1268
|
-
return props.allowCellSelection ? cellSelected ? 0 : props.rowIndex === 0 && props.index === 0 ? props.tabIndex : -1 : null;
|
|
1269
|
-
};
|
|
1270
|
-
var findIndex = function findIndex(collection) {
|
|
1271
|
-
return (collection || []).findIndex(function (data) {
|
|
1272
|
-
return equals(data);
|
|
1273
|
-
});
|
|
1274
|
-
};
|
|
1275
1243
|
var closeCell = function closeCell(event) {
|
|
1276
1244
|
var params = getCellCallbackParams(event);
|
|
1277
1245
|
var onBeforeCellEditHide = getColumnProp('onBeforeCellEditHide');
|
|
@@ -1292,7 +1260,7 @@ this.primereact.datatable = (function (exports, React, PrimeReact$1, componentba
|
|
|
1292
1260
|
var switchCellToViewMode = function switchCellToViewMode(event, submit) {
|
|
1293
1261
|
var callbackParams = getCellCallbackParams(event);
|
|
1294
1262
|
var newRowData = _objectSpread$b({}, editingRowDataStateRef.current);
|
|
1295
|
-
var newValue = resolveFieldData(newRowData);
|
|
1263
|
+
var newValue = props.resolveFieldData(newRowData);
|
|
1296
1264
|
var params = _objectSpread$b(_objectSpread$b({}, callbackParams), {}, {
|
|
1297
1265
|
newRowData: newRowData,
|
|
1298
1266
|
newValue: newValue
|
|
@@ -1317,128 +1285,20 @@ this.primereact.datatable = (function (exports, React, PrimeReact$1, componentba
|
|
|
1317
1285
|
}
|
|
1318
1286
|
setEditingRowDataState(newRowData);
|
|
1319
1287
|
};
|
|
1320
|
-
var _findNextSelectableCell = function findNextSelectableCell(cell) {
|
|
1321
|
-
var nextCell = cell.nextElementSibling;
|
|
1322
|
-
return nextCell ? utils.DomHandler.getAttribute(nextCell, 'data-p-selectable-cell') ? nextCell : _findNextSelectableCell(nextCell) : null;
|
|
1323
|
-
};
|
|
1324
|
-
var _findPrevSelectableCell = function findPrevSelectableCell(cell) {
|
|
1325
|
-
var prevCell = cell.previousElementSibling;
|
|
1326
|
-
return prevCell ? utils.DomHandler.getAttribute(prevCell, 'data-p-selectable-cell') ? prevCell : _findPrevSelectableCell(prevCell) : null;
|
|
1327
|
-
};
|
|
1328
|
-
var _findDownSelectableCell = function findDownSelectableCell(cell) {
|
|
1329
|
-
var downRow = cell.parentElement.nextElementSibling;
|
|
1330
|
-
var downCell = downRow ? downRow.children[props.index] : null;
|
|
1331
|
-
return downRow && downCell ? utils.DomHandler.getAttribute(downRow, 'data-p-selectable-row') && utils.DomHandler.getAttribute(downCell, 'data-p-selectable-cell') ? downCell : _findDownSelectableCell(downCell) : null;
|
|
1332
|
-
};
|
|
1333
|
-
var _findUpSelectableCell = function findUpSelectableCell(cell) {
|
|
1334
|
-
var upRow = cell.parentElement.previousElementSibling;
|
|
1335
|
-
var upCell = upRow ? upRow.children[props.index] : null;
|
|
1336
|
-
return upRow && upCell ? utils.DomHandler.getAttribute(upRow, 'data-p-selectable-row') && utils.DomHandler.getAttribute(upCell, 'data-p-selectable-cell') ? upCell : _findUpSelectableCell(upCell) : null;
|
|
1337
|
-
};
|
|
1338
|
-
var changeTabIndex = function changeTabIndex(currentCell, nextCell) {
|
|
1339
|
-
if (currentCell && nextCell) {
|
|
1340
|
-
currentCell.tabIndex = -1;
|
|
1341
|
-
nextCell.tabIndex = props.tabIndex;
|
|
1342
|
-
}
|
|
1343
|
-
};
|
|
1344
|
-
var focusOnElement = function focusOnElement() {
|
|
1345
|
-
clearTimeout(focusTimeout.current);
|
|
1346
|
-
focusTimeout.current = setTimeout(function () {
|
|
1347
|
-
if (editingState) {
|
|
1348
|
-
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"]');
|
|
1349
|
-
focusableEl && focusableEl.focus();
|
|
1350
|
-
}
|
|
1351
|
-
keyHelperRef.current && (keyHelperRef.current.tabIndex = editingState ? -1 : 0);
|
|
1352
|
-
}, 1);
|
|
1353
|
-
};
|
|
1354
|
-
var focusOnInit = function focusOnInit() {
|
|
1355
|
-
clearTimeout(initFocusTimeout.current);
|
|
1356
|
-
initFocusTimeout.current = setTimeout(function () {
|
|
1357
|
-
var focusableEl = props.editMode === 'row' ? utils.DomHandler.findSingle(elementRef.current, '[data-p-row-editor-init="true"]') : null;
|
|
1358
|
-
focusableEl && focusableEl.focus();
|
|
1359
|
-
}, 1);
|
|
1360
|
-
};
|
|
1361
|
-
var updateStickyPosition = function updateStickyPosition() {
|
|
1362
|
-
if (getColumnProp('frozen')) {
|
|
1363
|
-
var styleObject = _objectSpread$b({}, styleObjectState);
|
|
1364
|
-
var align = getColumnProp('alignFrozen');
|
|
1365
|
-
if (align === 'right') {
|
|
1366
|
-
var right = 0;
|
|
1367
|
-
var next = elementRef.current && elementRef.current.nextElementSibling;
|
|
1368
|
-
if (next && next.classList.contains('p-frozen-column')) {
|
|
1369
|
-
right = utils.DomHandler.getOuterWidth(next) + parseFloat(next.style.right || 0);
|
|
1370
|
-
}
|
|
1371
|
-
styleObject.right = right + 'px';
|
|
1372
|
-
} else {
|
|
1373
|
-
var left = 0;
|
|
1374
|
-
var prev = elementRef.current && elementRef.current.previousElementSibling;
|
|
1375
|
-
if (prev && prev.classList.contains('p-frozen-column')) {
|
|
1376
|
-
left = utils.DomHandler.getOuterWidth(prev) + parseFloat(prev.style.left || 0);
|
|
1377
|
-
}
|
|
1378
|
-
styleObject.left = left + 'px';
|
|
1379
|
-
}
|
|
1380
|
-
var isSameStyle = styleObjectState.left === styleObject.left && styleObjectState.right === styleObject.right;
|
|
1381
|
-
!isSameStyle && setStyleObjectState(styleObject);
|
|
1382
|
-
}
|
|
1383
|
-
};
|
|
1384
1288
|
var editorCallback = function editorCallback(val) {
|
|
1385
1289
|
var editingRowData = _objectSpread$b({}, editingRowDataState);
|
|
1386
|
-
utils.ObjectUtils.mutateFieldData(editingRowData, field, val);
|
|
1290
|
+
utils.ObjectUtils.mutateFieldData(editingRowData, props.field, val);
|
|
1387
1291
|
setEditingRowDataState(editingRowData);
|
|
1388
1292
|
|
|
1389
1293
|
// update editing meta for complete methods on row mode
|
|
1390
|
-
var currentData = getEditingRowData();
|
|
1294
|
+
var currentData = props.getEditingRowData();
|
|
1391
1295
|
if (currentData) {
|
|
1392
|
-
utils.ObjectUtils.mutateFieldData(currentData, field, val);
|
|
1296
|
+
utils.ObjectUtils.mutateFieldData(currentData, props.field, val);
|
|
1393
1297
|
}
|
|
1394
1298
|
editingRowDataStateRef.current = editingRowData;
|
|
1395
1299
|
};
|
|
1396
1300
|
var _onClick = function onClick(event) {
|
|
1397
|
-
|
|
1398
|
-
if (props.editMode !== 'row' && isEditable() && !editingState && (props.selectOnEdit || !props.selectOnEdit && props.selected)) {
|
|
1399
|
-
selfClick.current = true;
|
|
1400
|
-
var onBeforeCellEditShow = getColumnProp('onBeforeCellEditShow');
|
|
1401
|
-
var onCellEditInit = getColumnProp('onCellEditInit');
|
|
1402
|
-
var cellEditValidatorEvent = getColumnProp('cellEditValidatorEvent');
|
|
1403
|
-
if (onBeforeCellEditShow) {
|
|
1404
|
-
// if user returns false do not show the editor
|
|
1405
|
-
if (onBeforeCellEditShow(params) === false) {
|
|
1406
|
-
return;
|
|
1407
|
-
}
|
|
1408
|
-
|
|
1409
|
-
// if user prevents default stop the editor
|
|
1410
|
-
if (event && event.defaultPrevented) {
|
|
1411
|
-
return;
|
|
1412
|
-
}
|
|
1413
|
-
}
|
|
1414
|
-
|
|
1415
|
-
// 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.
|
|
1416
|
-
setTimeout(function () {
|
|
1417
|
-
setEditingState(true);
|
|
1418
|
-
if (onCellEditInit) {
|
|
1419
|
-
if (onCellEditInit(params) === false) {
|
|
1420
|
-
return;
|
|
1421
|
-
}
|
|
1422
|
-
|
|
1423
|
-
// if user prevents default stop the editor
|
|
1424
|
-
if (event && event.defaultPrevented) {
|
|
1425
|
-
return;
|
|
1426
|
-
}
|
|
1427
|
-
}
|
|
1428
|
-
if (cellEditValidatorEvent === 'click') {
|
|
1429
|
-
bindDocumentClickListener();
|
|
1430
|
-
overlayEventListener.current = function (e) {
|
|
1431
|
-
if (!isOutsideClicked(e.target)) {
|
|
1432
|
-
selfClick.current = true;
|
|
1433
|
-
}
|
|
1434
|
-
};
|
|
1435
|
-
overlayservice.OverlayService.on('overlay-click', overlayEventListener.current);
|
|
1436
|
-
}
|
|
1437
|
-
}, 1);
|
|
1438
|
-
}
|
|
1439
|
-
if (props.allowCellSelection && props.onClick) {
|
|
1440
|
-
props.onClick(params);
|
|
1441
|
-
}
|
|
1301
|
+
props.onClick(event, getCellCallbackParams(event), isEditable(), editingState, setEditingState, selfClick, props.column, bindDocumentClickListener, overlayEventListener, isOutsideClicked);
|
|
1442
1302
|
};
|
|
1443
1303
|
var _onMouseDown = function onMouseDown(event) {
|
|
1444
1304
|
var params = getCellCallbackParams(event);
|
|
@@ -1462,7 +1322,7 @@ this.primereact.datatable = (function (exports, React, PrimeReact$1, componentba
|
|
|
1462
1322
|
cell = event.currentTarget;
|
|
1463
1323
|
switch (event.code) {
|
|
1464
1324
|
case 'ArrowLeft':
|
|
1465
|
-
var prevCell =
|
|
1325
|
+
var prevCell = props.findPrevSelectableCell(cell);
|
|
1466
1326
|
if (prevCell) {
|
|
1467
1327
|
changeTabIndex(cell, prevCell);
|
|
1468
1328
|
prevCell.focus();
|
|
@@ -1470,7 +1330,7 @@ this.primereact.datatable = (function (exports, React, PrimeReact$1, componentba
|
|
|
1470
1330
|
event.preventDefault();
|
|
1471
1331
|
break;
|
|
1472
1332
|
case 'ArrowRight':
|
|
1473
|
-
var nextCell =
|
|
1333
|
+
var nextCell = props.findNextSelectableCell(cell);
|
|
1474
1334
|
if (nextCell) {
|
|
1475
1335
|
changeTabIndex(cell, nextCell);
|
|
1476
1336
|
nextCell.focus();
|
|
@@ -1478,7 +1338,7 @@ this.primereact.datatable = (function (exports, React, PrimeReact$1, componentba
|
|
|
1478
1338
|
event.preventDefault();
|
|
1479
1339
|
break;
|
|
1480
1340
|
case 'ArrowUp':
|
|
1481
|
-
var upCell =
|
|
1341
|
+
var upCell = props.findUpSelectableCell(cell, index);
|
|
1482
1342
|
if (upCell) {
|
|
1483
1343
|
changeTabIndex(cell, upCell);
|
|
1484
1344
|
upCell.focus();
|
|
@@ -1486,7 +1346,7 @@ this.primereact.datatable = (function (exports, React, PrimeReact$1, componentba
|
|
|
1486
1346
|
event.preventDefault();
|
|
1487
1347
|
break;
|
|
1488
1348
|
case 'ArrowDown':
|
|
1489
|
-
var downCell =
|
|
1349
|
+
var downCell = props.findDownSelectableCell(cell, index);
|
|
1490
1350
|
if (downCell) {
|
|
1491
1351
|
changeTabIndex(cell, downCell);
|
|
1492
1352
|
downCell.focus();
|
|
@@ -1525,13 +1385,6 @@ this.primereact.datatable = (function (exports, React, PrimeReact$1, componentba
|
|
|
1525
1385
|
index: props.rowIndex
|
|
1526
1386
|
});
|
|
1527
1387
|
};
|
|
1528
|
-
var onCheckboxChange = function onCheckboxChange(event) {
|
|
1529
|
-
props.onCheckboxChange({
|
|
1530
|
-
originalEvent: event,
|
|
1531
|
-
data: props.rowData,
|
|
1532
|
-
index: props.rowIndex
|
|
1533
|
-
});
|
|
1534
|
-
};
|
|
1535
1388
|
var onRowToggle = function onRowToggle(event) {
|
|
1536
1389
|
props.onRowToggle({
|
|
1537
1390
|
originalEvent: event,
|
|
@@ -1544,8 +1397,8 @@ this.primereact.datatable = (function (exports, React, PrimeReact$1, componentba
|
|
|
1544
1397
|
props.onRowEditInit({
|
|
1545
1398
|
originalEvent: event,
|
|
1546
1399
|
data: props.rowData,
|
|
1547
|
-
newData: getEditingRowData(),
|
|
1548
|
-
field: field,
|
|
1400
|
+
newData: props.getEditingRowData(),
|
|
1401
|
+
field: props.field,
|
|
1549
1402
|
index: props.rowIndex
|
|
1550
1403
|
});
|
|
1551
1404
|
};
|
|
@@ -1553,32 +1406,26 @@ this.primereact.datatable = (function (exports, React, PrimeReact$1, componentba
|
|
|
1553
1406
|
props.onRowEditSave({
|
|
1554
1407
|
originalEvent: event,
|
|
1555
1408
|
data: props.rowData,
|
|
1556
|
-
newData: getEditingRowData(),
|
|
1557
|
-
field: field,
|
|
1409
|
+
newData: props.getEditingRowData(),
|
|
1410
|
+
field: props.field,
|
|
1558
1411
|
index: props.rowIndex
|
|
1559
1412
|
});
|
|
1560
|
-
focusOnInit();
|
|
1413
|
+
props.focusOnInit(initFocusTimeout, elementRef);
|
|
1561
1414
|
};
|
|
1562
1415
|
var onRowEditCancel = function onRowEditCancel(event) {
|
|
1563
1416
|
props.onRowEditCancel({
|
|
1564
1417
|
originalEvent: event,
|
|
1565
1418
|
data: props.rowData,
|
|
1566
|
-
newData: getEditingRowData(),
|
|
1567
|
-
field: field,
|
|
1419
|
+
newData: props.getEditingRowData(),
|
|
1420
|
+
field: props.field,
|
|
1568
1421
|
index: props.rowIndex
|
|
1569
1422
|
});
|
|
1570
|
-
focusOnInit();
|
|
1423
|
+
props.focusOnInit(initFocusTimeout, elementRef);
|
|
1571
1424
|
};
|
|
1572
1425
|
React__namespace.useEffect(function () {
|
|
1573
|
-
if (
|
|
1574
|
-
|
|
1575
|
-
|
|
1576
|
-
});
|
|
1577
|
-
React__namespace.useEffect(function () {
|
|
1578
|
-
if (props.editMode === 'cell' || props.editMode === 'row') {
|
|
1579
|
-
focusOnElement();
|
|
1580
|
-
}
|
|
1581
|
-
}, [props.editMode, props.editing, editingState]); // eslint-disable-line react-hooks/exhaustive-deps
|
|
1426
|
+
if (props.frozenCol) props.updateStickyPosition(elementRef, props.frozenCol, props.alignFrozenCol, styleObjectState, setStyleObjectState);
|
|
1427
|
+
if (props.editMode === 'cell' || props.editMode === 'row') props.focusOnElement(focusTimeout, editingState, elementRef, keyHelperRef);
|
|
1428
|
+
}, [props.editMode, props.editing, editingState, props.frozenCol, props.alignFrozenCol]); // eslint-disable-line react-hooks/exhaustive-deps
|
|
1582
1429
|
|
|
1583
1430
|
React__namespace.useEffect(function () {
|
|
1584
1431
|
if (props.editMode === 'row' && props.editing !== editingState) {
|
|
@@ -1587,7 +1434,7 @@ this.primereact.datatable = (function (exports, React, PrimeReact$1, componentba
|
|
|
1587
1434
|
}, [props.editMode, props.editing, editingState]);
|
|
1588
1435
|
hooks.useUpdateEffect(function () {
|
|
1589
1436
|
if (props.editMode === 'cell' || props.editMode === 'row') {
|
|
1590
|
-
var editingRowData = getEditingRowData();
|
|
1437
|
+
var editingRowData = props.getEditingRowData();
|
|
1591
1438
|
setEditingRowDataState(editingRowData);
|
|
1592
1439
|
editingRowDataStateRef.current = editingRowData;
|
|
1593
1440
|
}
|
|
@@ -1597,7 +1444,7 @@ this.primereact.datatable = (function (exports, React, PrimeReact$1, componentba
|
|
|
1597
1444
|
var callbackParams = getCellCallbackParams();
|
|
1598
1445
|
var params = _objectSpread$b(_objectSpread$b({}, callbackParams), {}, {
|
|
1599
1446
|
editing: editingState,
|
|
1600
|
-
editingKey: editingKey
|
|
1447
|
+
editingKey: props.editingKey
|
|
1601
1448
|
});
|
|
1602
1449
|
props.onEditingMetaChange(params);
|
|
1603
1450
|
}
|
|
@@ -1610,16 +1457,16 @@ this.primereact.datatable = (function (exports, React, PrimeReact$1, componentba
|
|
|
1610
1457
|
}
|
|
1611
1458
|
});
|
|
1612
1459
|
var createLoading = function createLoading() {
|
|
1613
|
-
var options = getVirtualScrollerOption('getLoaderOptions')(props.rowIndex, {
|
|
1460
|
+
var options = props.getVirtualScrollerOption('getLoaderOptions')(props.rowIndex, {
|
|
1614
1461
|
cellIndex: props.index,
|
|
1615
1462
|
cellFirst: props.index === 0,
|
|
1616
|
-
cellLast: props.index === getVirtualScrollerOption('columns').length - 1,
|
|
1463
|
+
cellLast: props.index === props.getVirtualScrollerOption('columns').length - 1,
|
|
1617
1464
|
cellEven: props.index % 2 === 0,
|
|
1618
1465
|
cellOdd: props.index % 2 !== 0,
|
|
1619
1466
|
column: props.column,
|
|
1620
|
-
field: field
|
|
1467
|
+
field: props.field
|
|
1621
1468
|
});
|
|
1622
|
-
var content = utils.ObjectUtils.getJSXElement(getVirtualScrollerOption('loadingTemplate'), options);
|
|
1469
|
+
var content = utils.ObjectUtils.getJSXElement(props.getVirtualScrollerOption('loadingTemplate'), options);
|
|
1623
1470
|
var bodyCellProps = mergeProps(getColumnPTOptions('bodyCell'), {
|
|
1624
1471
|
role: 'cell'
|
|
1625
1472
|
});
|
|
@@ -1628,20 +1475,20 @@ this.primereact.datatable = (function (exports, React, PrimeReact$1, componentba
|
|
|
1628
1475
|
var createElement = function createElement() {
|
|
1629
1476
|
var content;
|
|
1630
1477
|
var editorKeyHelper;
|
|
1631
|
-
var cellSelected = props.allowCellSelection &&
|
|
1478
|
+
var cellSelected = props.allowCellSelection && props.isCellSelected;
|
|
1632
1479
|
var isRowEditor = props.editMode === 'row';
|
|
1633
|
-
var tabIndex = getTabIndex(cellSelected);
|
|
1480
|
+
var tabIndex = props.getTabIndex(cellSelected, props.index);
|
|
1634
1481
|
var selectionMode = getColumnProp('selectionMode');
|
|
1635
1482
|
var rowReorder = getColumnProp('rowReorder');
|
|
1636
1483
|
var header = getColumnProp('header');
|
|
1637
1484
|
var body = getColumnProp('body');
|
|
1638
1485
|
var editor = getColumnProp('editor');
|
|
1639
|
-
var frozen =
|
|
1486
|
+
var frozen = props.frozenCol;
|
|
1640
1487
|
var align = getColumnProp('align');
|
|
1641
|
-
var value = resolveFieldData();
|
|
1488
|
+
var value = props.resolveFieldData();
|
|
1642
1489
|
var columnBodyOptions = {
|
|
1643
1490
|
column: props.column,
|
|
1644
|
-
field: field,
|
|
1491
|
+
field: props.field,
|
|
1645
1492
|
rowIndex: props.rowIndex,
|
|
1646
1493
|
frozenRow: props.frozenRow,
|
|
1647
1494
|
props: props.tableProps
|
|
@@ -1666,12 +1513,12 @@ this.primereact.datatable = (function (exports, React, PrimeReact$1, componentba
|
|
|
1666
1513
|
if (showSelection) {
|
|
1667
1514
|
var ariaLabelField = props.selectionAriaLabel || props.tableProps.dataKey;
|
|
1668
1515
|
var ariaLabelText = utils.ObjectUtils.resolveFieldData(props.rowData, ariaLabelField);
|
|
1669
|
-
label = "".concat(props.
|
|
1516
|
+
label = "".concat(props.isRowSelected ? PrimeReact$1.ariaLabel('unselectRow') : PrimeReact$1.ariaLabel('selectRow'), " ").concat(ariaLabelText);
|
|
1670
1517
|
}
|
|
1671
1518
|
content = showSelection && /*#__PURE__*/React__namespace.createElement(React__namespace.Fragment, null, selectionMode === 'single' && /*#__PURE__*/React__namespace.createElement(RowRadioButton, {
|
|
1672
1519
|
hostName: props.hostName,
|
|
1673
1520
|
column: props.column,
|
|
1674
|
-
checked: props.
|
|
1521
|
+
checked: props.isRowSelected,
|
|
1675
1522
|
disabled: !props.isSelectable({
|
|
1676
1523
|
data: props.rowData,
|
|
1677
1524
|
index: props.rowIndex
|
|
@@ -1686,12 +1533,12 @@ this.primereact.datatable = (function (exports, React, PrimeReact$1, componentba
|
|
|
1686
1533
|
}), selectionMode === 'multiple' && /*#__PURE__*/React__namespace.createElement(RowCheckbox, {
|
|
1687
1534
|
hostName: props.hostName,
|
|
1688
1535
|
column: props.column,
|
|
1689
|
-
checked: props.
|
|
1536
|
+
checked: props.isRowSelected,
|
|
1690
1537
|
disabled: !props.isSelectable({
|
|
1691
1538
|
data: props.rowData,
|
|
1692
1539
|
index: props.rowIndex
|
|
1693
1540
|
}),
|
|
1694
|
-
onChange: onCheckboxChange,
|
|
1541
|
+
onChange: props.onCheckboxChange,
|
|
1695
1542
|
tabIndex: props.tabIndex,
|
|
1696
1543
|
ariaLabel: label,
|
|
1697
1544
|
checkIcon: props.checkIcon,
|
|
@@ -1741,7 +1588,7 @@ this.primereact.datatable = (function (exports, React, PrimeReact$1, componentba
|
|
|
1741
1588
|
expanderProps.element = content;
|
|
1742
1589
|
content = utils.ObjectUtils.getJSXElement(body, props.rowData, {
|
|
1743
1590
|
column: props.column,
|
|
1744
|
-
field: field,
|
|
1591
|
+
field: props.field,
|
|
1745
1592
|
rowIndex: props.rowIndex,
|
|
1746
1593
|
frozenRow: props.frozenRow,
|
|
1747
1594
|
props: props.tableProps,
|
|
@@ -1815,7 +1662,7 @@ this.primereact.datatable = (function (exports, React, PrimeReact$1, componentba
|
|
|
1815
1662
|
rowEditorProps.element = content;
|
|
1816
1663
|
content = utils.ObjectUtils.getJSXElement(body, props.rowData, {
|
|
1817
1664
|
column: props.column,
|
|
1818
|
-
field: field,
|
|
1665
|
+
field: props.field,
|
|
1819
1666
|
rowIndex: props.rowIndex,
|
|
1820
1667
|
frozenRow: props.frozenRow,
|
|
1821
1668
|
props: props.tableProps,
|
|
@@ -1825,7 +1672,7 @@ this.primereact.datatable = (function (exports, React, PrimeReact$1, componentba
|
|
|
1825
1672
|
} else if (body && (!editingState || !editor)) {
|
|
1826
1673
|
content = body ? utils.ObjectUtils.getJSXElement(body, props.rowData, {
|
|
1827
1674
|
column: props.column,
|
|
1828
|
-
field: field,
|
|
1675
|
+
field: props.field,
|
|
1829
1676
|
rowIndex: props.rowIndex,
|
|
1830
1677
|
frozenRow: props.frozenRow,
|
|
1831
1678
|
props: props.tableProps
|
|
@@ -1833,9 +1680,9 @@ this.primereact.datatable = (function (exports, React, PrimeReact$1, componentba
|
|
|
1833
1680
|
} else if (editor && editingState) {
|
|
1834
1681
|
content = utils.ObjectUtils.getJSXElement(editor, {
|
|
1835
1682
|
rowData: editingRowDataState,
|
|
1836
|
-
value: resolveFieldData(editingRowDataState),
|
|
1683
|
+
value: props.resolveFieldData(editingRowDataState),
|
|
1837
1684
|
column: props.column,
|
|
1838
|
-
field: field,
|
|
1685
|
+
field: props.field,
|
|
1839
1686
|
rowIndex: props.rowIndex,
|
|
1840
1687
|
frozenRow: props.frozenRow,
|
|
1841
1688
|
props: props.tableProps,
|
|
@@ -1903,7 +1750,29 @@ this.primereact.datatable = (function (exports, React, PrimeReact$1, componentba
|
|
|
1903
1750
|
ref: elementRef
|
|
1904
1751
|
}, bodyCellProps), editorKeyHelper, title, content);
|
|
1905
1752
|
};
|
|
1906
|
-
return getVirtualScrollerOption('loading') ? createLoading() : createElement();
|
|
1753
|
+
return props.getVirtualScrollerOption('loading') ? createLoading() : createElement();
|
|
1754
|
+
};
|
|
1755
|
+
|
|
1756
|
+
// RadioCheckCell is used for the Radio and Checkbox selection and has the isRowSelected dependency
|
|
1757
|
+
var RadioCheckCell = /*#__PURE__*/React__namespace.memo(function (props) {
|
|
1758
|
+
return /*#__PURE__*/React__namespace.createElement(Cell, props);
|
|
1759
|
+
}, function (prevProps, nextProps) {
|
|
1760
|
+
var keysToCompare = ['isRowSelected', 'field', 'allowCellSelection', 'isCellSelected', 'editMode', 'index', 'tabIndex', 'editing', 'expanded', 'editingMeta', 'rowData'];
|
|
1761
|
+
return utils.ObjectUtils.selectiveCompare(prevProps, nextProps, keysToCompare);
|
|
1762
|
+
});
|
|
1763
|
+
RadioCheckCell.displayName = 'RadioCheckCell';
|
|
1764
|
+
var defaultKeysToCompare = ['rowData', 'field', 'allowCellSelection', 'isCellSelected', 'editMode', 'index', 'tabIndex', 'editing', 'expanded', 'editingMeta', 'frozenCol', 'alignFrozenCol'];
|
|
1765
|
+
var BodyCell = /*#__PURE__*/React__namespace.memo(function (props) {
|
|
1766
|
+
return /*#__PURE__*/React__namespace.createElement(Cell, props);
|
|
1767
|
+
}, function (prevProps, nextProps) {
|
|
1768
|
+
if (nextProps.cellMemo === false) return false;
|
|
1769
|
+
var memoProps = nextProps.cellMemoProps;
|
|
1770
|
+
var keysToCompare = Array.isArray(memoProps) && memoProps.every(function (prop) {
|
|
1771
|
+
return typeof prop === 'string';
|
|
1772
|
+
}) ? memoProps : defaultKeysToCompare;
|
|
1773
|
+
var memoPropsDepth = nextProps.cellMemoPropsDepth;
|
|
1774
|
+
var depth = typeof memoPropsDepth === 'number' && memoPropsDepth > 0 ? memoPropsDepth : 1;
|
|
1775
|
+
return utils.ObjectUtils.selectiveCompare(prevProps, nextProps, keysToCompare, depth);
|
|
1907
1776
|
});
|
|
1908
1777
|
BodyCell.displayName = 'BodyCell';
|
|
1909
1778
|
|
|
@@ -1919,6 +1788,7 @@ this.primereact.datatable = (function (exports, React, PrimeReact$1, componentba
|
|
|
1919
1788
|
var _props$ptCallbacks = props.ptCallbacks,
|
|
1920
1789
|
ptm = _props$ptCallbacks.ptm,
|
|
1921
1790
|
cx = _props$ptCallbacks.cx;
|
|
1791
|
+
var isRowSelected = !props.allowCellSelection && props.selected || props.contextMenuSelected;
|
|
1922
1792
|
var getBodyRowPTOptions = function getBodyRowPTOptions(key) {
|
|
1923
1793
|
return ptm(key, {
|
|
1924
1794
|
parent: props.metaData,
|
|
@@ -1932,7 +1802,7 @@ this.primereact.datatable = (function (exports, React, PrimeReact$1, componentba
|
|
|
1932
1802
|
data: props.rowData,
|
|
1933
1803
|
index: props.rowIndex
|
|
1934
1804
|
}),
|
|
1935
|
-
selected:
|
|
1805
|
+
selected: isRowSelected,
|
|
1936
1806
|
stripedRows: props.metaData.props.stripedRows
|
|
1937
1807
|
}
|
|
1938
1808
|
});
|
|
@@ -1961,10 +1831,10 @@ this.primereact.datatable = (function (exports, React, PrimeReact$1, componentba
|
|
|
1961
1831
|
return equals(rowData, data);
|
|
1962
1832
|
});
|
|
1963
1833
|
};
|
|
1964
|
-
var changeTabIndex = function changeTabIndex(
|
|
1965
|
-
if (
|
|
1966
|
-
|
|
1967
|
-
|
|
1834
|
+
var changeTabIndex = function changeTabIndex(currentElement, nextElement) {
|
|
1835
|
+
if (currentElement && nextElement) {
|
|
1836
|
+
currentElement.tabIndex = -1;
|
|
1837
|
+
nextElement.tabIndex = props.tabIndex;
|
|
1968
1838
|
}
|
|
1969
1839
|
};
|
|
1970
1840
|
var findFirstSelectableRow = function findFirstSelectableRow(row) {
|
|
@@ -2291,32 +2161,179 @@ this.primereact.datatable = (function (exports, React, PrimeReact$1, componentba
|
|
|
2291
2161
|
onEditChange(e, false);
|
|
2292
2162
|
event.preventDefault();
|
|
2293
2163
|
};
|
|
2164
|
+
var equalsDataCell = function equalsDataCell(data) {
|
|
2165
|
+
return props.compareSelectionBy === 'equals' ? data === props.rowData : utils.ObjectUtils.equals(data, props.rowData, props.dataKey);
|
|
2166
|
+
};
|
|
2167
|
+
var equalsCell = function equalsCell(selectedCell, field, colIndex) {
|
|
2168
|
+
return selectedCell && (selectedCell.rowIndex === props.rowIndex || equalsDataCell(selectedCell.rowData)) && (selectedCell.field === field || selectedCell.cellIndex === colIndex);
|
|
2169
|
+
};
|
|
2170
|
+
var findIndexCell = function findIndexCell(collection, field, colIndex) {
|
|
2171
|
+
return (collection || []).findIndex(function (data) {
|
|
2172
|
+
return equalsCell(data, field, colIndex);
|
|
2173
|
+
});
|
|
2174
|
+
};
|
|
2175
|
+
var isCellSelected = function isCellSelected(selection, field, colIndex) {
|
|
2176
|
+
return selection ? selection instanceof Array ? findIndexCell(selection, field, colIndex) > -1 : equalsCell(selection, field, colIndex) : false;
|
|
2177
|
+
};
|
|
2178
|
+
var onCheckboxChange = function onCheckboxChange(event) {
|
|
2179
|
+
props.onCheckboxChange({
|
|
2180
|
+
originalEvent: event,
|
|
2181
|
+
data: props.rowData,
|
|
2182
|
+
index: props.rowIndex
|
|
2183
|
+
});
|
|
2184
|
+
};
|
|
2185
|
+
var editingKey = props.dataKey ? props.rowData && props.rowData[props.dataKey] || props.rowIndex : props.rowIndex;
|
|
2186
|
+
var getVirtualScrollerOption = React__namespace.useCallback(function (option) {
|
|
2187
|
+
return props.virtualScrollerOptions ? props.virtualScrollerOptions[option] : null;
|
|
2188
|
+
}, [props.virtualScrollerOptions]);
|
|
2189
|
+
var getEditingRowData = function getEditingRowData() {
|
|
2190
|
+
return props.editingMeta && props.editingMeta[editingKey] ? props.editingMeta[editingKey].data : props.rowData;
|
|
2191
|
+
};
|
|
2192
|
+
var getTabIndexCell = React__namespace.useCallback(function (cellSelected, cellIndex) {
|
|
2193
|
+
return props.allowCellSelection ? cellSelected ? 0 : props.rowIndex === 0 && cellIndex === 0 ? props.tabIndex : -1 : null;
|
|
2194
|
+
}, [props.allowCellSelection, props.rowIndex, props.tabIndex]);
|
|
2195
|
+
var findNextSelectableCell = React__namespace.useCallback(function (cell) {
|
|
2196
|
+
var nextCell = cell.nextElementSibling;
|
|
2197
|
+
return nextCell ? utils.DomHandler.getAttribute(nextCell, 'data-p-selectable-cell') ? nextCell : findNextSelectableCell(nextCell) : null;
|
|
2198
|
+
}, []);
|
|
2199
|
+
var findPrevSelectableCell = React__namespace.useCallback(function (cell) {
|
|
2200
|
+
var prevCell = cell.previousElementSibling;
|
|
2201
|
+
return prevCell ? utils.DomHandler.getAttribute(prevCell, 'data-p-selectable-cell') ? prevCell : findPrevSelectableCell(prevCell) : null;
|
|
2202
|
+
}, []);
|
|
2203
|
+
var findDownSelectableCell = React__namespace.useCallback(function (cell, cellIndex) {
|
|
2204
|
+
var downRow = cell.parentElement.nextElementSibling;
|
|
2205
|
+
var downCell = downRow ? downRow.children[cellIndex] : null;
|
|
2206
|
+
return downRow && downCell ? utils.DomHandler.getAttribute(downRow, 'data-p-selectable-row') && utils.DomHandler.getAttribute(downCell, 'data-p-selectable-cell') ? downCell : findDownSelectableCell(downCell) : null;
|
|
2207
|
+
}, []);
|
|
2208
|
+
var findUpSelectableCell = React__namespace.useCallback(function (cell, cellIndex) {
|
|
2209
|
+
var upRow = cell.parentElement.previousElementSibling;
|
|
2210
|
+
var upCell = upRow ? upRow.children[cellIndex] : null;
|
|
2211
|
+
return upRow && upCell ? utils.DomHandler.getAttribute(upRow, 'data-p-selectable-row') && utils.DomHandler.getAttribute(upCell, 'data-p-selectable-cell') ? upCell : findUpSelectableCell(upCell) : null;
|
|
2212
|
+
}, []);
|
|
2213
|
+
var focusOnElement = React__namespace.useCallback(function (focusTimeoutRef, editingState, elementRef, keyHelperRef) {
|
|
2214
|
+
clearTimeout(focusTimeoutRef.current);
|
|
2215
|
+
focusTimeoutRef.current = setTimeout(function () {
|
|
2216
|
+
if (editingState) {
|
|
2217
|
+
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"]');
|
|
2218
|
+
focusableEl && focusableEl.focus();
|
|
2219
|
+
}
|
|
2220
|
+
keyHelperRef.current && (keyHelperRef.current.tabIndex = editingState ? -1 : 0);
|
|
2221
|
+
}, 1);
|
|
2222
|
+
}, [props.editMode]);
|
|
2223
|
+
var focusOnInit = React__namespace.useCallback(function (initFocusTimeoutRef, elementRef) {
|
|
2224
|
+
clearTimeout(initFocusTimeoutRef.current);
|
|
2225
|
+
initFocusTimeoutRef.current = setTimeout(function () {
|
|
2226
|
+
var focusableEl = props.editMode === 'row' ? utils.DomHandler.findSingle(elementRef.current, '[data-p-row-editor-init="true"]') : null;
|
|
2227
|
+
focusableEl && focusableEl.focus();
|
|
2228
|
+
}, 1);
|
|
2229
|
+
}, [props.editMode]);
|
|
2230
|
+
var updateStickyPosition = React__namespace.useCallback(function (elementRef, frozen, alignFrozen, styleObjectState, setStyleObjectState) {
|
|
2231
|
+
if (frozen) {
|
|
2232
|
+
var styleObject = _objectSpread$a({}, styleObjectState);
|
|
2233
|
+
if (alignFrozen === 'right') {
|
|
2234
|
+
var right = 0;
|
|
2235
|
+
var next = elementRef.current && elementRef.current.nextElementSibling;
|
|
2236
|
+
if (next && next.classList.contains('p-frozen-column')) {
|
|
2237
|
+
right = utils.DomHandler.getOuterWidth(next) + parseFloat(next.style.right || 0);
|
|
2238
|
+
}
|
|
2239
|
+
styleObject.right = right + 'px';
|
|
2240
|
+
} else {
|
|
2241
|
+
var left = 0;
|
|
2242
|
+
var prev = elementRef.current && elementRef.current.previousElementSibling;
|
|
2243
|
+
if (prev && prev.classList.contains('p-frozen-column')) {
|
|
2244
|
+
left = utils.DomHandler.getOuterWidth(prev) + parseFloat(prev.style.left || 0);
|
|
2245
|
+
}
|
|
2246
|
+
styleObject.left = left + 'px';
|
|
2247
|
+
}
|
|
2248
|
+
var isSameStyle = styleObjectState.left === styleObject.left && styleObjectState.right === styleObject.right;
|
|
2249
|
+
!isSameStyle && setStyleObjectState(styleObject);
|
|
2250
|
+
}
|
|
2251
|
+
}, []);
|
|
2252
|
+
var onCellClick = function onCellClick(event, params, isEditable, editingState, setEditingState, selfClick, column, bindDocumentClickListener, overlayEventListener, isOutsideClicked) {
|
|
2253
|
+
if (props.editMode !== 'row' && isEditable && !editingState && (props.selectOnEdit || !props.selectOnEdit && props.isRowSelected)) {
|
|
2254
|
+
selfClick.current = true;
|
|
2255
|
+
var onBeforeCellEditShow = getColumnProp(column, 'onBeforeCellEditShow');
|
|
2256
|
+
var onCellEditInit = getColumnProp(column, 'onCellEditInit');
|
|
2257
|
+
var cellEditValidatorEvent = getColumnProp(column, 'cellEditValidatorEvent');
|
|
2258
|
+
if (onBeforeCellEditShow) {
|
|
2259
|
+
// if user returns false do not show the editor
|
|
2260
|
+
if (onBeforeCellEditShow(params) === false) {
|
|
2261
|
+
return;
|
|
2262
|
+
}
|
|
2263
|
+
|
|
2264
|
+
// if user prevents default stop the editor
|
|
2265
|
+
if (event && event.defaultPrevented) {
|
|
2266
|
+
return;
|
|
2267
|
+
}
|
|
2268
|
+
}
|
|
2269
|
+
|
|
2270
|
+
// 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.
|
|
2271
|
+
setTimeout(function () {
|
|
2272
|
+
setEditingState(true);
|
|
2273
|
+
if (onCellEditInit) {
|
|
2274
|
+
if (onCellEditInit(params) === false) {
|
|
2275
|
+
return;
|
|
2276
|
+
}
|
|
2277
|
+
|
|
2278
|
+
// if user prevents default stop the editor
|
|
2279
|
+
if (event && event.defaultPrevented) {
|
|
2280
|
+
return;
|
|
2281
|
+
}
|
|
2282
|
+
}
|
|
2283
|
+
if (cellEditValidatorEvent === 'click') {
|
|
2284
|
+
bindDocumentClickListener();
|
|
2285
|
+
overlayEventListener.current = function (e) {
|
|
2286
|
+
if (!isOutsideClicked(e.target)) {
|
|
2287
|
+
selfClick.current = true;
|
|
2288
|
+
}
|
|
2289
|
+
};
|
|
2290
|
+
overlayservice.OverlayService.on('overlay-click', overlayEventListener.current);
|
|
2291
|
+
}
|
|
2292
|
+
}, 1);
|
|
2293
|
+
}
|
|
2294
|
+
if (props.allowCellSelection && props.onCellClick) {
|
|
2295
|
+
props.onCellClick(params);
|
|
2296
|
+
}
|
|
2297
|
+
};
|
|
2294
2298
|
var createContent = function createContent() {
|
|
2295
2299
|
return props.columns.map(function (col, i) {
|
|
2296
2300
|
if (shouldRenderBodyCell(props.value, col, props.index)) {
|
|
2297
2301
|
var key = "".concat(props.rowIndex, "_").concat(getColumnProp(col, 'columnKey') || getColumnProp(col, 'field'), "_").concat(i);
|
|
2298
2302
|
var rowSpan = props.rowGroupMode === 'rowspan' ? calculateRowGroupSize(props.value, col, props.index) : null;
|
|
2299
|
-
|
|
2303
|
+
var field = getColumnProp(col, 'field') || "field_".concat(i);
|
|
2304
|
+
var resolveFieldData = function resolveFieldData(data) {
|
|
2305
|
+
return utils.ObjectUtils.resolveFieldData(data || props.rowData, field);
|
|
2306
|
+
};
|
|
2307
|
+
var selectionMode = getColumnProp(col, 'selectionMode');
|
|
2308
|
+
var cellProps = mergeProps({
|
|
2300
2309
|
hostName: props.hostName,
|
|
2301
|
-
key: key,
|
|
2302
2310
|
allowCellSelection: props.allowCellSelection,
|
|
2311
|
+
cellMemo: props.cellMemo,
|
|
2312
|
+
cellMemoProps: props.cellMemoProps,
|
|
2313
|
+
cellMemoPropsDepth: props.cellMemoPropsDepth,
|
|
2303
2314
|
cellClassName: props.cellClassName,
|
|
2304
2315
|
checkIcon: props.checkIcon,
|
|
2305
2316
|
collapsedRowIcon: props.collapsedRowIcon,
|
|
2317
|
+
field: field,
|
|
2318
|
+
resolveFieldData: resolveFieldData,
|
|
2306
2319
|
column: col,
|
|
2307
|
-
|
|
2320
|
+
cProps: props.colsProps[i],
|
|
2308
2321
|
dataKey: props.dataKey,
|
|
2309
2322
|
editMode: props.editMode,
|
|
2310
2323
|
editing: editing,
|
|
2311
2324
|
editingMeta: props.editingMeta,
|
|
2325
|
+
onEditingMetaChange: props.onEditingMetaChange,
|
|
2326
|
+
editingKey: editingKey,
|
|
2327
|
+
getEditingRowData: getEditingRowData,
|
|
2312
2328
|
expanded: props.expanded,
|
|
2313
2329
|
expandedRowIcon: props.expandedRowIcon,
|
|
2314
2330
|
frozenRow: props.frozenRow,
|
|
2331
|
+
frozenCol: getColumnProp(col, 'frozen'),
|
|
2332
|
+
alignFrozenCol: getColumnProp(col, 'alignFrozen'),
|
|
2315
2333
|
index: i,
|
|
2316
2334
|
isSelectable: props.isSelectable,
|
|
2317
|
-
onCheckboxChange:
|
|
2318
|
-
onClick:
|
|
2319
|
-
onEditingMetaChange: props.onEditingMetaChange,
|
|
2335
|
+
onCheckboxChange: onCheckboxChange,
|
|
2336
|
+
onClick: onCellClick,
|
|
2320
2337
|
onMouseDown: props.onCellMouseDown,
|
|
2321
2338
|
onMouseUp: props.onCellMouseUp,
|
|
2322
2339
|
onRadioChange: props.onRadioChange,
|
|
@@ -2332,20 +2349,31 @@ this.primereact.datatable = (function (exports, React, PrimeReact$1, componentba
|
|
|
2332
2349
|
rowIndex: props.rowIndex,
|
|
2333
2350
|
rowSpan: rowSpan,
|
|
2334
2351
|
selectOnEdit: props.selectOnEdit,
|
|
2335
|
-
|
|
2336
|
-
|
|
2352
|
+
isRowSelected: isRowSelected,
|
|
2353
|
+
isCellSelected: isCellSelected(props.selection, field, i),
|
|
2337
2354
|
selectionAriaLabel: props.tableProps.selectionAriaLabel,
|
|
2338
2355
|
showRowReorderElement: props.showRowReorderElement,
|
|
2339
2356
|
showSelectionElement: props.showSelectionElement,
|
|
2340
2357
|
tabIndex: props.tabIndex,
|
|
2358
|
+
getTabIndex: getTabIndexCell,
|
|
2341
2359
|
tableProps: props.tableProps,
|
|
2342
2360
|
tableSelector: props.tableSelector,
|
|
2343
2361
|
value: props.value,
|
|
2344
|
-
|
|
2362
|
+
getVirtualScrollerOption: getVirtualScrollerOption,
|
|
2345
2363
|
ptCallbacks: props.ptCallbacks,
|
|
2346
2364
|
metaData: props.metaData,
|
|
2347
|
-
unstyled: props.unstyled
|
|
2365
|
+
unstyled: props.unstyled,
|
|
2366
|
+
findNextSelectableCell: findNextSelectableCell,
|
|
2367
|
+
findPrevSelectableCell: findPrevSelectableCell,
|
|
2368
|
+
findDownSelectableCell: findDownSelectableCell,
|
|
2369
|
+
findUpSelectableCell: findUpSelectableCell,
|
|
2370
|
+
focusOnElement: focusOnElement,
|
|
2371
|
+
focusOnInit: focusOnInit,
|
|
2372
|
+
updateStickyPosition: updateStickyPosition
|
|
2348
2373
|
});
|
|
2374
|
+
return /*#__PURE__*/React__namespace.createElement(React.Fragment, {
|
|
2375
|
+
key: key
|
|
2376
|
+
}, selectionMode ? /*#__PURE__*/React__namespace.createElement(RadioCheckCell, cellProps) : /*#__PURE__*/React__namespace.createElement(BodyCell, cellProps));
|
|
2349
2377
|
}
|
|
2350
2378
|
return null;
|
|
2351
2379
|
});
|
|
@@ -2495,8 +2523,11 @@ this.primereact.datatable = (function (exports, React, PrimeReact$1, componentba
|
|
|
2495
2523
|
var getColumnProps = function getColumnProps(column) {
|
|
2496
2524
|
return ColumnBase.getCProps(column);
|
|
2497
2525
|
};
|
|
2526
|
+
var cProps = getColumnProps(props.column);
|
|
2527
|
+
var colsProps = props.columns ? props.columns.map(function (col) {
|
|
2528
|
+
return getColumnProps(col);
|
|
2529
|
+
}) : [];
|
|
2498
2530
|
var getColumnPTOptions = function getColumnPTOptions(key) {
|
|
2499
|
-
var cProps = getColumnProps(props.column);
|
|
2500
2531
|
var columnMetaData = {
|
|
2501
2532
|
props: cProps,
|
|
2502
2533
|
parent: props.metaData,
|
|
@@ -2621,8 +2652,12 @@ this.primereact.datatable = (function (exports, React, PrimeReact$1, componentba
|
|
|
2621
2652
|
var allowSelection = function allowSelection(event) {
|
|
2622
2653
|
return !utils.DomHandler.isClickable(event.originalEvent.target);
|
|
2623
2654
|
};
|
|
2655
|
+
var metaKeySelectionRef = React__namespace.useRef(props.metaKeySelection);
|
|
2656
|
+
React__namespace.useEffect(function () {
|
|
2657
|
+
metaKeySelectionRef.current = props.metaKeySelection;
|
|
2658
|
+
}, [props.metaKeySelection]);
|
|
2624
2659
|
var allowMetaKeySelection = function allowMetaKeySelection(event) {
|
|
2625
|
-
return !rowTouched.current && (!
|
|
2660
|
+
return !rowTouched.current && (!metaKeySelectionRef.current || metaKeySelectionRef.current && (event.originalEvent.metaKey || event.originalEvent.ctrlKey));
|
|
2626
2661
|
};
|
|
2627
2662
|
var allowRangeSelection = function allowRangeSelection(event) {
|
|
2628
2663
|
return isMultipleSelection() && event.originalEvent.shiftKey && anchorRowIndex.current !== null;
|
|
@@ -2643,9 +2678,6 @@ this.primereact.datatable = (function (exports, React, PrimeReact$1, componentba
|
|
|
2643
2678
|
options = options || props.virtualScrollerOptions;
|
|
2644
2679
|
return options ? options[option] : null;
|
|
2645
2680
|
};
|
|
2646
|
-
var getProcessedDataIndex = function getProcessedDataIndex(rowIndex) {
|
|
2647
|
-
return props.lazy ? rowIndex - props.first : rowIndex;
|
|
2648
|
-
};
|
|
2649
2681
|
var findIndex = function findIndex(collection, rowData) {
|
|
2650
2682
|
return (collection || []).findIndex(function (data) {
|
|
2651
2683
|
return equals(rowData, data);
|
|
@@ -2695,6 +2727,10 @@ this.primereact.datatable = (function (exports, React, PrimeReact$1, componentba
|
|
|
2695
2727
|
});
|
|
2696
2728
|
}
|
|
2697
2729
|
};
|
|
2730
|
+
var selectionRef = React__namespace.useRef(props.selection);
|
|
2731
|
+
React__namespace.useEffect(function () {
|
|
2732
|
+
selectionRef.current = props.selection;
|
|
2733
|
+
}, [props.selection]);
|
|
2698
2734
|
var onSingleSelection = function onSingleSelection(_ref) {
|
|
2699
2735
|
var originalEvent = _ref.originalEvent,
|
|
2700
2736
|
data = _ref.data,
|
|
@@ -2708,10 +2744,11 @@ this.primereact.datatable = (function (exports, React, PrimeReact$1, componentba
|
|
|
2708
2744
|
return;
|
|
2709
2745
|
}
|
|
2710
2746
|
var selected = isSelected(data);
|
|
2711
|
-
var
|
|
2747
|
+
var currentSelection = selectionRef.current || [];
|
|
2748
|
+
var newSelection = currentSelection;
|
|
2712
2749
|
if (selected) {
|
|
2713
2750
|
if (toggleable) {
|
|
2714
|
-
|
|
2751
|
+
newSelection = null;
|
|
2715
2752
|
onUnselect({
|
|
2716
2753
|
originalEvent: originalEvent,
|
|
2717
2754
|
data: data,
|
|
@@ -2719,7 +2756,7 @@ this.primereact.datatable = (function (exports, React, PrimeReact$1, componentba
|
|
|
2719
2756
|
});
|
|
2720
2757
|
}
|
|
2721
2758
|
} else {
|
|
2722
|
-
|
|
2759
|
+
newSelection = data;
|
|
2723
2760
|
onSelect({
|
|
2724
2761
|
originalEvent: originalEvent,
|
|
2725
2762
|
data: data,
|
|
@@ -2727,10 +2764,10 @@ this.primereact.datatable = (function (exports, React, PrimeReact$1, componentba
|
|
|
2727
2764
|
});
|
|
2728
2765
|
}
|
|
2729
2766
|
focusOnElement(originalEvent, true);
|
|
2730
|
-
if (props.onSelectionChange &&
|
|
2767
|
+
if (props.onSelectionChange && newSelection !== currentSelection) {
|
|
2731
2768
|
props.onSelectionChange({
|
|
2732
2769
|
originalEvent: originalEvent,
|
|
2733
|
-
value:
|
|
2770
|
+
value: newSelection,
|
|
2734
2771
|
type: type
|
|
2735
2772
|
});
|
|
2736
2773
|
}
|
|
@@ -2748,11 +2785,12 @@ this.primereact.datatable = (function (exports, React, PrimeReact$1, componentba
|
|
|
2748
2785
|
return;
|
|
2749
2786
|
}
|
|
2750
2787
|
var selected = isSelected(data);
|
|
2751
|
-
var
|
|
2788
|
+
var currentSelection = selectionRef.current || [];
|
|
2789
|
+
var newSelection = currentSelection;
|
|
2752
2790
|
if (selected) {
|
|
2753
2791
|
if (toggleable) {
|
|
2754
|
-
var selectionIndex = findIndex(
|
|
2755
|
-
|
|
2792
|
+
var selectionIndex = findIndex(currentSelection, data);
|
|
2793
|
+
newSelection = currentSelection.filter(function (val, i) {
|
|
2756
2794
|
return i !== selectionIndex;
|
|
2757
2795
|
});
|
|
2758
2796
|
onUnselect({
|
|
@@ -2760,15 +2798,15 @@ this.primereact.datatable = (function (exports, React, PrimeReact$1, componentba
|
|
|
2760
2798
|
data: data,
|
|
2761
2799
|
type: type
|
|
2762
2800
|
});
|
|
2763
|
-
} else if (
|
|
2764
|
-
|
|
2801
|
+
} else if (currentSelection.length) {
|
|
2802
|
+
currentSelection.forEach(function (d) {
|
|
2765
2803
|
return onUnselect({
|
|
2766
2804
|
originalEvent: originalEvent,
|
|
2767
2805
|
data: d,
|
|
2768
2806
|
type: type
|
|
2769
2807
|
});
|
|
2770
2808
|
});
|
|
2771
|
-
|
|
2809
|
+
newSelection = [data];
|
|
2772
2810
|
onSelect({
|
|
2773
2811
|
originalEvent: originalEvent,
|
|
2774
2812
|
data: data,
|
|
@@ -2776,18 +2814,18 @@ this.primereact.datatable = (function (exports, React, PrimeReact$1, componentba
|
|
|
2776
2814
|
});
|
|
2777
2815
|
}
|
|
2778
2816
|
} else {
|
|
2779
|
-
|
|
2780
|
-
|
|
2817
|
+
newSelection = utils.ObjectUtils.isObject(currentSelection) ? [currentSelection] : currentSelection;
|
|
2818
|
+
newSelection = toggleable && isMultipleSelection() ? [].concat(_toConsumableArray(newSelection), [data]) : [data];
|
|
2781
2819
|
onSelect({
|
|
2782
2820
|
originalEvent: originalEvent,
|
|
2783
2821
|
data: data,
|
|
2784
2822
|
type: type
|
|
2785
2823
|
});
|
|
2786
2824
|
}
|
|
2787
|
-
if (props.onSelectionChange &&
|
|
2825
|
+
if (props.onSelectionChange && newSelection !== currentSelection) {
|
|
2788
2826
|
props.onSelectionChange({
|
|
2789
2827
|
originalEvent: originalEvent,
|
|
2790
|
-
value:
|
|
2828
|
+
value: newSelection,
|
|
2791
2829
|
type: type
|
|
2792
2830
|
});
|
|
2793
2831
|
}
|
|
@@ -2810,16 +2848,14 @@ this.primereact.datatable = (function (exports, React, PrimeReact$1, componentba
|
|
|
2810
2848
|
var rangeStart;
|
|
2811
2849
|
var rangeEnd;
|
|
2812
2850
|
var isAllowCellSelection = allowCellSelection();
|
|
2813
|
-
|
|
2814
|
-
|
|
2815
|
-
|
|
2816
|
-
|
|
2817
|
-
|
|
2818
|
-
|
|
2819
|
-
rangeStart = rangeRowIndexInProcessedData;
|
|
2820
|
-
rangeEnd = anchorRowIndexInProcessedData;
|
|
2851
|
+
if (rangeRowIndex.current > anchorRowIndex.current) {
|
|
2852
|
+
rangeStart = anchorRowIndex.current;
|
|
2853
|
+
rangeEnd = rangeRowIndex.current;
|
|
2854
|
+
} else if (rangeRowIndex.current < anchorRowIndex.current) {
|
|
2855
|
+
rangeStart = rangeRowIndex.current;
|
|
2856
|
+
rangeEnd = anchorRowIndex.current;
|
|
2821
2857
|
} else {
|
|
2822
|
-
rangeStart = rangeEnd =
|
|
2858
|
+
rangeStart = rangeEnd = rangeRowIndex.current;
|
|
2823
2859
|
}
|
|
2824
2860
|
return isAllowCellSelection ? selectRangeOnCell(event, rangeStart, rangeEnd) : selectRangeOnRow(event, rangeStart, rangeEnd);
|
|
2825
2861
|
};
|
|
@@ -2860,7 +2896,7 @@ this.primereact.datatable = (function (exports, React, PrimeReact$1, componentba
|
|
|
2860
2896
|
for (var i = rowRangeStart; i <= rowRangeEnd; i++) {
|
|
2861
2897
|
var rowData = value[i];
|
|
2862
2898
|
var columns = props.columns;
|
|
2863
|
-
var rowIndex = props.
|
|
2899
|
+
var rowIndex = props.paginator ? i + props.first : i;
|
|
2864
2900
|
for (var j = cellRangeStart; j <= cellRangeEnd; j++) {
|
|
2865
2901
|
var field = getColumnProp(columns[j], 'field');
|
|
2866
2902
|
var _value = utils.ObjectUtils.resolveFieldData(rowData, field);
|
|
@@ -3059,13 +3095,17 @@ this.primereact.datatable = (function (exports, React, PrimeReact$1, componentba
|
|
|
3059
3095
|
onRangeSelection(event, 'row');
|
|
3060
3096
|
}
|
|
3061
3097
|
};
|
|
3098
|
+
var expandedRowsRef = React__namespace.useRef(props.expandedRows);
|
|
3099
|
+
React__namespace.useEffect(function () {
|
|
3100
|
+
expandedRowsRef.current = props.expandedRows;
|
|
3101
|
+
}, [props.expandedRows]);
|
|
3062
3102
|
var onRowToggle = function onRowToggle(event) {
|
|
3063
3103
|
var expandedRows;
|
|
3064
3104
|
var dataKey = props.dataKey;
|
|
3065
3105
|
var hasDataKey = props.groupRowsBy ? dataKey === props.groupRowsBy : !!dataKey;
|
|
3066
3106
|
if (hasDataKey) {
|
|
3067
3107
|
var dataKeyValue = String(utils.ObjectUtils.resolveFieldData(event.data, dataKey));
|
|
3068
|
-
expandedRows =
|
|
3108
|
+
expandedRows = expandedRowsRef.current ? _objectSpread$8({}, expandedRowsRef.current) : {};
|
|
3069
3109
|
if (expandedRows[dataKeyValue] != null) {
|
|
3070
3110
|
delete expandedRows[dataKeyValue];
|
|
3071
3111
|
if (props.onRowCollapse) {
|
|
@@ -3084,8 +3124,8 @@ this.primereact.datatable = (function (exports, React, PrimeReact$1, componentba
|
|
|
3084
3124
|
}
|
|
3085
3125
|
}
|
|
3086
3126
|
} else {
|
|
3087
|
-
var expandedRowIndex = findIndex(
|
|
3088
|
-
expandedRows =
|
|
3127
|
+
var expandedRowIndex = findIndex(expandedRowsRef.current, event.data);
|
|
3128
|
+
expandedRows = expandedRowsRef.current ? _toConsumableArray(expandedRowsRef.current) : [];
|
|
3089
3129
|
if (expandedRowIndex !== -1) {
|
|
3090
3130
|
expandedRows = expandedRows.filter(function (_, i) {
|
|
3091
3131
|
return i !== expandedRowIndex;
|
|
@@ -3335,7 +3375,7 @@ this.primereact.datatable = (function (exports, React, PrimeReact$1, componentba
|
|
|
3335
3375
|
return null;
|
|
3336
3376
|
};
|
|
3337
3377
|
var createGroupHeader = function createGroupHeader(rowData, rowIndex, expanded, colSpan) {
|
|
3338
|
-
if (isSubheaderGrouping && shouldRenderRowGroupHeader(props.value, rowData,
|
|
3378
|
+
if (isSubheaderGrouping && shouldRenderRowGroupHeader(props.value, rowData, rowIndex - props.first)) {
|
|
3339
3379
|
var style = rowGroupHeaderStyle();
|
|
3340
3380
|
var toggler = props.expandableRowGroups && /*#__PURE__*/React__namespace.createElement(RowTogglerButton, {
|
|
3341
3381
|
hostName: props.hostName,
|
|
@@ -3385,10 +3425,14 @@ this.primereact.datatable = (function (exports, React, PrimeReact$1, componentba
|
|
|
3385
3425
|
hostName: props.hostName,
|
|
3386
3426
|
allowCellSelection: _allowCellSelection,
|
|
3387
3427
|
allowRowSelection: _allowRowSelection,
|
|
3428
|
+
cellMemo: props.cellMemo,
|
|
3429
|
+
cellMemoProps: props.cellMemoProps,
|
|
3430
|
+
cellMemoPropsDepth: props.cellMemoPropsDepth,
|
|
3388
3431
|
cellClassName: props.cellClassName,
|
|
3389
3432
|
checkIcon: props.checkIcon,
|
|
3390
3433
|
collapsedRowIcon: props.collapsedRowIcon,
|
|
3391
3434
|
columns: props.columns,
|
|
3435
|
+
colsProps: colsProps,
|
|
3392
3436
|
compareSelectionBy: props.compareSelectionBy,
|
|
3393
3437
|
contextMenuSelected: contextMenuSelected,
|
|
3394
3438
|
dataKey: props.dataKey,
|
|
@@ -3776,6 +3820,7 @@ this.primereact.datatable = (function (exports, React, PrimeReact$1, componentba
|
|
|
3776
3820
|
EQUALS: 'equals',
|
|
3777
3821
|
NOT_EQUALS: 'notEquals',
|
|
3778
3822
|
IN: 'in',
|
|
3823
|
+
NOT_IN: 'notIn',
|
|
3779
3824
|
LESS_THAN: 'lt',
|
|
3780
3825
|
LESS_THAN_OR_EQUAL_TO: 'lte',
|
|
3781
3826
|
GREATER_THAN: 'gt',
|
|
@@ -3864,6 +3909,7 @@ this.primereact.datatable = (function (exports, React, PrimeReact$1, componentba
|
|
|
3864
3909
|
emptySelectionMessage: 'No selected item',
|
|
3865
3910
|
endsWith: 'Ends with',
|
|
3866
3911
|
equals: 'Equals',
|
|
3912
|
+
fileChosenMessage: '{0} files',
|
|
3867
3913
|
fileSizeTypes: ['B', 'KB', 'MB', 'GB', 'TB', 'PB', 'EB', 'ZB', 'YB'],
|
|
3868
3914
|
filter: 'Filter',
|
|
3869
3915
|
firstDayOfWeek: 0,
|
|
@@ -3882,6 +3928,7 @@ this.primereact.datatable = (function (exports, React, PrimeReact$1, componentba
|
|
|
3882
3928
|
nextMonth: 'Next Month',
|
|
3883
3929
|
nextSecond: 'Next Second',
|
|
3884
3930
|
nextYear: 'Next Year',
|
|
3931
|
+
noFileChosenMessage: 'No file chosen',
|
|
3885
3932
|
noFilter: 'No Filter',
|
|
3886
3933
|
notContains: 'Not contains',
|
|
3887
3934
|
notEquals: 'Not equals',
|
|
@@ -3909,8 +3956,10 @@ this.primereact.datatable = (function (exports, React, PrimeReact$1, componentba
|
|
|
3909
3956
|
aria: {
|
|
3910
3957
|
cancelEdit: 'Cancel Edit',
|
|
3911
3958
|
close: 'Close',
|
|
3959
|
+
collapseLabel: 'Collapse',
|
|
3912
3960
|
collapseRow: 'Row Collapsed',
|
|
3913
3961
|
editRow: 'Edit Row',
|
|
3962
|
+
expandLabel: 'Expand',
|
|
3914
3963
|
expandRow: 'Row Expanded',
|
|
3915
3964
|
falseLabel: 'False',
|
|
3916
3965
|
filterConstraint: 'Filter Constraint',
|
|
@@ -3935,18 +3984,20 @@ this.primereact.datatable = (function (exports, React, PrimeReact$1, componentba
|
|
|
3935
3984
|
next: 'Next',
|
|
3936
3985
|
nextPageLabel: 'Next Page',
|
|
3937
3986
|
nullLabel: 'Not Selected',
|
|
3938
|
-
pageLabel: 'Page {page}',
|
|
3939
3987
|
otpLabel: 'Please enter one time password character {0}',
|
|
3988
|
+
pageLabel: 'Page {page}',
|
|
3940
3989
|
passwordHide: 'Hide Password',
|
|
3941
3990
|
passwordShow: 'Show Password',
|
|
3942
3991
|
previous: 'Previous',
|
|
3943
3992
|
prevPageLabel: 'Previous Page',
|
|
3993
|
+
removeLabel: 'Remove',
|
|
3944
3994
|
rotateLeft: 'Rotate Left',
|
|
3945
3995
|
rotateRight: 'Rotate Right',
|
|
3946
3996
|
rowsPerPageLabel: 'Rows per page',
|
|
3947
3997
|
saveEdit: 'Save Edit',
|
|
3948
3998
|
scrollTop: 'Scroll Top',
|
|
3949
3999
|
selectAll: 'All items selected',
|
|
4000
|
+
selectLabel: 'Select',
|
|
3950
4001
|
selectRow: 'Row Selected',
|
|
3951
4002
|
showFilterMenu: 'Show Filter Menu',
|
|
3952
4003
|
slide: 'Slide',
|
|
@@ -3955,6 +4006,7 @@ this.primereact.datatable = (function (exports, React, PrimeReact$1, componentba
|
|
|
3955
4006
|
stars: '{star} stars',
|
|
3956
4007
|
trueLabel: 'True',
|
|
3957
4008
|
unselectAll: 'All items unselected',
|
|
4009
|
+
unselectLabel: 'Unselect',
|
|
3958
4010
|
unselectRow: 'Row Unselected',
|
|
3959
4011
|
zoomImage: 'Zoom Image',
|
|
3960
4012
|
zoomIn: 'Zoom In',
|
|
@@ -4172,9 +4224,17 @@ this.primereact.datatable = (function (exports, React, PrimeReact$1, componentba
|
|
|
4172
4224
|
var type = _ref.type,
|
|
4173
4225
|
valid = _ref.valid;
|
|
4174
4226
|
if (valid) {
|
|
4175
|
-
type === 'outside'
|
|
4227
|
+
if (type === 'outside') {
|
|
4228
|
+
if (!selfClick.current && !isTargetClicked(event.target)) {
|
|
4229
|
+
hide();
|
|
4230
|
+
}
|
|
4231
|
+
selfClick.current = false;
|
|
4232
|
+
} else if (context.hideOverlaysOnDocumentScrolling) {
|
|
4233
|
+
hide();
|
|
4234
|
+
} else if (!utils.DomHandler.isDocument(event.target)) {
|
|
4235
|
+
utils.DomHandler.alignOverlay(overlayRef.current, iconRef.current, context && context.appendTo || PrimeReact__default["default"].appendTo, false);
|
|
4236
|
+
}
|
|
4176
4237
|
}
|
|
4177
|
-
selfClick.current = false;
|
|
4178
4238
|
},
|
|
4179
4239
|
when: overlayVisibleState
|
|
4180
4240
|
}),
|
|
@@ -6873,58 +6933,60 @@ this.primereact.datatable = (function (exports, React, PrimeReact$1, componentba
|
|
|
6873
6933
|
var exportCSV = function exportCSV(options) {
|
|
6874
6934
|
var data;
|
|
6875
6935
|
var csv = "\uFEFF";
|
|
6876
|
-
var columns = getColumns();
|
|
6877
6936
|
if (options && options.selectionOnly) {
|
|
6878
6937
|
data = props.selection || [];
|
|
6879
6938
|
} else {
|
|
6880
6939
|
data = [].concat(_toConsumableArray(props.frozenValue || []), _toConsumableArray(processedData() || []));
|
|
6881
6940
|
}
|
|
6882
6941
|
|
|
6883
|
-
//
|
|
6884
|
-
|
|
6885
|
-
var
|
|
6942
|
+
// First build collection of exportable columns
|
|
6943
|
+
var exportableColumns = getColumns().filter(function (column) {
|
|
6944
|
+
var exportable = getColumnProp(column, 'exportable');
|
|
6945
|
+
var field = getColumnProp(column, 'field');
|
|
6946
|
+
|
|
6947
|
+
// Column must be exportable (or undefined/not set) and have a field defined
|
|
6948
|
+
return exportable !== false && field;
|
|
6949
|
+
});
|
|
6950
|
+
|
|
6951
|
+
// headers
|
|
6952
|
+
exportableColumns.forEach(function (column, i) {
|
|
6953
|
+
var _ref5 = [getColumnProp(column, 'field'), getColumnProp(column, 'header'), getColumnProp(column, 'exportHeader')],
|
|
6886
6954
|
field = _ref5[0],
|
|
6887
6955
|
header = _ref5[1],
|
|
6888
|
-
exportHeader = _ref5[2]
|
|
6889
|
-
|
|
6890
|
-
|
|
6891
|
-
|
|
6892
|
-
csv = csv +
|
|
6893
|
-
if (i < columns.length - 1) {
|
|
6894
|
-
csv = csv + props.csvSeparator;
|
|
6895
|
-
}
|
|
6956
|
+
exportHeader = _ref5[2];
|
|
6957
|
+
var columnHeader = String(exportHeader || header || field).replace(/"/g, '""').replace(/\n/g, "\u2028");
|
|
6958
|
+
csv = csv + ('"' + columnHeader + '"');
|
|
6959
|
+
if (i < exportableColumns.length - 1) {
|
|
6960
|
+
csv = csv + props.csvSeparator;
|
|
6896
6961
|
}
|
|
6897
6962
|
});
|
|
6898
6963
|
|
|
6899
|
-
//body
|
|
6964
|
+
// body
|
|
6900
6965
|
data.forEach(function (record) {
|
|
6901
6966
|
csv = csv + '\n';
|
|
6902
|
-
|
|
6903
|
-
var _ref6 = [getColumnProp(column, 'field'), getColumnProp(column, 'exportField')
|
|
6967
|
+
exportableColumns.forEach(function (column, i) {
|
|
6968
|
+
var _ref6 = [getColumnProp(column, 'field'), getColumnProp(column, 'exportField')],
|
|
6904
6969
|
colField = _ref6[0],
|
|
6905
|
-
exportField = _ref6[1]
|
|
6906
|
-
exportable = _ref6[2];
|
|
6970
|
+
exportField = _ref6[1];
|
|
6907
6971
|
var field = exportField || colField;
|
|
6908
|
-
|
|
6909
|
-
|
|
6910
|
-
if (
|
|
6911
|
-
|
|
6912
|
-
cellData
|
|
6913
|
-
|
|
6914
|
-
|
|
6915
|
-
|
|
6916
|
-
|
|
6917
|
-
});
|
|
6918
|
-
} else {
|
|
6919
|
-
cellData = String(cellData).replace(/"/g, '""').replace(/\n/g, "\u2028");
|
|
6920
|
-
}
|
|
6972
|
+
var cellData = utils.ObjectUtils.resolveFieldData(record, field);
|
|
6973
|
+
if (cellData != null) {
|
|
6974
|
+
if (props.exportFunction) {
|
|
6975
|
+
cellData = props.exportFunction({
|
|
6976
|
+
data: cellData,
|
|
6977
|
+
field: field,
|
|
6978
|
+
rowData: record,
|
|
6979
|
+
column: column
|
|
6980
|
+
});
|
|
6921
6981
|
} else {
|
|
6922
|
-
cellData = '';
|
|
6923
|
-
}
|
|
6924
|
-
csv = csv + ('"' + cellData + '"');
|
|
6925
|
-
if (i < columns.length - 1) {
|
|
6926
|
-
csv = csv + props.csvSeparator;
|
|
6982
|
+
cellData = String(cellData).replace(/"/g, '""').replace(/\n/g, "\u2028");
|
|
6927
6983
|
}
|
|
6984
|
+
} else {
|
|
6985
|
+
cellData = '';
|
|
6986
|
+
}
|
|
6987
|
+
csv = csv + ('"' + cellData + '"');
|
|
6988
|
+
if (i < exportableColumns.length - 1) {
|
|
6989
|
+
csv = csv + props.csvSeparator;
|
|
6928
6990
|
}
|
|
6929
6991
|
});
|
|
6930
6992
|
});
|
|
@@ -7189,6 +7251,9 @@ this.primereact.datatable = (function (exports, React, PrimeReact$1, componentba
|
|
|
7189
7251
|
var frozenBody = utils.ObjectUtils.isNotEmpty(props.frozenValue) && /*#__PURE__*/React__namespace.createElement(TableBody, {
|
|
7190
7252
|
hostName: "DataTable",
|
|
7191
7253
|
ref: frozenBodyRef,
|
|
7254
|
+
cellMemo: props.cellMemo,
|
|
7255
|
+
cellMemoProps: props.cellMemoProps,
|
|
7256
|
+
cellMemoPropsDepth: props.cellMemoPropsDepth,
|
|
7192
7257
|
cellClassName: props.cellClassName,
|
|
7193
7258
|
cellSelection: props.cellSelection,
|
|
7194
7259
|
checkIcon: props.checkIcon,
|
|
@@ -7273,6 +7338,9 @@ this.primereact.datatable = (function (exports, React, PrimeReact$1, componentba
|
|
|
7273
7338
|
var body = /*#__PURE__*/React__namespace.createElement(TableBody, {
|
|
7274
7339
|
hostName: "DataTable",
|
|
7275
7340
|
ref: bodyRef,
|
|
7341
|
+
cellMemo: props.cellMemo,
|
|
7342
|
+
cellMemoProps: props.cellMemoProps,
|
|
7343
|
+
cellMemoPropsDepth: props.cellMemoPropsDepth,
|
|
7276
7344
|
cellClassName: props.cellClassName,
|
|
7277
7345
|
cellSelection: props.cellSelection,
|
|
7278
7346
|
checkIcon: props.checkIcon,
|