Dashboards & Visualizations

How can I reference a search job in JavaScript?

Communicator

Im doing some custom javascript magic in a dashboard were I have a need for re-running a search

<search id="rerun_me_after_button_is_clicked">
<query> ... </query>
</search>

How can I rerun this in my javascript through referring to the id? (or some other identifier)?

my idea is something like:

var sm = new SearchManager({
  id: "rerun_me_after_button_is_clicked",
  earliest_time: "-24h@h",
  latest_time: "now",
  preview: true,
  cache: false
  }

sm.StartSearch()

Not sure if this is how it works though?

Labels (1)
0 Karma
1 Solution

SplunkTrust
SplunkTrust

Hi @christoffertoft,

Can you please try by adding below line to execute search ?

mvc.Components.get("rerun_me_after_button_is_clicked").startSearch();

Your javascript would be like this

    require([
        'underscore',
        'jquery',
        'splunkjs/mvc',     
        'splunkjs/mvc/simplexml/ready!'], function (_, $, mvc) {
        ( 'splunkjs/mvc/simplexml/ready!',  )

        .
        .
        .
        .
mvc.Components.get("rerun_me_after_button_is_clicked").startSearch();
    .
        .
        .
        .

});

Thanks

View solution in original post

Super Champion

Try this:

require([
      'underscore',
      'jquery',
      'splunkjs/mvc',
      'splunkjs/mvc/tableview',
      'splunkjs/mvc/simplexml/ready!'
  ], function(_, $, mvc, TableView) {

  $(document).ready(function () {
         $("#mybutton").on("click", function (e) {
            var mySearch = mvc.Components.get("rerun_me_after_button_is_clicked");
            mySearch.startSearch();
         });
     });

  });

Communicator

Thanks, that did the trick! I can't award you both with the answer unfortunately, but you get a point at least! 🙂

0 Karma

SplunkTrust
SplunkTrust

Hi @christoffertoft,

Can you please try by adding below line to execute search ?

mvc.Components.get("rerun_me_after_button_is_clicked").startSearch();

Your javascript would be like this

    require([
        'underscore',
        'jquery',
        'splunkjs/mvc',     
        'splunkjs/mvc/simplexml/ready!'], function (_, $, mvc) {
        ( 'splunkjs/mvc/simplexml/ready!',  )

        .
        .
        .
        .
mvc.Components.get("rerun_me_after_button_is_clicked").startSearch();
    .
        .
        .
        .

});

Thanks

View solution in original post

Engager

that don't work for me i have a buton like this (in the code source) :

id="button_update" class="btn" data-set-token="run_check" data-value="true" style="background-color:#68E674;"

and the js : equire([
'underscore',
'jquery',
'splunkjs/mvc',
'splunkjs/mvc/tableview',
'splunkjs/mvc/simplexml/ready!'
], function(_, $, mvc, TableView) {

$(document).ready(function () {
$("button_update").on("click", function (e) {
var mySearch = mvc.Components.get("toto");
mySearch.startSearch();
});
});

});
But the search never start any idea ?

0 Karma

SplunkTrust
SplunkTrust

If the accepted answer doesn't work for you then you should post a new question describing your particular situation.

---
If this reply helps you, an upvote would be appreciated.
0 Karma

Communicator

Thank you! That helped 🙂

0 Karma