primereact 10.9.6 → 10.9.7
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/accordion/accordion.cjs.js +3 -2
- package/accordion/accordion.cjs.min.js +1 -1
- package/accordion/accordion.esm.js +3 -2
- package/accordion/accordion.esm.min.js +1 -1
- package/accordion/accordion.js +3 -2
- package/accordion/accordion.min.js +1 -1
- package/api/api.d.ts +4 -0
- package/autocomplete/autocomplete.cjs.js +2 -1
- package/autocomplete/autocomplete.cjs.min.js +1 -1
- package/autocomplete/autocomplete.esm.js +2 -1
- package/autocomplete/autocomplete.esm.min.js +1 -1
- package/autocomplete/autocomplete.js +2 -1
- package/autocomplete/autocomplete.min.js +1 -1
- package/calendar/calendar.cjs.js +9 -8
- package/calendar/calendar.cjs.min.js +1 -1
- package/calendar/calendar.esm.js +9 -8
- package/calendar/calendar.esm.min.js +1 -1
- package/calendar/calendar.js +9 -8
- package/calendar/calendar.min.js +1 -1
- package/carousel/carousel.cjs.js +9 -1
- package/carousel/carousel.cjs.min.js +1 -1
- package/carousel/carousel.esm.js +9 -1
- package/carousel/carousel.esm.min.js +1 -1
- package/carousel/carousel.js +9 -1
- package/carousel/carousel.min.js +1 -1
- package/cascadeselect/cascadeselect.cjs.js +2 -1
- package/cascadeselect/cascadeselect.cjs.min.js +1 -1
- package/cascadeselect/cascadeselect.esm.js +2 -1
- package/cascadeselect/cascadeselect.esm.min.js +1 -1
- package/cascadeselect/cascadeselect.js +2 -1
- package/cascadeselect/cascadeselect.min.js +1 -1
- package/colorpicker/colorpicker.cjs.js +2 -1
- package/colorpicker/colorpicker.cjs.min.js +1 -1
- package/colorpicker/colorpicker.esm.js +2 -1
- package/colorpicker/colorpicker.esm.min.js +1 -1
- package/colorpicker/colorpicker.js +2 -1
- package/colorpicker/colorpicker.min.js +1 -1
- package/componentbase/componentbase.cjs.js +1 -1
- package/componentbase/componentbase.cjs.min.js +1 -1
- package/componentbase/componentbase.esm.js +1 -1
- package/componentbase/componentbase.esm.min.js +1 -1
- package/componentbase/componentbase.js +1 -1
- package/componentbase/componentbase.min.js +1 -1
- package/contextmenu/contextmenu.cjs.js +8 -6
- package/contextmenu/contextmenu.cjs.min.js +1 -1
- package/contextmenu/contextmenu.esm.js +8 -6
- package/contextmenu/contextmenu.esm.min.js +1 -1
- package/contextmenu/contextmenu.js +8 -6
- package/contextmenu/contextmenu.min.js +1 -1
- package/core/core.js +35 -23
- package/core/core.min.js +5 -5
- package/datatable/datatable.cjs.js +65 -39
- package/datatable/datatable.cjs.min.js +1 -1
- package/datatable/datatable.d.ts +66 -7
- package/datatable/datatable.esm.js +65 -39
- package/datatable/datatable.esm.min.js +1 -1
- package/datatable/datatable.js +66 -40
- package/datatable/datatable.min.js +1 -1
- package/dialog/dialog.cjs.js +3 -3
- package/dialog/dialog.cjs.min.js +1 -1
- package/dialog/dialog.esm.js +3 -3
- package/dialog/dialog.esm.min.js +1 -1
- package/dialog/dialog.js +3 -3
- package/dialog/dialog.min.js +1 -1
- package/dropdown/dropdown.cjs.js +4 -2
- package/dropdown/dropdown.cjs.min.js +1 -1
- package/dropdown/dropdown.esm.js +4 -2
- package/dropdown/dropdown.esm.min.js +1 -1
- package/dropdown/dropdown.js +4 -2
- package/dropdown/dropdown.min.js +1 -1
- package/inputnumber/inputnumber.cjs.js +5 -1
- package/inputnumber/inputnumber.cjs.min.js +1 -1
- package/inputnumber/inputnumber.esm.js +5 -1
- package/inputnumber/inputnumber.esm.min.js +1 -1
- package/inputnumber/inputnumber.js +5 -1
- package/inputnumber/inputnumber.min.js +1 -1
- package/inputotp/inputotp.cjs.js +11 -7
- package/inputotp/inputotp.cjs.min.js +1 -1
- package/inputotp/inputotp.esm.js +11 -7
- package/inputotp/inputotp.esm.min.js +1 -1
- package/inputotp/inputotp.js +11 -7
- package/inputotp/inputotp.min.js +1 -1
- package/megamenu/megamenu.cjs.js +19 -12
- package/megamenu/megamenu.cjs.min.js +1 -1
- package/megamenu/megamenu.esm.js +19 -12
- package/megamenu/megamenu.esm.min.js +1 -1
- package/megamenu/megamenu.js +19 -12
- package/megamenu/megamenu.min.js +1 -1
- package/mention/mention.cjs.js +3 -2
- package/mention/mention.cjs.min.js +1 -1
- package/mention/mention.esm.js +3 -2
- package/mention/mention.esm.min.js +1 -1
- package/mention/mention.js +3 -2
- package/mention/mention.min.js +1 -1
- package/menubar/menubar.cjs.js +8 -3
- package/menubar/menubar.cjs.min.js +1 -1
- package/menubar/menubar.esm.js +8 -3
- package/menubar/menubar.esm.min.js +1 -1
- package/menubar/menubar.js +8 -3
- package/menubar/menubar.min.js +1 -1
- package/multiselect/multiselect.cjs.js +3 -1
- package/multiselect/multiselect.cjs.min.js +1 -1
- package/multiselect/multiselect.esm.js +3 -1
- package/multiselect/multiselect.esm.min.js +1 -1
- package/multiselect/multiselect.js +3 -1
- package/multiselect/multiselect.min.js +1 -1
- package/multistatecheckbox/multistatecheckbox.d.ts +10 -0
- package/package.json +1 -1
- package/primereact.all.cjs.js +187 -111
- package/primereact.all.cjs.min.js +1 -1
- package/primereact.all.esm.js +187 -111
- package/primereact.all.esm.min.js +1 -1
- package/primereact.all.js +187 -111
- package/primereact.all.min.js +1 -1
- package/slidemenu/slidemenu.cjs.js +6 -4
- package/slidemenu/slidemenu.cjs.min.js +1 -1
- package/slidemenu/slidemenu.esm.js +6 -4
- package/slidemenu/slidemenu.esm.min.js +1 -1
- package/slidemenu/slidemenu.js +6 -4
- package/slidemenu/slidemenu.min.js +1 -1
- package/splitbutton/splitbutton.cjs.js +11 -5
- package/splitbutton/splitbutton.cjs.min.js +1 -1
- package/splitbutton/splitbutton.esm.js +11 -5
- package/splitbutton/splitbutton.esm.min.js +1 -1
- package/splitbutton/splitbutton.js +11 -5
- package/splitbutton/splitbutton.min.js +1 -1
- package/tieredmenu/tieredmenu.cjs.js +9 -4
- package/tieredmenu/tieredmenu.cjs.min.js +1 -1
- package/tieredmenu/tieredmenu.esm.js +9 -4
- package/tieredmenu/tieredmenu.esm.min.js +1 -1
- package/tieredmenu/tieredmenu.js +9 -4
- package/tieredmenu/tieredmenu.min.js +1 -1
- package/togglebutton/togglebutton.cjs.js +3 -3
- package/togglebutton/togglebutton.cjs.min.js +1 -1
- package/togglebutton/togglebutton.esm.js +3 -3
- package/togglebutton/togglebutton.esm.min.js +1 -1
- package/togglebutton/togglebutton.js +3 -3
- package/togglebutton/togglebutton.min.js +1 -1
- package/tree/tree.cjs.js +22 -16
- package/tree/tree.cjs.min.js +1 -1
- package/tree/tree.esm.js +22 -16
- package/tree/tree.esm.min.js +1 -1
- package/tree/tree.js +22 -16
- package/tree/tree.min.js +1 -1
- package/web-types.json +19 -1
package/datatable/datatable.d.ts
CHANGED
|
@@ -363,11 +363,11 @@ interface DataTableSelectionSingleChangeEvent<TValue extends DataTableValueArray
|
|
|
363
363
|
}
|
|
364
364
|
|
|
365
365
|
/**
|
|
366
|
-
* Custom cell selection change event.
|
|
366
|
+
* Custom cell single selection change event.
|
|
367
367
|
* @see {@link DataTableProps.onSelectionChange}
|
|
368
368
|
* @event
|
|
369
369
|
*/
|
|
370
|
-
interface
|
|
370
|
+
interface DataTableSelectionCellSingleChangeEvent<TValue extends DataTableValueArray> {
|
|
371
371
|
/**
|
|
372
372
|
* Browser event.
|
|
373
373
|
*/
|
|
@@ -386,6 +386,30 @@ interface DataTableSelectionCellChangeEvent<TValue extends DataTableValueArray>
|
|
|
386
386
|
[key: string]: any;
|
|
387
387
|
}
|
|
388
388
|
|
|
389
|
+
/**
|
|
390
|
+
* Custom cell multiple selection change event.
|
|
391
|
+
* @see {@link DataTableProps.onSelectionChange}
|
|
392
|
+
* @event
|
|
393
|
+
*/
|
|
394
|
+
interface DataTableSelectionCellMultipleChangeEvent<TValue extends DataTableValueArray> {
|
|
395
|
+
/**
|
|
396
|
+
* Browser event.
|
|
397
|
+
*/
|
|
398
|
+
originalEvent: React.SyntheticEvent;
|
|
399
|
+
/**
|
|
400
|
+
* Selection objects.
|
|
401
|
+
*/
|
|
402
|
+
value: Array<DataTableCellSelection<TValue>>;
|
|
403
|
+
/**
|
|
404
|
+
* Type of the selection.
|
|
405
|
+
*/
|
|
406
|
+
type?: 'cell';
|
|
407
|
+
/**
|
|
408
|
+
* Extra options.
|
|
409
|
+
*/
|
|
410
|
+
[key: string]: any;
|
|
411
|
+
}
|
|
412
|
+
|
|
389
413
|
/**
|
|
390
414
|
* Custom select all change event.
|
|
391
415
|
* @see {@link DataTableProps.onSelectAllChange}
|
|
@@ -1851,7 +1875,7 @@ interface DataTablePropsMultiple<TValue extends DataTableValueArray> extends Dat
|
|
|
1851
1875
|
* Defines valid properties in DataTable component. In addition to these, all properties of HTMLDivElement can be used in this component.
|
|
1852
1876
|
* @group Properties
|
|
1853
1877
|
*/
|
|
1854
|
-
interface
|
|
1878
|
+
interface DataTablePropsCellSingle<TValue extends DataTableValueArray> extends DataTableBaseProps<TValue> {
|
|
1855
1879
|
/**
|
|
1856
1880
|
* Whether to cell selection is enabled or not.
|
|
1857
1881
|
* @defaultValue false
|
|
@@ -1860,7 +1884,7 @@ interface DataTablePropsCell<TValue extends DataTableValueArray> extends DataTab
|
|
|
1860
1884
|
/**
|
|
1861
1885
|
* Specifies the selection mode, valid values are "single", "multiple", "radiobutton" and "checkbox".
|
|
1862
1886
|
*/
|
|
1863
|
-
selectionMode: 'single'
|
|
1887
|
+
selectionMode: 'single';
|
|
1864
1888
|
/**
|
|
1865
1889
|
* Selected cells.
|
|
1866
1890
|
*/
|
|
@@ -1872,16 +1896,46 @@ interface DataTablePropsCell<TValue extends DataTableValueArray> extends DataTab
|
|
|
1872
1896
|
onContextMenuSelectionChange?(event: DataTableContextMenuMultipleSelectionChangeEvent<TValue>): void;
|
|
1873
1897
|
/**
|
|
1874
1898
|
* Callback to invoke when selection changes.
|
|
1875
|
-
* @param {
|
|
1899
|
+
* @param {DataTableSelectionCellSingleChangeEvent<TValue>} event - Custom selection change event.
|
|
1900
|
+
*/
|
|
1901
|
+
onSelectionChange?(event: DataTableSelectionCellSingleChangeEvent<TValue>): void;
|
|
1902
|
+
}
|
|
1903
|
+
|
|
1904
|
+
/**
|
|
1905
|
+
* Defines valid properties in DataTable component. In addition to these, all properties of HTMLDivElement can be used in this component.
|
|
1906
|
+
* @group Properties
|
|
1907
|
+
*/
|
|
1908
|
+
interface DataTablePropsCellMultiple<TValue extends DataTableValueArray> extends DataTableBaseProps<TValue> {
|
|
1909
|
+
/**
|
|
1910
|
+
* Whether to cell selection is enabled or not.
|
|
1911
|
+
* @defaultValue false
|
|
1912
|
+
*/
|
|
1913
|
+
cellSelection: true;
|
|
1914
|
+
/**
|
|
1915
|
+
* Specifies the selection mode, valid values are "single", "multiple", "radiobutton" and "checkbox".
|
|
1916
|
+
*/
|
|
1917
|
+
selectionMode: 'multiple';
|
|
1918
|
+
/**
|
|
1919
|
+
* Selected cells.
|
|
1920
|
+
*/
|
|
1921
|
+
selection: Array<DataTableCellSelection<TValue>> | null;
|
|
1922
|
+
/**
|
|
1923
|
+
* Callback to invoke when a row selected with right click.
|
|
1924
|
+
* @param {DataTableRowEvent} event - Custom row event.
|
|
1925
|
+
*/
|
|
1926
|
+
onContextMenuSelectionChange?(event: DataTableContextMenuMultipleSelectionChangeEvent<TValue>): void;
|
|
1927
|
+
/**
|
|
1928
|
+
* Callback to invoke when selection changes.
|
|
1929
|
+
* @param {DataTableSelectionCellMultipleChangeEvent<TValue>} event - Custom selection change event.
|
|
1876
1930
|
*/
|
|
1877
|
-
onSelectionChange?(event:
|
|
1931
|
+
onSelectionChange?(event: DataTableSelectionCellMultipleChangeEvent<TValue>): void;
|
|
1878
1932
|
}
|
|
1879
1933
|
|
|
1880
1934
|
/**
|
|
1881
1935
|
* Defines valid properties in DataTable component. In addition to these, all properties of HTMLDivElement can be used in this component.
|
|
1882
1936
|
* @group Properties
|
|
1883
1937
|
*/
|
|
1884
|
-
export type DataTableProps<TValue extends DataTableValueArray> = DataTablePropsSingle<TValue> |
|
|
1938
|
+
export type DataTableProps<TValue extends DataTableValueArray> = DataTablePropsSingle<TValue> | DataTablePropsCellSingle<TValue> | DataTablePropsMultiple<TValue> | DataTablePropsCellMultiple<TValue>;
|
|
1885
1939
|
|
|
1886
1940
|
/**
|
|
1887
1941
|
* **PrimeReact - DataTable<TValue**
|
|
@@ -2007,4 +2061,9 @@ export declare class DataTable<TValue extends DataTableValueArray> extends React
|
|
|
2007
2061
|
* @return {VirtualScroller | null} Virtual scroller instance
|
|
2008
2062
|
*/
|
|
2009
2063
|
public getVirtualScroller(): VirtualScroller | null;
|
|
2064
|
+
/**
|
|
2065
|
+
* Used to get the processed data.
|
|
2066
|
+
* @return {TValue} sorted and filtered data
|
|
2067
|
+
*/
|
|
2068
|
+
public getProcessedData(): TValue;
|
|
2010
2069
|
}
|
|
@@ -16,7 +16,6 @@ import { ChevronDownIcon } from 'primereact/icons/chevrondown';
|
|
|
16
16
|
import { ChevronRightIcon } from 'primereact/icons/chevronright';
|
|
17
17
|
import { PencilIcon } from 'primereact/icons/pencil';
|
|
18
18
|
import { TimesIcon } from 'primereact/icons/times';
|
|
19
|
-
import { OverlayService } from 'primereact/overlayservice';
|
|
20
19
|
import { Ripple } from 'primereact/ripple';
|
|
21
20
|
import { Tooltip } from 'primereact/tooltip';
|
|
22
21
|
import { Button } from 'primereact/button';
|
|
@@ -27,6 +26,7 @@ import { FilterSlashIcon } from 'primereact/icons/filterslash';
|
|
|
27
26
|
import { PlusIcon } from 'primereact/icons/plus';
|
|
28
27
|
import { TrashIcon } from 'primereact/icons/trash';
|
|
29
28
|
import { InputText } from 'primereact/inputtext';
|
|
29
|
+
import { OverlayService } from 'primereact/overlayservice';
|
|
30
30
|
import { Portal } from 'primereact/portal';
|
|
31
31
|
import { SortAltIcon } from 'primereact/icons/sortalt';
|
|
32
32
|
import { SortAmountDownIcon } from 'primereact/icons/sortamountdown';
|
|
@@ -462,6 +462,9 @@ var DataTableBase = ComponentBase.extend({
|
|
|
462
462
|
alwaysShowPaginator: true,
|
|
463
463
|
breakpoint: '960px',
|
|
464
464
|
cellClassName: null,
|
|
465
|
+
cellMemo: true,
|
|
466
|
+
cellMemoProps: ['rowData', 'field', 'allowCellSelection', 'isCellSelected', 'editMode', 'index', 'tabIndex', 'editing', 'expanded', 'editingMeta', 'frozenCol', 'alignFrozenCol'],
|
|
467
|
+
cellMemoPropsDepth: 1,
|
|
465
468
|
cellSelection: false,
|
|
466
469
|
checkIcon: null,
|
|
467
470
|
className: null,
|
|
@@ -1164,8 +1167,6 @@ var Cell = function Cell(props) {
|
|
|
1164
1167
|
setStyleObjectState = _React$useState6[1];
|
|
1165
1168
|
var elementRef = React.useRef(null);
|
|
1166
1169
|
var keyHelperRef = React.useRef(null);
|
|
1167
|
-
var overlayEventListener = React.useRef(null);
|
|
1168
|
-
var selfClick = React.useRef(false);
|
|
1169
1170
|
var focusTimeout = React.useRef(null);
|
|
1170
1171
|
var initFocusTimeout = React.useRef(null);
|
|
1171
1172
|
var editingRowDataStateRef = React.useRef(null);
|
|
@@ -1202,17 +1203,20 @@ var Cell = function Cell(props) {
|
|
|
1202
1203
|
var cellEditValidateOnClose = function cellEditValidateOnClose() {
|
|
1203
1204
|
return getColumnProp('cellEditValidateOnClose');
|
|
1204
1205
|
};
|
|
1206
|
+
var isIgnoredElement = function isIgnoredElement(element) {
|
|
1207
|
+
var isOverlay = function isOverlay(el) {
|
|
1208
|
+
return el.getAttribute && el.getAttribute('data-pr-is-overlay');
|
|
1209
|
+
};
|
|
1210
|
+
return isOverlay(element) || DomHandler.getParents(element).find(function (el) {
|
|
1211
|
+
return isOverlay(el);
|
|
1212
|
+
});
|
|
1213
|
+
};
|
|
1205
1214
|
var _useEventListener = useEventListener({
|
|
1206
1215
|
type: 'click',
|
|
1207
1216
|
listener: function listener(e) {
|
|
1208
|
-
|
|
1209
|
-
|
|
1210
|
-
|
|
1211
|
-
|
|
1212
|
-
switchCellToViewMode(e, true);
|
|
1213
|
-
}
|
|
1214
|
-
}, 0);
|
|
1215
|
-
selfClick.current = false;
|
|
1217
|
+
if (!isIgnoredElement(e.target) && isOutsideClicked(e.target)) {
|
|
1218
|
+
switchCellToViewMode(e, true);
|
|
1219
|
+
}
|
|
1216
1220
|
},
|
|
1217
1221
|
options: true,
|
|
1218
1222
|
when: isEditable()
|
|
@@ -1257,10 +1261,6 @@ var Cell = function Cell(props) {
|
|
|
1257
1261
|
setTimeout(function () {
|
|
1258
1262
|
setEditingState(false);
|
|
1259
1263
|
unbindDocumentClickListener();
|
|
1260
|
-
OverlayService.off('overlay-click', overlayEventListener.current);
|
|
1261
|
-
overlayEventListener.current = null;
|
|
1262
|
-
editingRowDataStateRef.current = null;
|
|
1263
|
-
selfClick.current = false;
|
|
1264
1264
|
}, 1);
|
|
1265
1265
|
};
|
|
1266
1266
|
var switchCellToViewMode = function switchCellToViewMode(event, submit) {
|
|
@@ -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,
|
|
1307
|
+
props.onClick(event, getCellCallbackParams(event), isEditable(), editingState, setEditingState, props.column, bindDocumentClickListener);
|
|
1308
1308
|
};
|
|
1309
1309
|
var _onMouseDown = function onMouseDown(event) {
|
|
1310
1310
|
var params = getCellCallbackParams(event);
|
|
@@ -1376,7 +1376,6 @@ var Cell = function Cell(props) {
|
|
|
1376
1376
|
}
|
|
1377
1377
|
};
|
|
1378
1378
|
var _onBlur = function onBlur(event) {
|
|
1379
|
-
selfClick.current = false;
|
|
1380
1379
|
if (props.editMode !== 'row' && editingState && getColumnProp('cellEditValidatorEvent') === 'blur') {
|
|
1381
1380
|
switchCellToViewMode(event, true);
|
|
1382
1381
|
}
|
|
@@ -1457,9 +1456,8 @@ var Cell = function Cell(props) {
|
|
|
1457
1456
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
1458
1457
|
}, [editingState]);
|
|
1459
1458
|
useUnmountEffect(function () {
|
|
1460
|
-
if (
|
|
1461
|
-
|
|
1462
|
-
overlayEventListener.current = null;
|
|
1459
|
+
if (editingRowDataStateRef.current) {
|
|
1460
|
+
editingRowDataStateRef.current = null;
|
|
1463
1461
|
}
|
|
1464
1462
|
});
|
|
1465
1463
|
var createLoading = function createLoading() {
|
|
@@ -1763,6 +1761,7 @@ var Cell = function Cell(props) {
|
|
|
1763
1761
|
var RadioCheckCell = /*#__PURE__*/React.memo(function (props) {
|
|
1764
1762
|
return /*#__PURE__*/React.createElement(Cell, props);
|
|
1765
1763
|
}, function (prevProps, nextProps) {
|
|
1764
|
+
if (nextProps.cellMemo === false) return false;
|
|
1766
1765
|
var keysToCompare = ['isRowSelected', 'field', 'allowCellSelection', 'isCellSelected', 'editMode', 'index', 'tabIndex', 'editing', 'expanded', 'editingMeta', 'rowData'];
|
|
1767
1766
|
return ObjectUtils.selectiveCompare(prevProps, nextProps, keysToCompare);
|
|
1768
1767
|
});
|
|
@@ -2246,8 +2245,13 @@ var BodyRow = /*#__PURE__*/React.memo(function (props) {
|
|
|
2246
2245
|
} else {
|
|
2247
2246
|
var left = 0;
|
|
2248
2247
|
var prev = elementRef.current && elementRef.current.previousElementSibling;
|
|
2249
|
-
|
|
2250
|
-
|
|
2248
|
+
while (prev) {
|
|
2249
|
+
if (prev.classList.contains('p-frozen-column')) {
|
|
2250
|
+
left = DomHandler.getOuterWidth(prev) + parseFloat(prev.style.left || 0);
|
|
2251
|
+
elementRef.current.style.left = left + 'px';
|
|
2252
|
+
break;
|
|
2253
|
+
}
|
|
2254
|
+
prev = prev.previousElementSibling;
|
|
2251
2255
|
}
|
|
2252
2256
|
styleObject.left = left + 'px';
|
|
2253
2257
|
}
|
|
@@ -2255,9 +2259,8 @@ var BodyRow = /*#__PURE__*/React.memo(function (props) {
|
|
|
2255
2259
|
!isSameStyle && setStyleObjectState(styleObject);
|
|
2256
2260
|
}
|
|
2257
2261
|
}, []);
|
|
2258
|
-
var onCellClick = function onCellClick(event, params, isEditable, editingState, setEditingState,
|
|
2262
|
+
var onCellClick = function onCellClick(event, params, isEditable, editingState, setEditingState, column, bindDocumentClickListener) {
|
|
2259
2263
|
if (props.editMode !== 'row' && isEditable && !editingState && (props.selectOnEdit || !props.selectOnEdit && props.isRowSelected)) {
|
|
2260
|
-
selfClick.current = true;
|
|
2261
2264
|
var onBeforeCellEditShow = getColumnProp(column, 'onBeforeCellEditShow');
|
|
2262
2265
|
var onCellEditInit = getColumnProp(column, 'onCellEditInit');
|
|
2263
2266
|
var cellEditValidatorEvent = getColumnProp(column, 'cellEditValidatorEvent');
|
|
@@ -2288,12 +2291,6 @@ var BodyRow = /*#__PURE__*/React.memo(function (props) {
|
|
|
2288
2291
|
}
|
|
2289
2292
|
if (cellEditValidatorEvent === 'click') {
|
|
2290
2293
|
bindDocumentClickListener();
|
|
2291
|
-
overlayEventListener.current = function (e) {
|
|
2292
|
-
if (!isOutsideClicked(e.target)) {
|
|
2293
|
-
selfClick.current = true;
|
|
2294
|
-
}
|
|
2295
|
-
};
|
|
2296
|
-
OverlayService.on('overlay-click', overlayEventListener.current);
|
|
2297
2294
|
}
|
|
2298
2295
|
}, 1);
|
|
2299
2296
|
}
|
|
@@ -3653,16 +3650,21 @@ var FooterCell = /*#__PURE__*/React.memo(function (props) {
|
|
|
3653
3650
|
var _align = getColumnProp('alignFrozen');
|
|
3654
3651
|
if (_align === 'right') {
|
|
3655
3652
|
var right = 0;
|
|
3656
|
-
var next = elementRef.current.nextElementSibling;
|
|
3653
|
+
var next = elementRef.current && elementRef.current.nextElementSibling;
|
|
3657
3654
|
if (next && next.classList.contains('p-frozen-column')) {
|
|
3658
3655
|
right = DomHandler.getOuterWidth(next) + parseFloat(next.style.right || 0);
|
|
3659
3656
|
}
|
|
3660
3657
|
styleObject.right = right + 'px';
|
|
3661
3658
|
} else {
|
|
3662
3659
|
var left = 0;
|
|
3663
|
-
var prev = elementRef.current.previousElementSibling;
|
|
3664
|
-
|
|
3665
|
-
|
|
3660
|
+
var prev = elementRef.current && elementRef.current.previousElementSibling;
|
|
3661
|
+
while (prev) {
|
|
3662
|
+
if (prev && prev.classList.contains('p-frozen-column')) {
|
|
3663
|
+
left = DomHandler.getOuterWidth(prev) + parseFloat(prev.style.left || 0);
|
|
3664
|
+
elementRef.current.style.left = left + 'px';
|
|
3665
|
+
break;
|
|
3666
|
+
}
|
|
3667
|
+
prev = prev.previousElementSibling;
|
|
3666
3668
|
}
|
|
3667
3669
|
styleObject.left = left + 'px';
|
|
3668
3670
|
}
|
|
@@ -4345,7 +4347,7 @@ var ColumnFilter = /*#__PURE__*/React.memo(function (props) {
|
|
|
4345
4347
|
};
|
|
4346
4348
|
} else {
|
|
4347
4349
|
filters[field].value = null;
|
|
4348
|
-
filters[field].matchMode = defaultConstraint.matchMode;
|
|
4350
|
+
filters[field].matchMode = defaultConstraint ? defaultConstraint.matchMode : filters[field].matchMode;
|
|
4349
4351
|
}
|
|
4350
4352
|
filterClearCallback && filterClearCallback();
|
|
4351
4353
|
props.onFilterChange(filters);
|
|
@@ -4412,6 +4414,7 @@ var ColumnFilter = /*#__PURE__*/React.memo(function (props) {
|
|
|
4412
4414
|
}
|
|
4413
4415
|
};
|
|
4414
4416
|
var onRowMatchModeChange = function onRowMatchModeChange(matchMode) {
|
|
4417
|
+
var _iconRef$current;
|
|
4415
4418
|
var filterMatchModeChangeCallback = getColumnProp('onFilterMatchModeChange');
|
|
4416
4419
|
var filters = _objectSpread$4({}, props.filters);
|
|
4417
4420
|
filters[field].matchMode = matchMode;
|
|
@@ -4422,6 +4425,7 @@ var ColumnFilter = /*#__PURE__*/React.memo(function (props) {
|
|
|
4422
4425
|
props.onFilterChange(filters);
|
|
4423
4426
|
props.onFilterApply();
|
|
4424
4427
|
hide();
|
|
4428
|
+
(_iconRef$current = iconRef.current) === null || _iconRef$current === void 0 || _iconRef$current.focus();
|
|
4425
4429
|
};
|
|
4426
4430
|
var onRowMatchModeKeyDown = function onRowMatchModeKeyDown(event, matchMode, clear) {
|
|
4427
4431
|
var item = event.target;
|
|
@@ -5181,16 +5185,21 @@ var HeaderCell = /*#__PURE__*/React.memo(function (props) {
|
|
|
5181
5185
|
var align = getColumnProp('alignFrozen');
|
|
5182
5186
|
if (align === 'right') {
|
|
5183
5187
|
var right = 0;
|
|
5184
|
-
var next = elementRef.current.nextElementSibling;
|
|
5188
|
+
var next = elementRef.current && elementRef.current.nextElementSibling;
|
|
5185
5189
|
if (next && next.classList.contains('p-frozen-column')) {
|
|
5186
5190
|
right = DomHandler.getOuterWidth(next) + parseFloat(next.style.right || 0);
|
|
5187
5191
|
}
|
|
5188
5192
|
styleObject.right = right + 'px';
|
|
5189
5193
|
} else {
|
|
5190
5194
|
var left = 0;
|
|
5191
|
-
var prev = elementRef.current.previousElementSibling;
|
|
5192
|
-
|
|
5193
|
-
|
|
5195
|
+
var prev = elementRef.current && elementRef.current.previousElementSibling;
|
|
5196
|
+
while (prev) {
|
|
5197
|
+
if (prev && prev.classList.contains('p-frozen-column')) {
|
|
5198
|
+
left = DomHandler.getOuterWidth(prev) + parseFloat(prev.style.left || 0);
|
|
5199
|
+
elementRef.current.style.left = left + 'px';
|
|
5200
|
+
break;
|
|
5201
|
+
}
|
|
5202
|
+
prev = prev.previousElementSibling;
|
|
5194
5203
|
}
|
|
5195
5204
|
styleObject.left = left + 'px';
|
|
5196
5205
|
}
|
|
@@ -6041,6 +6050,20 @@ var DataTable = /*#__PURE__*/React.forwardRef(function (inProps, ref) {
|
|
|
6041
6050
|
multiSortMeta: restoredState.multiSortMeta
|
|
6042
6051
|
}));
|
|
6043
6052
|
} else {
|
|
6053
|
+
var lastMeta = restoredState.multiSortMeta[restoredState.multiSortMeta.length - 1];
|
|
6054
|
+
var field = lastMeta && lastMeta.field ? lastMeta.field : null;
|
|
6055
|
+
if (field) {
|
|
6056
|
+
var sortColumn = findColumnByKey(getColumns(), field);
|
|
6057
|
+
if (sortColumn) {
|
|
6058
|
+
var sortFunction = getColumnProp(sortColumn, 'sortFunction');
|
|
6059
|
+
var sortable = getColumnProp(sortColumn, 'sortable');
|
|
6060
|
+
if (sortFunction && sortable) {
|
|
6061
|
+
columnSortFunction.current = sortFunction;
|
|
6062
|
+
columnSortable.current = sortable;
|
|
6063
|
+
columnField.current = field;
|
|
6064
|
+
}
|
|
6065
|
+
}
|
|
6066
|
+
}
|
|
6044
6067
|
setMultiSortMetaState(restoredState.multiSortMeta);
|
|
6045
6068
|
}
|
|
6046
6069
|
}
|
|
@@ -7156,6 +7179,9 @@ var DataTable = /*#__PURE__*/React.forwardRef(function (inProps, ref) {
|
|
|
7156
7179
|
},
|
|
7157
7180
|
getVirtualScroller: function getVirtualScroller() {
|
|
7158
7181
|
return virtualScrollerRef.current;
|
|
7182
|
+
},
|
|
7183
|
+
getProcessedData: function getProcessedData() {
|
|
7184
|
+
return processedData();
|
|
7159
7185
|
}
|
|
7160
7186
|
};
|
|
7161
7187
|
});
|