primereact 10.9.5 → 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.d.ts +5 -5
- package/calendar/calendar.cjs.js +27 -5
- package/calendar/calendar.cjs.min.js +1 -1
- package/calendar/calendar.esm.js +27 -5
- package/calendar/calendar.esm.min.js +1 -1
- package/calendar/calendar.js +27 -5
- package/calendar/calendar.min.js +1 -1
- package/cascadeselect/cascadeselect.cjs.js +53 -3
- package/cascadeselect/cascadeselect.cjs.min.js +1 -1
- package/cascadeselect/cascadeselect.d.ts +13 -0
- package/cascadeselect/cascadeselect.esm.js +54 -4
- package/cascadeselect/cascadeselect.esm.min.js +1 -1
- package/cascadeselect/cascadeselect.js +54 -5
- package/cascadeselect/cascadeselect.min.js +1 -1
- package/core/core.js +44 -10
- package/core/core.min.js +6 -6
- package/datatable/datatable.cjs.js +86 -58
- package/datatable/datatable.cjs.min.js +1 -1
- package/datatable/datatable.d.ts +79 -3
- package/datatable/datatable.esm.js +86 -58
- package/datatable/datatable.esm.min.js +1 -1
- package/datatable/datatable.js +86 -58
- 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 +13 -3
- package/dropdown/dropdown.cjs.min.js +1 -1
- package/dropdown/dropdown.esm.js +13 -3
- package/dropdown/dropdown.esm.min.js +1 -1
- package/dropdown/dropdown.js +13 -3
- 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/inputnumber/inputnumber.cjs.js +7 -2
- package/inputnumber/inputnumber.cjs.min.js +1 -1
- package/inputnumber/inputnumber.esm.js +7 -2
- package/inputnumber/inputnumber.esm.min.js +1 -1
- package/inputnumber/inputnumber.js +7 -2
- package/inputnumber/inputnumber.min.js +1 -1
- package/listbox/listbox.d.ts +4 -4
- package/menu/menu.cjs.js +3 -0
- package/menu/menu.cjs.min.js +1 -1
- package/menu/menu.esm.js +3 -0
- package/menu/menu.esm.min.js +1 -1
- package/menu/menu.js +3 -0
- package/menu/menu.min.js +1 -1
- package/multiselect/multiselect.cjs.js +61 -15
- package/multiselect/multiselect.cjs.min.js +1 -1
- package/multiselect/multiselect.esm.js +61 -15
- package/multiselect/multiselect.esm.min.js +1 -1
- package/multiselect/multiselect.js +61 -15
- package/multiselect/multiselect.min.js +1 -1
- package/multistatecheckbox/multistatecheckbox.cjs.js +16 -8
- package/multistatecheckbox/multistatecheckbox.cjs.min.js +1 -1
- package/multistatecheckbox/multistatecheckbox.esm.js +16 -8
- package/multistatecheckbox/multistatecheckbox.esm.min.js +1 -1
- package/multistatecheckbox/multistatecheckbox.js +16 -8
- package/multistatecheckbox/multistatecheckbox.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/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 +297 -115
- package/primereact.all.cjs.min.js +1 -1
- package/primereact.all.esm.js +297 -115
- package/primereact.all.esm.min.js +1 -1
- package/primereact.all.js +297 -115
- package/primereact.all.min.js +1 -1
- package/treeselect/treeselect.cjs.js +4 -0
- package/treeselect/treeselect.cjs.min.js +1 -1
- package/treeselect/treeselect.d.ts +33 -0
- package/treeselect/treeselect.esm.js +4 -0
- package/treeselect/treeselect.esm.min.js +1 -1
- package/treeselect/treeselect.js +4 -0
- package/treeselect/treeselect.min.js +1 -1
- package/tristatecheckbox/tristatecheckbox.cjs.js +1 -0
- package/tristatecheckbox/tristatecheckbox.cjs.min.js +1 -1
- package/tristatecheckbox/tristatecheckbox.esm.js +1 -0
- package/tristatecheckbox/tristatecheckbox.esm.min.js +1 -1
- package/tristatecheckbox/tristatecheckbox.js +1 -0
- package/tristatecheckbox/tristatecheckbox.min.js +1 -1
- package/utils/utils.cjs.js +3 -1
- package/utils/utils.cjs.min.js +1 -1
- package/utils/utils.d.ts +1 -1
- package/utils/utils.esm.js +3 -1
- package/utils/utils.esm.min.js +1 -1
- package/utils/utils.js +3 -1
- package/utils/utils.min.js +1 -1
- package/web-types.json +77 -10
package/datatable/datatable.d.ts
CHANGED
|
@@ -1013,33 +1013,70 @@ export interface DataTablePassThroughOptions {
|
|
|
1013
1013
|
}
|
|
1014
1014
|
|
|
1015
1015
|
/**
|
|
1016
|
-
* Defines current options in DataTable
|
|
1016
|
+
* Defines current options in DataTable BodyRow which is the table <TR> element.
|
|
1017
1017
|
*/
|
|
1018
1018
|
export interface DataTableBodyRowContext {
|
|
1019
|
+
/**
|
|
1020
|
+
* Whether the row is selected.
|
|
1021
|
+
*/
|
|
1019
1022
|
selected: boolean;
|
|
1023
|
+
/**
|
|
1024
|
+
* Whether the row is selectable.
|
|
1025
|
+
*/
|
|
1020
1026
|
selectable: boolean;
|
|
1027
|
+
/**
|
|
1028
|
+
* Whether the rows have striped styling.
|
|
1029
|
+
*/
|
|
1021
1030
|
stripedRows: boolean;
|
|
1031
|
+
/**
|
|
1032
|
+
* Index of the row. Note: this is not the index of the value array its the index of the row <TR in the table.
|
|
1033
|
+
*/
|
|
1022
1034
|
index: number;
|
|
1023
1035
|
}
|
|
1024
1036
|
|
|
1025
1037
|
/**
|
|
1026
|
-
* Defines current inline state in DataTable
|
|
1038
|
+
* Defines current inline state in DataTable BodyRow which is the table <TR> element.
|
|
1027
1039
|
*/
|
|
1028
1040
|
export interface DataTableBodyRowState {
|
|
1041
|
+
/**
|
|
1042
|
+
* Whether the row is in editing mode.
|
|
1043
|
+
*/
|
|
1029
1044
|
editing: boolean;
|
|
1030
1045
|
}
|
|
1031
1046
|
|
|
1032
1047
|
/**
|
|
1033
|
-
* Custom passthrough(pt) option method for
|
|
1048
|
+
* Custom passthrough(pt) option method for BodyRow which is the table <TR> element.
|
|
1034
1049
|
*/
|
|
1035
1050
|
export interface DataTableBodyRowPassThroughMethodOptions<TValue extends DataTableValueArray> {
|
|
1051
|
+
/**
|
|
1052
|
+
* Name of the component.
|
|
1053
|
+
*/
|
|
1036
1054
|
hostName: string;
|
|
1055
|
+
/**
|
|
1056
|
+
* Current context of the bodyRow.
|
|
1057
|
+
*/
|
|
1037
1058
|
context: DataTableBodyRowContext;
|
|
1059
|
+
/**
|
|
1060
|
+
* Parent options.
|
|
1061
|
+
*/
|
|
1038
1062
|
parent: DataTablePassThroughMethodOptions<TValue>;
|
|
1063
|
+
/**
|
|
1064
|
+
* Component props.
|
|
1065
|
+
*/
|
|
1039
1066
|
props: DataTableBaseProps<TValue>;
|
|
1067
|
+
/**
|
|
1068
|
+
* Current state of the bodyRow.
|
|
1069
|
+
*/
|
|
1040
1070
|
state: DataTableBodyRowState;
|
|
1041
1071
|
}
|
|
1042
1072
|
|
|
1073
|
+
/**
|
|
1074
|
+
* Type for sort order values.
|
|
1075
|
+
* - 1: Ascending order
|
|
1076
|
+
* - 0: No sorting
|
|
1077
|
+
* - -1: Descending order
|
|
1078
|
+
* - null or undefined: No sorting
|
|
1079
|
+
*/
|
|
1043
1080
|
type SortOrder = 1 | 0 | -1 | null | undefined;
|
|
1044
1081
|
|
|
1045
1082
|
/**
|
|
@@ -1064,6 +1101,45 @@ interface DataTableBaseProps<TValue extends DataTableValueArray> extends Omit<Re
|
|
|
1064
1101
|
* @defaultValue 960px
|
|
1065
1102
|
*/
|
|
1066
1103
|
breakpoint?: string | undefined;
|
|
1104
|
+
/**
|
|
1105
|
+
* Whether to enable cell memoization.
|
|
1106
|
+
*
|
|
1107
|
+
* When the memoization is enabled, be sure to:
|
|
1108
|
+
* 1- Update the value prop (i.e., row data) to trigger a re-render of the cells of a given row.
|
|
1109
|
+
* 2- Where necessary, use the spread operator (...) when updating the value prop objs which creates new fresh
|
|
1110
|
+
* objects and avoids mutating the same objects.
|
|
1111
|
+
*
|
|
1112
|
+
* When the memoization is disabled, a re-render of the datatable will trigger a re-render of all cells, which can
|
|
1113
|
+
* lead to performance issues with large datasets and is therefore not recommended.
|
|
1114
|
+
* @defaultValue true
|
|
1115
|
+
*/
|
|
1116
|
+
cellMemo?: boolean;
|
|
1117
|
+
/**
|
|
1118
|
+
* The cell props to be checked at memoization.
|
|
1119
|
+
*
|
|
1120
|
+
* Possible cell props are:
|
|
1121
|
+
* 'hostName', 'allowCellSelection', 'cellMemo', 'cellMemoProps', 'cellMemoPropsDepth', 'cellClassName', 'checkIcon', 'collapsedRowIcon',
|
|
1122
|
+
* 'field', 'resolveFieldData', 'column', 'cProps', 'dataKey', 'editMode', 'editing', 'editingMeta', 'onEditingMetaChange', 'editingKey',
|
|
1123
|
+
* 'getEditingRowData', 'expanded', 'expandedRowIcon', 'frozenRow', 'frozenCol', 'alignFrozenCol', 'index', 'isSelectable', 'onCheckboxChange',
|
|
1124
|
+
* 'onClick', 'onMouseDown', 'onMouseUp', 'onRadioChange', 'onRowEditCancel', 'onRowEditInit', 'onRowEditSave', 'onRowToggle', 'responsiveLayout',
|
|
1125
|
+
* 'rowData', 'rowEditorCancelIcon', 'rowEditorInitIcon', 'rowEditorSaveIcon', 'rowIndex', 'rowSpan', 'selectOnEdit', 'isRowSelected', 'isCellSelected',
|
|
1126
|
+
* 'selectionAriaLabel', 'showRowReorderElement', 'showSelectionElement', 'tabIndex', 'getTabIndex', 'tableProps', 'tableSelector', 'value',
|
|
1127
|
+
* 'getVirtualScrollerOption', 'ptCallbacks', 'metaData', 'unstyled', 'findNextSelectableCell', 'findPrevSelectableCell', 'findDownSelectableCell',
|
|
1128
|
+
* 'findUpSelectableCell', 'focusOnElement', 'focusOnInit', 'updateStickyPosition'
|
|
1129
|
+
*
|
|
1130
|
+
* IMPORTANT: Including a function to be checked will in general disable the memoization in practice, since functions are
|
|
1131
|
+
* compared by reference.
|
|
1132
|
+
*
|
|
1133
|
+
* @defaultValue ['rowData', 'field', 'allowCellSelection', 'isCellSelected', 'editMode', 'index', 'tabIndex',
|
|
1134
|
+
* 'editing', 'expanded', 'editingMeta', 'frozenCol', 'alignFrozenCol']
|
|
1135
|
+
*/
|
|
1136
|
+
cellMemoProps?: string[];
|
|
1137
|
+
/**
|
|
1138
|
+
* The comparison depth when checking cell props (e.g., rowData) at memoization.
|
|
1139
|
+
*
|
|
1140
|
+
* @defaultValue 1
|
|
1141
|
+
*/
|
|
1142
|
+
cellMemoPropsDepth?: number;
|
|
1067
1143
|
/**
|
|
1068
1144
|
* Icon to display in the checkbox.
|
|
1069
1145
|
*/
|
|
@@ -1304,7 +1304,7 @@ var Cell = function Cell(props) {
|
|
|
1304
1304
|
editingRowDataStateRef.current = editingRowData;
|
|
1305
1305
|
};
|
|
1306
1306
|
var _onClick = function onClick(event) {
|
|
1307
|
-
props.onClick(event, getCellCallbackParams(event), isEditable(), editingState, setEditingState, selfClick, props.column, bindDocumentClickListener, overlayEventListener);
|
|
1307
|
+
props.onClick(event, getCellCallbackParams(event), isEditable(), editingState, setEditingState, selfClick, props.column, bindDocumentClickListener, overlayEventListener, isOutsideClicked);
|
|
1308
1308
|
};
|
|
1309
1309
|
var _onMouseDown = function onMouseDown(event) {
|
|
1310
1310
|
var params = getCellCallbackParams(event);
|
|
@@ -1426,7 +1426,7 @@ var Cell = function Cell(props) {
|
|
|
1426
1426
|
field: props.field,
|
|
1427
1427
|
index: props.rowIndex
|
|
1428
1428
|
});
|
|
1429
|
-
props.focusOnInit();
|
|
1429
|
+
props.focusOnInit(initFocusTimeout, elementRef);
|
|
1430
1430
|
};
|
|
1431
1431
|
React.useEffect(function () {
|
|
1432
1432
|
if (props.frozenCol) props.updateStickyPosition(elementRef, props.frozenCol, props.alignFrozenCol, styleObjectState, setStyleObjectState);
|
|
@@ -1767,11 +1767,18 @@ var RadioCheckCell = /*#__PURE__*/React.memo(function (props) {
|
|
|
1767
1767
|
return ObjectUtils.selectiveCompare(prevProps, nextProps, keysToCompare);
|
|
1768
1768
|
});
|
|
1769
1769
|
RadioCheckCell.displayName = 'RadioCheckCell';
|
|
1770
|
+
var defaultKeysToCompare = ['rowData', 'field', 'allowCellSelection', 'isCellSelected', 'editMode', 'index', 'tabIndex', 'editing', 'expanded', 'editingMeta', 'frozenCol', 'alignFrozenCol'];
|
|
1770
1771
|
var BodyCell = /*#__PURE__*/React.memo(function (props) {
|
|
1771
1772
|
return /*#__PURE__*/React.createElement(Cell, props);
|
|
1772
1773
|
}, function (prevProps, nextProps) {
|
|
1773
|
-
|
|
1774
|
-
|
|
1774
|
+
if (nextProps.cellMemo === false) return false;
|
|
1775
|
+
var memoProps = nextProps.cellMemoProps;
|
|
1776
|
+
var keysToCompare = Array.isArray(memoProps) && memoProps.every(function (prop) {
|
|
1777
|
+
return typeof prop === 'string';
|
|
1778
|
+
}) ? memoProps : defaultKeysToCompare;
|
|
1779
|
+
var memoPropsDepth = nextProps.cellMemoPropsDepth;
|
|
1780
|
+
var depth = typeof memoPropsDepth === 'number' && memoPropsDepth > 0 ? memoPropsDepth : 1;
|
|
1781
|
+
return ObjectUtils.selectiveCompare(prevProps, nextProps, keysToCompare, depth);
|
|
1775
1782
|
});
|
|
1776
1783
|
BodyCell.displayName = 'BodyCell';
|
|
1777
1784
|
|
|
@@ -2248,7 +2255,7 @@ var BodyRow = /*#__PURE__*/React.memo(function (props) {
|
|
|
2248
2255
|
!isSameStyle && setStyleObjectState(styleObject);
|
|
2249
2256
|
}
|
|
2250
2257
|
}, []);
|
|
2251
|
-
var onCellClick = function onCellClick(event, params, isEditable, editingState, setEditingState, selfClick, column, bindDocumentClickListener, overlayEventListener) {
|
|
2258
|
+
var onCellClick = function onCellClick(event, params, isEditable, editingState, setEditingState, selfClick, column, bindDocumentClickListener, overlayEventListener, isOutsideClicked) {
|
|
2252
2259
|
if (props.editMode !== 'row' && isEditable && !editingState && (props.selectOnEdit || !props.selectOnEdit && props.isRowSelected)) {
|
|
2253
2260
|
selfClick.current = true;
|
|
2254
2261
|
var onBeforeCellEditShow = getColumnProp(column, 'onBeforeCellEditShow');
|
|
@@ -2307,6 +2314,9 @@ var BodyRow = /*#__PURE__*/React.memo(function (props) {
|
|
|
2307
2314
|
var cellProps = mergeProps({
|
|
2308
2315
|
hostName: props.hostName,
|
|
2309
2316
|
allowCellSelection: props.allowCellSelection,
|
|
2317
|
+
cellMemo: props.cellMemo,
|
|
2318
|
+
cellMemoProps: props.cellMemoProps,
|
|
2319
|
+
cellMemoPropsDepth: props.cellMemoPropsDepth,
|
|
2310
2320
|
cellClassName: props.cellClassName,
|
|
2311
2321
|
checkIcon: props.checkIcon,
|
|
2312
2322
|
collapsedRowIcon: props.collapsedRowIcon,
|
|
@@ -2674,9 +2684,6 @@ var TableBody = /*#__PURE__*/React.memo(/*#__PURE__*/React.forwardRef(function (
|
|
|
2674
2684
|
options = options || props.virtualScrollerOptions;
|
|
2675
2685
|
return options ? options[option] : null;
|
|
2676
2686
|
};
|
|
2677
|
-
var getProcessedDataIndex = function getProcessedDataIndex(rowIndex) {
|
|
2678
|
-
return props.lazy ? rowIndex - props.first : rowIndex;
|
|
2679
|
-
};
|
|
2680
2687
|
var findIndex = function findIndex(collection, rowData) {
|
|
2681
2688
|
return (collection || []).findIndex(function (data) {
|
|
2682
2689
|
return equals(rowData, data);
|
|
@@ -2847,16 +2854,14 @@ var TableBody = /*#__PURE__*/React.memo(/*#__PURE__*/React.forwardRef(function (
|
|
|
2847
2854
|
var rangeStart;
|
|
2848
2855
|
var rangeEnd;
|
|
2849
2856
|
var isAllowCellSelection = allowCellSelection();
|
|
2850
|
-
|
|
2851
|
-
|
|
2852
|
-
|
|
2853
|
-
|
|
2854
|
-
|
|
2855
|
-
|
|
2856
|
-
rangeStart = rangeRowIndexInProcessedData;
|
|
2857
|
-
rangeEnd = anchorRowIndexInProcessedData;
|
|
2857
|
+
if (rangeRowIndex.current > anchorRowIndex.current) {
|
|
2858
|
+
rangeStart = anchorRowIndex.current;
|
|
2859
|
+
rangeEnd = rangeRowIndex.current;
|
|
2860
|
+
} else if (rangeRowIndex.current < anchorRowIndex.current) {
|
|
2861
|
+
rangeStart = rangeRowIndex.current;
|
|
2862
|
+
rangeEnd = anchorRowIndex.current;
|
|
2858
2863
|
} else {
|
|
2859
|
-
rangeStart = rangeEnd =
|
|
2864
|
+
rangeStart = rangeEnd = rangeRowIndex.current;
|
|
2860
2865
|
}
|
|
2861
2866
|
return isAllowCellSelection ? selectRangeOnCell(event, rangeStart, rangeEnd) : selectRangeOnRow(event, rangeStart, rangeEnd);
|
|
2862
2867
|
};
|
|
@@ -2897,7 +2902,7 @@ var TableBody = /*#__PURE__*/React.memo(/*#__PURE__*/React.forwardRef(function (
|
|
|
2897
2902
|
for (var i = rowRangeStart; i <= rowRangeEnd; i++) {
|
|
2898
2903
|
var rowData = value[i];
|
|
2899
2904
|
var columns = props.columns;
|
|
2900
|
-
var rowIndex = props.
|
|
2905
|
+
var rowIndex = props.paginator ? i + props.first : i;
|
|
2901
2906
|
for (var j = cellRangeStart; j <= cellRangeEnd; j++) {
|
|
2902
2907
|
var field = getColumnProp(columns[j], 'field');
|
|
2903
2908
|
var _value = ObjectUtils.resolveFieldData(rowData, field);
|
|
@@ -3096,13 +3101,17 @@ var TableBody = /*#__PURE__*/React.memo(/*#__PURE__*/React.forwardRef(function (
|
|
|
3096
3101
|
onRangeSelection(event, 'row');
|
|
3097
3102
|
}
|
|
3098
3103
|
};
|
|
3104
|
+
var expandedRowsRef = React.useRef(props.expandedRows);
|
|
3105
|
+
React.useEffect(function () {
|
|
3106
|
+
expandedRowsRef.current = props.expandedRows;
|
|
3107
|
+
}, [props.expandedRows]);
|
|
3099
3108
|
var onRowToggle = function onRowToggle(event) {
|
|
3100
3109
|
var expandedRows;
|
|
3101
3110
|
var dataKey = props.dataKey;
|
|
3102
3111
|
var hasDataKey = props.groupRowsBy ? dataKey === props.groupRowsBy : !!dataKey;
|
|
3103
3112
|
if (hasDataKey) {
|
|
3104
3113
|
var dataKeyValue = String(ObjectUtils.resolveFieldData(event.data, dataKey));
|
|
3105
|
-
expandedRows =
|
|
3114
|
+
expandedRows = expandedRowsRef.current ? _objectSpread$8({}, expandedRowsRef.current) : {};
|
|
3106
3115
|
if (expandedRows[dataKeyValue] != null) {
|
|
3107
3116
|
delete expandedRows[dataKeyValue];
|
|
3108
3117
|
if (props.onRowCollapse) {
|
|
@@ -3121,8 +3130,8 @@ var TableBody = /*#__PURE__*/React.memo(/*#__PURE__*/React.forwardRef(function (
|
|
|
3121
3130
|
}
|
|
3122
3131
|
}
|
|
3123
3132
|
} else {
|
|
3124
|
-
var expandedRowIndex = findIndex(
|
|
3125
|
-
expandedRows =
|
|
3133
|
+
var expandedRowIndex = findIndex(expandedRowsRef.current, event.data);
|
|
3134
|
+
expandedRows = expandedRowsRef.current ? _toConsumableArray(expandedRowsRef.current) : [];
|
|
3126
3135
|
if (expandedRowIndex !== -1) {
|
|
3127
3136
|
expandedRows = expandedRows.filter(function (_, i) {
|
|
3128
3137
|
return i !== expandedRowIndex;
|
|
@@ -3372,7 +3381,7 @@ var TableBody = /*#__PURE__*/React.memo(/*#__PURE__*/React.forwardRef(function (
|
|
|
3372
3381
|
return null;
|
|
3373
3382
|
};
|
|
3374
3383
|
var createGroupHeader = function createGroupHeader(rowData, rowIndex, expanded, colSpan) {
|
|
3375
|
-
if (isSubheaderGrouping && shouldRenderRowGroupHeader(props.value, rowData,
|
|
3384
|
+
if (isSubheaderGrouping && shouldRenderRowGroupHeader(props.value, rowData, rowIndex - props.first)) {
|
|
3376
3385
|
var style = rowGroupHeaderStyle();
|
|
3377
3386
|
var toggler = props.expandableRowGroups && /*#__PURE__*/React.createElement(RowTogglerButton, {
|
|
3378
3387
|
hostName: props.hostName,
|
|
@@ -3422,6 +3431,9 @@ var TableBody = /*#__PURE__*/React.memo(/*#__PURE__*/React.forwardRef(function (
|
|
|
3422
3431
|
hostName: props.hostName,
|
|
3423
3432
|
allowCellSelection: _allowCellSelection,
|
|
3424
3433
|
allowRowSelection: _allowRowSelection,
|
|
3434
|
+
cellMemo: props.cellMemo,
|
|
3435
|
+
cellMemoProps: props.cellMemoProps,
|
|
3436
|
+
cellMemoPropsDepth: props.cellMemoPropsDepth,
|
|
3425
3437
|
cellClassName: props.cellClassName,
|
|
3426
3438
|
checkIcon: props.checkIcon,
|
|
3427
3439
|
collapsedRowIcon: props.collapsedRowIcon,
|
|
@@ -3814,6 +3826,7 @@ var FilterMatchMode = Object.freeze({
|
|
|
3814
3826
|
EQUALS: 'equals',
|
|
3815
3827
|
NOT_EQUALS: 'notEquals',
|
|
3816
3828
|
IN: 'in',
|
|
3829
|
+
NOT_IN: 'notIn',
|
|
3817
3830
|
LESS_THAN: 'lt',
|
|
3818
3831
|
LESS_THAN_OR_EQUAL_TO: 'lte',
|
|
3819
3832
|
GREATER_THAN: 'gt',
|
|
@@ -3902,6 +3915,7 @@ var locales = {
|
|
|
3902
3915
|
emptySelectionMessage: 'No selected item',
|
|
3903
3916
|
endsWith: 'Ends with',
|
|
3904
3917
|
equals: 'Equals',
|
|
3918
|
+
fileChosenMessage: '{0} files',
|
|
3905
3919
|
fileSizeTypes: ['B', 'KB', 'MB', 'GB', 'TB', 'PB', 'EB', 'ZB', 'YB'],
|
|
3906
3920
|
filter: 'Filter',
|
|
3907
3921
|
firstDayOfWeek: 0,
|
|
@@ -3920,6 +3934,7 @@ var locales = {
|
|
|
3920
3934
|
nextMonth: 'Next Month',
|
|
3921
3935
|
nextSecond: 'Next Second',
|
|
3922
3936
|
nextYear: 'Next Year',
|
|
3937
|
+
noFileChosenMessage: 'No file chosen',
|
|
3923
3938
|
noFilter: 'No Filter',
|
|
3924
3939
|
notContains: 'Not contains',
|
|
3925
3940
|
notEquals: 'Not equals',
|
|
@@ -3947,8 +3962,10 @@ var locales = {
|
|
|
3947
3962
|
aria: {
|
|
3948
3963
|
cancelEdit: 'Cancel Edit',
|
|
3949
3964
|
close: 'Close',
|
|
3965
|
+
collapseLabel: 'Collapse',
|
|
3950
3966
|
collapseRow: 'Row Collapsed',
|
|
3951
3967
|
editRow: 'Edit Row',
|
|
3968
|
+
expandLabel: 'Expand',
|
|
3952
3969
|
expandRow: 'Row Expanded',
|
|
3953
3970
|
falseLabel: 'False',
|
|
3954
3971
|
filterConstraint: 'Filter Constraint',
|
|
@@ -3973,18 +3990,20 @@ var locales = {
|
|
|
3973
3990
|
next: 'Next',
|
|
3974
3991
|
nextPageLabel: 'Next Page',
|
|
3975
3992
|
nullLabel: 'Not Selected',
|
|
3976
|
-
pageLabel: 'Page {page}',
|
|
3977
3993
|
otpLabel: 'Please enter one time password character {0}',
|
|
3994
|
+
pageLabel: 'Page {page}',
|
|
3978
3995
|
passwordHide: 'Hide Password',
|
|
3979
3996
|
passwordShow: 'Show Password',
|
|
3980
3997
|
previous: 'Previous',
|
|
3981
3998
|
prevPageLabel: 'Previous Page',
|
|
3999
|
+
removeLabel: 'Remove',
|
|
3982
4000
|
rotateLeft: 'Rotate Left',
|
|
3983
4001
|
rotateRight: 'Rotate Right',
|
|
3984
4002
|
rowsPerPageLabel: 'Rows per page',
|
|
3985
4003
|
saveEdit: 'Save Edit',
|
|
3986
4004
|
scrollTop: 'Scroll Top',
|
|
3987
4005
|
selectAll: 'All items selected',
|
|
4006
|
+
selectLabel: 'Select',
|
|
3988
4007
|
selectRow: 'Row Selected',
|
|
3989
4008
|
showFilterMenu: 'Show Filter Menu',
|
|
3990
4009
|
slide: 'Slide',
|
|
@@ -3993,6 +4012,7 @@ var locales = {
|
|
|
3993
4012
|
stars: '{star} stars',
|
|
3994
4013
|
trueLabel: 'True',
|
|
3995
4014
|
unselectAll: 'All items unselected',
|
|
4015
|
+
unselectLabel: 'Unselect',
|
|
3996
4016
|
unselectRow: 'Row Unselected',
|
|
3997
4017
|
zoomImage: 'Zoom Image',
|
|
3998
4018
|
zoomIn: 'Zoom In',
|
|
@@ -6919,58 +6939,60 @@ var DataTable = /*#__PURE__*/React.forwardRef(function (inProps, ref) {
|
|
|
6919
6939
|
var exportCSV = function exportCSV(options) {
|
|
6920
6940
|
var data;
|
|
6921
6941
|
var csv = "\uFEFF";
|
|
6922
|
-
var columns = getColumns();
|
|
6923
6942
|
if (options && options.selectionOnly) {
|
|
6924
6943
|
data = props.selection || [];
|
|
6925
6944
|
} else {
|
|
6926
6945
|
data = [].concat(_toConsumableArray(props.frozenValue || []), _toConsumableArray(processedData() || []));
|
|
6927
6946
|
}
|
|
6928
6947
|
|
|
6929
|
-
//
|
|
6930
|
-
|
|
6931
|
-
var
|
|
6948
|
+
// First build collection of exportable columns
|
|
6949
|
+
var exportableColumns = getColumns().filter(function (column) {
|
|
6950
|
+
var exportable = getColumnProp(column, 'exportable');
|
|
6951
|
+
var field = getColumnProp(column, 'field');
|
|
6952
|
+
|
|
6953
|
+
// Column must be exportable (or undefined/not set) and have a field defined
|
|
6954
|
+
return exportable !== false && field;
|
|
6955
|
+
});
|
|
6956
|
+
|
|
6957
|
+
// headers
|
|
6958
|
+
exportableColumns.forEach(function (column, i) {
|
|
6959
|
+
var _ref5 = [getColumnProp(column, 'field'), getColumnProp(column, 'header'), getColumnProp(column, 'exportHeader')],
|
|
6932
6960
|
field = _ref5[0],
|
|
6933
6961
|
header = _ref5[1],
|
|
6934
|
-
exportHeader = _ref5[2]
|
|
6935
|
-
|
|
6936
|
-
|
|
6937
|
-
|
|
6938
|
-
csv = csv +
|
|
6939
|
-
if (i < columns.length - 1) {
|
|
6940
|
-
csv = csv + props.csvSeparator;
|
|
6941
|
-
}
|
|
6962
|
+
exportHeader = _ref5[2];
|
|
6963
|
+
var columnHeader = String(exportHeader || header || field).replace(/"/g, '""').replace(/\n/g, "\u2028");
|
|
6964
|
+
csv = csv + ('"' + columnHeader + '"');
|
|
6965
|
+
if (i < exportableColumns.length - 1) {
|
|
6966
|
+
csv = csv + props.csvSeparator;
|
|
6942
6967
|
}
|
|
6943
6968
|
});
|
|
6944
6969
|
|
|
6945
|
-
//body
|
|
6970
|
+
// body
|
|
6946
6971
|
data.forEach(function (record) {
|
|
6947
6972
|
csv = csv + '\n';
|
|
6948
|
-
|
|
6949
|
-
var _ref6 = [getColumnProp(column, 'field'), getColumnProp(column, 'exportField')
|
|
6973
|
+
exportableColumns.forEach(function (column, i) {
|
|
6974
|
+
var _ref6 = [getColumnProp(column, 'field'), getColumnProp(column, 'exportField')],
|
|
6950
6975
|
colField = _ref6[0],
|
|
6951
|
-
exportField = _ref6[1]
|
|
6952
|
-
exportable = _ref6[2];
|
|
6976
|
+
exportField = _ref6[1];
|
|
6953
6977
|
var field = exportField || colField;
|
|
6954
|
-
|
|
6955
|
-
|
|
6956
|
-
if (
|
|
6957
|
-
|
|
6958
|
-
cellData
|
|
6959
|
-
|
|
6960
|
-
|
|
6961
|
-
|
|
6962
|
-
|
|
6963
|
-
});
|
|
6964
|
-
} else {
|
|
6965
|
-
cellData = String(cellData).replace(/"/g, '""').replace(/\n/g, "\u2028");
|
|
6966
|
-
}
|
|
6978
|
+
var cellData = ObjectUtils.resolveFieldData(record, field);
|
|
6979
|
+
if (cellData != null) {
|
|
6980
|
+
if (props.exportFunction) {
|
|
6981
|
+
cellData = props.exportFunction({
|
|
6982
|
+
data: cellData,
|
|
6983
|
+
field: field,
|
|
6984
|
+
rowData: record,
|
|
6985
|
+
column: column
|
|
6986
|
+
});
|
|
6967
6987
|
} else {
|
|
6968
|
-
cellData = '';
|
|
6969
|
-
}
|
|
6970
|
-
csv = csv + ('"' + cellData + '"');
|
|
6971
|
-
if (i < columns.length - 1) {
|
|
6972
|
-
csv = csv + props.csvSeparator;
|
|
6988
|
+
cellData = String(cellData).replace(/"/g, '""').replace(/\n/g, "\u2028");
|
|
6973
6989
|
}
|
|
6990
|
+
} else {
|
|
6991
|
+
cellData = '';
|
|
6992
|
+
}
|
|
6993
|
+
csv = csv + ('"' + cellData + '"');
|
|
6994
|
+
if (i < exportableColumns.length - 1) {
|
|
6995
|
+
csv = csv + props.csvSeparator;
|
|
6974
6996
|
}
|
|
6975
6997
|
});
|
|
6976
6998
|
});
|
|
@@ -7235,6 +7257,9 @@ var DataTable = /*#__PURE__*/React.forwardRef(function (inProps, ref) {
|
|
|
7235
7257
|
var frozenBody = ObjectUtils.isNotEmpty(props.frozenValue) && /*#__PURE__*/React.createElement(TableBody, {
|
|
7236
7258
|
hostName: "DataTable",
|
|
7237
7259
|
ref: frozenBodyRef,
|
|
7260
|
+
cellMemo: props.cellMemo,
|
|
7261
|
+
cellMemoProps: props.cellMemoProps,
|
|
7262
|
+
cellMemoPropsDepth: props.cellMemoPropsDepth,
|
|
7238
7263
|
cellClassName: props.cellClassName,
|
|
7239
7264
|
cellSelection: props.cellSelection,
|
|
7240
7265
|
checkIcon: props.checkIcon,
|
|
@@ -7319,6 +7344,9 @@ var DataTable = /*#__PURE__*/React.forwardRef(function (inProps, ref) {
|
|
|
7319
7344
|
var body = /*#__PURE__*/React.createElement(TableBody, {
|
|
7320
7345
|
hostName: "DataTable",
|
|
7321
7346
|
ref: bodyRef,
|
|
7347
|
+
cellMemo: props.cellMemo,
|
|
7348
|
+
cellMemoProps: props.cellMemoProps,
|
|
7349
|
+
cellMemoPropsDepth: props.cellMemoPropsDepth,
|
|
7322
7350
|
cellClassName: props.cellClassName,
|
|
7323
7351
|
cellSelection: props.cellSelection,
|
|
7324
7352
|
checkIcon: props.checkIcon,
|