diff --git a/__tests__/demo/demo-components/index.js b/__tests__/demo/demo-components/index.js index e7bedb1d..6904e285 100644 --- a/__tests__/demo/demo-components/index.js +++ b/__tests__/demo/demo-components/index.js @@ -547,12 +547,18 @@ export function EventTargetErrorOnRowClick(props) { tableRef={tableRef} columns={cols} data={datas} - onSelectionChange={onRowSelectionChanged} - onRowClick={onRowClicked} + // onSelectionChange={onRowSelectionChanged} + // onRowClick={onRowClicked} components={{ - MTableBodyRow: (props, p2) => { - console.log({ props, p2 }); - return ; + Row: (props) => { + return ( + + ); } }} options={{ diff --git a/src/components/m-table-body-row.js b/src/components/m-table-body-row.js index 3e4530e7..7d5eafa5 100644 --- a/src/components/m-table-body-row.js +++ b/src/components/m-table-body-row.js @@ -56,8 +56,7 @@ export default function MTableBodyRow(props) { const onRowClickListener = useDoubleClick( onRowClick ? (e) => onClick(e, onRowClick) : undefined, - onDoubleRowClick ? (e) => onClick(e, onDoubleRowClick) : undefined, - persistEvents + onDoubleRowClick ? (e) => onClick(e, onDoubleRowClick) : undefined ); const getRenderColumns = () => { @@ -445,8 +444,13 @@ export default function MTableBodyRow(props) { { + if (persistEvents) { + event.persist(); + } + onRowClickListener(event); + }} + hover={onRowClick !== null || onDoubleRowClick !== null} style={getStyle(props.index, props.level)} > {renderColumns} diff --git a/src/utils/hooks/useDoubleClick.js b/src/utils/hooks/useDoubleClick.js index 28deea74..beacf870 100644 --- a/src/utils/hooks/useDoubleClick.js +++ b/src/utils/hooks/useDoubleClick.js @@ -1,6 +1,6 @@ import React from 'react'; -function useDoubleClick(singleCallback, dbCallback, persistEvents) { +function useDoubleClick(singleCallback, dbCallback) { const countRef = React.useRef(0); /** Refs for the timer **/ const timerRef = React.useRef(null); @@ -12,9 +12,6 @@ function useDoubleClick(singleCallback, dbCallback, persistEvents) { inputSingleCallbackRef.current = singleCallback; }); const onClick = React.useCallback((e) => { - if (persistEvents) { - e.persist(); - } const isDoubleClick = countRef.current + 1 === 2; const timerIsPresent = timerRef.current; if (timerIsPresent && isDoubleClick) {