primereact 10.9.4 → 10.9.5
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/autocomplete/autocomplete.cjs.js +13 -1
- package/autocomplete/autocomplete.cjs.min.js +1 -1
- 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 +10 -2
- package/calendar/calendar.cjs.min.js +1 -1
- package/calendar/calendar.esm.js +11 -3
- package/calendar/calendar.esm.min.js +1 -1
- package/calendar/calendar.js +10 -2
- package/calendar/calendar.min.js +1 -1
- package/cascadeselect/cascadeselect.cjs.js +9 -2
- package/cascadeselect/cascadeselect.cjs.min.js +1 -1
- package/cascadeselect/cascadeselect.d.ts +9 -0
- package/cascadeselect/cascadeselect.esm.js +9 -2
- package/cascadeselect/cascadeselect.esm.min.js +1 -1
- package/cascadeselect/cascadeselect.js +9 -2
- 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 +172 -30
- package/core/core.min.js +6 -6
- package/datatable/datatable.cjs.js +278 -238
- package/datatable/datatable.cjs.min.js +1 -1
- package/datatable/datatable.esm.js +279 -239
- package/datatable/datatable.esm.min.js +1 -1
- package/datatable/datatable.js +278 -238
- package/datatable/datatable.min.js +1 -1
- package/dropdown/dropdown.cjs.js +13 -2
- package/dropdown/dropdown.cjs.min.js +1 -1
- package/dropdown/dropdown.d.ts +4 -0
- package/dropdown/dropdown.esm.js +13 -2
- package/dropdown/dropdown.esm.min.js +1 -1
- package/dropdown/dropdown.js +13 -2
- package/dropdown/dropdown.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 +5 -2
- package/inputnumber/inputnumber.cjs.min.js +1 -1
- package/inputnumber/inputnumber.esm.js +5 -2
- package/inputnumber/inputnumber.esm.min.js +1 -1
- package/inputnumber/inputnumber.js +5 -2
- 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/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 +11 -3
- package/menu/menu.cjs.min.js +1 -1
- package/menu/menu.esm.js +12 -4
- package/menu/menu.esm.min.js +1 -1
- package/menu/menu.js +11 -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 +7 -3
- package/multiselect/multiselect.cjs.min.js +1 -1
- package/multiselect/multiselect.esm.js +7 -3
- package/multiselect/multiselect.esm.min.js +1 -1
- package/multiselect/multiselect.js +7 -3
- package/multiselect/multiselect.min.js +1 -1
- package/multistatecheckbox/multistatecheckbox.cjs.js +1 -1
- package/multistatecheckbox/multistatecheckbox.cjs.min.js +1 -1
- package/multistatecheckbox/multistatecheckbox.esm.js +1 -1
- package/multistatecheckbox/multistatecheckbox.esm.min.js +1 -1
- package/multistatecheckbox/multistatecheckbox.js +1 -1
- 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/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/primereact.all.cjs.js +641 -334
- package/primereact.all.cjs.min.js +1 -1
- package/primereact.all.esm.js +642 -335
- package/primereact.all.esm.min.js +1 -1
- package/primereact.all.js +641 -334
- 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 +15 -8
- package/treeselect/treeselect.cjs.min.js +1 -1
- package/treeselect/treeselect.esm.js +15 -8
- package/treeselect/treeselect.esm.min.js +1 -1
- package/treeselect/treeselect.js +15 -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 +6 -6
- package/tristatecheckbox/tristatecheckbox.cjs.min.js +1 -1
- package/tristatecheckbox/tristatecheckbox.esm.js +6 -6
- package/tristatecheckbox/tristatecheckbox.esm.min.js +1 -1
- package/tristatecheckbox/tristatecheckbox.js +6 -6
- package/tristatecheckbox/tristatecheckbox.min.js +1 -1
- package/utils/utils.cjs.js +136 -18
- package/utils/utils.cjs.min.js +1 -1
- package/utils/utils.d.ts +5 -1
- package/utils/utils.esm.js +136 -18
- package/utils/utils.esm.min.js +1 -1
- package/utils/utils.js +136 -18
- package/utils/utils.min.js +1 -1
- package/web-types.json +29 -2
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
'use client';
|
|
2
2
|
import * as React from 'react';
|
|
3
|
-
import React__default from 'react';
|
|
3
|
+
import React__default, { Fragment } from 'react';
|
|
4
4
|
import PrimeReact$1, { FilterMatchMode as FilterMatchMode$1, PrimeReactContext, ariaLabel as ariaLabel$1, localeOption, FilterOperator, FilterService } from 'primereact/api';
|
|
5
5
|
import { ComponentBase, useHandleStyle } from 'primereact/componentbase';
|
|
6
6
|
import { ObjectUtils, classNames, DomHandler, IconUtils, UniqueComponentId, ZIndexUtils } from 'primereact/utils';
|
|
@@ -713,7 +713,7 @@ var Checkbox = /*#__PURE__*/React.memo(/*#__PURE__*/React.forwardRef(function (i
|
|
|
713
713
|
return props.checked === props.trueValue;
|
|
714
714
|
};
|
|
715
715
|
var _onChange = function onChange(event) {
|
|
716
|
-
if (props.disabled || props.
|
|
716
|
+
if (props.disabled || props.readOnly) {
|
|
717
717
|
return;
|
|
718
718
|
}
|
|
719
719
|
if (props.onChange) {
|
|
@@ -972,7 +972,7 @@ var RadioButton = /*#__PURE__*/React.memo(/*#__PURE__*/React.forwardRef(function
|
|
|
972
972
|
onChange(event);
|
|
973
973
|
};
|
|
974
974
|
var onChange = function onChange(event) {
|
|
975
|
-
if (props.disabled || props.
|
|
975
|
+
if (props.disabled || props.readOnly) {
|
|
976
976
|
return;
|
|
977
977
|
}
|
|
978
978
|
if (props.onChange) {
|
|
@@ -1075,7 +1075,7 @@ var RadioButton = /*#__PURE__*/React.memo(/*#__PURE__*/React.forwardRef(function
|
|
|
1075
1075
|
onBlur: onBlur,
|
|
1076
1076
|
onChange: onChange,
|
|
1077
1077
|
disabled: props.disabled,
|
|
1078
|
-
readOnly: props.
|
|
1078
|
+
readOnly: props.readOnly,
|
|
1079
1079
|
required: props.required,
|
|
1080
1080
|
tabIndex: props.tabIndex,
|
|
1081
1081
|
className: cx('input')
|
|
@@ -1148,7 +1148,7 @@ RowRadioButton.displayName = 'RowRadioButton';
|
|
|
1148
1148
|
|
|
1149
1149
|
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; }
|
|
1150
1150
|
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; }
|
|
1151
|
-
var
|
|
1151
|
+
var Cell = function Cell(props) {
|
|
1152
1152
|
var mergeProps = useMergeProps();
|
|
1153
1153
|
var _React$useState = React.useState(props.editing),
|
|
1154
1154
|
_React$useState2 = _slicedToArray(_React$useState, 2),
|
|
@@ -1176,13 +1176,9 @@ var BodyCell = /*#__PURE__*/React.memo(function (props) {
|
|
|
1176
1176
|
var getColumnProp = function getColumnProp(name) {
|
|
1177
1177
|
return ColumnBase.getCProp(props.column, name);
|
|
1178
1178
|
};
|
|
1179
|
-
var getColumnProps = function getColumnProps() {
|
|
1180
|
-
return ColumnBase.getCProps(props.column);
|
|
1181
|
-
};
|
|
1182
1179
|
var getColumnPTOptions = function getColumnPTOptions(key) {
|
|
1183
|
-
var cProps = getColumnProps();
|
|
1184
1180
|
var columnMetaData = {
|
|
1185
|
-
props: cProps,
|
|
1181
|
+
props: props.cProps,
|
|
1186
1182
|
parent: props.metaData,
|
|
1187
1183
|
hostName: props.hostName,
|
|
1188
1184
|
state: {
|
|
@@ -1198,10 +1194,8 @@ var BodyCell = /*#__PURE__*/React.memo(function (props) {
|
|
|
1198
1194
|
};
|
|
1199
1195
|
return mergeProps(ptm("column.".concat(key), {
|
|
1200
1196
|
column: columnMetaData
|
|
1201
|
-
}), ptm("column.".concat(key), columnMetaData), ptmo(cProps, key, columnMetaData));
|
|
1197
|
+
}), ptm("column.".concat(key), columnMetaData), ptmo(props.cProps, key, columnMetaData));
|
|
1202
1198
|
};
|
|
1203
|
-
var field = getColumnProp('field') || "field_".concat(props.index);
|
|
1204
|
-
var editingKey = props.dataKey ? props.rowData && props.rowData[props.dataKey] || props.rowIndex : props.rowIndex;
|
|
1205
1199
|
var isEditable = function isEditable() {
|
|
1206
1200
|
return ObjectUtils.isNotEmpty(props.editMode) && getColumnProp('editor');
|
|
1207
1201
|
};
|
|
@@ -1226,34 +1220,22 @@ var BodyCell = /*#__PURE__*/React.memo(function (props) {
|
|
|
1226
1220
|
_useEventListener2 = _slicedToArray(_useEventListener, 2),
|
|
1227
1221
|
bindDocumentClickListener = _useEventListener2[0],
|
|
1228
1222
|
unbindDocumentClickListener = _useEventListener2[1];
|
|
1229
|
-
var isSelected = function isSelected() {
|
|
1230
|
-
return props.selection ? props.selection instanceof Array ? findIndex(props.selection) > -1 : equals(props.selection) : false;
|
|
1231
|
-
};
|
|
1232
|
-
var equalsData = function equalsData(data) {
|
|
1233
|
-
return props.compareSelectionBy === 'equals' ? data === props.rowData : ObjectUtils.equals(data, props.rowData, props.dataKey);
|
|
1234
|
-
};
|
|
1235
|
-
var equals = function equals(selectedCell) {
|
|
1236
|
-
return selectedCell && (selectedCell.rowIndex === props.rowIndex || equalsData(selectedCell.rowData)) && (selectedCell.field === field || selectedCell.cellIndex === props.index);
|
|
1237
|
-
};
|
|
1238
1223
|
var isOutsideClicked = function isOutsideClicked(target) {
|
|
1239
1224
|
return elementRef.current && !(elementRef.current.isSameNode(target) || elementRef.current.contains(target));
|
|
1240
1225
|
};
|
|
1241
|
-
var getVirtualScrollerOption = function getVirtualScrollerOption(option) {
|
|
1242
|
-
return props.virtualScrollerOptions ? props.virtualScrollerOptions[option] : null;
|
|
1243
|
-
};
|
|
1244
1226
|
var getStyle = function getStyle() {
|
|
1245
1227
|
var bodyStyle = getColumnProp('bodyStyle');
|
|
1246
1228
|
var columnStyle = getColumnProp('style');
|
|
1247
|
-
return
|
|
1229
|
+
return props.frozenCol ? Object.assign({}, columnStyle, bodyStyle, styleObjectState) : Object.assign({}, columnStyle, bodyStyle);
|
|
1248
1230
|
};
|
|
1249
1231
|
var getCellParams = function getCellParams() {
|
|
1250
1232
|
return {
|
|
1251
|
-
value: resolveFieldData(),
|
|
1252
|
-
field: field,
|
|
1233
|
+
value: props.resolveFieldData(),
|
|
1234
|
+
field: props.field,
|
|
1253
1235
|
rowData: props.rowData,
|
|
1254
1236
|
rowIndex: props.rowIndex,
|
|
1255
1237
|
cellIndex: props.index,
|
|
1256
|
-
selected:
|
|
1238
|
+
selected: props.isCellSelected,
|
|
1257
1239
|
column: props.column,
|
|
1258
1240
|
props: props
|
|
1259
1241
|
};
|
|
@@ -1264,20 +1246,6 @@ var BodyCell = /*#__PURE__*/React.memo(function (props) {
|
|
|
1264
1246
|
originalEvent: event
|
|
1265
1247
|
}, params);
|
|
1266
1248
|
};
|
|
1267
|
-
var resolveFieldData = function resolveFieldData(data) {
|
|
1268
|
-
return ObjectUtils.resolveFieldData(data || props.rowData, field);
|
|
1269
|
-
};
|
|
1270
|
-
var getEditingRowData = function getEditingRowData() {
|
|
1271
|
-
return props.editingMeta && props.editingMeta[editingKey] ? props.editingMeta[editingKey].data : props.rowData;
|
|
1272
|
-
};
|
|
1273
|
-
var getTabIndex = function getTabIndex(cellSelected) {
|
|
1274
|
-
return props.allowCellSelection ? cellSelected ? 0 : props.rowIndex === 0 && props.index === 0 ? props.tabIndex : -1 : null;
|
|
1275
|
-
};
|
|
1276
|
-
var findIndex = function findIndex(collection) {
|
|
1277
|
-
return (collection || []).findIndex(function (data) {
|
|
1278
|
-
return equals(data);
|
|
1279
|
-
});
|
|
1280
|
-
};
|
|
1281
1249
|
var closeCell = function closeCell(event) {
|
|
1282
1250
|
var params = getCellCallbackParams(event);
|
|
1283
1251
|
var onBeforeCellEditHide = getColumnProp('onBeforeCellEditHide');
|
|
@@ -1298,7 +1266,7 @@ var BodyCell = /*#__PURE__*/React.memo(function (props) {
|
|
|
1298
1266
|
var switchCellToViewMode = function switchCellToViewMode(event, submit) {
|
|
1299
1267
|
var callbackParams = getCellCallbackParams(event);
|
|
1300
1268
|
var newRowData = _objectSpread$b({}, editingRowDataStateRef.current);
|
|
1301
|
-
var newValue = resolveFieldData(newRowData);
|
|
1269
|
+
var newValue = props.resolveFieldData(newRowData);
|
|
1302
1270
|
var params = _objectSpread$b(_objectSpread$b({}, callbackParams), {}, {
|
|
1303
1271
|
newRowData: newRowData,
|
|
1304
1272
|
newValue: newValue
|
|
@@ -1323,128 +1291,20 @@ var BodyCell = /*#__PURE__*/React.memo(function (props) {
|
|
|
1323
1291
|
}
|
|
1324
1292
|
setEditingRowDataState(newRowData);
|
|
1325
1293
|
};
|
|
1326
|
-
var _findNextSelectableCell = function findNextSelectableCell(cell) {
|
|
1327
|
-
var nextCell = cell.nextElementSibling;
|
|
1328
|
-
return nextCell ? DomHandler.getAttribute(nextCell, 'data-p-selectable-cell') ? nextCell : _findNextSelectableCell(nextCell) : null;
|
|
1329
|
-
};
|
|
1330
|
-
var _findPrevSelectableCell = function findPrevSelectableCell(cell) {
|
|
1331
|
-
var prevCell = cell.previousElementSibling;
|
|
1332
|
-
return prevCell ? DomHandler.getAttribute(prevCell, 'data-p-selectable-cell') ? prevCell : _findPrevSelectableCell(prevCell) : null;
|
|
1333
|
-
};
|
|
1334
|
-
var _findDownSelectableCell = function findDownSelectableCell(cell) {
|
|
1335
|
-
var downRow = cell.parentElement.nextElementSibling;
|
|
1336
|
-
var downCell = downRow ? downRow.children[props.index] : null;
|
|
1337
|
-
return downRow && downCell ? DomHandler.getAttribute(downRow, 'data-p-selectable-row') && DomHandler.getAttribute(downCell, 'data-p-selectable-cell') ? downCell : _findDownSelectableCell(downCell) : null;
|
|
1338
|
-
};
|
|
1339
|
-
var _findUpSelectableCell = function findUpSelectableCell(cell) {
|
|
1340
|
-
var upRow = cell.parentElement.previousElementSibling;
|
|
1341
|
-
var upCell = upRow ? upRow.children[props.index] : null;
|
|
1342
|
-
return upRow && upCell ? DomHandler.getAttribute(upRow, 'data-p-selectable-row') && DomHandler.getAttribute(upCell, 'data-p-selectable-cell') ? upCell : _findUpSelectableCell(upCell) : null;
|
|
1343
|
-
};
|
|
1344
|
-
var changeTabIndex = function changeTabIndex(currentCell, nextCell) {
|
|
1345
|
-
if (currentCell && nextCell) {
|
|
1346
|
-
currentCell.tabIndex = -1;
|
|
1347
|
-
nextCell.tabIndex = props.tabIndex;
|
|
1348
|
-
}
|
|
1349
|
-
};
|
|
1350
|
-
var focusOnElement = function focusOnElement() {
|
|
1351
|
-
clearTimeout(focusTimeout.current);
|
|
1352
|
-
focusTimeout.current = setTimeout(function () {
|
|
1353
|
-
if (editingState) {
|
|
1354
|
-
var focusableEl = props.editMode === 'cell' ? DomHandler.getFirstFocusableElement(elementRef.current, ':not([data-pc-section="editorkeyhelperlabel"])') : DomHandler.findSingle(elementRef.current, '[data-p-row-editor-save="true"]');
|
|
1355
|
-
focusableEl && focusableEl.focus();
|
|
1356
|
-
}
|
|
1357
|
-
keyHelperRef.current && (keyHelperRef.current.tabIndex = editingState ? -1 : 0);
|
|
1358
|
-
}, 1);
|
|
1359
|
-
};
|
|
1360
|
-
var focusOnInit = function focusOnInit() {
|
|
1361
|
-
clearTimeout(initFocusTimeout.current);
|
|
1362
|
-
initFocusTimeout.current = setTimeout(function () {
|
|
1363
|
-
var focusableEl = props.editMode === 'row' ? DomHandler.findSingle(elementRef.current, '[data-p-row-editor-init="true"]') : null;
|
|
1364
|
-
focusableEl && focusableEl.focus();
|
|
1365
|
-
}, 1);
|
|
1366
|
-
};
|
|
1367
|
-
var updateStickyPosition = function updateStickyPosition() {
|
|
1368
|
-
if (getColumnProp('frozen')) {
|
|
1369
|
-
var styleObject = _objectSpread$b({}, styleObjectState);
|
|
1370
|
-
var align = getColumnProp('alignFrozen');
|
|
1371
|
-
if (align === 'right') {
|
|
1372
|
-
var right = 0;
|
|
1373
|
-
var next = elementRef.current && elementRef.current.nextElementSibling;
|
|
1374
|
-
if (next && next.classList.contains('p-frozen-column')) {
|
|
1375
|
-
right = DomHandler.getOuterWidth(next) + parseFloat(next.style.right || 0);
|
|
1376
|
-
}
|
|
1377
|
-
styleObject.right = right + 'px';
|
|
1378
|
-
} else {
|
|
1379
|
-
var left = 0;
|
|
1380
|
-
var prev = elementRef.current && elementRef.current.previousElementSibling;
|
|
1381
|
-
if (prev && prev.classList.contains('p-frozen-column')) {
|
|
1382
|
-
left = DomHandler.getOuterWidth(prev) + parseFloat(prev.style.left || 0);
|
|
1383
|
-
}
|
|
1384
|
-
styleObject.left = left + 'px';
|
|
1385
|
-
}
|
|
1386
|
-
var isSameStyle = styleObjectState.left === styleObject.left && styleObjectState.right === styleObject.right;
|
|
1387
|
-
!isSameStyle && setStyleObjectState(styleObject);
|
|
1388
|
-
}
|
|
1389
|
-
};
|
|
1390
1294
|
var editorCallback = function editorCallback(val) {
|
|
1391
1295
|
var editingRowData = _objectSpread$b({}, editingRowDataState);
|
|
1392
|
-
ObjectUtils.mutateFieldData(editingRowData, field, val);
|
|
1296
|
+
ObjectUtils.mutateFieldData(editingRowData, props.field, val);
|
|
1393
1297
|
setEditingRowDataState(editingRowData);
|
|
1394
1298
|
|
|
1395
1299
|
// update editing meta for complete methods on row mode
|
|
1396
|
-
var currentData = getEditingRowData();
|
|
1300
|
+
var currentData = props.getEditingRowData();
|
|
1397
1301
|
if (currentData) {
|
|
1398
|
-
ObjectUtils.mutateFieldData(currentData, field, val);
|
|
1302
|
+
ObjectUtils.mutateFieldData(currentData, props.field, val);
|
|
1399
1303
|
}
|
|
1400
1304
|
editingRowDataStateRef.current = editingRowData;
|
|
1401
1305
|
};
|
|
1402
1306
|
var _onClick = function onClick(event) {
|
|
1403
|
-
|
|
1404
|
-
if (props.editMode !== 'row' && isEditable() && !editingState && (props.selectOnEdit || !props.selectOnEdit && props.selected)) {
|
|
1405
|
-
selfClick.current = true;
|
|
1406
|
-
var onBeforeCellEditShow = getColumnProp('onBeforeCellEditShow');
|
|
1407
|
-
var onCellEditInit = getColumnProp('onCellEditInit');
|
|
1408
|
-
var cellEditValidatorEvent = getColumnProp('cellEditValidatorEvent');
|
|
1409
|
-
if (onBeforeCellEditShow) {
|
|
1410
|
-
// if user returns false do not show the editor
|
|
1411
|
-
if (onBeforeCellEditShow(params) === false) {
|
|
1412
|
-
return;
|
|
1413
|
-
}
|
|
1414
|
-
|
|
1415
|
-
// if user prevents default stop the editor
|
|
1416
|
-
if (event && event.defaultPrevented) {
|
|
1417
|
-
return;
|
|
1418
|
-
}
|
|
1419
|
-
}
|
|
1420
|
-
|
|
1421
|
-
// 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.
|
|
1422
|
-
setTimeout(function () {
|
|
1423
|
-
setEditingState(true);
|
|
1424
|
-
if (onCellEditInit) {
|
|
1425
|
-
if (onCellEditInit(params) === false) {
|
|
1426
|
-
return;
|
|
1427
|
-
}
|
|
1428
|
-
|
|
1429
|
-
// if user prevents default stop the editor
|
|
1430
|
-
if (event && event.defaultPrevented) {
|
|
1431
|
-
return;
|
|
1432
|
-
}
|
|
1433
|
-
}
|
|
1434
|
-
if (cellEditValidatorEvent === 'click') {
|
|
1435
|
-
bindDocumentClickListener();
|
|
1436
|
-
overlayEventListener.current = function (e) {
|
|
1437
|
-
if (!isOutsideClicked(e.target)) {
|
|
1438
|
-
selfClick.current = true;
|
|
1439
|
-
}
|
|
1440
|
-
};
|
|
1441
|
-
OverlayService.on('overlay-click', overlayEventListener.current);
|
|
1442
|
-
}
|
|
1443
|
-
}, 1);
|
|
1444
|
-
}
|
|
1445
|
-
if (props.allowCellSelection && props.onClick) {
|
|
1446
|
-
props.onClick(params);
|
|
1447
|
-
}
|
|
1307
|
+
props.onClick(event, getCellCallbackParams(event), isEditable(), editingState, setEditingState, selfClick, props.column, bindDocumentClickListener, overlayEventListener);
|
|
1448
1308
|
};
|
|
1449
1309
|
var _onMouseDown = function onMouseDown(event) {
|
|
1450
1310
|
var params = getCellCallbackParams(event);
|
|
@@ -1468,7 +1328,7 @@ var BodyCell = /*#__PURE__*/React.memo(function (props) {
|
|
|
1468
1328
|
cell = event.currentTarget;
|
|
1469
1329
|
switch (event.code) {
|
|
1470
1330
|
case 'ArrowLeft':
|
|
1471
|
-
var prevCell =
|
|
1331
|
+
var prevCell = props.findPrevSelectableCell(cell);
|
|
1472
1332
|
if (prevCell) {
|
|
1473
1333
|
changeTabIndex(cell, prevCell);
|
|
1474
1334
|
prevCell.focus();
|
|
@@ -1476,7 +1336,7 @@ var BodyCell = /*#__PURE__*/React.memo(function (props) {
|
|
|
1476
1336
|
event.preventDefault();
|
|
1477
1337
|
break;
|
|
1478
1338
|
case 'ArrowRight':
|
|
1479
|
-
var nextCell =
|
|
1339
|
+
var nextCell = props.findNextSelectableCell(cell);
|
|
1480
1340
|
if (nextCell) {
|
|
1481
1341
|
changeTabIndex(cell, nextCell);
|
|
1482
1342
|
nextCell.focus();
|
|
@@ -1484,7 +1344,7 @@ var BodyCell = /*#__PURE__*/React.memo(function (props) {
|
|
|
1484
1344
|
event.preventDefault();
|
|
1485
1345
|
break;
|
|
1486
1346
|
case 'ArrowUp':
|
|
1487
|
-
var upCell =
|
|
1347
|
+
var upCell = props.findUpSelectableCell(cell, index);
|
|
1488
1348
|
if (upCell) {
|
|
1489
1349
|
changeTabIndex(cell, upCell);
|
|
1490
1350
|
upCell.focus();
|
|
@@ -1492,7 +1352,7 @@ var BodyCell = /*#__PURE__*/React.memo(function (props) {
|
|
|
1492
1352
|
event.preventDefault();
|
|
1493
1353
|
break;
|
|
1494
1354
|
case 'ArrowDown':
|
|
1495
|
-
var downCell =
|
|
1355
|
+
var downCell = props.findDownSelectableCell(cell, index);
|
|
1496
1356
|
if (downCell) {
|
|
1497
1357
|
changeTabIndex(cell, downCell);
|
|
1498
1358
|
downCell.focus();
|
|
@@ -1531,13 +1391,6 @@ var BodyCell = /*#__PURE__*/React.memo(function (props) {
|
|
|
1531
1391
|
index: props.rowIndex
|
|
1532
1392
|
});
|
|
1533
1393
|
};
|
|
1534
|
-
var onCheckboxChange = function onCheckboxChange(event) {
|
|
1535
|
-
props.onCheckboxChange({
|
|
1536
|
-
originalEvent: event,
|
|
1537
|
-
data: props.rowData,
|
|
1538
|
-
index: props.rowIndex
|
|
1539
|
-
});
|
|
1540
|
-
};
|
|
1541
1394
|
var onRowToggle = function onRowToggle(event) {
|
|
1542
1395
|
props.onRowToggle({
|
|
1543
1396
|
originalEvent: event,
|
|
@@ -1550,8 +1403,8 @@ var BodyCell = /*#__PURE__*/React.memo(function (props) {
|
|
|
1550
1403
|
props.onRowEditInit({
|
|
1551
1404
|
originalEvent: event,
|
|
1552
1405
|
data: props.rowData,
|
|
1553
|
-
newData: getEditingRowData(),
|
|
1554
|
-
field: field,
|
|
1406
|
+
newData: props.getEditingRowData(),
|
|
1407
|
+
field: props.field,
|
|
1555
1408
|
index: props.rowIndex
|
|
1556
1409
|
});
|
|
1557
1410
|
};
|
|
@@ -1559,32 +1412,26 @@ var BodyCell = /*#__PURE__*/React.memo(function (props) {
|
|
|
1559
1412
|
props.onRowEditSave({
|
|
1560
1413
|
originalEvent: event,
|
|
1561
1414
|
data: props.rowData,
|
|
1562
|
-
newData: getEditingRowData(),
|
|
1563
|
-
field: field,
|
|
1415
|
+
newData: props.getEditingRowData(),
|
|
1416
|
+
field: props.field,
|
|
1564
1417
|
index: props.rowIndex
|
|
1565
1418
|
});
|
|
1566
|
-
focusOnInit();
|
|
1419
|
+
props.focusOnInit(initFocusTimeout, elementRef);
|
|
1567
1420
|
};
|
|
1568
1421
|
var onRowEditCancel = function onRowEditCancel(event) {
|
|
1569
1422
|
props.onRowEditCancel({
|
|
1570
1423
|
originalEvent: event,
|
|
1571
1424
|
data: props.rowData,
|
|
1572
|
-
newData: getEditingRowData(),
|
|
1573
|
-
field: field,
|
|
1425
|
+
newData: props.getEditingRowData(),
|
|
1426
|
+
field: props.field,
|
|
1574
1427
|
index: props.rowIndex
|
|
1575
1428
|
});
|
|
1576
|
-
focusOnInit();
|
|
1429
|
+
props.focusOnInit();
|
|
1577
1430
|
};
|
|
1578
1431
|
React.useEffect(function () {
|
|
1579
|
-
if (
|
|
1580
|
-
|
|
1581
|
-
|
|
1582
|
-
});
|
|
1583
|
-
React.useEffect(function () {
|
|
1584
|
-
if (props.editMode === 'cell' || props.editMode === 'row') {
|
|
1585
|
-
focusOnElement();
|
|
1586
|
-
}
|
|
1587
|
-
}, [props.editMode, props.editing, editingState]); // eslint-disable-line react-hooks/exhaustive-deps
|
|
1432
|
+
if (props.frozenCol) props.updateStickyPosition(elementRef, props.frozenCol, props.alignFrozenCol, styleObjectState, setStyleObjectState);
|
|
1433
|
+
if (props.editMode === 'cell' || props.editMode === 'row') props.focusOnElement(focusTimeout, editingState, elementRef, keyHelperRef);
|
|
1434
|
+
}, [props.editMode, props.editing, editingState, props.frozenCol, props.alignFrozenCol]); // eslint-disable-line react-hooks/exhaustive-deps
|
|
1588
1435
|
|
|
1589
1436
|
React.useEffect(function () {
|
|
1590
1437
|
if (props.editMode === 'row' && props.editing !== editingState) {
|
|
@@ -1593,7 +1440,7 @@ var BodyCell = /*#__PURE__*/React.memo(function (props) {
|
|
|
1593
1440
|
}, [props.editMode, props.editing, editingState]);
|
|
1594
1441
|
useUpdateEffect(function () {
|
|
1595
1442
|
if (props.editMode === 'cell' || props.editMode === 'row') {
|
|
1596
|
-
var editingRowData = getEditingRowData();
|
|
1443
|
+
var editingRowData = props.getEditingRowData();
|
|
1597
1444
|
setEditingRowDataState(editingRowData);
|
|
1598
1445
|
editingRowDataStateRef.current = editingRowData;
|
|
1599
1446
|
}
|
|
@@ -1603,7 +1450,7 @@ var BodyCell = /*#__PURE__*/React.memo(function (props) {
|
|
|
1603
1450
|
var callbackParams = getCellCallbackParams();
|
|
1604
1451
|
var params = _objectSpread$b(_objectSpread$b({}, callbackParams), {}, {
|
|
1605
1452
|
editing: editingState,
|
|
1606
|
-
editingKey: editingKey
|
|
1453
|
+
editingKey: props.editingKey
|
|
1607
1454
|
});
|
|
1608
1455
|
props.onEditingMetaChange(params);
|
|
1609
1456
|
}
|
|
@@ -1616,16 +1463,16 @@ var BodyCell = /*#__PURE__*/React.memo(function (props) {
|
|
|
1616
1463
|
}
|
|
1617
1464
|
});
|
|
1618
1465
|
var createLoading = function createLoading() {
|
|
1619
|
-
var options = getVirtualScrollerOption('getLoaderOptions')(props.rowIndex, {
|
|
1466
|
+
var options = props.getVirtualScrollerOption('getLoaderOptions')(props.rowIndex, {
|
|
1620
1467
|
cellIndex: props.index,
|
|
1621
1468
|
cellFirst: props.index === 0,
|
|
1622
|
-
cellLast: props.index === getVirtualScrollerOption('columns').length - 1,
|
|
1469
|
+
cellLast: props.index === props.getVirtualScrollerOption('columns').length - 1,
|
|
1623
1470
|
cellEven: props.index % 2 === 0,
|
|
1624
1471
|
cellOdd: props.index % 2 !== 0,
|
|
1625
1472
|
column: props.column,
|
|
1626
|
-
field: field
|
|
1473
|
+
field: props.field
|
|
1627
1474
|
});
|
|
1628
|
-
var content = ObjectUtils.getJSXElement(getVirtualScrollerOption('loadingTemplate'), options);
|
|
1475
|
+
var content = ObjectUtils.getJSXElement(props.getVirtualScrollerOption('loadingTemplate'), options);
|
|
1629
1476
|
var bodyCellProps = mergeProps(getColumnPTOptions('bodyCell'), {
|
|
1630
1477
|
role: 'cell'
|
|
1631
1478
|
});
|
|
@@ -1634,20 +1481,20 @@ var BodyCell = /*#__PURE__*/React.memo(function (props) {
|
|
|
1634
1481
|
var createElement = function createElement() {
|
|
1635
1482
|
var content;
|
|
1636
1483
|
var editorKeyHelper;
|
|
1637
|
-
var cellSelected = props.allowCellSelection &&
|
|
1484
|
+
var cellSelected = props.allowCellSelection && props.isCellSelected;
|
|
1638
1485
|
var isRowEditor = props.editMode === 'row';
|
|
1639
|
-
var tabIndex = getTabIndex(cellSelected);
|
|
1486
|
+
var tabIndex = props.getTabIndex(cellSelected, props.index);
|
|
1640
1487
|
var selectionMode = getColumnProp('selectionMode');
|
|
1641
1488
|
var rowReorder = getColumnProp('rowReorder');
|
|
1642
1489
|
var header = getColumnProp('header');
|
|
1643
1490
|
var body = getColumnProp('body');
|
|
1644
1491
|
var editor = getColumnProp('editor');
|
|
1645
|
-
var frozen =
|
|
1492
|
+
var frozen = props.frozenCol;
|
|
1646
1493
|
var align = getColumnProp('align');
|
|
1647
|
-
var value = resolveFieldData();
|
|
1494
|
+
var value = props.resolveFieldData();
|
|
1648
1495
|
var columnBodyOptions = {
|
|
1649
1496
|
column: props.column,
|
|
1650
|
-
field: field,
|
|
1497
|
+
field: props.field,
|
|
1651
1498
|
rowIndex: props.rowIndex,
|
|
1652
1499
|
frozenRow: props.frozenRow,
|
|
1653
1500
|
props: props.tableProps
|
|
@@ -1672,12 +1519,12 @@ var BodyCell = /*#__PURE__*/React.memo(function (props) {
|
|
|
1672
1519
|
if (showSelection) {
|
|
1673
1520
|
var ariaLabelField = props.selectionAriaLabel || props.tableProps.dataKey;
|
|
1674
1521
|
var ariaLabelText = ObjectUtils.resolveFieldData(props.rowData, ariaLabelField);
|
|
1675
|
-
label = "".concat(props.
|
|
1522
|
+
label = "".concat(props.isRowSelected ? ariaLabel$1('unselectRow') : ariaLabel$1('selectRow'), " ").concat(ariaLabelText);
|
|
1676
1523
|
}
|
|
1677
1524
|
content = showSelection && /*#__PURE__*/React.createElement(React.Fragment, null, selectionMode === 'single' && /*#__PURE__*/React.createElement(RowRadioButton, {
|
|
1678
1525
|
hostName: props.hostName,
|
|
1679
1526
|
column: props.column,
|
|
1680
|
-
checked: props.
|
|
1527
|
+
checked: props.isRowSelected,
|
|
1681
1528
|
disabled: !props.isSelectable({
|
|
1682
1529
|
data: props.rowData,
|
|
1683
1530
|
index: props.rowIndex
|
|
@@ -1692,12 +1539,12 @@ var BodyCell = /*#__PURE__*/React.memo(function (props) {
|
|
|
1692
1539
|
}), selectionMode === 'multiple' && /*#__PURE__*/React.createElement(RowCheckbox, {
|
|
1693
1540
|
hostName: props.hostName,
|
|
1694
1541
|
column: props.column,
|
|
1695
|
-
checked: props.
|
|
1542
|
+
checked: props.isRowSelected,
|
|
1696
1543
|
disabled: !props.isSelectable({
|
|
1697
1544
|
data: props.rowData,
|
|
1698
1545
|
index: props.rowIndex
|
|
1699
1546
|
}),
|
|
1700
|
-
onChange: onCheckboxChange,
|
|
1547
|
+
onChange: props.onCheckboxChange,
|
|
1701
1548
|
tabIndex: props.tabIndex,
|
|
1702
1549
|
ariaLabel: label,
|
|
1703
1550
|
checkIcon: props.checkIcon,
|
|
@@ -1747,7 +1594,7 @@ var BodyCell = /*#__PURE__*/React.memo(function (props) {
|
|
|
1747
1594
|
expanderProps.element = content;
|
|
1748
1595
|
content = ObjectUtils.getJSXElement(body, props.rowData, {
|
|
1749
1596
|
column: props.column,
|
|
1750
|
-
field: field,
|
|
1597
|
+
field: props.field,
|
|
1751
1598
|
rowIndex: props.rowIndex,
|
|
1752
1599
|
frozenRow: props.frozenRow,
|
|
1753
1600
|
props: props.tableProps,
|
|
@@ -1821,7 +1668,7 @@ var BodyCell = /*#__PURE__*/React.memo(function (props) {
|
|
|
1821
1668
|
rowEditorProps.element = content;
|
|
1822
1669
|
content = ObjectUtils.getJSXElement(body, props.rowData, {
|
|
1823
1670
|
column: props.column,
|
|
1824
|
-
field: field,
|
|
1671
|
+
field: props.field,
|
|
1825
1672
|
rowIndex: props.rowIndex,
|
|
1826
1673
|
frozenRow: props.frozenRow,
|
|
1827
1674
|
props: props.tableProps,
|
|
@@ -1831,7 +1678,7 @@ var BodyCell = /*#__PURE__*/React.memo(function (props) {
|
|
|
1831
1678
|
} else if (body && (!editingState || !editor)) {
|
|
1832
1679
|
content = body ? ObjectUtils.getJSXElement(body, props.rowData, {
|
|
1833
1680
|
column: props.column,
|
|
1834
|
-
field: field,
|
|
1681
|
+
field: props.field,
|
|
1835
1682
|
rowIndex: props.rowIndex,
|
|
1836
1683
|
frozenRow: props.frozenRow,
|
|
1837
1684
|
props: props.tableProps
|
|
@@ -1839,9 +1686,9 @@ var BodyCell = /*#__PURE__*/React.memo(function (props) {
|
|
|
1839
1686
|
} else if (editor && editingState) {
|
|
1840
1687
|
content = ObjectUtils.getJSXElement(editor, {
|
|
1841
1688
|
rowData: editingRowDataState,
|
|
1842
|
-
value: resolveFieldData(editingRowDataState),
|
|
1689
|
+
value: props.resolveFieldData(editingRowDataState),
|
|
1843
1690
|
column: props.column,
|
|
1844
|
-
field: field,
|
|
1691
|
+
field: props.field,
|
|
1845
1692
|
rowIndex: props.rowIndex,
|
|
1846
1693
|
frozenRow: props.frozenRow,
|
|
1847
1694
|
props: props.tableProps,
|
|
@@ -1909,7 +1756,22 @@ var BodyCell = /*#__PURE__*/React.memo(function (props) {
|
|
|
1909
1756
|
ref: elementRef
|
|
1910
1757
|
}, bodyCellProps), editorKeyHelper, title, content);
|
|
1911
1758
|
};
|
|
1912
|
-
return getVirtualScrollerOption('loading') ? createLoading() : createElement();
|
|
1759
|
+
return props.getVirtualScrollerOption('loading') ? createLoading() : createElement();
|
|
1760
|
+
};
|
|
1761
|
+
|
|
1762
|
+
// RadioCheckCell is used for the Radio and Checkbox selection and has the isRowSelected dependency
|
|
1763
|
+
var RadioCheckCell = /*#__PURE__*/React.memo(function (props) {
|
|
1764
|
+
return /*#__PURE__*/React.createElement(Cell, props);
|
|
1765
|
+
}, function (prevProps, nextProps) {
|
|
1766
|
+
var keysToCompare = ['isRowSelected', 'field', 'allowCellSelection', 'isCellSelected', 'editMode', 'index', 'tabIndex', 'editing', 'expanded', 'editingMeta', 'rowData'];
|
|
1767
|
+
return ObjectUtils.selectiveCompare(prevProps, nextProps, keysToCompare);
|
|
1768
|
+
});
|
|
1769
|
+
RadioCheckCell.displayName = 'RadioCheckCell';
|
|
1770
|
+
var BodyCell = /*#__PURE__*/React.memo(function (props) {
|
|
1771
|
+
return /*#__PURE__*/React.createElement(Cell, props);
|
|
1772
|
+
}, function (prevProps, nextProps) {
|
|
1773
|
+
var keysToCompare = ['field', 'allowCellSelection', 'isCellSelected', 'editMode', 'index', 'tabIndex', 'editing', 'expanded', 'editingMeta', 'rowData', 'frozenCol', 'alignFrozenCol'];
|
|
1774
|
+
return ObjectUtils.selectiveCompare(prevProps, nextProps, keysToCompare);
|
|
1913
1775
|
});
|
|
1914
1776
|
BodyCell.displayName = 'BodyCell';
|
|
1915
1777
|
|
|
@@ -1925,6 +1787,7 @@ var BodyRow = /*#__PURE__*/React.memo(function (props) {
|
|
|
1925
1787
|
var _props$ptCallbacks = props.ptCallbacks,
|
|
1926
1788
|
ptm = _props$ptCallbacks.ptm,
|
|
1927
1789
|
cx = _props$ptCallbacks.cx;
|
|
1790
|
+
var isRowSelected = !props.allowCellSelection && props.selected || props.contextMenuSelected;
|
|
1928
1791
|
var getBodyRowPTOptions = function getBodyRowPTOptions(key) {
|
|
1929
1792
|
return ptm(key, {
|
|
1930
1793
|
parent: props.metaData,
|
|
@@ -1938,7 +1801,7 @@ var BodyRow = /*#__PURE__*/React.memo(function (props) {
|
|
|
1938
1801
|
data: props.rowData,
|
|
1939
1802
|
index: props.rowIndex
|
|
1940
1803
|
}),
|
|
1941
|
-
selected:
|
|
1804
|
+
selected: isRowSelected,
|
|
1942
1805
|
stripedRows: props.metaData.props.stripedRows
|
|
1943
1806
|
}
|
|
1944
1807
|
});
|
|
@@ -1967,10 +1830,10 @@ var BodyRow = /*#__PURE__*/React.memo(function (props) {
|
|
|
1967
1830
|
return equals(rowData, data);
|
|
1968
1831
|
});
|
|
1969
1832
|
};
|
|
1970
|
-
var changeTabIndex = function changeTabIndex(
|
|
1971
|
-
if (
|
|
1972
|
-
|
|
1973
|
-
|
|
1833
|
+
var changeTabIndex = function changeTabIndex(currentElement, nextElement) {
|
|
1834
|
+
if (currentElement && nextElement) {
|
|
1835
|
+
currentElement.tabIndex = -1;
|
|
1836
|
+
nextElement.tabIndex = props.tabIndex;
|
|
1974
1837
|
}
|
|
1975
1838
|
};
|
|
1976
1839
|
var findFirstSelectableRow = function findFirstSelectableRow(row) {
|
|
@@ -2297,32 +2160,176 @@ var BodyRow = /*#__PURE__*/React.memo(function (props) {
|
|
|
2297
2160
|
onEditChange(e, false);
|
|
2298
2161
|
event.preventDefault();
|
|
2299
2162
|
};
|
|
2163
|
+
var equalsDataCell = function equalsDataCell(data) {
|
|
2164
|
+
return props.compareSelectionBy === 'equals' ? data === props.rowData : ObjectUtils.equals(data, props.rowData, props.dataKey);
|
|
2165
|
+
};
|
|
2166
|
+
var equalsCell = function equalsCell(selectedCell, field, colIndex) {
|
|
2167
|
+
return selectedCell && (selectedCell.rowIndex === props.rowIndex || equalsDataCell(selectedCell.rowData)) && (selectedCell.field === field || selectedCell.cellIndex === colIndex);
|
|
2168
|
+
};
|
|
2169
|
+
var findIndexCell = function findIndexCell(collection, field, colIndex) {
|
|
2170
|
+
return (collection || []).findIndex(function (data) {
|
|
2171
|
+
return equalsCell(data, field, colIndex);
|
|
2172
|
+
});
|
|
2173
|
+
};
|
|
2174
|
+
var isCellSelected = function isCellSelected(selection, field, colIndex) {
|
|
2175
|
+
return selection ? selection instanceof Array ? findIndexCell(selection, field, colIndex) > -1 : equalsCell(selection, field, colIndex) : false;
|
|
2176
|
+
};
|
|
2177
|
+
var onCheckboxChange = function onCheckboxChange(event) {
|
|
2178
|
+
props.onCheckboxChange({
|
|
2179
|
+
originalEvent: event,
|
|
2180
|
+
data: props.rowData,
|
|
2181
|
+
index: props.rowIndex
|
|
2182
|
+
});
|
|
2183
|
+
};
|
|
2184
|
+
var editingKey = props.dataKey ? props.rowData && props.rowData[props.dataKey] || props.rowIndex : props.rowIndex;
|
|
2185
|
+
var getVirtualScrollerOption = React.useCallback(function (option) {
|
|
2186
|
+
return props.virtualScrollerOptions ? props.virtualScrollerOptions[option] : null;
|
|
2187
|
+
}, [props.virtualScrollerOptions]);
|
|
2188
|
+
var getEditingRowData = function getEditingRowData() {
|
|
2189
|
+
return props.editingMeta && props.editingMeta[editingKey] ? props.editingMeta[editingKey].data : props.rowData;
|
|
2190
|
+
};
|
|
2191
|
+
var getTabIndexCell = React.useCallback(function (cellSelected, cellIndex) {
|
|
2192
|
+
return props.allowCellSelection ? cellSelected ? 0 : props.rowIndex === 0 && cellIndex === 0 ? props.tabIndex : -1 : null;
|
|
2193
|
+
}, [props.allowCellSelection, props.rowIndex, props.tabIndex]);
|
|
2194
|
+
var findNextSelectableCell = React.useCallback(function (cell) {
|
|
2195
|
+
var nextCell = cell.nextElementSibling;
|
|
2196
|
+
return nextCell ? DomHandler.getAttribute(nextCell, 'data-p-selectable-cell') ? nextCell : findNextSelectableCell(nextCell) : null;
|
|
2197
|
+
}, []);
|
|
2198
|
+
var findPrevSelectableCell = React.useCallback(function (cell) {
|
|
2199
|
+
var prevCell = cell.previousElementSibling;
|
|
2200
|
+
return prevCell ? DomHandler.getAttribute(prevCell, 'data-p-selectable-cell') ? prevCell : findPrevSelectableCell(prevCell) : null;
|
|
2201
|
+
}, []);
|
|
2202
|
+
var findDownSelectableCell = React.useCallback(function (cell, cellIndex) {
|
|
2203
|
+
var downRow = cell.parentElement.nextElementSibling;
|
|
2204
|
+
var downCell = downRow ? downRow.children[cellIndex] : null;
|
|
2205
|
+
return downRow && downCell ? DomHandler.getAttribute(downRow, 'data-p-selectable-row') && DomHandler.getAttribute(downCell, 'data-p-selectable-cell') ? downCell : findDownSelectableCell(downCell) : null;
|
|
2206
|
+
}, []);
|
|
2207
|
+
var findUpSelectableCell = React.useCallback(function (cell, cellIndex) {
|
|
2208
|
+
var upRow = cell.parentElement.previousElementSibling;
|
|
2209
|
+
var upCell = upRow ? upRow.children[cellIndex] : null;
|
|
2210
|
+
return upRow && upCell ? DomHandler.getAttribute(upRow, 'data-p-selectable-row') && DomHandler.getAttribute(upCell, 'data-p-selectable-cell') ? upCell : findUpSelectableCell(upCell) : null;
|
|
2211
|
+
}, []);
|
|
2212
|
+
var focusOnElement = React.useCallback(function (focusTimeoutRef, editingState, elementRef, keyHelperRef) {
|
|
2213
|
+
clearTimeout(focusTimeoutRef.current);
|
|
2214
|
+
focusTimeoutRef.current = setTimeout(function () {
|
|
2215
|
+
if (editingState) {
|
|
2216
|
+
var focusableEl = props.editMode === 'cell' ? DomHandler.getFirstFocusableElement(elementRef.current, ':not([data-pc-section="editorkeyhelperlabel"])') : DomHandler.findSingle(elementRef.current, '[data-p-row-editor-save="true"]');
|
|
2217
|
+
focusableEl && focusableEl.focus();
|
|
2218
|
+
}
|
|
2219
|
+
keyHelperRef.current && (keyHelperRef.current.tabIndex = editingState ? -1 : 0);
|
|
2220
|
+
}, 1);
|
|
2221
|
+
}, [props.editMode]);
|
|
2222
|
+
var focusOnInit = React.useCallback(function (initFocusTimeoutRef, elementRef) {
|
|
2223
|
+
clearTimeout(initFocusTimeoutRef.current);
|
|
2224
|
+
initFocusTimeoutRef.current = setTimeout(function () {
|
|
2225
|
+
var focusableEl = props.editMode === 'row' ? DomHandler.findSingle(elementRef.current, '[data-p-row-editor-init="true"]') : null;
|
|
2226
|
+
focusableEl && focusableEl.focus();
|
|
2227
|
+
}, 1);
|
|
2228
|
+
}, [props.editMode]);
|
|
2229
|
+
var updateStickyPosition = React.useCallback(function (elementRef, frozen, alignFrozen, styleObjectState, setStyleObjectState) {
|
|
2230
|
+
if (frozen) {
|
|
2231
|
+
var styleObject = _objectSpread$a({}, styleObjectState);
|
|
2232
|
+
if (alignFrozen === 'right') {
|
|
2233
|
+
var right = 0;
|
|
2234
|
+
var next = elementRef.current && elementRef.current.nextElementSibling;
|
|
2235
|
+
if (next && next.classList.contains('p-frozen-column')) {
|
|
2236
|
+
right = DomHandler.getOuterWidth(next) + parseFloat(next.style.right || 0);
|
|
2237
|
+
}
|
|
2238
|
+
styleObject.right = right + 'px';
|
|
2239
|
+
} else {
|
|
2240
|
+
var left = 0;
|
|
2241
|
+
var prev = elementRef.current && elementRef.current.previousElementSibling;
|
|
2242
|
+
if (prev && prev.classList.contains('p-frozen-column')) {
|
|
2243
|
+
left = DomHandler.getOuterWidth(prev) + parseFloat(prev.style.left || 0);
|
|
2244
|
+
}
|
|
2245
|
+
styleObject.left = left + 'px';
|
|
2246
|
+
}
|
|
2247
|
+
var isSameStyle = styleObjectState.left === styleObject.left && styleObjectState.right === styleObject.right;
|
|
2248
|
+
!isSameStyle && setStyleObjectState(styleObject);
|
|
2249
|
+
}
|
|
2250
|
+
}, []);
|
|
2251
|
+
var onCellClick = function onCellClick(event, params, isEditable, editingState, setEditingState, selfClick, column, bindDocumentClickListener, overlayEventListener) {
|
|
2252
|
+
if (props.editMode !== 'row' && isEditable && !editingState && (props.selectOnEdit || !props.selectOnEdit && props.isRowSelected)) {
|
|
2253
|
+
selfClick.current = true;
|
|
2254
|
+
var onBeforeCellEditShow = getColumnProp(column, 'onBeforeCellEditShow');
|
|
2255
|
+
var onCellEditInit = getColumnProp(column, 'onCellEditInit');
|
|
2256
|
+
var cellEditValidatorEvent = getColumnProp(column, 'cellEditValidatorEvent');
|
|
2257
|
+
if (onBeforeCellEditShow) {
|
|
2258
|
+
// if user returns false do not show the editor
|
|
2259
|
+
if (onBeforeCellEditShow(params) === false) {
|
|
2260
|
+
return;
|
|
2261
|
+
}
|
|
2262
|
+
|
|
2263
|
+
// if user prevents default stop the editor
|
|
2264
|
+
if (event && event.defaultPrevented) {
|
|
2265
|
+
return;
|
|
2266
|
+
}
|
|
2267
|
+
}
|
|
2268
|
+
|
|
2269
|
+
// 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.
|
|
2270
|
+
setTimeout(function () {
|
|
2271
|
+
setEditingState(true);
|
|
2272
|
+
if (onCellEditInit) {
|
|
2273
|
+
if (onCellEditInit(params) === false) {
|
|
2274
|
+
return;
|
|
2275
|
+
}
|
|
2276
|
+
|
|
2277
|
+
// if user prevents default stop the editor
|
|
2278
|
+
if (event && event.defaultPrevented) {
|
|
2279
|
+
return;
|
|
2280
|
+
}
|
|
2281
|
+
}
|
|
2282
|
+
if (cellEditValidatorEvent === 'click') {
|
|
2283
|
+
bindDocumentClickListener();
|
|
2284
|
+
overlayEventListener.current = function (e) {
|
|
2285
|
+
if (!isOutsideClicked(e.target)) {
|
|
2286
|
+
selfClick.current = true;
|
|
2287
|
+
}
|
|
2288
|
+
};
|
|
2289
|
+
OverlayService.on('overlay-click', overlayEventListener.current);
|
|
2290
|
+
}
|
|
2291
|
+
}, 1);
|
|
2292
|
+
}
|
|
2293
|
+
if (props.allowCellSelection && props.onCellClick) {
|
|
2294
|
+
props.onCellClick(params);
|
|
2295
|
+
}
|
|
2296
|
+
};
|
|
2300
2297
|
var createContent = function createContent() {
|
|
2301
2298
|
return props.columns.map(function (col, i) {
|
|
2302
2299
|
if (shouldRenderBodyCell(props.value, col, props.index)) {
|
|
2303
2300
|
var key = "".concat(props.rowIndex, "_").concat(getColumnProp(col, 'columnKey') || getColumnProp(col, 'field'), "_").concat(i);
|
|
2304
2301
|
var rowSpan = props.rowGroupMode === 'rowspan' ? calculateRowGroupSize(props.value, col, props.index) : null;
|
|
2305
|
-
|
|
2302
|
+
var field = getColumnProp(col, 'field') || "field_".concat(i);
|
|
2303
|
+
var resolveFieldData = function resolveFieldData(data) {
|
|
2304
|
+
return ObjectUtils.resolveFieldData(data || props.rowData, field);
|
|
2305
|
+
};
|
|
2306
|
+
var selectionMode = getColumnProp(col, 'selectionMode');
|
|
2307
|
+
var cellProps = mergeProps({
|
|
2306
2308
|
hostName: props.hostName,
|
|
2307
|
-
key: key,
|
|
2308
2309
|
allowCellSelection: props.allowCellSelection,
|
|
2309
2310
|
cellClassName: props.cellClassName,
|
|
2310
2311
|
checkIcon: props.checkIcon,
|
|
2311
2312
|
collapsedRowIcon: props.collapsedRowIcon,
|
|
2313
|
+
field: field,
|
|
2314
|
+
resolveFieldData: resolveFieldData,
|
|
2312
2315
|
column: col,
|
|
2313
|
-
|
|
2316
|
+
cProps: props.colsProps[i],
|
|
2314
2317
|
dataKey: props.dataKey,
|
|
2315
2318
|
editMode: props.editMode,
|
|
2316
2319
|
editing: editing,
|
|
2317
2320
|
editingMeta: props.editingMeta,
|
|
2321
|
+
onEditingMetaChange: props.onEditingMetaChange,
|
|
2322
|
+
editingKey: editingKey,
|
|
2323
|
+
getEditingRowData: getEditingRowData,
|
|
2318
2324
|
expanded: props.expanded,
|
|
2319
2325
|
expandedRowIcon: props.expandedRowIcon,
|
|
2320
2326
|
frozenRow: props.frozenRow,
|
|
2327
|
+
frozenCol: getColumnProp(col, 'frozen'),
|
|
2328
|
+
alignFrozenCol: getColumnProp(col, 'alignFrozen'),
|
|
2321
2329
|
index: i,
|
|
2322
2330
|
isSelectable: props.isSelectable,
|
|
2323
|
-
onCheckboxChange:
|
|
2324
|
-
onClick:
|
|
2325
|
-
onEditingMetaChange: props.onEditingMetaChange,
|
|
2331
|
+
onCheckboxChange: onCheckboxChange,
|
|
2332
|
+
onClick: onCellClick,
|
|
2326
2333
|
onMouseDown: props.onCellMouseDown,
|
|
2327
2334
|
onMouseUp: props.onCellMouseUp,
|
|
2328
2335
|
onRadioChange: props.onRadioChange,
|
|
@@ -2338,20 +2345,31 @@ var BodyRow = /*#__PURE__*/React.memo(function (props) {
|
|
|
2338
2345
|
rowIndex: props.rowIndex,
|
|
2339
2346
|
rowSpan: rowSpan,
|
|
2340
2347
|
selectOnEdit: props.selectOnEdit,
|
|
2341
|
-
|
|
2342
|
-
|
|
2348
|
+
isRowSelected: isRowSelected,
|
|
2349
|
+
isCellSelected: isCellSelected(props.selection, field, i),
|
|
2343
2350
|
selectionAriaLabel: props.tableProps.selectionAriaLabel,
|
|
2344
2351
|
showRowReorderElement: props.showRowReorderElement,
|
|
2345
2352
|
showSelectionElement: props.showSelectionElement,
|
|
2346
2353
|
tabIndex: props.tabIndex,
|
|
2354
|
+
getTabIndex: getTabIndexCell,
|
|
2347
2355
|
tableProps: props.tableProps,
|
|
2348
2356
|
tableSelector: props.tableSelector,
|
|
2349
2357
|
value: props.value,
|
|
2350
|
-
|
|
2358
|
+
getVirtualScrollerOption: getVirtualScrollerOption,
|
|
2351
2359
|
ptCallbacks: props.ptCallbacks,
|
|
2352
2360
|
metaData: props.metaData,
|
|
2353
|
-
unstyled: props.unstyled
|
|
2361
|
+
unstyled: props.unstyled,
|
|
2362
|
+
findNextSelectableCell: findNextSelectableCell,
|
|
2363
|
+
findPrevSelectableCell: findPrevSelectableCell,
|
|
2364
|
+
findDownSelectableCell: findDownSelectableCell,
|
|
2365
|
+
findUpSelectableCell: findUpSelectableCell,
|
|
2366
|
+
focusOnElement: focusOnElement,
|
|
2367
|
+
focusOnInit: focusOnInit,
|
|
2368
|
+
updateStickyPosition: updateStickyPosition
|
|
2354
2369
|
});
|
|
2370
|
+
return /*#__PURE__*/React.createElement(Fragment, {
|
|
2371
|
+
key: key
|
|
2372
|
+
}, selectionMode ? /*#__PURE__*/React.createElement(RadioCheckCell, cellProps) : /*#__PURE__*/React.createElement(BodyCell, cellProps));
|
|
2355
2373
|
}
|
|
2356
2374
|
return null;
|
|
2357
2375
|
});
|
|
@@ -2501,8 +2519,11 @@ var TableBody = /*#__PURE__*/React.memo(/*#__PURE__*/React.forwardRef(function (
|
|
|
2501
2519
|
var getColumnProps = function getColumnProps(column) {
|
|
2502
2520
|
return ColumnBase.getCProps(column);
|
|
2503
2521
|
};
|
|
2522
|
+
var cProps = getColumnProps(props.column);
|
|
2523
|
+
var colsProps = props.columns ? props.columns.map(function (col) {
|
|
2524
|
+
return getColumnProps(col);
|
|
2525
|
+
}) : [];
|
|
2504
2526
|
var getColumnPTOptions = function getColumnPTOptions(key) {
|
|
2505
|
-
var cProps = getColumnProps(props.column);
|
|
2506
2527
|
var columnMetaData = {
|
|
2507
2528
|
props: cProps,
|
|
2508
2529
|
parent: props.metaData,
|
|
@@ -2627,8 +2648,12 @@ var TableBody = /*#__PURE__*/React.memo(/*#__PURE__*/React.forwardRef(function (
|
|
|
2627
2648
|
var allowSelection = function allowSelection(event) {
|
|
2628
2649
|
return !DomHandler.isClickable(event.originalEvent.target);
|
|
2629
2650
|
};
|
|
2651
|
+
var metaKeySelectionRef = React.useRef(props.metaKeySelection);
|
|
2652
|
+
React.useEffect(function () {
|
|
2653
|
+
metaKeySelectionRef.current = props.metaKeySelection;
|
|
2654
|
+
}, [props.metaKeySelection]);
|
|
2630
2655
|
var allowMetaKeySelection = function allowMetaKeySelection(event) {
|
|
2631
|
-
return !rowTouched.current && (!
|
|
2656
|
+
return !rowTouched.current && (!metaKeySelectionRef.current || metaKeySelectionRef.current && (event.originalEvent.metaKey || event.originalEvent.ctrlKey));
|
|
2632
2657
|
};
|
|
2633
2658
|
var allowRangeSelection = function allowRangeSelection(event) {
|
|
2634
2659
|
return isMultipleSelection() && event.originalEvent.shiftKey && anchorRowIndex.current !== null;
|
|
@@ -2701,6 +2726,10 @@ var TableBody = /*#__PURE__*/React.memo(/*#__PURE__*/React.forwardRef(function (
|
|
|
2701
2726
|
});
|
|
2702
2727
|
}
|
|
2703
2728
|
};
|
|
2729
|
+
var selectionRef = React.useRef(props.selection);
|
|
2730
|
+
React.useEffect(function () {
|
|
2731
|
+
selectionRef.current = props.selection;
|
|
2732
|
+
}, [props.selection]);
|
|
2704
2733
|
var onSingleSelection = function onSingleSelection(_ref) {
|
|
2705
2734
|
var originalEvent = _ref.originalEvent,
|
|
2706
2735
|
data = _ref.data,
|
|
@@ -2714,10 +2743,11 @@ var TableBody = /*#__PURE__*/React.memo(/*#__PURE__*/React.forwardRef(function (
|
|
|
2714
2743
|
return;
|
|
2715
2744
|
}
|
|
2716
2745
|
var selected = isSelected(data);
|
|
2717
|
-
var
|
|
2746
|
+
var currentSelection = selectionRef.current || [];
|
|
2747
|
+
var newSelection = currentSelection;
|
|
2718
2748
|
if (selected) {
|
|
2719
2749
|
if (toggleable) {
|
|
2720
|
-
|
|
2750
|
+
newSelection = null;
|
|
2721
2751
|
onUnselect({
|
|
2722
2752
|
originalEvent: originalEvent,
|
|
2723
2753
|
data: data,
|
|
@@ -2725,7 +2755,7 @@ var TableBody = /*#__PURE__*/React.memo(/*#__PURE__*/React.forwardRef(function (
|
|
|
2725
2755
|
});
|
|
2726
2756
|
}
|
|
2727
2757
|
} else {
|
|
2728
|
-
|
|
2758
|
+
newSelection = data;
|
|
2729
2759
|
onSelect({
|
|
2730
2760
|
originalEvent: originalEvent,
|
|
2731
2761
|
data: data,
|
|
@@ -2733,10 +2763,10 @@ var TableBody = /*#__PURE__*/React.memo(/*#__PURE__*/React.forwardRef(function (
|
|
|
2733
2763
|
});
|
|
2734
2764
|
}
|
|
2735
2765
|
focusOnElement(originalEvent, true);
|
|
2736
|
-
if (props.onSelectionChange &&
|
|
2766
|
+
if (props.onSelectionChange && newSelection !== currentSelection) {
|
|
2737
2767
|
props.onSelectionChange({
|
|
2738
2768
|
originalEvent: originalEvent,
|
|
2739
|
-
value:
|
|
2769
|
+
value: newSelection,
|
|
2740
2770
|
type: type
|
|
2741
2771
|
});
|
|
2742
2772
|
}
|
|
@@ -2754,11 +2784,12 @@ var TableBody = /*#__PURE__*/React.memo(/*#__PURE__*/React.forwardRef(function (
|
|
|
2754
2784
|
return;
|
|
2755
2785
|
}
|
|
2756
2786
|
var selected = isSelected(data);
|
|
2757
|
-
var
|
|
2787
|
+
var currentSelection = selectionRef.current || [];
|
|
2788
|
+
var newSelection = currentSelection;
|
|
2758
2789
|
if (selected) {
|
|
2759
2790
|
if (toggleable) {
|
|
2760
|
-
var selectionIndex = findIndex(
|
|
2761
|
-
|
|
2791
|
+
var selectionIndex = findIndex(currentSelection, data);
|
|
2792
|
+
newSelection = currentSelection.filter(function (val, i) {
|
|
2762
2793
|
return i !== selectionIndex;
|
|
2763
2794
|
});
|
|
2764
2795
|
onUnselect({
|
|
@@ -2766,15 +2797,15 @@ var TableBody = /*#__PURE__*/React.memo(/*#__PURE__*/React.forwardRef(function (
|
|
|
2766
2797
|
data: data,
|
|
2767
2798
|
type: type
|
|
2768
2799
|
});
|
|
2769
|
-
} else if (
|
|
2770
|
-
|
|
2800
|
+
} else if (currentSelection.length) {
|
|
2801
|
+
currentSelection.forEach(function (d) {
|
|
2771
2802
|
return onUnselect({
|
|
2772
2803
|
originalEvent: originalEvent,
|
|
2773
2804
|
data: d,
|
|
2774
2805
|
type: type
|
|
2775
2806
|
});
|
|
2776
2807
|
});
|
|
2777
|
-
|
|
2808
|
+
newSelection = [data];
|
|
2778
2809
|
onSelect({
|
|
2779
2810
|
originalEvent: originalEvent,
|
|
2780
2811
|
data: data,
|
|
@@ -2782,18 +2813,18 @@ var TableBody = /*#__PURE__*/React.memo(/*#__PURE__*/React.forwardRef(function (
|
|
|
2782
2813
|
});
|
|
2783
2814
|
}
|
|
2784
2815
|
} else {
|
|
2785
|
-
|
|
2786
|
-
|
|
2816
|
+
newSelection = ObjectUtils.isObject(currentSelection) ? [currentSelection] : currentSelection;
|
|
2817
|
+
newSelection = toggleable && isMultipleSelection() ? [].concat(_toConsumableArray(newSelection), [data]) : [data];
|
|
2787
2818
|
onSelect({
|
|
2788
2819
|
originalEvent: originalEvent,
|
|
2789
2820
|
data: data,
|
|
2790
2821
|
type: type
|
|
2791
2822
|
});
|
|
2792
2823
|
}
|
|
2793
|
-
if (props.onSelectionChange &&
|
|
2824
|
+
if (props.onSelectionChange && newSelection !== currentSelection) {
|
|
2794
2825
|
props.onSelectionChange({
|
|
2795
2826
|
originalEvent: originalEvent,
|
|
2796
|
-
value:
|
|
2827
|
+
value: newSelection,
|
|
2797
2828
|
type: type
|
|
2798
2829
|
});
|
|
2799
2830
|
}
|
|
@@ -3395,6 +3426,7 @@ var TableBody = /*#__PURE__*/React.memo(/*#__PURE__*/React.forwardRef(function (
|
|
|
3395
3426
|
checkIcon: props.checkIcon,
|
|
3396
3427
|
collapsedRowIcon: props.collapsedRowIcon,
|
|
3397
3428
|
columns: props.columns,
|
|
3429
|
+
colsProps: colsProps,
|
|
3398
3430
|
compareSelectionBy: props.compareSelectionBy,
|
|
3399
3431
|
contextMenuSelected: contextMenuSelected,
|
|
3400
3432
|
dataKey: props.dataKey,
|
|
@@ -4178,9 +4210,17 @@ var ColumnFilter = /*#__PURE__*/React.memo(function (props) {
|
|
|
4178
4210
|
var type = _ref.type,
|
|
4179
4211
|
valid = _ref.valid;
|
|
4180
4212
|
if (valid) {
|
|
4181
|
-
type === 'outside'
|
|
4213
|
+
if (type === 'outside') {
|
|
4214
|
+
if (!selfClick.current && !isTargetClicked(event.target)) {
|
|
4215
|
+
hide();
|
|
4216
|
+
}
|
|
4217
|
+
selfClick.current = false;
|
|
4218
|
+
} else if (context.hideOverlaysOnDocumentScrolling) {
|
|
4219
|
+
hide();
|
|
4220
|
+
} else if (!DomHandler.isDocument(event.target)) {
|
|
4221
|
+
DomHandler.alignOverlay(overlayRef.current, iconRef.current, context && context.appendTo || PrimeReact$1.appendTo, false);
|
|
4222
|
+
}
|
|
4182
4223
|
}
|
|
4183
|
-
selfClick.current = false;
|
|
4184
4224
|
},
|
|
4185
4225
|
when: overlayVisibleState
|
|
4186
4226
|
}),
|