@mui/x-data-grid
Version:
The Community plan edition of the MUI X Data Grid components.
21 lines (18 loc) • 1.06 kB
JavaScript
import { createRootSelector, createSelector } from "../../../utils/createSelector.js";
export const gridRowReorderStateSelector = createRootSelector(state => state.rowReorder);
export const gridIsRowDragActiveSelector = createSelector(gridRowReorderStateSelector, rowReorder => rowReorder?.isActive ?? false);
// Selector for the entire drop target state
export const gridRowDropTargetSelector = createSelector(gridRowReorderStateSelector, rowReorder => rowReorder?.dropTarget ?? {
rowId: null,
position: null
});
export const gridRowDropTargetRowIdSelector = createSelector(gridRowDropTargetSelector, dropTarget => dropTarget.rowId ?? null);
// Selector for a specific row's drop position
export const gridRowDropPositionSelector = createSelector(gridRowDropTargetSelector, (dropTarget, rowId) => {
if (dropTarget.rowId === rowId) {
return dropTarget.position;
}
return null;
});
// Selector for the dragged row ID
export const gridDraggedRowIdSelector = createSelector(gridRowReorderStateSelector, rowReorder => rowReorder?.draggedRowId ?? null);