UNPKG

@revolist/revogrid

Version:

Virtual reactive data grid spreadsheet component - RevoGrid.

53 lines (52 loc) 1.38 kB
/*! * Built by Revolist OU ❤️ */ import { ThemeCompact } from "./theme.compact"; import { ThemeDefault } from "./theme.default"; import { ThemeMaterial } from "./theme.material"; export const DEFAULT_THEME = 'default'; export const allowedThemes = [ DEFAULT_THEME, 'material', 'compact', 'darkMaterial', 'darkCompact', ]; export default class ThemeService { get theme() { return this.currentTheme; } get rowSize() { return this.customRowSize || this.currentTheme.defaultRowSize; } set rowSize(size) { this.customRowSize = size; } constructor(cfg) { this.customRowSize = 0; this.customRowSize = cfg.rowSize; this.register('default'); } register(theme) { const parsedTheme = getTheme(theme); switch (parsedTheme) { case 'material': case 'darkMaterial': this.currentTheme = new ThemeMaterial(); break; case 'compact': case 'darkCompact': this.currentTheme = new ThemeCompact(); break; default: this.currentTheme = new ThemeDefault(); break; } } } export function getTheme(theme) { if (theme && allowedThemes.indexOf(theme) > -1) { return theme; } return DEFAULT_THEME; }