import DraggableList from 'react-draggable-list'; import { DataRow } from '../api/DataRow'; import { Post } from './display/Post'; import style from './DraggablePostsList.module.scss'; import { GripVertical } from './display/GripVertical'; type SetRowsFunction = (data: DataRow[]) => void; function PostDraggableListItem({ item, dragHandleProps, rows, setRows }: { item: DataRow, dragHandleProps: object, setRows: SetRowsFunction, rows: DataRow[] }) { function onChange() { rows.splice(rows.indexOf(item), 1); setRows([ ...rows ]); } return (
) } export type DraggablePostsList = { rows: DataRow[], setRows: SetRowsFunction }; export function DraggablePostsList(props: DraggablePostsList) { return ( PostDraggableListItem({ ...p, setRows: props.setRows, rows: props.rows })} list={props.rows} onMoveEnd={rows => props.setRows([ ...rows ])} /> ); }