Charts
Add visually stunning charts using our charts framework.
Installation
yarn add @rowsncolumns/chartsnpm install @rowsncolumns/chartsAdding chart component and editor
import { ButtonInsertChart, CanvasGrid } from "@rowsncolumns/spreadsheet"
import { useSpreadsheetState } from "@rowsncolumns/spreadsheet-state"
import { useChart, ChartComponent, ChartEditorDialog, ChartEditor } from "@rowsncolumns/chart"
const App = () => {
// useSpreadsheetState
const {
activeSheetId,
activeCell,
selections,
rowCount,
columnCount,
getSheetId,
getSheetName,
getSeriesValuesFromRange,
getDomainValuesFromRange,
onRequestCalculate
} = useSpreadsheetState({})
// Charts module
const {
onRequestEditChart,
onDeleteChart,
onMoveChart,
onResizeChart,
onUpdateChart,
onCreateChart,
selectedChart,
} = useCharts({
createHistory,
onChangeCharts,
});
return (
<>
<ButtonInsertChart onClick={() => onCreateChart(activeSheetId, activeCell, selections)} />
<CanvasGrid
getChartComponent={(props) => (
<ChartComponent
{...props}
isDarkMode={isDarkMode}
getSeriesValuesFromRange={getSeriesValuesFromRange}
getDomainValuesFromRange={getDomainValuesFromRange}
onRequestEdit={onRequestEditChart}
onRequestCalculate={onRequestCalculate}
/>
)}
>
<ChartEditorDialog>
<ChartEditor
sheetId={activeSheetId}
chart={selectedChart}
onSubmit={onUpdateChart}
rowCount={rowCount}
columnCount={columnCount}
/>
</ChartEditorDialog>
</>
)
}Lazy loading charts
Last updated