Dashboards & Visualizations

How token namespaces and initialize tokens help with executing searches in html dashboard?

Mubarish
Path Finder

Hi
I have converted the simple xml dashboard (with form inputs and panel) to html where we can find the code such as

// Create token namespaces
    var urlTokenModel = new UrlTokenModel();
    mvc.Components.registerInstance('url', urlTokenModel);
    var defaultTokenModel = mvc.Components.getInstance('default', {create: true});
    var submittedTokenModel = mvc.Components.getInstance('submitted', {create: true});

    urlTokenModel.on('url:navigate', function() {
        defaultTokenModel.set(urlTokenModel.toJSON());
        if (!_.isEmpty(urlTokenModel.toJSON()) && !_.all(urlTokenModel.toJSON(), _.isUndefined)) {
            submitTokens();
        } else {
            submittedTokenModel.clear();
        }
    });

    // Initialize tokens
    defaultTokenModel.set(urlTokenModel.toJSON());

    var defaultUpdate = {};

    var submitTokens = function() {
        submitTokensSoon(pageLoading);
    };

    var submitTokensSoon = _.debounce(function(replaceState) {
        submittedTokenModel.set(defaultTokenModel.toJSON());
        urlTokenModel.saveOnlyWithPrefix('form\\.', defaultTokenModel.toJSON(), {
            replaceState: replaceState
        });
    });

I have searched in Splunk documentation for the detailed description of each statement, but I cant find any information. Can someone provide a detailed description of each statement and how it helps in executing searches with token values inputs?

Tags (3)
0 Karma

apruneda_splunk
Splunk Employee
Splunk Employee

The documentation mostly covers the way you can use tokens in the Web Framework, but there are a few topics that address how converted HTML dashboards use tokens, and how that token model works:

Walkthrough of the HTML Dashboard Code (TOKENS section)

Token Models

.conf21 Now Fully Virtual!
Register for FREE Today!

We've made .conf21 totally virtual and totally FREE! Our completely online experience will run from 10/19 through 10/20 with some additional events, too!