Hi there,
Iâm trying to develop a template that utilizes jQuery so it will format
well on a mobile device. I am having a lot of success, but I think Iâm
running into a bug and am hoping for some help confirming that (and
getting it fixed) or another way to accomplish what I want to do. Part of
utilizing jQuery requires the use of <div> tags, which of course have to
be properly closed. Because I want to use collapsible sets that use
sa_hostname as the section title, I need to use nested <saif> blocks. It
sort of seems to work in one example and then not in another.
My question is whether nested <saif> blocks is expected to work or not.
For more detail (if it matters), hereâs the logic Iâm finding myself
trying to run through:
* In the header (before <sa_report> tag) I open a <div> tag with attribute
of data-role=âcollapsibleset".
* For ONLY the very first entry inside the <sa_report> tag, I need to open
a <div> tag with attribute of data-role=âcollapsibleâ. I canât have a
</div> tag first, or that would close the above section I just opened.
* For every next entry, if the sa_hostname is the same as the previous
one, I donât want to close or open a new <div> tag at this level
* However, if the sa_hostname is new, I need to close out the
previous <div> tag at this level and start a new one.
* After the closing </sa_report> tag I have the last </div> tag to close
out the hanging collapsible for the last entry in the report, then I have
another </div> tag to close out the collapsibleset started in the header.
To accomplish this, Iâm using the following snippet of code:
âSNIPâ
<div data-role="collapsibleset" data-inset="false">
<!-- End of header for Servers Alive -->
<sa_report sort=NOGROUP,CSTATUS,HOSTNAME>
<saif sa_previous_hostname_in_html IS ""><div
data-role="collapsible" data-collapsed="true"
data-inset="false"><h3><sa_hostname></h3><ul data-role="listview"
data-inset="false"></saif>
<saif sa_previous_hostname_in_html NOT ""><saif
sa_hostname not sa_previous_hostname_in_html></div><div
data-role="collapsible" data-collapsed="true"
data-inset="false"><h3><sa_hostname></h3><ul data-role="listview"
data-inset="false"></saif></saif>
<li>
<h2><sa_prettyname></h2>
<p><strong><sa_checkdescription></strong></p>
<p><sa_statuschangedate>
<sa_statuschangetime></p>
<p
class="ui-li-aside"><strong><sa_checkresponse></strong></p>
</li>
</sa_report>
<!-- Begin of footer for Servers Alive -->
</div>
</div>
âSNIPâ
That works all well and good, but it leaves in a </saif> in the report
only for the first entry as seen below:
âSNIPâ
<div data-role="collapsibleset" data-inset="false">
<!-- End of header for Servers Alive -->
<div data-role="collapsible" data-collapsed="true"
data-inset="false"><h3>192.168.20.105</h3><ul data-role="listview"
data-inset="false">
</saif>
<li>
<h2>nsmn3220-1b - a_VM aggr used %</h2>
<p><strong>SNMP (.1.3.6.1.4.1.789.1.5.4.1.6.1 result > 80)</strong></p>
<p>12/17/2014 5:05:48 PM</p>
<p class="ui-li-aside"><strong>82</strong></p>
</li>
</div><div data-role="collapsible" data-collapsed="true"
data-inset="false"><h3>192.168.11.2</h3><ul data-role="listview"
data-inset="false">
<li>
<h2>phx-firewall - ping</h2>
<p><strong>ping</strong></p>
<p>12/17/2014 4:39:08 PM</p>
<p class="ui-li-aside"><strong>100%</strong></p>
</li>
<li>
<h2>phx-firewall01 - CPU load 1 min</h2>
<p><strong>SNMP (.1.3.6.1.4.1.2021.10.1.5.1 result > 50)</strong></p>
<p>12/17/2014 9:38:30 PM</p>
<p class="ui-li-aside"><strong>2</strong></p>
</li>
<li>
<h2>phx-firewall01 - Temperature Err Cond</h2>
<p><strong>SNMP (.1.3.6.1.4.1.2620.1.6.7.8.1.1.6.1.0 result <>
0)</strong></p>
<p>12/17/2014 9:34:13 PM</p>
<p class="ui-li-aside"><strong>0</strong></p>
</li>
</div><div data-role="collapsible" data-collapsed="true"
data-inset="false"><h3>192.168.11.41</h3><ul data-role="listview"
data-inset="false">
<li>
<h2>phxn3220-1a - ping</h2>
<p><strong>ping</strong></p>
<p>12/17/2014 4:39:06 PM</p>
<p class="ui-li-aside"><strong>100%</strong></p>
</li>
<!-- Begin of footer for Servers Alive -->
</div>
</div>
âSNIPâ
That doesnât seem like a problem, however I wanted to do some further
customization where I add some attributes to the <div> tag for the
collapsible level and so I tried changing the template as follows:
âSNIPâ
<div data-role="collapsibleset" data-inset="false">
<!-- End of header for Servers Alive -->
<sa_report sort=NOGROUP,CSTATUS,HOSTNAME>
<saif sa_previous_hostname_in_html IS ""><div </saif>
<saif sa_previous_hostname_in_html NOT ""><saif
sa_hostname not sa_previous_hostname_in_html></div><div </saif> </saif>
<sa_select_case status>
<sa_case DOWN>
data-icon="alert"
<sa_case SCHEDULEDMAINTENANCE>
data-icon="clock"
</sa_select_case>
<saif sa_hostname not
sa_previous_hostname_in_html>data-role="collapsible" data-collapsed="true"
data-inset="false"><h3><sa_hostname></h3><ul data-role="listview"
data-inset="false"></saif>
<li>
<h2><sa_prettyname></h2>
<p><strong><sa_checkdescription></strong></p>
<p><sa_statuschangedate>
<sa_statuschangetime></p>
<p
class="ui-li-aside"><strong><sa_checkresponse></strong></p>
</li>
</sa_report>
<!-- Begin of footer for Servers Alive -->
</div>
</div>
âSNIPâ
That would seem like it should work for me, however because of the
leftover </saif> tag, the <div> tag that Iâm trying to inject
data-icon=âalertâ attribute into gets closed prematurely by the closing
angle bracket in the </saif> hanging tag. See below:
âSNIPâ
<div data-role="collapsibleset" data-inset="false">
<!-- End of header for Servers Alive -->
<div
</saif>
data-icon="alert"
data-role="collapsible" data-collapsed="true"
data-inset="false"><h3>192.168.20.105</h3><ul data-role="listview"
data-inset="false">
<li>
<h2>nsmn3220-1b - a_VM aggr used %</h2>
<p><strong>SNMP (.1.3.6.1.4.1.789.1.5.4.1.6.1 result > 80)</strong></p>
<p>12/17/2014 5:05:48 PM</p>
<p class="ui-li-aside"><strong>82</strong></p>
</li>
âSNIPâ
So when the page renders, not only do I not get the alert icon, but I get
the two lines after the </saif> hanging tag showing up in the web page
(because the tag they were a part of got closed).
Thoughts about how to get this working?
Thanks,
Jason
To unsubscribe send a message with UNSUBSCRIBE in the subject line to
[email protected]
If you use auto-responders (like out-of-the-office messages), make sure that
they are not sent to the list nor to individual members. Doing so will cause
you to be automatically removed from the list.