source: main/adopters/hi/branches/2.3/src/main/webapps/ibisph-view/xslt/html/query/module/result/interactive/SiteSpecific.xslt @ 17911

Last change on this file since 17911 was 17911, checked in by Paul Leo, 20 months ago

Changing test for when to display a map to starts-with 'State'

File size: 16.4 KB
Line 
1<?xml version="1.0" encoding="ISO-8859-1"?>
2
3<xsl:stylesheet version="2.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="../SiteSpecific.xslt"/>
10
11        <ibis:doc>
12                <name>html/query/result/interactive/SiteSpecific</name>
13                <summary>Provides adopter 'query/result' site specific template overrides</summary>
14                <description>
15                        Provides an overridden 'siteSpecific.topMenu'
16                        API template call so that the banner can be turned off.  This
17                        template also includes the 'css/query.css' links and other adopter specific
18                        code.
19                </description>
20
21                <author>Garth Braithwaite</author>
22                <company>Software Technology Group/CDC/Utah Department of Health</company>
23        </ibis:doc>
24
25
26        <!-- ~~~~~~~~~~~~~~~~~~~~~~~ PARAMS / VARIABLES ~~~~~~~~~~~~~~~~~~~~~~~~ -->
27        <xsl:param name="SiteSpecific.contextNavigationSelections"
28                ibis:doc="Query Result left nav menu - specific to the current module config."
29        >
30                <SELECTIONS>
31                        <TITLE>Result Options</TITLE>
32
33                        <SELECTION>
34                                <URL><xsl:value-of select="$SiteSpecific.builderURL"/></URL>
35                                <DESCRIPTION>Not seeing what you want? Click this to go to the query builder page.</DESCRIPTION>
36                                <TITLE>Modify Query Definition</TITLE>
37                        </SELECTION>
38
39                <xsl:if test="not($Result.configuration/CRITERIA/EXCLUDE/CHART_NAMES/ALL_FLAG)">
40                        <SELECTION>
41                                <DESCRIPTION>Display Chart</DESCRIPTION>
42                                <TITLE>Chart Options</TITLE>
43                                <SELECTIONS>
44                                        <xsl:for-each select="$Page.charts/CHART[
45                                                (NAME != $Result.queryModule/REQUEST/CHART_NAME) and
46                                                not(NAME = $Result.configuration/CRITERIA/EXCLUDE/CHART_NAMES/CHART_NAME)]"
47                                        >
48                                                <xsl:sort select="SORT_ODRER" order="ascending" data-type="number"/>
49
50                                                <SELECTION>
51                                                        <URL>?ChartName=<xsl:value-of select="NAME"/></URL>
52                                                        <DESCRIPTION>Display the data in a <xsl:value-of select="TITLE"/> chart graph</DESCRIPTION>
53                                                        <TITLE><xsl:value-of select="TITLE"/></TITLE>
54                                                </SELECTION>
55                                        </xsl:for-each>
56                                </SELECTIONS>
57                        </SELECTION>
58                </xsl:if>
59                <!-- HAWAII MODS - 31Aug2015 - Not wanting alternate measures
60                <xsl:if test="(count($Page.displayableMeasures) &gt; 1)">
61                        <SELECTION>
62                                <DESCRIPTION>Select different data measure</DESCRIPTION>
63                                <TITLE>Alternate Values</TITLE>
64                                <SELECTIONS>
65                                        <xsl:for-each select="$Page.displayableMeasures">
66
67                                                <xsl:if test="current()/NAME != /QUERY_MODULE/REQUEST/MEASURE_NAME">
68                                                        <SELECTION>
69                                                                <URL>?MeasureName=<xsl:value-of select="NAME"/></URL>
70                                                                <DESCRIPTION>Display the <xsl:value-of select="TITLE"/> data measure</DESCRIPTION>
71                                                                <TITLE><xsl:value-of select="TITLE"/></TITLE>
72                                                        </SELECTION>
73                                                </xsl:if>
74                                        </xsl:for-each>
75                                </SELECTIONS>
76                        </SELECTION>
77                </xsl:if>
78                -->
79                        <SELECTION>
80                                <URL><xsl:value-of select="concat($ibis.urlPrefix, /QUERY_MODULE/QUERY_CONFIGURATION_SELECTION/LOCAL_URL)"/></URL>
81                                <DESCRIPTION>Choose different query dataset/indicator.</DESCRIPTION>
82                                <TITLE>Select Different Indicator</TITLE>
83                        </SELECTION>
84
85                        <SELECTION>
86                                <URL><xsl:value-of select="concat($ibis.urlPrefix, 'query/result/', /QUERY_MODULE/REQUEST/CONFIGURATION_PATH, '.html?Reload=x')"/></URL>
87                                <DESCRIPTION>Runs the query using default criteria.</DESCRIPTION>
88                                <TITLE>Reset Query Definition</TITLE>
89                        </SELECTION>
90
91                        <SELECTION>
92                                <URL><xsl:value-of select="concat($ibis.urlPrefix, 'query/definition/from/result')"/></URL>
93                                <DESCRIPTION>Click this button to define a saved query result definition.</DESCRIPTION>
94                                <TITLE>Save Query Definition</TITLE>
95                        </SELECTION>
96                        <SELECTION>
97                                <URL><xsl:value-of select="concat($ibis.urlPrefix, 'query/definition/index/MyDefinitions.html')"/></URL>
98                                <DESCRIPTION>Click this button to access all query definitions.</DESCRIPTION>
99                                <TITLE>My Saved Query Definitions</TITLE>
100                        </SELECTION>
101
102                        <SELECTION>
103                                <URL>
104                                        <xsl:value-of select="concat(replace($Result.resultURL, '.html', '.xls'), '?PrinterFriendly=x&amp;ShowDimensionValues=', $ShowDimensionValues)"/>
105                                </URL>
106                                <DESCRIPTION>Click this button to have this page automatically put into Microsoft Excel.</DESCRIPTION>
107                                <TITLE>Export to Excel</TITLE>
108                        </SELECTION>
109                        <SELECTION>
110                                <URL><xsl:value-of select="concat($ibis.urlPrefix, 'query/configuration/', /QUERY_MODULE/REQUEST/CONFIGURATION_PATH, '.xml')"/></URL>
111                                <DESCRIPTION>Click this button to get the raw module data as XML.</DESCRIPTION>
112                                <TITLE>View Query Definition XML</TITLE>
113                        </SELECTION>
114
115                </SELECTIONS>
116        </xsl:param>
117       
118        <!-- HAWAII MOD - PGL 10/20/2016 - CHANGE DEFAULT VALUE of UCI and LCI if they don't exist from 'none' to 'n/a' -->
119
120        <xsl:template name="Interactive.queryResultDataArrayJSON"
121                ibis:doc="Produces an query result javascript data list.
122                        NOTES:
123                        - Missing values must be coded as 'null' - blank does not work.
124                        - * and ** will be coded as 99999 for now???
125                        - Loop for all geo dimension records
126                        - If different group by's besides the one geo dim then need to grab the
127                                total dim. 
128                "
129        >
130                <xsl:param name="queryModule"/>
131                <xsl:param name="cleanedNameAndActualNameDimensions"/>
132                <xsl:param name="measures"/>
133                <xsl:param name="distinctRecordDimensionValues" select="distinct-values($queryModule/IBISQ_QUERY_RESULT/RECORDS//DIMENSIONS/DIMENSION/VALUE/text())"/>
134
135<xsl:text>[</xsl:text>
136                <xsl:for-each select="$queryModule/IBISQ_QUERY_RESULT/RECORDS/RECORD[not(DIMENSIONS/DIMENSION/VALUE/text() = '.')]">
137                        <xsl:variable name="record" select="."/>
138                        <xsl:variable name="rowID"  select="position()"/>
139                        <xsl:if test="position() != 1">,</xsl:if>{
140        rowID:<xsl:value-of select="$rowID"/>
141                        <xsl:for-each select="$record/DIMENSIONS/DIMENSION[NAME = $cleanedNameAndActualNameDimensions/DIMENSION/ACTUAL_NAME]">
142                                <xsl:variable name="dimension"      select="$cleanedNameAndActualNameDimensions/DIMENSION[ACTUAL_NAME = current()/NAME]"/>
143                                <xsl:variable name="dimensionValue" select="$dimension/VALUES/VALUE[text() = current()/VALUE/text()]"/>
144<!--
145<xsl:message select="concat('record dim value: ', VALUE/text(), ', index of: ', index-of($distinctRecordDimensionValues, VALUE/text()))"/>
146-->
147                                <xsl:if test="(string-length($dimensionValue) = 0) and not($dimension/DYNAMIC_VALUES_FLAG)">
148                                        <xsl:message>
149                                                WARNING: Query result record dimension name <xsl:value-of select="current()/NAME"/> 
150                                                with value: <xsl:value-of select="current()/VALUE/text()"/> does NOT have a matching DIMENSION//VALUE record. 
151                                                Version 3 might not allow this and could throw an error.
152                                                Current query config: <xsl:value-of select="$queryModule/REQUEST/CONFIGURATION_PATH"/>.
153                                        </xsl:message>
154                                </xsl:if>
155
156        ,"<xsl:value-of select="$dimension/NAME"/>":"<xsl:value-of select="current()/VALUE/text()"/>"
157        ,"<xsl:value-of select="$dimension/NAME"/>Title":"<xsl:value-of select="if(string-length($dimensionValue/TITLE) != 0) then $dimensionValue/TITLE else current()/VALUE/text()"/>"
158        ,"<xsl:value-of select="$dimension/NAME"/>SortOrder": <xsl:value-of select="
159                if(string-length($dimensionValue/SORT_ORDER) != 0)
160                then $dimensionValue/SORT_ORDER
161                else index-of($distinctRecordDimensionValues, VALUE/text())"
162        />
163                        </xsl:for-each>
164                        <xsl:for-each select="$measures/MEASURE">
165                                <xsl:variable name="recordMeasure" select="$record/MEASURES/MEASURE[NAME = current()/NAME]"/>
166        ,"<xsl:value-of select="NAME"/>":                 <xsl:value-of select="ibis:getJavaScriptValue($recordMeasure/VALUE)"/>
167        ,"<xsl:value-of select="NAME"/>Title":           "<xsl:value-of select="ibis:getFormattedValue ($recordMeasure/VALUE, XSLT_FORMAT_PATTERN, '')"/>"
168        ,"<xsl:value-of select="NAME"/>LowerLimit":       <xsl:value-of select="ibis:getJavaScriptValue($recordMeasure/LOWER_CONFIDENCE_LIMIT)"/>
169        ,"<xsl:value-of select="NAME"/>LowerLimitTitle": "<xsl:value-of select="ibis:getFormattedValue ($recordMeasure/LOWER_CONFIDENCE_LIMIT, XSLT_FORMAT_PATTERN, 'n/a')"/>"
170        ,"<xsl:value-of select="NAME"/>UpperLimit":       <xsl:value-of select="ibis:getJavaScriptValue($recordMeasure/UPPER_CONFIDENCE_LIMIT)"/>
171        ,"<xsl:value-of select="NAME"/>UpperLimitTitle": "<xsl:value-of select="ibis:getFormattedValue ($recordMeasure/UPPER_CONFIDENCE_LIMIT, XSLT_FORMAT_PATTERN, 'n/a')"/>"
172        ,"<xsl:value-of select="NAME"/>Numerator":        <xsl:value-of select="ibis:getJavaScriptValue($recordMeasure/NUMERATOR)"/>
173        ,"<xsl:value-of select="NAME"/>NumeratorTitle":  "<xsl:value-of select="ibis:getFormattedValue ($recordMeasure/NUMERATOR, NUMERATOR/XSLT_FORMAT_PATTERN, 'n/a')"/>"
174        ,"<xsl:value-of select="NAME"/>Denominator":      <xsl:value-of select="ibis:getJavaScriptValue($recordMeasure/DENOMINATOR)"/>
175        ,"<xsl:value-of select="NAME"/>DenominatorTitle":"<xsl:value-of select="ibis:getFormattedValue ($recordMeasure/DENOMINATOR, DENOMINATOR/XSLT_FORMAT_PATTERN, 'n/a')"/>"
176                        </xsl:for-each>
177}
178                </xsl:for-each>
179<xsl:text>]</xsl:text>
180        </xsl:template> 
181        <!-- END of HAWAII MOD to change default values of UCI and LCI if non-existent -->
182       
183        <!-- HAWAII MOD - CHANGE ORDER OF DATA Sources and DATA Issues AND don't display map if ACTUAL GROUP BY DIMENSION = StateOverall-->
184        <!-- HAWAII MOD - NEED TO VERIFY that this template does not change in  Core  \ibisph-view\xslt\html\query\module\result\interactive\Page.xslt -->
185       
186        <xsl:template name="Page.sectionsContent"
187                ibis:doc="Main page content template that creates the selections
188                        section, the optional graphic, optional 2-d table, data list table."
189        >
190                <!-- really vars but implemented as params - just in case... -->
191                <xsl:param name="recordCount"         select="count($Result.queryResult/RECORDS/RECORD)"/>
192                <xsl:param name="chartName"         select="$Result.queryModule/REQUEST/CHART_NAME"/>
193
194                <a name="top"></a>
195
196                <!-- Display the data.  If no records are available then provide the user
197                        with a message on what is possibly going on.
198                -->
199                <xsl:choose>
200                        <xsl:when test="exists($Result.queryModule/REQUEST/ERROR)">
201                                <xsl:copy-of select="$Result.requestErrorMessageContent"/>
202                        </xsl:when>
203
204                        <xsl:when test="exists($Result.queryResult/ERROR)">
205                                <xsl:copy-of select="$Result.resultErrorMessageContent"/>
206                        </xsl:when>
207
208                        <xsl:when test="not(exists($Result.queryResult))">
209                                <xsl:copy-of select="$Result.pleaseWaitMessageContent"/>
210                        </xsl:when>
211
212                        <xsl:when test="not(exists($Result.queryResult)) or ($recordCount = 0)">
213                                <xsl:copy-of select="$Result.resultNoDataMessageContent"/>
214                        </xsl:when>
215                </xsl:choose>
216
217
218                <!-- If records, then display the data list table. -->
219                <xsl:call-template name="UserSelections.criteria">
220                        <xsl:with-param name="queryModule"   select="$Result.queryModule"/>
221                        <xsl:with-param name="criteriaTitle" select="'Query Criteria'"/>
222                        <xsl:with-param name="criteriaDescription" 
223                                select="if(exists($Result.configuration/DESCRIPTION))
224                                        then $Result.configuration/DESCRIPTION
225                                        else 'User query criteria includes filtering and how the data are grouped'
226                                "
227                        />
228                        <xsl:with-param name="contentBlockType"      select="$Page.contentBlockType"/>
229                        <xsl:with-param name="expandableContentShow" select="true()"/>
230                </xsl:call-template>
231
232                <xsl:if test="($chartName != 'None')">
233                        <xsl:call-template name="ContentContainer.contentBlock">
234                                <xsl:with-param name="title" select="'Chart'"/>
235                                <xsl:with-param name="content">
236                                        <xsl:call-template name="Kendo.chartContainer">
237                                                <xsl:with-param name="containerID" select="'chart'"/>
238                                                <xsl:with-param name="defaultContent">
239                                                        <xsl:copy-of select="$Page.nonChartableMessageContent"/>
240                                                </xsl:with-param>
241                                        </xsl:call-template>
242                                </xsl:with-param>
243                                <xsl:with-param name="contentBlockType" select="$Page.contentBlockType"/>
244                                <xsl:with-param name="expandableContentShow" select="true()"/>
245                        </xsl:call-template>
246                </xsl:if>
247
248                <xsl:call-template name="ContentContainer.contentBlock">
249                        <xsl:with-param name="title" select="'Data Table'"/>
250                        <xsl:with-param name="content">
251                                <div class="Graphic Grid ScrollableContainer">
252                                        <div id="grid"></div>
253                                        <xsl:call-template name="Result.dataTableValuesFootnote"/>
254                                </div>
255                        </xsl:with-param>
256                        <xsl:with-param name="contentBlockType" select="$Page.contentBlockType"/>
257                        <xsl:with-param name="expandableContentShow" select="true()"/>
258                </xsl:call-template>
259
260                <xsl:call-template name="Interactive.leafletKendoScript">
261                        <xsl:with-param name="queryModule" select="$Result.queryModule"/>
262                </xsl:call-template>
263               
264                <!-- Debug     
265                         xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
266                         <xsl:value-of select="$Result.queryModule/REQUEST/ACTUAL_GROUP_BY/CATEGORY_DIMENSION_NAME"/><br/>
267                 -->
268                <!-- HI MODS 5/7/2018 - If REQUEST/ACTUAL_GROUP_BY/CATEGORY_DIMENSION_NAME starts with State then don't display map -->
269                <xsl:if test="$LeafletMap.showMap and not (starts-with($Result.queryModule/REQUEST/ACTUAL_GROUP_BY/CATEGORY_DIMENSION_NAME, 'State'))"> 
270                <!-- <xsl:if test="$LeafletMap.showMap and not($Result.queryModule/REQUEST/ACTUAL_GROUP_BY/CATEGORY_DIMENSION_NAME='StateOverall')"> -->
271                <!-- <xsl:if test="$LeafletMap.showMap"> this was the original-->
272                        <xsl:call-template name="ContentContainer.contentBlock">
273                                <xsl:with-param name="title" select="'Map - NOTE: A color coded data map is shown only when County or Island (if available) is selected in Geography step, and if all data has not been supressed
274                                '"/>
275                                <xsl:with-param name="content">
276                                        <xsl:choose>
277                                                <xsl:when test="string-length($Result.queryModule/REQUEST/ACTUAL_GROUP_BY/SERIES_DIMENSION_NAME) != 0">
278                                                        <xsl:copy-of select="$Page.nonMapableMessageContent"/>
279                                                </xsl:when>
280                                                <xsl:otherwise>
281                                                        <xsl:call-template name="LeafletMap.mapContainer">
282                                                                <xsl:with-param name="containerID" select="'map'"/>
283                                                                <xsl:with-param name="title"       select="''"/>
284                                                        </xsl:call-template>
285                                                </xsl:otherwise>
286                                        </xsl:choose>
287                                </xsl:with-param>
288                                <xsl:with-param name="contentBlockType" select="$Page.contentBlockType"/>
289                                <xsl:with-param name="expandableContentShow" select="true()"/>
290                        </xsl:call-template>
291                </xsl:if>
292
293                <!-- Data Notes -->
294                <xsl:call-template name="ContentContainer.contentBlockWithDelimitedTitleTextsNodesets">
295                        <xsl:with-param name="title"                select="'Data Notes'"/>
296                        <xsl:with-param name="titleAndTextsNodeset" select="$Result.configuration/DATA_NOTES/DATA_NOTE"/>
297                        <xsl:with-param name="contentBlockType"     select="$Page.contentBlockType"/>
298                        <xsl:with-param name="addWikiAttribute"     select="true()"/>
299                </xsl:call-template>
300
301                <!-- Data Issues -->
302                <xsl:call-template name="ContentContainer.contentBlockWithDelimitedTitleTextsNodesets">
303                        <xsl:with-param name="title"                select="'Data Issues'"/>
304                        <xsl:with-param name="titleAndTextsNodeset" select="$Result.configuration/DATA_ISSUES/DATA_ISSUE"/>
305                        <xsl:with-param name="contentBlockType"     select="$Page.contentBlockType"/>
306                        <xsl:with-param name="addWikiAttribute"     select="true()"/>
307                </xsl:call-template>
308
309                <!-- Data Sources -->
310                <xsl:call-template name="ContentContainer.contentBlock">
311                        <xsl:with-param name="title" select="'Data Sources'"/>
312                        <xsl:with-param name="content">
313                                <ul>
314                                <xsl:for-each select="$Result.configuration/DATA_SOURCES/DATA_SOURCE">
315                                        <xsl:sort select="SORT_ODRER" order="ascending" data-type="number"/>
316                                        <li><xsl:value-of select="TEXT"/></li>
317                                </xsl:for-each>
318                                </ul>
319                        </xsl:with-param>
320                        <xsl:with-param name="contentBlockType" select="$Page.contentBlockType"/>
321                </xsl:call-template>
322
323                <xsl:call-template name="ContentContainer.contentBlock">
324                        <xsl:with-param name="title" select="'Query Date Time Stamp'"/>
325                        <xsl:with-param name="content">
326                                These data were queried on: <xsl:value-of select="/QUERY_MODULE/REQUEST/FINISHED_DATE"/>
327                                <xsl:if test="boolean(/QUERY_MODULE/IBISQ_QUERY_RESULT/DATASET/MODIFIED_DATE)">
328                                        <br/>
329                                        The dataset was last updated on:  <xsl:value-of select="/QUERY_MODULE/IBISQ_QUERY_RESULT/DATASET/MODIFIED_DATE"/>
330                                </xsl:if>
331                        </xsl:with-param>
332                        <xsl:with-param name="contentBlockType" select="$Page.contentBlockType"/>
333                        <xsl:with-param name="expandableContentShow" select="true()"/>
334                </xsl:call-template>
335                <br/>
336
337                <a href="#top" class="Top">Top</a>
338               
339               
340               
341               
342               
343
344<xsl:call-template name="SiteSpecific.showAnnouncement"/>               
345               
346               
347               
348               
349               
350               
351               
352        </xsl:template>
353
354
355        <!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ TEMPLATES ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
356
357</xsl:stylesheet>
358<!-- ============================= End of File ============================= -->
359
Note: See TracBrowser for help on using the repository browser.