Dashboards & Visualizations

How to open a panel from a form submit button

proylea
Contributor

I have a form that has a submit button
I would like to open a panel with the form inputs after hitting the submit button.
I thought is would be as simple as setting a token for the panel with $submitted:$
But for some reason this does not work.
Here is the code with $submitted:StarId$ being the token I am trying to use

<form script="table_icons_rangemap.js,tokenlinks.js" stylesheet="table_decorations.css,no_resize.css">
  <label>TASMAN eTeam Dashboard</label>
  <description>TASMAN eTeam Dashboard</description>
  <searchTemplate>
    <![CDATA[
    index=starx* (sourcetype=enable-integration OR sourcetype=cavi) NOT (WARN) (clOrdId="*" OR priceId="*" OR ExecID="*" OR execID="*" OR client_order_id="*" OR starxchange_id="*" OR "11=" OR orderId="*" OR processing="*") | rename execID as ExecID
    | rex  field=_raw "11=(?<clOrdId>\w{3}\d{6}-\d{10})"
      | rex field=_raw "11=(?<clOrdId>\d{8})"
        | eval clOrdId=if(isnull(clOrdId),if(isnotnull(orderId),orderId,clOrdId),clOrdId)
        | `extractMurex`
        | rex field=_raw "98=(?<secondaryOrderId>\w{3}\d{6}-\d{10}-\w{1}\d{1})"
          | search NOT (secondaryOrderId="*-m*" OR secondaryOrderId="*-s2*")
          | fillnull value="" clOrdId
          | eval clOrdId=if(isnotnull(murexId),null(),clOrdId) 
          | eval clOrdId=if(isnull(clOrdId),if(isnull(ExecID),if(isnotnull(orderId),orderId,clOrdId),null()),clOrdId)
          | eval orderId=if(isnotnull(clOrdId),if(isnotnull(secondaryOrderId),null(),orderId),orderId)
          | eval timeStamp=_time
          | transaction secondaryOrderId,orderId
          | fillnull value="" price,symbol,legalEntityName,legalEntityId,blotterEntryType,accountId,bookedBy,productType
          | lookup starx-legalEntities.csv legalEntityWid as legalEntityId OUTPUT legalEntityName
          | search (clOrdId="$StarId$" AND clOrdId="$Region$*" NOT secondaryOrderId="*-m*")
          | search price="$price$" symbol="$ccypair$" symbol="*$ccypairFree$*" legalEntityName="*$legalEntityName$*" legalEntityId="*$legalEntityId$*" blotterEntryType="*$blotterEntryType$*" accountId="*$account$*" bookedBy="*$bookedBy$*" productType="$productType$".
          | `extractStatus`
          | search status="$Status$"
          | `formatNumber(orderQty)`
          | eval latest=mvindex(timeStamp,-1) 
          | eval latest=latest+3600 
          | eval earliest=mvindex(timeStamp,0)
          | eval earliest=earliest-60
          | table clOrdId,blotterEntryType, legalEntityName, legalEntityId, accountId, symbol, productType, side,orderQty, currency, murexId, price, bookedBy, transactTime, settlementDate, status, duration, eventcount,earliest,latest
          | `renameFields`
          | `timeConvert(transactTime)`
          ]]>
  </searchTemplate>
  <fieldset submitButton="true" autoRun="false">
    <input type="dropdown" token="Region">
      <label>Region</label>
      <default>*</default>
      <choice value="*">Any</choice>
      <choice value="LON">London</choice>
      <choice value="SYD">Sydney</choice>
      <choice value="NYK">New York</choice>
    </input>
    <input type="text" token="StarId">
      <label>Star ID</label>
      <default>*</default>
    </input>
    <input type="dropdown" token="blotterEntryType">
      <label>Trade Type</label>
      <default>*</default>
      <choice value="*">Any</choice>
      <populatingSearch fieldForValue="blotterEntryType" fieldForLabel="blotterEntryType">index=starx sourcetype=enable-integration INFO blotterEntryType earliest=-4d | dedup blotterEntryType | sort by blotterEntryType | table blotterEntryType</populatingSearch>
    </input>
    <input type="text" token="legalEntityName">
      <label>Legal Entity</label>
      <default>*</default>
    </input>
    <input type="text" token="legalEntityId">
      <label>Legal Entity WID</label>
      <default>*</default>
    </input>
    <input type="text" token="account">
      <label>Account WID</label>
      <default>*</default>
    </input>
    <input type="dropdown" token="ccypair">
      <label>Currency Pair</label>
      <default>*</default>
      <choice value="*">Any</choice>
      <populatingSearch earliest="-4d@d" latest="now" fieldForLabel="Symbols" fieldForValue="currencypair">index=starx sourcetype=enable-integration  | rex field=_raw "55=(?P<currencypair>\w+/\w+)"  | dedup currencypair | sort currencypair | table currencypair</populatingSearch>
    </input>
    <input type="text" token="ccypairFree">
      <label>Currency Pair (freeform)</label>
      <default>*</default>
    </input>
    <input type="dropdown" token="productType">
      <label>Product Type</label>
      <default>*</default>
      <choice value="*">Any</choice>
      <populatingSearch fieldForLabel="Product Type" fieldForValue="productType">index=starx sourcetype=enable-integration INFO earliest=-4d productType | dedup productType| table productType</populatingSearch>
    </input>
    <input type="text" token="price">
      <label>All-in Rate</label>
      <default>*</default>
    </input>
    <input type="text" token="bookedBy">
      <label>Booked By</label>
      <default>*</default>
    </input>
    <input type="dropdown" token="Status">
      <default>*</default>
      <choice value="*">Any</choice>
      <populatingSearch earliest="-4d" latest="now" fieldForLabel="status" fieldForValue="status">index=starx sourcetype=enable-integration INFO earliest=-4d | `extractStatus` | dedup status | table status</populatingSearch>
    </input>
    <input type="time">
      <label>Search Period</label>
      <default>
        <earliestTime>@d</earliestTime>
        <latestTime>now</latestTime>
      </default>
    </input>
  </fieldset>
  <row>
    <panel depends="$submitted:StarId$">
      <table>
        <title>Trade detail</title>
        <option name="showPager">true</option>
        <option name="count">10</option>
        <drilldown target="_trade">
          <link>
            <![CDATA[
                  /app/eproduct/order_detail?earliest=$row.earliest$&latest=$row.latest$&clOrdId=$row.StarID$
                  ]]>
          </link>
        </drilldown>
      </table>
      <html>
        <button class="btn" data-unset-token="submitted:StarId">Close Trade Detail</button>
    </html>
    </panel>
  </row>
Tags (4)
0 Karma
1 Solution

ngatchasandra
Builder

Hi proylea,

You can control this by integrating source code like follow:

<input type="dropdown" token="submitted:StarId" searchWhenChanged="true">
         <label>Run query</label>
         <choice value="1">No</choice>
         <choice value="2">Yes</choice>
         <default>1</default>
         <change>
           <condition value="1">
             <unset token="$submitted:StarId"></unset>
           </condition>
           <condition value="2">
             <set token="$submitted:StarId">dbxquery</set>
           </condition>
         </change>
       </input>
<panel depends="$submitted:StarId$">
       <table>
         <title>Trade detail</title>
         <option name="showPager">true</option>
         <option name="count">10</option>
         <drilldown target="_trade">
           <link>
             <![CDATA[
                   /app/eproduct/order_detail?earliest=$row.earliest$&latest=$row.latest$&clOrdId=$row.StarID$
                   ]]>
           </link>
         </drilldown>
       </table>

     </panel>

View solution in original post

ngatchasandra
Builder

Hi proylea,

You can control this by integrating source code like follow:

<input type="dropdown" token="submitted:StarId" searchWhenChanged="true">
         <label>Run query</label>
         <choice value="1">No</choice>
         <choice value="2">Yes</choice>
         <default>1</default>
         <change>
           <condition value="1">
             <unset token="$submitted:StarId"></unset>
           </condition>
           <condition value="2">
             <set token="$submitted:StarId">dbxquery</set>
           </condition>
         </change>
       </input>
<panel depends="$submitted:StarId$">
       <table>
         <title>Trade detail</title>
         <option name="showPager">true</option>
         <option name="count">10</option>
         <drilldown target="_trade">
           <link>
             <![CDATA[
                   /app/eproduct/order_detail?earliest=$row.earliest$&latest=$row.latest$&clOrdId=$row.StarID$
                   ]]>
           </link>
         </drilldown>
       </table>

     </panel>

proylea
Contributor

Thanks that was a great help, put me on the right track.
The working code looks like this

    <input type="dropdown" searchWhenChanged="true">
          <label>Trade Detail Panel</label>
          <choice value="1">Close</choice>
          <choice value="2">Open</choice>
          <default>Close</default>
          <change>
            <condition label="Close">
              <unset token="openpanel">null</unset>
            </condition>
            <condition label="Open">
              <set token="openpanel">true</set>
            </condition>
          </change>
    </input>    
  </fieldset>
  <row>
    <panel depends="$openpanel$">
      <table>
        <title>Trade detail</title>
        <option name="showPager">true</option>
        <option name="count">10</option>
        <drilldown target="_trade">
          <link>
            <![CDATA[
                  /app/eproduct/order_detail?earliest=$row.earliest$&latest=$row.latest$&clOrdId=$row.StarID$
                  ]]>
          </link>
        </drilldown>
      </table>
    </panel>

ngatchasandra
Builder

Hi proylea,

I apologize because I have made ​​a mistake . Indeed , I forget to remove the$ in mark :

    <set token=$> and <unset token=$>

The source code will have to be rather like this:

<input type="dropdown" token="submitted:StarId" searchWhenChanged="true">
          <label>Run query</label>
          <choice value="1">No</choice>
          <choice value="2">Yes</choice>
          <default>1</default>
          <change>
            <condition value="1">
              <unset token="submitted:StarId"></unset>
            </condition>
            <condition value="2">
              <set token="submitted:StarId">dbxquery</set>
            </condition>
          </change>
        </input>
 <panel depends="$submitted:StarId$">
        <table>
          <title>Trade detail</title>
          <option name="showPager">true</option>
          <option name="count">10</option>
          <drilldown target="_trade">
            <link>
              <![CDATA[
                    /app/eproduct/order_detail?earliest=$row.earliest$&latest=$row.latest$&clOrdId=$row.StarID$
                    ]]>
            </link>
          </drilldown>
        </table>

      </panel>

Thanks for your remark.

0 Karma

proylea
Contributor

Thanks for all your help, greatly appreciated

0 Karma
Got questions? Get answers!

Join the Splunk Community Slack to learn, troubleshoot, and make connections with fellow Splunk practitioners in real time!

Meet up IRL or virtually!

Join Splunk User Groups to connect and learn in-person by region or remotely by topic or industry.

Get Updates on the Splunk Community!

Announcing Modern Navigation: A New Era of Splunk User Experience

We are excited to introduce the Modern Navigation feature in the Splunk Platform, available to both cloud and ...

Observability Simplified: Combining User Experience, Application Performance & ...

Tech Talk Observability Simplified: Combining User Experience, Application Performance & Network ...

Event Series May & June: From Network Visibility to Service Intelligence

Unifying the Network: Moving from Alert Noise to Service Intelligence with Splunk ITSI In today’s hybrid ...