ActiveReports 19 .NET Edition
Developers / Create Designer and Viewer Applications / Themes in WebDesigner and Js Viewer Components
In This Topic
    Themes in WebDesigner and Js Viewer Components
    In This Topic

    The creation of custom themes and applying them on Web Designer and Js Viewer is now simpler. 

    The modules '@mescius/activereportsnet-designer' and '@mescius/activereportsnet-viewer' provide 'ColorTheme' and 'ColorThemes' objects, which can be used in both designer and viewer components to customize their appearance. Using the respective APIs, you can modify the color scheme of all interface elements within the Designer and Viewer to align with specific use case requirements. Let's explore some quick use cases and update the Script.js file in our WebSamples for WebDesigner and Js Viewer.

    ESM
    Copy Code
    import { createViewer, ColorTheme, ColorThemes } from '@mescius/activereportsnet-viewer';
    import { arWebDesigner} from '@mescius/activereportsnet-designer';
    

    Create Custom Theme

    Use the following code to create a custom theme:

    Copy Code
    var theme = {
        name: 'testTheme',
        backgroundMain: '#f0f0f0',
        backgroundPanels: '#ffffff',
        primary: 'blue',
        secondary: 'green',
        neutral: 'grey',
        error: 'red',
        warning: 'yellow',
        fontFamily: 'Arial'
    };
    

    Create Custom Theme based on Built-in Theme

    Use the following code to create a custom theme based on built-in theme:

    Copy Code
    var theme = {
        ...ActiveReports.ColorThemes.default
        name: 'testTheme',
        primary: 'blue',
        secondary: 'green'
    });
    

    Themes in WebDesigner

    Apply Theme using the Application's UI

    Use Theme Picker to select from the pre-defined themes in the application.

    Theme Picker
    Manage Themes using WebDesigner API

    Use the initialTheme API to apply an initial or default theme to the WebDesigner component.

    Apply a Custom Theme

    The following code sets a custom theme as the initial theme of the WebDesigner.

    Copy Code
    GrapeCity.ActiveReports.Designer.create('#ar-web-designer', {
        themes: {
            initialTheme: 'testTheme',
            themeSelector: {
                enabled: false,
                availableThemes: ['Default', theme]
            }
        }
    });
    

    Apply a Built-in Theme

    The following code sets a built-in theme as the initial theme of the WebDesigner. Here are the built-in themes you can choose from: default, defaultDark, darkOled, highContrast, and highContrastDark.

    Copy Code
    GrapeCity.ActiveReports.Designer.create('#ar-web-designer', {
        themes: {
            initialTheme: 'defaultDark',
            themeSelector: { enabled: false }
        },
    });
    

     

    Themes in Js Viewer

    Use the initialTheme API to apply an initial or default theme to the Js Viewer component.

    Apply Theme using the Application's UI

    Use Theme Picker to select from the pre-defined themes in the application.

    Theme Picker in Js Viewer

    Apply a Custom Theme

    The following code sets a custom theme as the initial theme of the Js Viewer.

    Copy Code
    GrapeCity.ActiveReports.JSViewer.create({
        element: '#root',
        themes: {
            initialTheme: 'testTheme',
            themeSelector: {
                enabled: false,
                availableThemes: ['Default', theme]
            }
        }
    });
    

     

    Apply Built-in Theme

    The following code sets a built-in theme as the initial theme of the Js Viewer. Here are the built-in themes you can choose from: activeReports, activeReportsDark, darkOled, default, defaultDark, highContrast, and highContrastDark.

    Copy Code
    GrapeCity.ActiveReports.JSViewer.create({
        element: '#root',
        themes: {
            initialTheme: 'defaultDark',
            themeSelector: { enabled: false }
        },
    });
    
    See Also