Dashboards & Visualizations

Why is my multiselect dynamic delimiter with token not updating on token element change?

altink
Builder

Dear All,

I have put a token in place of a multi-select's delimiter in order to realize an AND/OR switch for the options.

     <input type="multiselect" token="field2">
      <label>Extra Options</label>
      <default>ALL</default>
      <choice value="*">ALL</choice>
      <choice value="SEO_SEC=1">Sec</choice>
      <choice value="SEO_ACC=1">Acc</choice>
      <choice value="SEO_ORA=1">Ora</choice>
      <delimiter> $field3$ </delimiter>

    </input>
    <input type="dropdown" token="field3" searchWhenChanged="true">
      <label>field3</label>
      <choice value="OR">Or</choice>
      <choice value="AND">And</choice>
      <default>OR</default>
     </input>
.......................................................
 index=* .... | search ...   ($field2$)

The problem I have is:
that only way to have the change of the dropdown field3 effective, is to change something in the multiselect field2!

How can I have the change of field3 set the right delimiter on field2 and run the search?

best regards
Altin

ps. Simple XML - best

0 Karma

kamlesh_vaghela
SplunkTrust
SplunkTrust

@altink

I have used javascript for this. Can you please try this?

<form script="conditional_multiselect.js">
  <label>Conditional Multiselect</label>
  <fieldset submitButton="false">
   <input type="multiselect" token="field2" id="field2_id" >
       <label>Extra Options</label>
       <default>ALL</default>
       <choice value="*">ALL</choice>
       <choice value="SEO_SEC=1">Sec</choice>
       <choice value="SEO_ACC=1">Acc</choice>
       <choice value="SEO_ORA=1">Ora</choice>
       <delimiter> $field3$ </delimiter>
     </input>
     <input type="dropdown" id="field3_id" token="field3" searchWhenChanged="true">
       <label>field3</label>
       <choice value="OR">Or</choice>
       <choice value="AND">And</choice>
       <default>OR</default>
      </input>
  </fieldset>
  <row>
    <panel>
      <html>
        $field2$
      </html>
    </panel>
  </row>
</form>

conditional_multiselect.js

require(["jquery", "splunkjs/mvc", "splunkjs/mvc/simplexml/ready!"], function($, mvc) {
   var field3 = mvc.Components.get("field3_id");
  //  headerView.render();
  field3.on("change",function(){
    var field2 = mvc.Components.get("field2_id");
    field2.render();     
  })
  console.log("Hiwwwww",field3);
});

Thanks

0 Karma

altink
Builder

Dear @kamlesh_vaghela

thank you very much for your reply, but I forgot to mention, that I need it done by Simple XML only and no extra things. will update on body

thank you very much again.

best regards,
Altin

0 Karma
Get Updates on the Splunk Community!

Index This | I am a number, but when you add ‘G’ to me, I go away. What number am I?

March 2024 Edition Hayyy Splunk Education Enthusiasts and the Eternally Curious!  We’re back with another ...

What’s New in Splunk App for PCI Compliance 5.3.1?

The Splunk App for PCI Compliance allows customers to extend the power of their existing Splunk solution with ...

Extending Observability Content to Splunk Cloud

Register to join us !   In this Extending Observability Content to Splunk Cloud Tech Talk, you'll see how to ...