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

Last change on this file since 17632 was 17632, checked in by GarthBraithwaite_STG, 4 years ago

view, db - added RateAAInj100K, dim/proxy_flag. Removed filtering from grids. Fixed selection map for CP buider L.Control.Layersets. xslt dim/values/value normalize space, updated IPV map title. CP xslt navigation and cleanup. Added export left nav options.

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