I am following [this example][1] to use token forwarding in my HTML dashboard. I need to do some fancy things with the inputs selected to generate the correct search. The token forwarding is working nicely, but it submits the search every time a token changes. I only want to submit the search when the user presses the submit button. Is this possible?
The majority of the code is code generated when I did "convert to HTML". These are the relevant changes from that generated code:
var search1 = new SearchManager({
"id": "search1",
"status_buckets": 0,
"earliest_time":"$timer_tok.earliest$",
"latest_time": "$timer_tok.latest$",
"cancelOnUnload": true,
"search": "$searchQuery$",
"earliest_time": "0",
"app": utils.getCurrentApp(),
"auto_cancel": 90,
"preview": true,
"runWhenTimeIsUndefined": false
}, {tokens: true});
// Code to generate inputs and table go here. I have multiple
// inputs that are either dropdown or text box. I pass them all
//to the token forwarder and return a search string. This is a simplified
// method call:
new TokenForwarder(['$where_tok$', '$name_tok$', '$host_tok$'], '$searchQuery$', function(where_tok, name_tok, host_tok) {
return "index=foo +" name_tok + " " + where_tok + " | stats count by " + host_tok
});
var submit = new SubmitButton({
id: 'submit', el: $('#search_btn') }, {tokens:true}).render();
submit.on("submit", function() {
submitTokens();
});
//The example adds this function. I commented it out thinking it would
// not run the search just because the tokens are set. It had no effect
// that I could see.
//defaultTokenModel.on("change.searchQuery", function () {
// search1.startSearch();
//});
submitTokens();
//DASHBOARD READY ...
[1]: http://dev.splunk.com/view/webframework-codeexamples/SP-CAAAE5W
↧