UNPKG

piral-dashboard

Version:

Plugin for creating a centralized dashboard in Piral.

47 lines 1.26 kB
import { DefaultTile, DefaultContainer } from './default'; import { Dashboard } from './Dashboard'; export function getPreferences(defaultPreferences, customPreferences = {}) { return { ...defaultPreferences, ...customPreferences, }; } export function getTiles(items, defaultPreferences) { const tiles = {}; let i = 0; for (const { component, preferences } of items) { tiles[`global-${i++}`] = { pilet: undefined, component, preferences: getPreferences(defaultPreferences, preferences), }; } return tiles; } export function withTiles(tiles) { return (state) => ({ ...state, components: { DashboardTile: DefaultTile, DashboardContainer: DefaultContainer, ...state.components, }, registry: { ...state.registry, tiles, }, }); } export function withRoutes(routes) { return (state) => ({ ...state, routes: { ...state.routes, ...routes.reduce((newRoutes, route) => { newRoutes[route] = Dashboard; return newRoutes; }, {}), }, }); } //# sourceMappingURL=helpers.js.map