@awsui/components-react
Version:
On July 19th, 2022, we launched [Cloudscape Design System](https://cloudscape.design). Cloudscape is an evolution of AWS-UI. It consists of user interface guidelines, front-end components, design resources, and development tools for building intuitive, en
28 lines • 1.22 kB
JavaScript
// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
// SPDX-License-Identifier: Apache-2.0
import { findUpUntil } from '@awsui/component-toolkit/dom';
import { fireCancelableEvent, fireNonCancelableEvent } from '../internal/events/index';
import styles from './styles.css.js';
export function useRowEvents({ onRowClick, onRowContextMenu }) {
const onRowClickHandler = (rowIndex, item, event) => {
const tableCell = findUpUntil(event.target, element => element.tagName.toLowerCase() === 'td');
if (!tableCell || !tableCell.classList.contains(styles['selection-control'])) {
const details = { rowIndex, item };
fireNonCancelableEvent(onRowClick, details);
}
};
const onRowContextMenuHandler = (rowIndex, item, event) => {
const details = {
rowIndex,
item,
clientX: event.clientX,
clientY: event.clientY,
};
fireCancelableEvent(onRowContextMenu, details, event);
};
return {
onRowClickHandler: onRowClick && onRowClickHandler,
onRowContextMenuHandler: onRowContextMenu && onRowContextMenuHandler,
};
}
//# sourceMappingURL=use-row-events.js.map