Slicers
Add, move, resize, and manage slicers for table filtering
Basic setup
import { useState } from "react";
import {
CanvasGrid,
Slicer,
SlicerComponent,
SlicerComponentProps,
} from "@rowsncolumns/spreadsheet";
import { useSpreadsheetState } from "@rowsncolumns/spreadsheet-state";
const Example = () => {
const [slicers, onChangeSlicers] = useState<Slicer[]>([
{
slicerId: "slicer-1",
position: {
sheetId: 1,
overlayPosition: {
anchorCell: { rowIndex: 2, columnIndex: 12 },
widthPixels: 150,
heightPixels: 200,
offsetXPixels: 10,
offsetYPixels: 10,
},
},
spec: {
type: "table",
tableIds: [1],
columnIndex: 1,
},
},
]);
const {
onMoveSlicer,
onResizeSlicer,
onDeleteSlicer,
onUpdateSlicer,
onCreateSlicer,
onRequestEditSlicer,
} = useSpreadsheetState({
slicers,
onChangeSlicers,
});
return (
<CanvasGrid
slicers={slicers}
onMoveSlicer={onMoveSlicer}
onResizeSlicer={onResizeSlicer}
onDeleteSlicer={onDeleteSlicer}
onRequestEditSlicer={onRequestEditSlicer}
getSlicerComponent={(props: SlicerComponentProps) => {
return <SlicerComponent {...props} />;
}}
/>
);
};Programmatically create a slicer
Available slicer handlers from useSpreadsheetState
useSpreadsheetStateNotes
Last updated