source: main/trunk/ibisph-view/src/main/webapp/xslt/html/community/indicators/Page.xslt @ 22751

Last change on this file since 22751 was 22751, checked in by GarthBraithwaite_STG, 7 weeks ago

view - fixed topic IP list button. Added default StaticContent? to html class for html_content pages.

File size: 10.7 KB
Line 
1<?xml version="1.0" encoding="ISO-8859-1"?>
2
3<xsl:stylesheet version="3.0" 
4        xmlns:xsl ="http://www.w3.org/1999/XSL/Transform" 
5        xmlns:ibis="http://www.ibisph.org"
6
7        exclude-result-prefixes="ibis"
8>
9        <xsl:import href="../Page.xslt"/>
10
11
12        <ibis:doc>
13                <name>html/community/indicators/Page</name>
14                <summary>Default core code that produces the Community profile snapshot</summary>
15                <description>
16                        Main page templates for the community profile indicators list Report.
17                </description>
18        </ibis:doc>
19
20
21        <xsl:param name="Page.pageTitle" ibis:doc="Page's browser title text."
22                select="concat(
23                        $Page.communityDimensionValue/TITLE,
24                        ' ',
25                        ibis:getDimensionTitle($Page.communityDimension),
26                        ' Community Health Profile '
27                )"
28        />
29        <xsl:param name="Page.contentTitle" ibis:doc="Page's content title text."
30                select="concat(
31                        $Page.communityDimensionValue/TITLE,
32                        ' ',
33                        ibis:getDimensionTitle($Page.communityDimension),
34                        ' Community Health Profile'
35                )"
36        />
37
38        <xsl:param name="Page.noCommunityIndicatorRowsMessageContent">
39                <div class="Note">
40                        <h3>Sorry, no data:</h3>
41                        There is not any health indicator data currently available for the
42                        selected combination of Set of Health Indicators and community.
43                        Please try a different set of health indicators or a different
44                        community.
45                </div>
46        </xsl:param>
47
48
49<!-- GARTH TODO: This is code for doing the compare table on a facts page etc.
50        <xsl:variable name="Page.demographicPublishedIndicators" select="document( ibis:getContentPath('xml/indicator/published_indicators.xml'), /)//PUBLISHED_INDICATOR[DEMOGRAPHIC_FLAG = 'x']"/>
51        <xsl:variable name="Page.communityDemographicPublishedIndicators" select="$Page.demographicPublishedIndicators//DIMENSION_COMBINATION[(DIMENSION_1/NAME = $Page.dimensionName) and not(DIMENSION_2)]"/>
52                <xsl:variable name="communityIndicators">
53                        <xsl:for-each select="$Page.demographicPublishedIndicators">
54                                <xsl:sort select="SORT_ORDER" data-type="number" order="ascending"/>
55                                <xsl:sort select="NAME" data-type="text" order="ascending"/>
56                                <xsl:call-template name="communityIndicator">
57                                        <xsl:with-param name="indicatorName" select="NAME"/>
58                                </xsl:call-template>
59                        </xsl:for-each>
60                </xsl:variable>
61-->
62
63
64        <xsl:template name="Page.contentBody"
65                ibis:doc="Main page content template."
66        >
67                <xsl:call-template name="Page.contentOptions">
68                        <xsl:with-param name="title" select="'Community Health Profile Report Options'"/>
69                </xsl:call-template>
70
71                <xsl:variable name="communityIndicators">
72                        <xsl:for-each select="$Page.indicatorSet/INDICATOR_TO_INDICATOR_SETS/INDICATOR_TO_INDICATOR_SET/INDICATOR_NAME">
73                                <xsl:sort select="SORT_ORDER" data-type="number" order="ascending"/>
74                                <xsl:sort select="INDICATOR_NAME" data-type="text" order="ascending"/>
75                                <xsl:call-template name="communityIndicator">
76                                        <xsl:with-param name="indicatorName" select="current()"/>
77                                </xsl:call-template>
78                        </xsl:for-each>
79                </xsl:variable>
80                <xsl:variable name="communityIndicatorsCount" select="count($communityIndicators/COMMUNITY_INDICATOR)"/>
81
82                <xsl:if test="0 = $communityIndicatorsCount">
83                        <xsl:copy-of select="$Page.noCommunityIndicatorRowsMessageContent"/>
84                </xsl:if>
85                <xsl:if test="0 != $communityIndicatorsCount">
86                        <table class="Info Comparison" 
87                                summary="Data table of the community profile snapshot report.
88                                        Listed by indicator profile then the community value
89                                        followed by the comparison value.
90                                " 
91                                caption="Community profile snapshot report data table."
92                        >
93                                <col class="IndicatorSet"/>
94                                <col class="CommunityValue"/>
95                                <col class="Compare"/>
96                                <col class="Compare"/>
97                                <col class="Compare"/>
98                                <col class="Compare"/>
99                                <thead>
100                                        <tr>
101                                                <th scope="col" class="Row" rowspan="2"><xsl:value-of select="$Page.indicatorSet/TITLE"/></th>
102                                                <th scope="col" class="Columns" colspan="3">Values</th>
103                                                <th scope="col" class="Columns" colspan="2">Compared To</th>
104                                        </tr>
105                                        <tr>
106                                                <th scope="col" class="Column"><xsl:value-of select="$Page.communityDimensionValue/TITLE"/>&#160; <xsl:value-of select="$Page.communityDimensionTitle"/></th>
107                                                <th scope="col" class="Column"><xsl:value-of select="$ibis.adopterTitle"/></th>
108                                                <th scope="col" class="Column">U.S.</th>
109
110                                                <th scope="col" class="Column"><xsl:value-of select="$ibis.adopterTitle"/></th>
111                                                <th scope="col" class="Column">U.S.</th>
112                                        </tr>
113                                </thead>
114
115                                <tbody>
116                                        <xsl:for-each select="$communityIndicators/COMMUNITY_INDICATOR">
117                                                <xsl:call-template name="Page.indicatorProfileRow">
118                                                        <xsl:with-param name="communityIndicator" select="current()"/>
119                                                </xsl:call-template>
120                                        </xsl:for-each>
121                                </tbody>
122                        </table>
123                        <footer class="Comparison">
124                                <ul>
125                                        <li><span class="ComparisonClass Better">Better</span> is when the community is statistically better (worst confidence limit value is better than the comparison value).</li>
126                                        <li><span class="ComparisonClass Similar">Similar</span> is when the community is not statistically different (comparison value is between the community lower and upper confidence limit values).</li>
127                                        <li><span class="ComparisonClass Worse">Worse</span> is when the community statistically worse (best limit value is worse than the comparison value).</li>
128                                </ul>
129                        </footer>
130<!-- The table's row span messes with things converting - throws jquery error.
131
132Also, the background coloring of state and us cells does not work.
133   <script>
134        $(document).ready(function() {
135            $(".Info.Comparison").kendoGrid({
136                sortable: true
137            });
138        });
139    </script>
140-->
141        </xsl:if>
142
143        </xsl:template>
144
145 
146        <xsl:template match="OVERVIEWS">
147                <xsl:call-template name="ContentContainer.overviews">
148                        <xsl:with-param name="overviews" select="current()/OVERVIEW"/>
149                </xsl:call-template>
150        </xsl:template>
151
152
153        <xsl:template name="communityIndicator"
154                ibis:doc="Handles the xml/community/DIMENSION.xml type file.  Which is of
155                        the struct: COMMUNITY_PROFILE, OVERVIEWS, DIMENSION, INDICATOR_PROFILES
156                        /INDICATOR_PROFILE/COMPARATIVE_VALUES/COMPARATIVE_VALUE/ TYPE, SERIES,
157                        CAT.
158                "
159        >
160                <xsl:param name="indicatorName"/>
161<!--
162                <xsl:param name="indicator" select="document(concat($Page.indicatorProfileXMLFilePath, $indicatorName, '.xml'), /)/INDICATOR"/>
163                <xsl:param name="indicator" select="NULL"/>
164-->
165                <xsl:param name="indicator" select="document(concat($Page.indicatorProfileXMLFilePath, $indicatorName, '.xml'), /)/INDICATOR"/>
166
167                <xsl:if test="not($indicator/*)"><xsl:message select="concat('Community Profile Report - IP NOT FOUND: ', $Page.indicatorProfileXMLFilePath, $indicatorName, '.xml')"/></xsl:if>
168                <xsl:if test="$indicator/*">
169                        <xsl:variable name="indicatorComparisonValues">
170                                <xsl:call-template name="ComparisonValues.indicatorStateUSComparisonValues">
171                                        <xsl:with-param name="indicator"  select="$indicator"/>
172                                        <xsl:with-param name="dimensions" select="$Page.dimensions"/>
173                                        <xsl:with-param name="measures"   select="$Page.measures"/>
174                                        <xsl:with-param name="valueTypes" select="$Page.valueTypes"/>
175                                        <xsl:with-param name="communityDimensionName"  select="$Page.dimensionName"/>
176                                        <xsl:with-param name="communityDimensionValue" select="$Page.dimensionValue"/>
177                                </xsl:call-template>
178                        </xsl:variable>
179
180                        <xsl:if test="$indicatorComparisonValues/*">
181                                <COMMUNITY_INDICATOR>
182                                        <xsl:copy-of select="$indicator/NAME"/>
183                                        <xsl:copy-of select="$indicator/TITLE"/>
184                                        <xsl:copy-of select="$indicator/DEFINITION"/>
185                                        <xsl:copy-of select="$indicatorComparisonValues"/>
186                                </COMMUNITY_INDICATOR>
187                        </xsl:if>
188                </xsl:if>
189        </xsl:template>
190
191
192        <xsl:template name="Page.indicatorProfileRow"
193                ibis:doc="Handles the xml/community/DIMENSION.xml type file.  Which is of
194                        the struct: COMMUNITY_PROFILE, OVERVIEWS, DIMENSION, INDICATOR_PROFILES
195                        /INDICATOR_PROFILE/COMPARATIVE_VALUES/COMPARATIVE_VALUE/ TYPE, SERIES,
196                        CAT.
197                "
198        >
199                <xsl:param name="communityIndicator"/>
200                <xsl:param name="indicatorBaseRequsetPath" select="$Page.indicatorBaseRequsetPath"/>
201
202                <tr>
203                        <td class="Indicator">
204                                <span class="Popup Help Info FontIcon Right">
205                                        <div class="Container">
206                                                <div class="Content">
207                                                        <xsl:value-of select="$communityIndicator/DEFINITION"/>
208                                                </div>
209                                        </div>
210                                </span>
211                                <a href="{$indicatorBaseRequsetPath}summary/{$communityIndicator/NAME}.html" 
212                                        title="Click here to see a more detailed comparison of {$communityIndicator/TITLE}" class="Block"
213                                >
214                                        <xsl:value-of select="$communityIndicator/TITLE"/> 
215                                </a>
216                                <div class="Measure" title="Health indicator measure and period">(<xsl:value-of select="concat($communityIndicator/MEASURE/TITLE, ', ', $communityIndicator/PERIOD_DIMENSION/VALUE/TITLE)"/>)</div>
217                        </td>
218
219                        <td class="Value TextAlignCenter" title="Community value for {$communityIndicator/PERIOD_DIMENSION/VALUE/TITLE}">
220                                <xsl:value-of select="$communityIndicator/COMMUNITY/VALUE/TITLE"/>
221                                <div class="Italicize SmallerFont" title="Lower and upper confidence values">
222                                        <xsl:if test="string-length($communityIndicator/COMMUNITY/LOWER_LIMIT/TITLE) != 0">
223                                                (<xsl:value-of select="$communityIndicator/COMMUNITY/LOWER_LIMIT/TITLE"/>
224                                                 -
225                                                 <xsl:value-of select="$communityIndicator/COMMUNITY/UPPER_LIMIT/TITLE"/>)
226                                        </xsl:if>
227                                </div>
228                        </td>
229                        <td class="Value TextAlignCenter" title="Value for {$communityIndicator/STATE/TITLE}">
230                                <xsl:value-of select="$communityIndicator/STATE/VALUE/TITLE"/>
231                        </td>
232                        <td class="Value TextAlignCenter" title="Value for {$communityIndicator/US/TITLE}">
233                                <xsl:value-of select="$communityIndicator/US/VALUE/TITLE"/>
234                        </td>
235
236                        <td class="Value TextAlignCenter ComparisonClass {$communityIndicator/STATE/VALUE/COMPARISON/CLASS}" title="No value - can not compare">
237
238                                <xsl:if test="0 != string-length($communityIndicator/STATE/VALUE/COMPARISON/CLASS)">
239                                        <xsl:attribute name="title" select="concat($Page.communityDimensionValue/TITLE, ' is ', $communityIndicator/STATE/VALUE/COMPARISON/CLASS)"/>
240                                </xsl:if>
241                                <xsl:value-of select="$communityIndicator/STATE/VALUE/COMPARISON/CLASS"/>
242                        </td>
243                        <td class="Value TextAlignCenter ComparisonClass {$communityIndicator/US/VALUE/COMPARISON/CLASS}" title="No value - can not compare">
244                                <xsl:if test="0 != string-length($communityIndicator/US/VALUE/COMPARISON/CLASS)">
245                                        <xsl:attribute name="title" select="concat($Page.communityDimensionValue/TITLE, ' is ', $communityIndicator/US/VALUE/COMPARISON/CLASS)"/>
246                                </xsl:if>
247                                <xsl:value-of select="$communityIndicator/US/VALUE/COMPARISON/CLASS"/>
248                        </td>
249                </tr>
250        </xsl:template>
251
252</xsl:stylesheet>
253<!-- ============================= End of File ============================= -->
Note: See TracBrowser for help on using the repository browser.