source: main/trunk/ibisph-view/src/main/webapp/xslt/html/indicator/profile/view/Page.xslt @ 17416

Last change on this file since 17416 was 17416, checked in by Garth Braithwaite, 4 years ago

java, view, admin - Cleaned out old, unused SVG map js code. More work on view xml static model maps. Misc community and user access_denied.jsp ui updates. Refactored ibis.xslt into sub xslt files to manage better. Refactored interactive, kendo, leaflet, graphic xslt code into XML, JSON, and graphic.xslt.

File size: 22.4 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:xs  ="http://www.w3.org/2001/XMLSchema"
6        xmlns:ibis="http://www.ibisph.org"
7
8        exclude-result-prefixes="ibis xs xsl"
9>
10        <xsl:import href="../../../../xml/Interactive.xslt"/>
11        <xsl:import href="../../../../json/Dataset.xslt"/>
12        <xsl:import href="../../../../json/Kendo.xslt"/>
13        <xsl:import href="../../../../json/LeafletMap.xslt"/>
14        <xsl:import href="../../../Graphic.xslt"/>
15        <xsl:import href="../Indicator.xslt"/>
16        <xsl:import href="../Page.xslt"/>
17
18
19        <ibis:doc>
20                <name>html/indicator/profile/view/Page</name>
21                <summary>Interactive indicator profile view page</summary>
22                <description>
23                        Specific XSLT used to create the indicator profile view page.
24                </description>
25        </ibis:doc>
26
27
28
29        <xsl:param name="Page.pageTitle" ibis:doc="Page's title text based on the 'INDICATOR/TITLE' element.">
30                Health Indicator Report - <xsl:value-of select="ibis:getIndicatorTitle($indicator)"/>
31        </xsl:param>
32        <xsl:param name="Page.sectionsTitle" ibis:doc="Page's content block title text based on the 'INDICATOR/TITLE' element.">
33                Health Indicator Report of <xsl:value-of select="ibis:getIndicatorTitle($indicator)"/>
34        </xsl:param>
35
36        <xsl:param name="Page.comparisonDimensionName"  select="'GeoState'"/>
37        <xsl:param name="Page.comparisonDimensionValue" select="'35'"/>
38
39        <xsl:param name="Indicator.contentBlockType" select="'fixed'"/>
40        <xsl:param name="Indicator.contentBlockTitleLevel" select="3"/>
41
42
43
44        <xsl:template name="Page.sectionsContent" ibis:doc="Main page content template that determines if IP or Surrogate.">
45                <xsl:choose>
46                        <xsl:when test="0 = string-length($indicatorView/SURROGATE_VIEW_URL)">
47                                <xsl:call-template name="Page.interativeContent">
48                                        <xsl:with-param name="indicatorView" select="$indicatorView"/>
49                                </xsl:call-template>
50                        </xsl:when>
51                        <xsl:otherwise>
52                                <xsl:call-template name="Page.insertAJAXContent">
53                                        <xsl:with-param name="sourceContentURL" select="$indicatorView/SURROGATE_VIEW_URL"/>
54                                </xsl:call-template>
55                        </xsl:otherwise>
56                </xsl:choose>
57        </xsl:template>
58
59
60        <xsl:template name="Page.interativeContent"
61                ibis:doc="Main interactive sections content template."
62        >
63                <xsl:param name="indicatorView"/>
64
65                <xsl:variable name="measureName" select="$indicatorView/MEASURE_NAME"/>
66                <xsl:variable name="measure"     select="($indicator//MEASURE[NAME = $measureName])[1]"/>
67
68                <xsl:call-template name="ContentContainer.expandable">
69                        <xsl:with-param name="title"   select="'Why Is This Important?'"/>
70                        <xsl:with-param name="content" select="$indicator/WHY_IMPORTANT"/>
71                        <xsl:with-param name="description" select="'Text that describes why this indicator is important to the populations overall health'"/>
72                        <xsl:with-param name="show"    select="true()"/>
73                        <xsl:with-param name="additionalClasses" select="'Text'"/>
74                        <xsl:with-param name="addWikiAttribute"  select="true()"/>
75                </xsl:call-template>
76
77                <xsl:variable name="showMap" select="ibis:Graphic.showMap($indicatorView/MAP_NAME)"/> 
78                <xsl:if test="$showMap">
79                        <xsl:call-template name="ContentContainer.expandable">
80                                <xsl:with-param name="title" select="'Map'"/>
81                                <xsl:with-param name="content">
82                                        <xsl:call-template name="Graphic.mapContainer">
83                                                <xsl:with-param name="containerID" select="'map'"/>
84                                                <xsl:with-param name="title" select="ibis:getMapTitle($indicator, $indicatorView, $Indicator.dimensions)"/>
85                                        </xsl:call-template>
86                                        <xsl:call-template name="Indicator.contentBlock">
87                                                <xsl:with-param name="content" select="$indicatorView/MAP_NARRATIVE"/>
88                                                <xsl:with-param name="contentBlockType" select="'fixed'" tunnel="yes"/>
89                                        </xsl:call-template>
90                                </xsl:with-param>
91                                <xsl:with-param name="show" select="true()"/>
92                                <xsl:with-param name="addWikiAttribute" select="false()"/>
93                                <xsl:with-param name="description" select="'Choropleth/thematic map.'"/>
94                        </xsl:call-template>
95                </xsl:if>
96
97                <xsl:if test="ibis:Graphic.showChart($indicatorView/CHART_NAME)">
98                        <xsl:call-template name="ContentContainer.expandable">
99                                <xsl:with-param name="title" select="if('Line'=$indicatorView/CHART_NAME) then 'Trend' else 'Chart'"/>
100                                <xsl:with-param name="content">
101                                        <xsl:call-template name="Graphic.chartContainer">
102                                                <xsl:with-param name="containerID" select="'chart'"/>
103                                                <xsl:with-param name="title" select="ibis:getChartTitle($indicator, $indicatorView, $Indicator.dimensions)"/>
104                                        </xsl:call-template>
105                                        <xsl:call-template name="Indicator.contentBlock">
106                                                <xsl:with-param name="content" select="$indicatorView/CHART_NARRATIVE"/>
107                                                <xsl:with-param name="contentBlockType" select="'fixed'" tunnel="yes"/>
108                                        </xsl:call-template>
109                                </xsl:with-param>
110                                <xsl:with-param name="show" select="not($showMap)"/>
111                                <xsl:with-param name="addWikiAttribute" select="false()"/>
112                        </xsl:call-template>
113                </xsl:if>
114
115                <xsl:call-template name="ContentContainer.expandable">
116                        <xsl:with-param name="title" select="'Supplemental Graphic'"/>
117                        <xsl:with-param name="content">
118                                <xsl:call-template name="Indicator.supplementalImage">
119                                        <xsl:with-param name="indicatorView" select="$indicatorView"/>
120                                </xsl:call-template>
121                        </xsl:with-param>
122                        <xsl:with-param name="show" select="true()"/>
123                        <xsl:with-param name="addWikiAttribute" select="false()"/>
124                </xsl:call-template>
125
126                <xsl:call-template name="ContentContainer.expandable">
127                        <xsl:with-param name="title" select="'Data Notes'"/>
128                        <xsl:with-param name="content">
129                                <xsl:call-template name="Indicator.dataNotes">
130                                        <xsl:with-param name="title"         select="''"/>
131                                        <xsl:with-param name="measure"       select="$Indicator.measure"/>
132                                        <xsl:with-param name="indicatorView" select="$indicatorView"/>
133                                </xsl:call-template>
134                        </xsl:with-param>
135                        <xsl:with-param name="show" select="true()"/>
136                </xsl:call-template>
137
138                <xsl:call-template name="ContentContainer.expandable">
139                        <xsl:with-param name="title" select="'Data Table'"/>
140                        <xsl:with-param name="content">
141                                <div class="Graphic Grid ScrollableContainer">
142                                        <div id="grid"></div>
143<br/><br/>
144GARTH TODO: Data table footnote needs to include the VALUE ATTRIBUTE codes and titles.
145<br/><br/>
146                                </div>
147                        </xsl:with-param>
148                        <xsl:with-param name="show" select="false()"/>
149                        <xsl:with-param name="addWikiAttribute" select="false()"/>
150                </xsl:call-template>
151
152
153                <xsl:call-template name="ContentContainer.expandable">
154                        <xsl:with-param name="title" select="'Data Definitions &amp; Sources'"/>
155                        <xsl:with-param name="content">
156                                <xsl:call-template name="Indicator.definition"/>
157                                <xsl:call-template name="Indicator.howCalculated"/>
158                                <xsl:call-template name="Indicator.dataSources"/>
159                        </xsl:with-param>
160                        <xsl:with-param name="show"        select="false()"/>
161                        <xsl:with-param name="description" select="'Metadata for this health indicator.'"/>
162                </xsl:call-template>
163
164
165                <xsl:call-template name="ContentContainer.expandable">
166                        <xsl:with-param name="title" select="'Health Objectives and Targets'"/>
167                        <xsl:with-param name="content">
168                                <xsl:call-template name="Indicator.initiatives"/>
169                                <xsl:call-template name="Indicator.otherObjectives"/>
170                        </xsl:with-param>
171                        <xsl:with-param name="description" select="'Goals and objectives for this health indicator.'"/>
172                </xsl:call-template>
173
174                <xsl:call-template name="ContentContainer.expandable">
175                        <xsl:with-param name="title" select="'Current Outlook'"/>
176                        <xsl:with-param name="content">
177                                <xsl:call-template name="Indicator.howDoing"/>
178                                <xsl:call-template name="Indicator.howCompare"/>
179                        </xsl:with-param>
180                        <xsl:with-param name="description" select="'How are we doing, how do we compare.'"/>
181                </xsl:call-template>
182
183                <xsl:call-template name="ContentContainer.expandable">
184                        <xsl:with-param name="title" select="'Health Improvement Resources'"/>
185                        <xsl:with-param name="content">
186                                <xsl:call-template name="Indicator.whatDoing"/>
187                                <xsl:call-template name="Indicator.evidenceBasedPractices"/>
188                                <xsl:call-template name="Indicator.availableServices"/>
189                                <xsl:call-template name="Indicator.moreResources"/>
190                                <xsl:call-template name="Indicator.otherInformation"/>
191                        </xsl:with-param>
192                        <xsl:with-param name="description" select="'Other related information and resources.'"/>
193                </xsl:call-template>
194
195                <xsl:call-template name="ContentContainer.expandable">
196                        <xsl:with-param name="title" select="'References'"/>
197                        <xsl:with-param name="content">
198                                <xsl:call-template name="Indicator.footnoteReferences"/>
199                        </xsl:with-param>
200                        <xsl:with-param name="description" select="'References that may / might not be cited on this page.'"/>
201                </xsl:call-template>
202
203                <xsl:call-template name="Indicator.allDates"/>
204
205                <xsl:call-template name="Page.leafletKendoScript">
206                        <xsl:with-param name="indicatorView" select="$indicatorView"/>
207                        <xsl:with-param name="measure"       select="$Indicator.measure"/>
208                        <xsl:with-param name="showMap"       select="$showMap"/>
209                </xsl:call-template>
210        </xsl:template>
211
212
213
214        <xsl:template name="Page.leafletKendoScript" ibis:doc="Provides the kendo and leaflet javascript.">
215                <xsl:param name="indicatorView"/>
216                <xsl:param name="measure"/>
217                <xsl:param name="showMap" select="ibis:Graphic.showMap($indicatorView/MAP_NAME)"/> 
218
219                <xsl:if test="$showMap">
220                        <xsl:call-template name="Graphic.choroplethMapJavaScript"/>
221                </xsl:if>
222                <xsl:variable name="measureValueFormatPattern" select="($Indicator.valueTypes/VALUE_TYPE[NAME = $measure/VALUE_TYPE_NAME]/XSLT_FORMAT_PATTERN)[1]"/>
223
224                <xsl:variable name="recordDimensionFields">
225                        <xsl:call-template name="Interactive.getRecordDimensionFields">
226                                <xsl:with-param name="dimensions"      select="$Indicator.dimensions"/>
227                                <xsl:with-param name="dimensionUsages" select="$indicatorView/DIMENSION_USAGES"/>
228                        </xsl:call-template>
229                </xsl:variable>
230
231                <xsl:variable name="ancillaryValueNames" select="distinct-values($indicator/DATASETS/DATASET[NAME = $indicatorView/DATASET_NAMES/DATASET_NAME]/ANCILLARY_VALUE_USAGES/ANCILLARY_VALUE_USAGE/NAME)"/>
232                <xsl:variable name="recordAncillaryValueFields">
233                        <xsl:call-template name="Interactive.getIndicatorRecordAncillaryValueFields">
234                                <xsl:with-param name="indicator"     select="$indicator"/>
235                                <xsl:with-param name="indicatorView" select="$indicatorView"/>
236                                <xsl:with-param name="ancillaryValues" select="$Indicator.ancillaryValues"/>
237                                <xsl:with-param name="ancillaryValueNames" select="$ancillaryValueNames"/>
238                                <xsl:with-param name="measureValueFormatPattern" select="$measureValueFormatPattern"/>
239                        </xsl:call-template>
240                </xsl:variable>
241
242                <xsl:variable name="datasetRecords" select="$indicator/DATASETS/DATASET[NAME = $indicatorView/DATASET_NAMES/DATASET_NAME]/RECORDS"/>
243                <xsl:variable name="indicatorViewDatasetRecords">
244                        <xsl:call-template name="Interactive.getIndicatorViewDatasetRecords">
245                                <xsl:with-param name="datasetRecords"  select="$datasetRecords"/>
246                                <xsl:with-param name="dimensionUsages" select="$indicatorView/DIMENSION_USAGES"/>
247                                <xsl:with-param name="recordDimensionFields" select="$recordDimensionFields"/>
248                        </xsl:call-template>
249                </xsl:variable>
250
251<!--
252<xsl:message select="'************** GARTH'"/>
253<xsl:message select="$indicatorViewDatasetRecords"/>
254
255<xsl:message select="concat('Page.leafletKendoScript - Records count: ', count($indicatorViewDatasetRecords/*), ', recordDimensionFields: ', count($recordDimensionFields/NAME))"/>
256<xsl:message select="'============= start of IV datasetRecords'"/>
257<xsl:message select="$recordDimensionFields"/>
258<xsl:message select="'============= end of IV datasetRecords'"/>
259-->
260
261                <!-- tried doing jsonp tech but callback func must be defined before doing the script jsonp
262                        so you'd have the variable = null, call back, end of script, include jsonp, then contructor
263                        script.  Very messy - decided just to do simple var and include it.
264                -->
265                <script type="text/javascript">
266                        var records =
267                        [<xsl:text>&#10;</xsl:text>
268                                <xsl:call-template name="Dataset.getDatasetRecordsJSON">
269                                        <xsl:with-param name="dimensions"                 select="$Indicator.dimensions"/>
270                                        <xsl:with-param name="datasetRecords"             select="$indicatorViewDatasetRecords"/>
271                                        <xsl:with-param name="recordDimensionFields"      select="$recordDimensionFields"/>
272                                        <xsl:with-param name="recordAncillaryValueFields" select="$recordAncillaryValueFields"/>
273                                        <xsl:with-param name="measureValueFormatPattern"  select="$measureValueFormatPattern"/>
274                                </xsl:call-template>
275                        ];
276
277                        var kendoDataSource = new kendo.data.DataSource(
278                                <xsl:call-template name="Kendo.dataSourceConstructorJSON">
279                                        <xsl:with-param name="javascriptRecordArrayVariableName" select="'records'"/>
280                                        <xsl:with-param name="recordDimensionFields"      select="$recordDimensionFields"/>
281                                        <xsl:with-param name="recordAncillaryValueFields" select="$recordAncillaryValueFields"/>
282                                </xsl:call-template>
283                        );
284
285                        var kendoGridConstructorJSON = $.extend
286                        (true, {}
287                                ,<xsl:call-template name="Kendo.baseGridJSON"/>
288                                ,<xsl:call-template name="Kendo.namedConfigurationJSON">
289                                        <xsl:with-param name="configurationName" select="'IndicatorProfileGrid'"/>
290                                </xsl:call-template>
291                                ,<xsl:call-template name="Kendo.requestGridJSON">
292                                        <xsl:with-param name="kendoDataSourceJavascriptVariableName" select="'kendoDataSource'"/>
293                                        <xsl:with-param name="measure" select="$measure"/>
294                                        <xsl:with-param name="recordDimensionFields"      select="$recordDimensionFields"/>
295                                        <xsl:with-param name="recordAncillaryValueFields" select="$recordAncillaryValueFields"/>
296<!-- GARTH TODO: Total row, note and label,
297NEED VALUE ATTRIBUTE SUPPORT AS WELL.
298-->
299<xsl:with-param name="showFooterRow"   select="false()"/>
300<xsl:with-param name="showNoteColumn"  select="false()"/>
301<xsl:with-param name="showLabelColumn" select="false()"/>
302                                </xsl:call-template>
303                        );
304
305
306                        var kendoChartConstructorJSON = $.extend
307                        (true, {}
308                                ,<xsl:call-template name="Kendo.baseChartJSON"/>
309                                ,<xsl:call-template name="Kendo.namedConfigurationJSON">
310                                        <xsl:with-param name="configurationName" select="$indicatorView/CHART_NAME"/>
311                                </xsl:call-template>
312                                ,<xsl:call-template name="Kendo.requestChartJSON">
313                                        <xsl:with-param name="kendoDataSourceJavascriptVariableName" select="'kendoDataSource'"/>
314                                        <xsl:with-param name="title"         select="ibis:getChartTitle($indicator, $indicatorView, $Indicator.dimensions)"/>
315                                        <xsl:with-param name="seriesTitle"   select="$recordDimensionFields/RECORD_DIMENSION_FIELD[USAGE='series']/TITLE"/>
316                                        <xsl:with-param name="categoryTitle" select="$recordDimensionFields/RECORD_DIMENSION_FIELD[USAGE='category']/TITLE"/>
317                                        <xsl:with-param name="valueTitle"    select="$measure/TITLE"/>
318
319                                        <xsl:with-param name="seriesFieldName"    select="$recordDimensionFields/RECORD_DIMENSION_FIELD[USAGE='series']/NAME"/>
320                                        <xsl:with-param name="categoryFieldName"  select="$recordDimensionFields/RECORD_DIMENSION_FIELD[USAGE='category']/NAME"/>
321
322                                        <xsl:with-param name="includeDatasetSeries" select="1 &lt; $recordDimensionFields/RECORD_DIMENSION_FIELD[USAGE='series']/VALUE_COUNT"/>
323                                        <xsl:with-param name="ancillaryValueNames"  select="$ancillaryValueNames"/>
324                                </xsl:call-template>
325                        );
326//console.debug("%o", kendoChartConstructorJSON);
327//console.log(JSON.stringify(kendoChartConstructorJSON,null,2)); 
328
329                        var $kendoGrid;
330                        var $kendoChart;
331                        var $leafletMap;
332                        $(document).ready(function()
333                        {
334                                $kendoGrid  = $("#grid").kendoGrid (kendoGridConstructorJSON);
335                                $kendoChart = $("#chart").kendoChart(kendoChartConstructorJSON);
336                                kendoDataSource.read();         // have to have after grid and chart because .autoBind = false.
337
338
339
340<!-- =====================================================
341// var firstSlot = $kendoChart.getKendoChart()._plotArea.axes[0].getSlot(0);
342// alert("first slot width" + firstSlot.width());
343
344<xsl:variable name="geoDimensionName" select="
345        if(0 != string-length($indicatorView/DEFAULT_GEOGRAPHY_DIM_NAME))
346        then $indicatorView/DEFAULT_GEOGRAPHY_DIM_NAME
347        else ($Indicator.dimensions/DIMENSION[
348                        exists(GEOGRAPHY_FLAG)
349                        and
350                        NAME = $indicatorView//DIMENSION_USAGE/NAME
351                ])[1]/NAME"
352/>
353
354<xsl:message select="$Indicator.dimensions/DIMENSION[exists(GEOGRAPHY_FLAG)]/NAME"/>
355<xsl:message select="exists($indicatorView/DIMENSION_USAGES/DIMENSION_USAGE[DIMENSION_NAME = $Indicator.dimensions/DIMENSION[exists(GEOGRAPHY_FLAG)]/NAME])"/>
356<xsl:message select="exists($indicatorView/DIMENSION_USAGES/DIMENSION_USAGE[DIMENSION_NAME = $Indicator.dimensions/DIMENSION[exists(GEOGRAPHY_FLAG)]/NAME])"/>
357<xsl:message select="exists($indicatorView/DIMENSION_USAGES/DIMENSION_USAGE[DIMENSION_NAME = $Indicator.dimensions/DIMENSION[exists(GEOGRAPHY_FLAG)]])"/>
358<xsl:message select="$Indicator.dimensions/DIMENSION[exists(GEOGRAPHY_FLAG)]/NAME"/>
359<xsl:message select="concat('Interactive - Show Map: ', $showMap, ', geoDimensionName:', $geoDimensionName)"/>
360
361<xsl:message select="'XXXXXXXXXXXXXXXXXXXXXXXXXXXXX interact.xslt'"/>
362<xsl:message select="$Page.comparisonDimensionName"/>
363<xsl:message select="$Page.comparisonDimensionValue"/>
364<xsl:with-param name="comparisonValue" select="$indicatorViewDatasetRecords/RECORD[ DIMENSIONS[ (2 = count(DIMENSION)) and DIMENSION[(NAME = $Page.comparisonDimensionName)     and (VALUE = $Page.comparisonDimensionValue)]]]/MEASURE/VALUE"/>
365
366Stuff to try when doing dashboard
367function dataSource_change(e) {
368  console.log(e);
369}
370kendoDataSource.bind("change", dataSource_change);
371select="$indicatorViewDatasetRecords/RECORD[ DIMENSIONS[ (2 = count(DIMENSION)) and DIMENSION[(NAME = $Page.comparisonDimensionName)     and (VALUE = $Page.comparisonDimensionValue)]]]/MEASURE/VALUE"/>
372
373**********************************************
374
375PROBLEM: "CATEGORY":"GeoCnty.4"
376                                                <xsl:with-param name="geoJSONName"      select="$indicatorView/MAP_DIMENSION_NAME"/>
377                                               
378******************
379probably need to geojson to have the geodim name + . + geodim value to uniquely ID the area.
380
381************ PROBLEM is that the QM only returns 1..31 and not GeoCnty.1
382
383The IP and QM dimension files are all 1..31
384
385So, need the field name then use the geotype and parse the .XXX from the end.
386Then in the QM will need to build the JSON fields the same way as we do with
387the IP - which is the right way to do it anyway so fields can be combined???
388
389*** also have issues with if 2d and 3d...
390        if mult series then drop down for that.
391        if mult constants then drop down for that as well.
392        when changed regen map.
393        Need to specify the category field name and value
394        Need to specify the series field name and value
395        Need to specify the constant field name and value
396       
397        GeoJSON GeoID Prefix to add when doing comparison???
398
399        <xsl:variable name="communityDatasets" select="$indicator/DATASETS/DATASET[DIMENSION_COMBINATIONS/DIMENSION_COMBINATION[not(DIMENSION_2/NAME) and DIMENSION_1/NAME = $communityDimensionName]]"/>
400        <xsl:variable name="communityDataset"  select="$communityDatasets[(MEASURE_NAME = $measureName) and DIMENSION_COMBINATIONS/DIMENSION_COMBINATION[PERIOD_DIMENSION/NAME = $periodName]]"/>
401        <xsl:variable name="stateRecord"       select="$communityDataset/RECORDS/RECORD[ DIMENSIONS[ (2 = count(DIMENSION)) and DIMENSION[(NAME = $stateDimensionName)     and (VALUE = $stateDimensionValue)]     and DIMENSION[(NAME = $periodName) and (VALUE = $periodValue)]]]"/>
402
403
404GARTH TODO:
405        <xsl:message select="'XXXXXXXXXXXXXXXXXXXXXXXXXXXXX'"/>
406<xsl:message select="$indicatorViewDatasetRecords[1]"/>
407
408
409
410<xsl:with-param name="dimensionFieldInclusionCriteria">
411records have the field names to filter.
412to include need field name and value.
413
414specifies the records held constant - This is to filter out not matching constant records
415
416for mouse overs, the title needs specifics - dimension title and dimension value title.
417        <DIMENSION><NAME>CONSTANT</NAME><VALUE>YearAll.2014</VALUE><TITLE>Year</TITLE><VALUE_TITLE>2014</VALUE_TITLE></DIMENSION>
418        <DIMENSION><NAME>SERIES</NAME><VALUE>Sex.1</VALUE><TITLE>Sex</TITLE><VALUE_TITLE>Male</VALUE_TITLE></DIMENSION>
419</xsl:with-param>
420
421==========================================================================
422<xsl:message select="$indicatorViewDatasetRecords/RECORD"/>
423-->
424
425
426
427
428<xsl:message select="'XXXXXXXXXXXXXXXXXXXXXXXXXXXXX interact.xslt'"/>
429<xsl:message select="$indicatorView/MAP_DIMENSION_NAME"/>
430<xsl:message select="$recordDimensionFields/RECORD_DIMENSION_FIELD[DIMENSION_NAMES/DIMENSION_NAME = $indicatorView/MAP_DIMENSION_NAME]/NAME"/> 
431
432
433                        <xsl:if test="$showMap">
434                                var leafletMapConstructorJSON = $.extend
435                                (true, {}
436,<xsl:call-template name="LeafletMap.baseJSON"/>
437,<xsl:call-template name="LeafletMap.namedConfigurationJSON">
438        <xsl:with-param name="configurationName" select="$indicatorView/MAP_NAME"/>
439</xsl:call-template>
440,<xsl:call-template name="LeafletMap.requestJSON"> 
441<!--    <xsl:with-param name="mapTitle"      select="'Choropleth'"/> -->
442        <xsl:with-param name="mapType"       select="'choropleth'"/>
443</xsl:call-template>
444,<xsl:call-template name="LeafletMap.choroplethJSON">
445        <xsl:with-param name="javascriptRecordArrayVariableName" select="'records'"/>
446        <xsl:with-param name="geoJSONName"      select="$indicatorView/MAP_DIMENSION_NAME"/>
447        <xsl:with-param name="geoIDFieldName"   select="$recordDimensionFields/RECORD_DIMENSION_FIELD[DIMENSION_NAMES/DIMENSION_NAME = $indicatorView/MAP_DIMENSION_NAME]/NAME"/> 
448        <xsl:with-param name="geoIDFieldValuePrefixToRemove"   select="concat($indicatorView/MAP_DIMENSION_NAME, '.')"/>
449        <xsl:with-param name="measureValueFieldName" select="'MeasureValue'"/>
450        <xsl:with-param name="legendTitle"   select="$measure/TITLE"/>
451        <xsl:with-param name="geoTypeTitle"  select="ibis:getDimensionTitle($indicator//DIMENSIONS/DIMENSION[NAME = $indicatorView/MAP_DIMENSION_NAME])"/>
452        <xsl:with-param name="reverseColors" select="$measure/DESIRABLE_VALUE = 1"/>
453        <xsl:with-param name="desirableIndexValue" select="$measure/DESIRABLE_VALUE"/>
454
455<xsl:with-param name="comparisonValue" select="$indicatorViewDatasetRecords/RECORD[ DIMENSIONS[ (2 = count(DIMENSION)) and DIMENSION[(NAME = $Page.comparisonDimensionName)     and (VALUE = $Page.comparisonDimensionValue)]]]/MEASURE/VALUE"/>
456
457</xsl:call-template>
458                                );
459                                $leafletMap = $("#map").leaflet(leafletMapConstructorJSON);
460                        </xsl:if>
461
462                        }); //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ End of Function ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
463
464                </script>
465        </xsl:template>
466
467</xsl:stylesheet>
468<!-- ============================= End of File ============================= -->
Note: See TracBrowser for help on using the repository browser.