Ist it possible to make an inline drilldown from an HTML module (using a div/link ..) instead of using a SimpleResultsTable or a Table Module?
The HTML Module is used to emulate single values. When a user clicks on one of the values I would like to have the same behaviour as the "drilldown1_tables" in Sideview Utils (Version 2.3).
<module name="HTML">
<param name="html">
<![CDATA[
<h2>Failed Action X:</h2>
<div class="valueDisplay"><div class="inner"><b>$results[0].count$</b></div></div>
<h2>Failed Action Y:</h2>
<div class="valueDisplay"><div class="inner"><b>$results[1].count$</b></div></div>
]]></param>
<module name="Downstream visualization"></module>
</module>
We've chatted by email but I figured I should post a public answer here.
CustomBehavior
You could do this with a customBehavior and some ingenuity. It may seem like a simple thing perhaps, but it actually would be quite a complex customBehavior.
If you think about it, drilldown config on an HTML module will mean giving the HTML module children, but if you try it and see you'll see that those children are always visible. To change that and to implement an idea of a "selected" state, and the ability to pass that state downstream, your customBehavior would have to do the following:
All in all, it's a really long way to go for something that can be
accomplished a lot easier using an actual Table, or a Tabs module
(the label property of a dynamic tab can itself be dynamic so it could
have field values in it).
do cool magic with hash anchor links
For this you have to accept that some of the searches will probably reload when the link sare clicked. The page wont reload but, er, parts of it will.
<a href="#someKey=someValue">link 1</a> vs <a href="#someKey=someOtherValue">link 2</a>
Sideview builds it in as core functionality on the HTML module
Now coming at this from a different angle, it's unlikely to be the last time that someone wants this kind of functionality so I'll certainly consider adding it to the HTML module. The least evil implementation I can think of so far is as follows:
for name of "foo", you'd have
foo = the value, backslash-escaped as necessary for the search language
foo.value = same
foo.rawValue = the value, but not backslash-escaped.
foo.element - a little known but consistent sideview convention to pass down
an actual DOM element reference. Comes in handy sometimes for customBehaviors.
Even though this question has an accepted answer I wanted to add something similar that I did and which might help others. It's not exactly the same but close.
No problem. I am having an issue in SideView Utils V. 2.6.3 where I can't drill down passed the second pager of results. I'll post a question to SPlunkBase for that soon.
Thanks for posting this.
We've chatted by email but I figured I should post a public answer here.
CustomBehavior
You could do this with a customBehavior and some ingenuity. It may seem like a simple thing perhaps, but it actually would be quite a complex customBehavior.
If you think about it, drilldown config on an HTML module will mean giving the HTML module children, but if you try it and see you'll see that those children are always visible. To change that and to implement an idea of a "selected" state, and the ability to pass that state downstream, your customBehavior would have to do the following:
All in all, it's a really long way to go for something that can be
accomplished a lot easier using an actual Table, or a Tabs module
(the label property of a dynamic tab can itself be dynamic so it could
have field values in it).
do cool magic with hash anchor links
For this you have to accept that some of the searches will probably reload when the link sare clicked. The page wont reload but, er, parts of it will.
<a href="#someKey=someValue">link 1</a> vs <a href="#someKey=someOtherValue">link 2</a>
Sideview builds it in as core functionality on the HTML module
Now coming at this from a different angle, it's unlikely to be the last time that someone wants this kind of functionality so I'll certainly consider adding it to the HTML module. The least evil implementation I can think of so far is as follows:
for name of "foo", you'd have
foo = the value, backslash-escaped as necessary for the search language
foo.value = same
foo.rawValue = the value, but not backslash-escaped.
foo.element - a little known but consistent sideview convention to pass down
an actual DOM element reference. Comes in handy sometimes for customBehaviors.
you can certainly drilldown from HTML module to another page very easily, just by making a link tag. There are docs and examples about all this in the docs page "Module Documentation > the HTML Module > Using HTML to replace the SingleValue module". Note that the commentary here is about using HTML module to do an INLINE drilldown, meaning the user stays on the same page.
At my client this week they're using HTML modules and custom JS instead of singlevalue modules, due to their lack of drilldown. Now they're getting to the point where they want to drill down further from the HTML modules, so +1 for the ability for HTML to drill down.
Thank you Nick, I updated the question
Can I assume that by "inline drilldown", you mean that the link, when clicked, causes other module config downstream from the link, to dispatch searches and render charts and tables. If so then only a customBehavior could do it, and you might be better off using a Button and then customizing the CSS to make Button look like a simple link. Please add more details and I'll give the best advice I can.