Dashboards & Visualizations

How to add autoRun=false, and only run a search when I click on a submit button in an HTML dashboard?

sfatnass
Contributor

i need to load my request only when i use a submit button.
so when i change input fields, the search should only run if i click the submit button.

but i don't know what i should to add on my HTML dashboard.

i can't use an XML dashboard and convert it because the dashboard exists and contains many elements.

1 Solution

sundareshr
Legend

Each control should have a onchange event. Try removing those. It is typically right after the control definition. And do a submitTokens()

var submit = new SubmitButton({
....
}, {tokens: true}).render();

submit.on("submit", function() {
   submitTokens();
});

View solution in original post

0 Karma

sundareshr
Legend

Each control should have a onchange event. Try removing those. It is typically right after the control definition. And do a submitTokens()

var submit = new SubmitButton({
....
}, {tokens: true}).render();

submit.on("submit", function() {
   submitTokens();
});
0 Karma

_jgpm_
Communicator

I have similar submitTokens but in my auto-generated HTML source I found this near the bottom of the file:
//
// VIEWS: FORM INPUTS
//

In here is how I changed it. I'm not sure what some of the inputs are as my dashboard has 5 inputs (4 dropdowns and 1 submit button) but the HTML code has 6 inputs. Here is an example of each type:

var input1 = new HtmlElement({
            "id": "input1",
            "useTokens": true,
            "el": $('#input1')
        }, {tokens: true, tokenNamespace: "submitted"}).render();

        DashboardController.addReadyDep(input1.contentLoaded());

        input1.on("change", function(newValue) {
            FormUtils.handleValueChange(input1);
        });

var input3 = new DropdownInput({
            "id": "input3",
            "choices": [],
            "selectFirstChoice": false,
            **"searchWhenChanged": false,**
            "labelField": "values(tag)",
            "showClearButton": true,
            "valueField": "values(tag)",
            "value": "$form.tag$",
            "managerid": "search8",
            "el": $('#input3')
        }, {tokens: true}).render();

        input3.on("change", function(newValue) {
            FormUtils.handleValueChange(input3);
        });

I found that if you have multiple inputs and if any of them have searchWhenChanged=true, then the whole thing kicks off.

0 Karma

sfatnass
Contributor

currently i have only submitTokens() like your description.

but the request start on loading page not after submit action.

0 Karma

sundareshr
Legend

Please share your dashboard code.

0 Karma
Get Updates on the Splunk Community!

Extending Observability Content to Splunk Cloud

Watch Now!   In this Extending Observability Content to Splunk Cloud Tech Talk, you'll see how to leverage ...

More Control Over Your Monitoring Costs with Archived Metrics!

What if there was a way you could keep all the metrics data you need while saving on storage costs?This is now ...

New in Observability Cloud - Explicit Bucket Histograms

Splunk introduces native support for histograms as a metric data type within Observability Cloud with Explicit ...