UNPKG

piral-dashboard

Version:

Plugin for creating a centralized dashboard in Piral.

22 lines 1.12 kB
import * as React from 'react'; import { useGlobalState } from 'piral-core'; import { PiralDashboardContainer, PiralDashboardTile } from './components'; /** * The dashboard component. Integrate this as a page or in a component * where dashboard information (tiles) should be shown. */ export const Dashboard = (props) => { const tiles = useGlobalState((s) => s.registry.tiles); const { filter = () => true } = props; const children = Object.keys(tiles) .filter((tile) => filter(tiles[tile])) .map((tile) => { const { component: Component, preferences } = tiles[tile]; const { initialColumns = 1, initialRows = 1, resizable = false } = preferences; return (React.createElement(PiralDashboardTile, { key: tile, columns: initialColumns, rows: initialRows, resizable: resizable, meta: preferences }, React.createElement(Component, { columns: initialColumns, rows: initialRows }))); }); return React.createElement(PiralDashboardContainer, { ...props, children: children }); }; Dashboard.displayName = 'Dashboard'; //# sourceMappingURL=Dashboard.js.map