# Customizing Dashboard UI Components

Apply any existing theme to the embedded UI components (widgets, filters) using the desired theme's oid.


Please see UI Customization & Themes (opens new window) feature documentation for more information.

# Availability

UI Customization is only available in SisenseJS for Linux L2021.3 and higher.

# Prerequisites & Limitations

UI Customization is only available for use with SisenseJS.

# Apply Themes to Embedded Widgets & Filters

  1. Use the
    GET /api/v1/themes
    REST API endpoint to get theoid.
  2. Use the oid field from the response as a parameter for the app.setTheme(themeOid) method of the SisenseApp class, which will apply the theme to all UI elements rendered with the same instance of SisenseJS on the page.
Sisense.connect('https://example.com', false).then((app) => {
    // Set a theme
    app.setTheme('605b633dc24bb7001ae42fbb').then(function() {
        console.log('theme has been applied');
    });
});

You can apply a theme before the widgets are rendered (before the first call to dashboard.refresh()) to make widgets render with the desired theme, or apply a new theme at any point after render to modify the appearance of the existing rendered widgets without having to reload the page.

# Clear Theme from Embedded Widgets & Filters

You can also clear the set theme using app.clearTheme() which will revert all rendered UI elements to the user's default theme.