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 &gt; 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 &gt; 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 &lt;&gt; 
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 &gt; 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 
salive@woodstone.nu
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.

Reply via email to