Changeset 17771 in main


Ignore:
Timestamp:
01/18/19 10:07:54 (4 years ago)
Author:
GarthBraithwaite_STG
Message:

view - temp commit - middle of ajax block content dev.

Location:
trunk/ibisph-view/src
Files:
1 added
2 deleted
11 edited

Legend:

Unmodified
Added
Removed
  • trunk/ibisph-view/src/content/xml/html_content/about/Welcome.xml

    r16715 r17771  
    171171                valuable in helping us provide a site that meets the public's and your data needs.
    172172                <br/><br/>
     173<!--
     174                <iframe src="http://localhost/ibisph-view/indicator/chart/AlcoholChrHvyDrinkAdult.Cnty.html"></iframe>
     175<div w3-include-html="http://localhost/ibisph-view/indicator/chart/AlcoholChrHvyDrinkAdult.Cnty.html"></div>
     176                                        $("#garth").html( $(data).find("#AlcoholChrHvyDrinkAdult_Cnty_chart").html() );
     177-->
     178<div id="garth">GARTH</div><br/>
     179<div id="garth1">GARTH1</div><br/>
     180<div id="garth2">GARTH2</div><br/>
     181<style>
     182#garth1x .Graphic.Map, .Graphic.Chart
     183{
     184    width: 50%;
     185        min-width: 50%;
     186}
     187</style>
     188                <script>
     189                        $.ajax({
     190                                url: "/ibisph-view/indicator/contentblocks/AlcoholChrHvyDrinkAdult.Cnty.html"
     191                                ,type: "GET"
     192                                ,success: function(data)
     193                                {
     194console.log( 'dataSources: ' + $(data).filter("#dataSources").html() );
     195//console.log( 'HOW DOING: ' + data );
     196                                        $("#garth").html( $(data).filter("#dataSources").html() );
     197                                }
     198                        });
     199                        $.get("/ibisph-view/indicator/contentblocks/AlcoholChrHvyDrinkAdult.Year.NM_US.html",
     200                                function(data)
     201                                {
     202console.log( 'WHY IMPORTANT FIND: ' + $(data).find("why_important").html() );
     203//console.log( 'WHY IMPORTANT FILTER: ' + $(data).filter("#whyImportant").html() );
     204                                        $("#garth1").html( $(data).find("why_important").html() );
     205                                }
     206                        );
     207                        $.get("/ibisph-view/indicator/contentblocks/AlcoholChrHvyDrinkAdult.Year.NM_US.html?ChartName=GroupedHorzBar",
     208                                function(data2)
     209                                {
     210console.log( 'Garth 2: ' );
     211                                        $("#garth2").html(  $(data2).filter("#garth").html()  );
     212                                }
     213                        );
     214                </script>
     215
     216<!--           
     217                <iframe src="http://localhost/ibisph-view/indicator/kendochart/AlcoholChrHvyDrinkAdult.Cnty.html"></iframe>
     218-->
    173219        </CONTENT>
    174220</HTML_CONTENT>
  • trunk/ibisph-view/src/main/webapp/WEB-INF/config/spring/SiteSpecific.xml

    r17645 r17771  
    129129                                <entry key="/indicator/related/*/*.html"     value-ref="indicatorRelatedIndicatorsController"/>
    130130                                <entry key="/indicator/resources/*.html"     value-ref="indicatorResourcesController"/>
    131                                 <entry key="/indicator/view/numbers/*.html"  value-ref="indicatorViewNumbersController"/>
     131                                <entry key="/indicator/contentblocks/*.html" value-ref="indicatorContentBlocksController"/>
    132132
    133133                                <entry key="/indicator/preview/*.html"       value-ref="indicatorPreviewController"/>
     
    187187
    188188
    189                                 <!-- R E P O R T -->
     189                                <!-- R E P O R T
    190190                                <entry key="/report/*/summary/*.html"       value-ref="reportIndicatorViewController"/>
    191191                                <entry key="/report/*/complete/*.html"      value-ref="reportIndicatorViewController"/>
    192192                                <entry key="/report/highligh/**/*.html"     value-ref="reportIndicatorViewController"/>
     193-->
     194                                <!-- R E P O R T -->
     195                                <entry key="/report/*/*/*.html"                   value-ref="reportIndicatorViewController"/>
     196                                <entry key="/report/*/*.html"                     value-ref="reportHTMLContentController"/>
    193197
    194198
  • trunk/ibisph-view/src/main/webapp/WEB-INF/config/spring/indicator.xml

    r17645 r17771  
    145145                <property name="view" ref="indicatorResourcesView"/>
    146146        </bean>
    147         <bean id="indicatorViewNumbersController" parent="indicatorProfileControllerProperties">
    148                 <property name="view" ref="indicatorViewNumbersView"/>
    149         </bean>
     147
     148
     149        <bean id="indicatorContentBlocksController" parent="indicatorProfileControllerProperties">
     150                <property name="view" ref="indicatorContentBlocksView"/>
     151        </bean>
     152
    150153
    151154
     
    189192
    190193
    191 
    192194        <!--  V I E W S  -->
    193195        <bean id="indicatorAlphabeticalIndexView" parent="commonXSLTTransformationView">
     
    212214                <property name="XSLTPathAndFilename" value="html/indicator/profile/related_indicators/RelatedIndicatorsPage.xslt"/>
    213215        </bean>
    214         <bean id="indicatorViewNumbersView" parent="commonXSLTTransformationView">
    215                 <property name="XSLTPathAndFilename" value="html/indicator/profile/view_numbers/ViewNumbersPage.xslt"/>
    216         </bean>
    217 
     216
     217        <bean id="indicatorContentBlocksView" parent="commonXSLTTransformationView">
     218                <property name="XSLTPathAndFilename" value="html/indicator/profile/ContentBlocks.xslt"/>
     219        </bean>
    218220</beans>
  • trunk/ibisph-view/src/main/webapp/css/Graphic.css

    r16767 r17771  
    327327}
    328328
     329#content section .Graphic footer
     330{
     331        color:                          inherit;
     332        font-size:                      0.8rem;
     333        font-weight:            normal;
     334        text-align:             left;
     335}
     336
    329337/*============================ End of Style Sheet ============================*/
  • trunk/ibisph-view/src/main/webapp/css/_topic.css

    r17025 r17771  
    133133        border-radius:          5px 5px 0 0;
    134134}
     135
     136.TopicSelections .Block div
     137{
     138text-overflow: ellipsis;
     139        max-height:             300px;
     140        overflow:               hidden;
     141}
     142
     143
    135144.TopicSelections .Block > *:not(h3)
    136145{
  • trunk/ibisph-view/src/main/webapp/xslt/html/Graphic.xslt

    r17722 r17771  
    122122                <xsl:param name="title"/>
    123123                <xsl:param name="defaultContent"/>
     124                <xsl:param name="footerContent" ibis:doc="typically chart narrative."/>
    124125
    125126                <div class="Graphic Chart">
    126127                        <xsl:if test="0 != string-length($title)"><h3><xsl:value-of select="$title"/></h3></xsl:if>
    127128                        <div id="{$containerID}"><xsl:copy-of select="$defaultContent"/></div>
     129                        <xsl:if test="0 != string-length($footerContent)">
     130                        <footer>
     131                                <xsl:copy-of select="$footerContent"/>
     132                        </footer>
     133                        </xsl:if>
     134                </div>
     135        </xsl:template>
     136
     137       
     138        <xsl:template name="Graphic.gridContainer" ibis:doc="Kendo Grid container HTML code.">
     139                <xsl:param name="containerID" select="'grid'" ibis:doc="Value that is used as an ID for the grid.  Default = 'grid'."/>
     140                <xsl:param name="valueAttributeNames"/>
     141                <xsl:param name="valueAttributes"/>
     142
     143                <div class="Graphic Grid ScrollableContainer">
     144                        <div id="{$containerID}"></div>
     145                        <xsl:call-template name="Graphic.valueAttributeFootnote">
     146                                <xsl:with-param name="valueAttributeNames" select="$valueAttributeNames"/>
     147                                <xsl:with-param name="valueAttributes"     select="$valueAttributes"/>
     148                        </xsl:call-template>
    128149                </div>
    129150        </xsl:template>
     
    133154                <xsl:param name="containerID" select="'map'" ibis:doc="Value that is used as an ID for map.  Default = 'map'."/>
    134155                <xsl:param name="title"/>
     156                <xsl:param name="defaultContent"/>
     157                <xsl:param name="footerContent" ibis:doc="typically map narrative."/>
    135158
    136159                <div class="Graphic Map">
    137160                        <xsl:if test="string-length($title) != 0"><h3><xsl:value-of select="$title"/></h3></xsl:if>
    138                         <div id="{$containerID}"></div>
    139                 </div><br/>
     161                        <div id="{$containerID}"><xsl:copy-of select="$defaultContent"/></div>
     162                        <xsl:if test="0 != string-length($footerContent)">
     163                        <footer>
     164                                <xsl:copy-of select="$footerContent"/>
     165                        </footer>
     166                        </xsl:if>
     167                </div>
    140168        </xsl:template>
    141169
     
    166194                <script type="text/javascript" src="{$ibis.urlPrefix}js/L.Map.ContextMenu.js"/>
    167195        </xsl:template>
     196
     197
     198        <xsl:template name="Graphic.valueAttributeFootnote">
     199                <xsl:param name="valueAttributeNames"/>
     200                <xsl:param name="valueAttributes"/>
     201
     202                <xsl:if test="0 != count($valueAttributeNames)">
     203                        <footer class="Footnotes ValueAttribute">
     204                                <ul>
     205                                        <xsl:for-each select="$valueAttributes//VALUE_ATTRIBUTE">
     206                                                <xsl:sort select="SORT_ORDER" order="ascending" data-type="number"/>
     207                                                <xsl:if test="exists(current()[NAME = $valueAttributeNames])">
     208                                        <li>
     209                                                <span><xsl:value-of select="CODE"/></span>
     210                                                <span><xsl:value-of select="DEFINITION"/></span>
     211                                        </li>
     212                                                </xsl:if>
     213                                        </xsl:for-each>
     214                                </ul>
     215                        </footer>
     216                </xsl:if>
     217        </xsl:template>
     218
     219
     220
     221        <xsl:template name="Graphic.leafletKendoScript" ibis:doc="Provides the kendo and leaflet javascript.">
     222                <xsl:param name="scriptContainerID" select="'leafletKendoScript'"/>
     223                <xsl:param name="dimensions"/>
     224                <xsl:param name="datasetRecords"/>
     225                <xsl:param name="recordDimensionFields"/>
     226                <xsl:param name="recordAncillaryValueFields"/>
     227
     228                <xsl:param name="measure"/>
     229                <xsl:param name="measureValueFormatPattern"/>
     230
     231                <xsl:param name="recordsJavascriptVariableName"         select="'records'"/>
     232                <xsl:param name="leafletMapJavascriptVariableName"      select="'leafletMap'"/>
     233                <xsl:param name="kendoDataSourceJavascriptVariableName" select="'kendoDataSource'"/>
     234                <xsl:param name="kendoGridJavascriptVariableName"       select="'kendoGrid'"/>
     235                <xsl:param name="kendoChartJavascriptVariableName"      select="'kendoChart'"/>
     236
     237                <xsl:param name="showMap"   select="false()"/>
     238                <xsl:param name="mapName"/>
     239                <xsl:param name="mapContainerID" select="'map'"/>
     240                <xsl:param name="geoJSONName"/>
     241                <xsl:param name="geoIDFieldName"/>
     242                <xsl:param name="geoIDFieldValuePrefixToRemove"/>
     243                <xsl:param name="geoTypeTitle"/>
     244                <xsl:param name="mapComparisonValue"/>
     245
     246                <xsl:param name="showGrid" select="false()"/>
     247                <xsl:param name="gridName"/>
     248                <xsl:param name="gridContainerID" select="'grid'"/>
     249                <xsl:param name="showValueAttributeColumn" select="false()"/>
     250                <xsl:param name="showLabelColumn"          select="false()"/>
     251                <xsl:param name="showNoteColumn"           select="false()"/>
     252
     253                <xsl:param name="showChart" select="false()"/>
     254                <xsl:param name="chartName"/>
     255                <xsl:param name="chartContainerID" select="'chart'"/>
     256                <xsl:param name="chartTitle"/>
     257
     258                <xsl:param name="baseExportFilename" select="'export'"/>
     259
     260
     261                <script type="text/javascript" src="{$ibis.urlPrefix}js/jszip.js"/>
     262                <script type="text/javascript" id="{$scriptContainerID}">
     263                        var <xsl:value-of select="$recordsJavascriptVariableName"/> =
     264                        [<xsl:text>&#10;</xsl:text>
     265                                <xsl:call-template name="Dataset.getDatasetRecordsJSON">
     266                                        <xsl:with-param name="dimensions"                 select="$dimensions"/>
     267                                        <xsl:with-param name="datasetRecords"             select="$datasetRecords"/>
     268                                        <xsl:with-param name="recordDimensionFields"      select="$recordDimensionFields"/>
     269                                        <xsl:with-param name="recordAncillaryValueFields" select="$recordAncillaryValueFields"/>
     270                                        <xsl:with-param name="measureValueFormatPattern"  select="$measureValueFormatPattern"/>
     271                                </xsl:call-template>
     272                        ];
     273
     274                        <xsl:if test="$showMap">
     275                        var <xsl:value-of select="$leafletMapJavascriptVariableName"/>ConstructorJSON = $.extend
     276                                (true, {}
     277,<xsl:call-template name="LeafletMap.baseJSON"/>
     278,<xsl:call-template name="LeafletMap.namedConfigurationJSON">
     279        <xsl:with-param name="configurationName" select="$mapName"/>
     280</xsl:call-template>
     281,<xsl:call-template name="LeafletMap.requestJSON">
     282<!--    <xsl:with-param name="mapTitle"      select="'Choropleth'"/> -->
     283        <xsl:with-param name="mapType"       select="'choropleth'"/>
     284</xsl:call-template>
     285,<xsl:call-template name="LeafletMap.choroplethJSON">
     286        <xsl:with-param name="javascriptRecordArrayVariableName" select="'records'"/>
     287        <xsl:with-param name="geoJSONName"    select="$geoJSONName"/>
     288        <xsl:with-param name="geoIDFieldName" select="$geoIDFieldName"/>
     289        <xsl:with-param name="geoIDFieldValuePrefixToRemove" select="$geoIDFieldValuePrefixToRemove"/>
     290        <xsl:with-param name="legendTitle"    select="$measure/TITLE"/>
     291        <xsl:with-param name="geoTypeTitle"   select="$geoTypeTitle"/>
     292        <xsl:with-param name="reverseColors"  select="$measure/DESIRABLE_VALUE = 1"/>
     293        <xsl:with-param name="desirableIndexValue" select="$measure/DESIRABLE_VALUE"/>
     294        <xsl:with-param name="comparisonValue" select="$mapComparisonValue"/>
     295</xsl:call-template>
     296                                );
     297                        </xsl:if>
     298
     299                        <xsl:if test="$showChart or $showGrid">
     300                        var <xsl:value-of select="$kendoDataSourceJavascriptVariableName"/> = new kendo.data.DataSource(
     301                                <xsl:call-template name="Kendo.dataSourceConstructorJSON">
     302                                        <xsl:with-param name="javascriptRecordArrayVariableName" select="$recordsJavascriptVariableName"/>
     303                                        <xsl:with-param name="recordDimensionFields"      select="$recordDimensionFields"/>
     304                                        <xsl:with-param name="recordAncillaryValueFields" select="$recordAncillaryValueFields"/>
     305                                </xsl:call-template>
     306                        );
     307                        </xsl:if>
     308
     309                        <xsl:if test="$showGrid">
     310                        var <xsl:value-of select="$kendoGridJavascriptVariableName"/>ConstructorJSON = $.extend
     311                        (true, {}
     312                                ,<xsl:call-template name="Kendo.baseGridJSON"/>
     313                                ,<xsl:call-template name="Kendo.namedConfigurationJSON">
     314                                        <xsl:with-param name="configurationName" select="'IndicatorProfileGrid'"/>
     315                                </xsl:call-template>
     316                                ,<xsl:call-template name="Kendo.requestGridJSON">
     317                                        <xsl:with-param name="kendoDataSourceJavascriptVariableName" select="$kendoDataSourceJavascriptVariableName"/>
     318                                        <xsl:with-param name="measure" select="$measure"/>
     319                                        <xsl:with-param name="recordDimensionFields"      select="$recordDimensionFields"/>
     320                                        <xsl:with-param name="recordAncillaryValueFields" select="$recordAncillaryValueFields"/>
     321                                        <xsl:with-param name="showValueAttributeColumn" select="$showValueAttributeColumn"/>
     322                                        <xsl:with-param name="showLabelColumn"          select="$showLabelColumn"/>
     323                                        <xsl:with-param name="showNoteColumn"           select="$showNoteColumn"/>
     324                                </xsl:call-template>
     325                        );
     326                        </xsl:if>
     327
     328
     329                        <xsl:if test="$showChart">
     330                        var <xsl:value-of select="$kendoChartJavascriptVariableName"/>ConstructorJSON = $.extend
     331                        (true, {}
     332                                ,<xsl:call-template name="Kendo.baseChartJSON"/>
     333                                ,<xsl:call-template name="Kendo.namedConfigurationJSON">
     334                                        <xsl:with-param name="configurationName" select="$chartName"/>
     335                                </xsl:call-template>
     336                                ,<xsl:call-template name="Kendo.requestChartJSON">
     337                                        <xsl:with-param name="kendoDataSourceJavascriptVariableName" select="$kendoDataSourceJavascriptVariableName"/>
     338                                        <xsl:with-param name="title"         select="$chartTitle"/>
     339                                        <xsl:with-param name="seriesTitle"   select="$recordDimensionFields/RECORD_DIMENSION_FIELD[USAGE='series']/TITLE"/>
     340                                        <xsl:with-param name="categoryTitle" select="$recordDimensionFields/RECORD_DIMENSION_FIELD[USAGE='category']/TITLE"/>
     341                                        <xsl:with-param name="valueTitle"    select="$measure/TITLE"/>
     342
     343                                        <xsl:with-param name="seriesFieldName"    select="$recordDimensionFields/RECORD_DIMENSION_FIELD[USAGE='series']/NAME"/>
     344                                        <xsl:with-param name="categoryFieldName"  select="$recordDimensionFields/RECORD_DIMENSION_FIELD[USAGE='category']/NAME"/>
     345
     346                                        <xsl:with-param name="includeDatasetSeries" select="1 &lt; $recordDimensionFields/RECORD_DIMENSION_FIELD[USAGE='series']/VALUE_COUNT"/>
     347                                        <xsl:with-param name="recordAncillaryValueFields" select="$recordAncillaryValueFields"/>
     348                                </xsl:call-template>
     349                        );
     350                        </xsl:if>
     351
     352
     353                        var $<xsl:value-of select="$kendoGridJavascriptVariableName"/>;
     354                        var $<xsl:value-of select="$kendoChartJavascriptVariableName"/>;
     355                        var $<xsl:value-of select="$leafletMapJavascriptVariableName"/>;
     356                        $(document).ready(function()
     357                        {
     358                        <xsl:if test="$showMap">
     359                                $<xsl:value-of select="$leafletMapJavascriptVariableName"/> = $("#<xsl:value-of select="$mapContainerID"/>").leaflet(<xsl:value-of select="$leafletMapJavascriptVariableName"/>ConstructorJSON);
     360                        </xsl:if>
     361                        <xsl:if test="$showChart">
     362                                $<xsl:value-of select="$kendoChartJavascriptVariableName"/> = $("#<xsl:value-of select="$chartContainerID"/>").kendoChart(<xsl:value-of select="$kendoChartJavascriptVariableName"/>ConstructorJSON);
     363                        </xsl:if>
     364                        <xsl:if test="$showGrid">
     365                                $<xsl:value-of select="$kendoGridJavascriptVariableName"/>  = $("#<xsl:value-of select="$gridContainerID"/>").kendoGrid(<xsl:value-of select="$kendoGridJavascriptVariableName"/>ConstructorJSON);
     366                        </xsl:if>
     367
     368                                // "read" fires the "change" event of the dataSource and any objects
     369                                // that ref the data source will be bound.  This needs to occur
     370                                // after the grid and chart are created because .autoBind = false.
     371                                // Can also fire load by issuing a sort:
     372                                // $kendoGrid.getKendoGrid().dataSource.sort({field: "CategorySortOrder", dir: "asc"});
     373                                <xsl:value-of select="$kendoDataSourceJavascriptVariableName"/>.read();
     374
     375                                // Kendo charts have an issue sizing the widget to the full width
     376                                // when the chart's container starts out hidden.  Tried numerous
     377                                // things with timers and setting the width to the main content
     378                                // control to firing resize when the control's input is changed.
     379                                // If set the width then even as the window resizes the chart does
     380                                // NOT change its size.  So below code was commented out and the
     381                                // input on change calls the resize func. 
     382                                // var chartContainerWidth = $(".ExpandableContent").innerWidth();
     383                                // $kendoChart.getKendoChart().options.chartArea.width = chartContainerWidth;
     384                        }); //~~~~~~~~~~~~~~~~~~~~ End of Ready Function ~~~~~~~~~~~~~~~~~~~
     385
     386
     387
     388
     389
     390
     391// GARTH TODO: Clean up the resize and export stuff....
     392
     393
     394// have to manually add this because Kendo can't.  See:
     395// https://docs.telerik.com/kendo-ui/styles-and-layout/using-kendo-in-responsive-web-pages
     396// another option: $(window).on("resize", function() { kendo.resize($(".chart-wrapper")); });
     397$(window).resize(resizeKendoChart);
     398
     399
     400                        // Called via the chart's expandable content input element's onchange
     401                        // firing this code.  Also bound to the windonws resize event to
     402                        // properly resize the chart to fit the container.
     403                        function resizeKendoChart()
     404                        {
     405                                kendo.resize( $(".k-chart") );
     406                                // another option: $kendoChart.getKendoChart().resize();
     407                        } //~~~~~~~~~~~~~~~~~~~~~~~~ End of Function ~~~~~~~~~~~~~~~~~~~~~~~
     408               
     409
     410                        var baseExportFilename = "<xsl:value-of select="$baseExportFilename"/>";
     411
     412                        function exportGrid()
     413                        {
     414                                var grid = $kendoGrid.getKendoGrid();
     415                                grid.options.excel.fileName = baseExportFilename + " - data.xlsx";
     416                                grid.saveAsExcel();
     417                        } //~~~~~~~~~~~~~~~~~~~~~~~~ End of Function ~~~~~~~~~~~~~~~~~~~~~~~
     418
     419                        function exportChart()
     420                        {
     421                                var chart = $kendoChart.getKendoChart();
     422
     423                                chart.exportImage().done
     424                                (
     425                                        function(data)
     426                                        {
     427                                                kendo.saveAs
     428                                                ({
     429                                                        dataURI: data
     430                                                        ,fileName: baseExportFilename + ".png"
     431                                                });
     432                                        }
     433                                );
     434
     435                                chart.exportPDF().done
     436                                (
     437                                        function(data)
     438                                        {
     439                                                kendo.saveAs
     440                                                ({
     441                                                        dataURI: data
     442                                                        ,fileName: baseExportFilename + " - chart.pdf"
     443                                                });
     444                                        }
     445                                );
     446                               
     447                                chart.exportSVG().done
     448                                (
     449                                        function(data)
     450                                        {
     451                                                kendo.saveAs
     452                                                ({
     453                                                        dataURI: data
     454                                                        ,fileName: baseExportFilename + " - chart.svg"
     455//                    proxyURL: "https://demos.telerik.com/kendo-ui/service/export"
     456                                                });
     457                                        }
     458                                );
     459                        } //~~~~~~~~~~~~~~~~~~~~~~~~ End of Function ~~~~~~~~~~~~~~~~~~~~~~~
     460
     461                        function exportMap()
     462                        {
     463                                alert("Map export is not current supported.");
     464                        } //~~~~~~~~~~~~~~~~~~~~~~~~ End of Function ~~~~~~~~~~~~~~~~~~~~~~~
     465                </script>
     466
     467        </xsl:template>
     468
    168469
    169470
     
    212513        </xsl:template>
    213514
    214 
    215 
    216         <xsl:template name="Graphic.valueAttributeFootnote">
    217                 <xsl:param name="valueAttributeNames"/>
    218                 <xsl:param name="valueAttributes"/>
    219 
    220                 <xsl:if test="0 != count($valueAttributeNames)">
    221                         <footer class="Footnotes ValueAttribute">
    222                                 <ul>
    223                                         <xsl:for-each select="$valueAttributes//VALUE_ATTRIBUTE">
    224                                                 <xsl:sort select="SORT_ORDER" order="ascending" data-type="number"/>
    225                                                 <xsl:if test="exists(current()[NAME = $valueAttributeNames])">
    226                                         <li>
    227                                                 <span><xsl:value-of select="CODE"/></span>
    228                                                 <span><xsl:value-of select="DEFINITION"/></span>
    229                                         </li>
    230                                                 </xsl:if>
    231                                         </xsl:for-each>
    232                                 </ul>
    233                         </footer>
    234                 </xsl:if>
    235         </xsl:template>
    236 
    237515</xsl:stylesheet>
    238516<!-- ============================= End of File ============================= -->
  • trunk/ibisph-view/src/main/webapp/xslt/html/SiteSpecific.xslt

    r17416 r17771  
    4444        </xsl:param>
    4545
    46         <xsl:param name="PathSegments" select="'about'" ibis:doc="Passed from convention HTML_CONTENT type XSLT model map."/>
     46        <xsl:param name="PathSegments" select="'about'" ibis:doc="injected via the commonModelMapListController which most controllers inherit."/>
    4747        <xsl:param name="SiteSpecific.siteNavigationSelectedSelectionName" select="concat($PathSegments[1], 'Menu')"
    4848                ibis:doc="Used to reference the the context menu items."
  • trunk/ibisph-view/src/main/webapp/xslt/html/community/builder/Page.xslt

    r17710 r17771  
    99        <xsl:import href="../Page.xslt"/>
    1010        <xsl:import href="../../../json/LeafletMap.xslt"/>
     11        <xsl:import href="../../../json/Dataset.xslt"/>
     12        <xsl:import href="../../../json/Kendo.xslt"/>
    1113        <xsl:import href="../../Graphic.xslt"/>
    1214
  • trunk/ibisph-view/src/main/webapp/xslt/html/indicator/profile/view/Page.xslt

    r17722 r17771  
    3636        <xsl:param name="Page.comparisonDimensionValue" select="'35'"/>
    3737
    38         <xsl:param name="Page.showMap" select="ibis:Graphic.showMap(
     38        <xsl:param name="Page.showMap" ibis:doc="Exposed so that SS can access."
     39                select="ibis:Graphic.showMap(
    3940                        /INDICATOR_VIEW/MAP_NAME,
    4041                        /INDICATOR_VIEW/DIMENSION_USAGES/DIMENSION_USAGE[USAGE='category']/NAME,
     
    7172                <xsl:param name="indicator"/>
    7273                <xsl:param name="indicatorView"/>
    73 
    74                 <xsl:variable name="measureName" select="$indicatorView/MEASURE_NAME"/>
    75                 <xsl:variable name="measure"     select="($indicator//MEASURE[NAME = $measureName])[1]"/>
     74                <xsl:param name="measure" select="$Indicator.measure"/>
    7675
    7776                <xsl:variable name="recordDimensionFields">
     
    8988                        </xsl:call-template>
    9089                </xsl:variable>
     90                <xsl:variable name="valueAttributeNames" select="distinct-values($indicatorViewDatasetRecords//VALUE_ATTRIBUTE_NAME)"/>
    9191
    9292                <xsl:call-template name="ContentContainer.expandable">
     
    113113                                                <xsl:with-param name="containerID" select="'map'"/>
    114114                                                <xsl:with-param name="title" select="ibis:getIndicatorViewMapTitle($indicator, $indicatorView, $Indicator.dimensions)"/>
    115                                         </xsl:call-template>
    116                                         <xsl:call-template name="Indicator.contentBlock">
    117                                                 <xsl:with-param name="content" select="$indicatorView/MAP_NARRATIVE"/>
    118                                                 <xsl:with-param name="contentBlockType" select="'fixed'" tunnel="yes"/>
     115                                                <xsl:with-param name="footerContent" select="$indicatorView/MAP_NARRATIVE"/>
    119116                                        </xsl:call-template>
    120117                                </xsl:with-param>
     
    127124                <xsl:if test="$Page.showChart">
    128125                        <xsl:call-template name="ContentContainer.expandable">
    129                                 <xsl:with-param name="title" select="if('Line'=$indicatorView/CHART_NAME) then 'Trend' else 'Chart'"/>
     126                        <xsl:with-param name="title" select="if('Line'=$indicatorView/CHART_NAME) then 'Trend' else 'Chart'"/>
    130127                                <xsl:with-param name="content">
    131128                                        <xsl:call-template name="Graphic.chartContainer">
    132                                                 <xsl:with-param name="containerID" select="'chart'"/>
    133                                         </xsl:call-template>
    134                                         <xsl:call-template name="Indicator.contentBlock">
    135                                                 <xsl:with-param name="content" select="$indicatorView/CHART_NARRATIVE"/>
    136                                                 <xsl:with-param name="contentBlockType" select="'fixed'" tunnel="yes"/>
     129                                                <xsl:with-param name="containerID"   select="'chart'"/>
     130                                                <xsl:with-param name="footerContent" select="$indicatorView/CHART_NARRATIVE"/>
    137131                                        </xsl:call-template>
    138132                                </xsl:with-param>
     
    159153                                <xsl:call-template name="Indicator.dataNotes">
    160154                                        <xsl:with-param name="title"         select="''"/>
    161                                         <xsl:with-param name="measure"       select="$Indicator.measure"/>
     155                                        <xsl:with-param name="measure"       select="$measure"/>
    162156                                        <xsl:with-param name="indicatorView" select="$indicatorView"/>
    163157                                </xsl:call-template>
     
    166160                </xsl:call-template>
    167161
    168                 <xsl:variable name="valueAttributeNames" select="distinct-values($indicatorViewDatasetRecords//VALUE_ATTRIBUTE_NAME)"/>
    169162                <xsl:call-template name="ContentContainer.expandable">
    170163                        <xsl:with-param name="title" select="'Data Table'"/>
    171164                        <xsl:with-param name="content">
    172                                 <div class="Graphic Grid ScrollableContainer">
    173                                         <div id="grid"></div>
    174                                         <xsl:call-template name="Graphic.valueAttributeFootnote">
    175                                                 <xsl:with-param name="valueAttributeNames" select="$valueAttributeNames"/>
    176                                                 <xsl:with-param name="valueAttributes"     select="$Indicator.valueAttributes"/>
    177                                         </xsl:call-template>
    178                                 </div>
     165                                <xsl:call-template name="Graphic.gridContainer">
     166                                        <xsl:with-param name="containerID"   select="'grid'"/>
     167                                        <xsl:with-param name="valueAttributeNames" select="$valueAttributeNames"/>
     168                                        <xsl:with-param name="valueAttributes"     select="$Indicator.valueAttributes"/>
     169                                </xsl:call-template>
    179170                        </xsl:with-param>
    180171                        <xsl:with-param name="show" select="false()"/>
     
    234225                <xsl:call-template name="Indicator.allDates"/>
    235226
    236                 <xsl:call-template name="Page.leafletKendoScript">
    237                         <xsl:with-param name="indicatorView" select="$indicatorView"/>
    238                         <xsl:with-param name="indicatorViewDatasetRecords" select="$indicatorViewDatasetRecords"/>
     227                <xsl:variable name="ancillaryValueNames" select="distinct-values($indicator/DATASETS/DATASET[NAME = $indicatorView/DATASET_NAMES/DATASET_NAME]/ANCILLARY_VALUE_USAGES/ANCILLARY_VALUE_USAGE/NAME)"/>
     228                <xsl:variable name="measureValueFormatPattern" select="($Indicator.valueTypes/VALUE_TYPE[NAME = $measure/VALUE_TYPE_NAME]/XSLT_FORMAT_PATTERN)[1]"/>
     229                <xsl:call-template name="Graphic.choroplethMapJavaScript"/>
     230                <xsl:call-template name="Graphic.leafletKendoScript">
     231                        <xsl:with-param name="scriptContainerID"     select="concat($indicatorView/NAME, '_script')"/>
     232                        <xsl:with-param name="dimensions"            select="$Indicator.dimensions"/>
     233                        <xsl:with-param name="datasetRecords"        select="$indicatorViewDatasetRecords"/>
    239234                        <xsl:with-param name="recordDimensionFields" select="$recordDimensionFields"/>
    240                         <xsl:with-param name="measure"       select="$Indicator.measure"/>
    241                         <xsl:with-param name="showMap"       select="$Page.showMap"/>
     235                        <xsl:with-param name="recordAncillaryValueFields">
     236                                <xsl:call-template name="Interactive.getIndicatorRecordAncillaryValueFields">
     237                                        <xsl:with-param name="indicator"     select="$indicator"/>
     238                                        <xsl:with-param name="indicatorView" select="$indicatorView"/>
     239                                        <xsl:with-param name="ancillaryValueNames" select="$ancillaryValueNames"/>
     240                                        <xsl:with-param name="ancillaryValues" select="$Indicator.ancillaryValues"/>
     241                                        <xsl:with-param name="valueTypes"      select="$Indicator.valueTypes"/>
     242                                        <xsl:with-param name="measureValueFormatPattern" select="$measureValueFormatPattern"/>
     243                                </xsl:call-template>
     244                        </xsl:with-param>
     245
     246                        <xsl:with-param name="measure" select="$measure"/>
     247                        <xsl:with-param name="measureValueFormatPattern" select="$measureValueFormatPattern"/>
     248
     249                        <xsl:with-param name="showMap"        select="$Page.showMap"/>
     250                        <xsl:with-param name="mapName"        select="$indicatorView/MAP_NAME"/>
     251                        <xsl:with-param name="geoJSONName"    select="$indicatorView/MAP_DIMENSION_NAME"/>
     252                        <xsl:with-param name="geoIDFieldName" select="$recordDimensionFields/RECORD_DIMENSION_FIELD[DIMENSION_NAMES/DIMENSION_NAME = $indicatorView/MAP_DIMENSION_NAME]/NAME"/>
     253                        <xsl:with-param name="geoIDFieldValuePrefixToRemove" select="concat($indicatorView/MAP_DIMENSION_NAME, '.')"/>
     254                        <xsl:with-param name="geoTypeTitle"  select="ibis:getDimensionTitle($indicator//DIMENSIONS/DIMENSION[NAME = $indicatorView/MAP_DIMENSION_NAME])"/>
     255                        <xsl:with-param name="mapComparisonValue" select="$indicatorViewDatasetRecords/RECORD[ DIMENSIONS[ (2 = count(DIMENSION)) and DIMENSION[(NAME = $Page.comparisonDimensionName)     and (VALUE = $Page.comparisonDimensionValue)]]]/MEASURE/VALUE"/>
     256
    242257                        <xsl:with-param name="showChart"     select="$Page.showChart"/>
     258                        <xsl:with-param name="chartName"     select="$indicatorView/CHART_NAME"/>
     259                        <xsl:with-param name="chartTitle"    select="ibis:getIndicatorViewChartTitle($indicator, $indicatorView, $Indicator.dimensions)"/>
     260
     261                        <xsl:with-param name="showGrid"      select="true()"/>
    243262                        <xsl:with-param name="showValueAttributeColumn" select="0 != count($valueAttributeNames)"/>
     263                        <xsl:with-param name="showLabelColumn"          select="exists($indicatorViewDatasetRecords/RECORD[0 != string-length(LABEL)])"/>
     264<!-- never show this...
     265                        <xsl:with-param name="showNoteColumn"           select="exists($indicatorViewDatasetRecords/RECORD[0 != string-length(NOTE)])"/>
     266-->
     267
    244268                        <xsl:with-param name="baseExportFilename" select="ibis:getCompleteIndicatorViewTitle($indicator, $indicatorView, $Indicator.dimensions)"/>
    245269                </xsl:call-template>
     
    248272
    249273
    250         <xsl:template name="Page.leafletKendoScript" ibis:doc="Provides the kendo and leaflet javascript.">
    251                 <xsl:param name="indicatorView"/>
    252                 <xsl:param name="indicatorViewDatasetRecords"/>
    253                 <xsl:param name="recordDimensionFields"/>
    254 
    255                 <xsl:param name="measure"/>
    256                 <xsl:param name="showMap"   select="$Page.showMap"/>
    257                 <xsl:param name="showChart" select="$Page.showChart"/>
    258                 <xsl:param name="showValueAttributeColumn" select="false()"/>
    259                 <xsl:param name="baseExportFilename" select="$indicatorView/TITLE"/>
    260 
    261                 <xsl:variable name="measureValueFormatPattern" select="($Indicator.valueTypes/VALUE_TYPE[NAME = $measure/VALUE_TYPE_NAME]/XSLT_FORMAT_PATTERN)[1]"/>
    262                 <xsl:variable name="ancillaryValueNames" select="distinct-values($indicator/DATASETS/DATASET[NAME = $indicatorView/DATASET_NAMES/DATASET_NAME]/ANCILLARY_VALUE_USAGES/ANCILLARY_VALUE_USAGE/NAME)"/>
    263                 <xsl:variable name="recordAncillaryValueFields">
    264                         <xsl:call-template name="Interactive.getIndicatorRecordAncillaryValueFields">
    265                                 <xsl:with-param name="indicator"     select="$indicator"/>
    266                                 <xsl:with-param name="indicatorView" select="$indicatorView"/>
    267                                 <xsl:with-param name="ancillaryValueNames" select="$ancillaryValueNames"/>
    268                                 <xsl:with-param name="ancillaryValues" select="$Indicator.ancillaryValues"/>
    269                                 <xsl:with-param name="valueTypes"      select="$Indicator.valueTypes"/>
    270                                 <xsl:with-param name="measureValueFormatPattern" select="$measureValueFormatPattern"/>
    271                         </xsl:call-template>
    272                 </xsl:variable>
    273 
    274                 <xsl:if test="$showMap">
    275                         <xsl:call-template name="Graphic.choroplethMapJavaScript"/>
    276                 </xsl:if>
    277                 <script type="text/javascript" src="{$ibis.urlPrefix}js/jszip.js"/>
    278                 <script type="text/javascript">
    279                         var records =
    280                         [<xsl:text>&#10;</xsl:text>
    281                                 <xsl:call-template name="Dataset.getDatasetRecordsJSON">
    282                                         <xsl:with-param name="dimensions"                 select="$Indicator.dimensions"/>
    283                                         <xsl:with-param name="datasetRecords"             select="$indicatorViewDatasetRecords"/>
    284                                         <xsl:with-param name="recordDimensionFields"      select="$recordDimensionFields"/>
    285                                         <xsl:with-param name="recordAncillaryValueFields" select="$recordAncillaryValueFields"/>
    286                                         <xsl:with-param name="measureValueFormatPattern"  select="$measureValueFormatPattern"/>
    287                                 </xsl:call-template>
    288                         ];
    289 
    290                         var kendoDataSource = new kendo.data.DataSource(
    291                                 <xsl:call-template name="Kendo.dataSourceConstructorJSON">
    292                                         <xsl:with-param name="javascriptRecordArrayVariableName" select="'records'"/>
    293                                         <xsl:with-param name="recordDimensionFields"      select="$recordDimensionFields"/>
    294                                         <xsl:with-param name="recordAncillaryValueFields" select="$recordAncillaryValueFields"/>
    295                                 </xsl:call-template>
    296                         );
    297 
    298                         var kendoGridConstructorJSON = $.extend
    299                         (true, {}
    300                                 ,<xsl:call-template name="Kendo.baseGridJSON"/>
    301                                 ,<xsl:call-template name="Kendo.namedConfigurationJSON">
    302                                         <xsl:with-param name="configurationName" select="'IndicatorProfileGrid'"/>
    303                                 </xsl:call-template>
    304                                 ,<xsl:call-template name="Kendo.requestGridJSON">
    305                                         <xsl:with-param name="kendoDataSourceJavascriptVariableName" select="'kendoDataSource'"/>
    306                                         <xsl:with-param name="measure" select="$measure"/>
    307                                         <xsl:with-param name="recordDimensionFields"      select="$recordDimensionFields"/>
    308                                         <xsl:with-param name="recordAncillaryValueFields" select="$recordAncillaryValueFields"/>
    309                                         <xsl:with-param name="showValueAttributeColumn" select="$showValueAttributeColumn"/>
    310                                         <xsl:with-param name="showLabelColumn"          select="exists($indicatorViewDatasetRecords/RECORD[0 != string-length(LABEL)])"/>
    311                                         <!-- Never show the note column
    312                                         <xsl:with-param name="showNoteColumn"           select="exists($indicatorViewDatasetRecords/RECORD[0 != string-length(NOTE)])"/>
    313                                         -->
    314                                 </xsl:call-template>
    315                         );
    316 
    317                         <xsl:if test="$showMap">
    318                         var leafletMapConstructorJSON = $.extend
    319                                 (true, {}
    320 ,<xsl:call-template name="LeafletMap.baseJSON"/>
    321 ,<xsl:call-template name="LeafletMap.namedConfigurationJSON">
    322         <xsl:with-param name="configurationName" select="$indicatorView/MAP_NAME"/>
    323 </xsl:call-template>
    324 ,<xsl:call-template name="LeafletMap.requestJSON">
    325 <!--    <xsl:with-param name="mapTitle"      select="'Choropleth'"/> -->
    326         <xsl:with-param name="mapType"       select="'choropleth'"/>
    327 </xsl:call-template>
    328 ,<xsl:call-template name="LeafletMap.choroplethJSON">
    329         <xsl:with-param name="javascriptRecordArrayVariableName" select="'records'"/>
    330         <xsl:with-param name="geoJSONName"      select="$indicatorView/MAP_DIMENSION_NAME"/>
    331         <xsl:with-param name="geoIDFieldName"   select="$recordDimensionFields/RECORD_DIMENSION_FIELD[DIMENSION_NAMES/DIMENSION_NAME = $indicatorView/MAP_DIMENSION_NAME]/NAME"/>
    332         <xsl:with-param name="geoIDFieldValuePrefixToRemove"   select="concat($indicatorView/MAP_DIMENSION_NAME, '.')"/>
    333         <xsl:with-param name="legendTitle"   select="$measure/TITLE"/>
    334         <xsl:with-param name="geoTypeTitle"  select="ibis:getDimensionTitle($indicator//DIMENSIONS/DIMENSION[NAME = $indicatorView/MAP_DIMENSION_NAME])"/>
    335         <xsl:with-param name="reverseColors" select="$measure/DESIRABLE_VALUE = 1"/>
    336         <xsl:with-param name="desirableIndexValue" select="$measure/DESIRABLE_VALUE"/>
    337 
    338 <xsl:with-param name="comparisonValue" select="$indicatorViewDatasetRecords/RECORD[ DIMENSIONS[ (2 = count(DIMENSION)) and DIMENSION[(NAME = $Page.comparisonDimensionName)     and (VALUE = $Page.comparisonDimensionValue)]]]/MEASURE/VALUE"/>
    339 
    340 </xsl:call-template>
    341                                 );
    342                         </xsl:if>
    343 
    344 // GARTH TODO: remove
    345 <xsl:message select="'gggggggggggggg'"/>
    346 <xsl:message select="count($indicatorViewDatasetRecords/RECORD[0 != string-length(LABEL)])"/>
    347 <xsl:message select="exists($indicatorViewDatasetRecords/RECORD[0 != string-length(LABEL)])"/>
    348 <xsl:message select="$indicatorViewDatasetRecords/RECORD[0 != string-length(LABEL)]"/>
    349 <xsl:message select="'xxxxxxxxxxxx'"/>
    350 <xsl:message select="count($indicatorViewDatasetRecords/RECORD[0 != string-length(NOTE)])"/>
    351 <xsl:message select="'zzzzzzzzzz'"/>
    352 <xsl:message select="string-length($indicatorViewDatasetRecords/RECORD/NOTE)"/>
    353 
    354 
    355                         <xsl:if test="$showChart">
    356                         var chartWidthVariable = $(".ExpandableContent").innerWidth();
    357                         var kendoChartConstructorJSON = $.extend
    358                         (true, {}
    359                                 ,<xsl:call-template name="Kendo.baseChartJSON"/>
    360                                 ,<xsl:call-template name="Kendo.namedConfigurationJSON">
    361                                         <xsl:with-param name="configurationName" select="$indicatorView/CHART_NAME"/>
    362                                 </xsl:call-template>
    363                                 ,<xsl:call-template name="Kendo.requestChartJSON">
    364                                         <xsl:with-param name="kendoDataSourceJavascriptVariableName" select="'kendoDataSource'"/>
    365                                         <xsl:with-param name="title"         select="ibis:getIndicatorViewChartTitle($indicator, $indicatorView, $Indicator.dimensions)"/>
    366                                         <xsl:with-param name="seriesTitle"   select="$recordDimensionFields/RECORD_DIMENSION_FIELD[USAGE='series']/TITLE"/>
    367                                         <xsl:with-param name="categoryTitle" select="$recordDimensionFields/RECORD_DIMENSION_FIELD[USAGE='category']/TITLE"/>
    368                                         <xsl:with-param name="valueTitle"    select="$measure/TITLE"/>
    369 
    370                                         <xsl:with-param name="seriesFieldName"    select="$recordDimensionFields/RECORD_DIMENSION_FIELD[USAGE='series']/NAME"/>
    371                                         <xsl:with-param name="categoryFieldName"  select="$recordDimensionFields/RECORD_DIMENSION_FIELD[USAGE='category']/NAME"/>
    372 
    373                                         <xsl:with-param name="includeDatasetSeries" select="1 &lt; $recordDimensionFields/RECORD_DIMENSION_FIELD[USAGE='series']/VALUE_COUNT"/>
    374                                         <xsl:with-param name="recordAncillaryValueFields" select="$recordAncillaryValueFields"/>
    375                                 </xsl:call-template>
    376                         );
    377 
    378                         // have to manually add this because Kendo can't.  See:
    379                         // https://docs.telerik.com/kendo-ui/styles-and-layout/using-kendo-in-responsive-web-pages
    380                         // another option: $(window).on("resize", function() { kendo.resize($(".chart-wrapper")); });
    381                         $(window).resize(resizeKendoChart);
    382 
    383                         console.debug("IP.Page.xslt (%o, kendoChartConstructorJSON, (JSON.stringify(kendoChartConstructorJSON):");
    384                         console.debug("%o", kendoChartConstructorJSON);
    385                         console.debug(JSON.stringify(kendoChartConstructorJSON,null,2)); 
    386                         </xsl:if>
    387 
    388 
    389                         var $kendoGrid;
    390                         var $kendoChart;
    391                         var $leafletMap;
    392                         $(document).ready(function()
    393                         {
    394                         <xsl:if test="$showMap">
    395                                 $leafletMap = $("#map").leaflet(leafletMapConstructorJSON);
    396                         </xsl:if>
    397                         <xsl:if test="$showChart">
    398                                 $kendoChart = $("#chart").kendoChart(kendoChartConstructorJSON);
    399                         </xsl:if>
    400                                 $kendoGrid  = $("#grid").kendoGrid(kendoGridConstructorJSON);
    401 
    402                                 // "read" fires the "change" event of the dataSource and any objects
    403                                 // that ref the data source will be bound.  This needs to occur
    404                                 // after the grid and chart are created because .autoBind = false.
    405                                 // Can also fire load by issuing a sort:
    406                                 // $kendoGrid.getKendoGrid().dataSource.sort({field: "CategorySortOrder", dir: "asc"});
    407                                 kendoDataSource.read();
    408 
    409                                 // Kendo charts have an issue sizing the widget to the full width
    410                                 // when the chart's container starts out hidden.  Tried numerous
    411                                 // things with timers and setting the width to the main content
    412                                 // control to firing resize when the control's input is changed.
    413                                 // If set the width then even as the window resizes the chart does
    414                                 // NOT change its size.  So below code was commented out and the
    415                                 // input on change calls the resize func. 
    416                                 // var chartContainerWidth = $(".ExpandableContent").innerWidth();
    417                                 // $kendoChart.getKendoChart().options.chartArea.width = chartContainerWidth;
    418                         }); //~~~~~~~~~~~~~~~~~~~~ End of Ready Function ~~~~~~~~~~~~~~~~~~~
    419 
    420 
    421                         // Called via the chart's expandable content input element's onchange
    422                         // firing this code.  Also bound to the windonws resize event to
    423                         // properly resize the chart to fit the container.
    424                         function resizeKendoChart()
    425                         {
    426                                 kendo.resize( $(".k-chart") );
    427                                 // another option: $kendoChart.getKendoChart().resize();
    428                         } //~~~~~~~~~~~~~~~~~~~~~~~~ End of Function ~~~~~~~~~~~~~~~~~~~~~~~
    429                
    430 
    431                         var baseExportFilename = "<xsl:value-of select="$baseExportFilename"/>";
    432 
    433                         function exportGrid()
    434                         {
    435                                 var grid = $kendoGrid.getKendoGrid();
    436                                 grid.options.excel.fileName = baseExportFilename + " - data.xlsx";
    437                                 grid.saveAsExcel();
    438                         } //~~~~~~~~~~~~~~~~~~~~~~~~ End of Function ~~~~~~~~~~~~~~~~~~~~~~~
    439 
    440                         function exportChart()
    441                         {
    442                                 var chart = $kendoChart.getKendoChart();
    443 
    444                                 chart.exportImage().done
    445                                 (
    446                                         function(data)
    447                                         {
    448                                                 kendo.saveAs
    449                                                 ({
    450                                                         dataURI: data
    451                                                         ,fileName: baseExportFilename + ".png"
    452                                                 });
    453                                         }
    454                                 );
    455 
    456 /* doesn't work
    457                                 chart.saveAsPDF();
    458                                 chart.exportPDF().done( function(data) { kendo.saveAs(); } );
    459 dataURI: "data:text/plain,Report title and text",
    460 */
    461                                 chart.exportPDF().done
    462                                 (
    463                                         function(data)
    464                                         {
    465                                                 kendo.saveAs
    466                                                 ({
    467                                                         dataURI: data
    468                                                         ,fileName: baseExportFilename + " - chart.pdf"
    469                                                 });
    470                                         }
    471                                 );
    472                         } //~~~~~~~~~~~~~~~~~~~~~~~~ End of Function ~~~~~~~~~~~~~~~~~~~~~~~
    473 
    474                         function exportMap()
    475                         {
    476                                 alert("Map export is not current supported.");
    477                         } //~~~~~~~~~~~~~~~~~~~~~~~~ End of Function ~~~~~~~~~~~~~~~~~~~~~~~
    478274
    479275<!--
     
    634430-->
    635431
    636                 </script>
    637 
    638         </xsl:template>
    639 
    640432</xsl:stylesheet>
    641433<!-- ============================= End of File ============================= -->
  • trunk/ibisph-view/src/main/webapp/xslt/html/query/module/result/Page.xslt

    r17722 r17771  
    3232
    3333        <xsl:param name="DataSources"/>
    34 
     34        <xsl:param name="Page.dataSources" select="$DataSources/DATA_SOURCES"/>
     35
     36        <xsl:param name="ValueAttributes"/>
     37        <xsl:param name="Page.valueAttributes" select="$ValueAttributes/VALUE_ATTRIBUTES"/>
     38
     39       
    3540        <xsl:param name="Page.configurationTitle" select="/QUERY_MODULE/CONFIGURATIONS/CONFIGURATION[NAME=/QUERY_MODULE/REQUEST/CONFIGURATION_NAME]/TITLE"/>
    3641        <xsl:param name="Page.pageTitle" ibis:doc="Page's title text which is based on the '/QUERY_MODULE/TITLE' element.">
     
    193198
    194199                <!-- Data Table -->
     200                <xsl:variable name="valueAttributeNames" select="distinct-values($queryModule/IBISQ_QUERY_RESULT/RECORDS/RECORD/VALUE_ATTRIBUTE_NAME)"/>
    195201                <xsl:call-template name="ContentContainer.expandable">
    196202                        <xsl:with-param name="title" select="'Data Table'"/>
     
    198204                                <div class="Graphic Grid ScrollableContainer">
    199205                                        <div id="grid"></div>
    200 <br/><br/>
    201 GARTH TODO: Data table footnote needs to include the VALUE ATTRIBUTE codes and titles.
    202 <br/><br/>
     206                                        <xsl:call-template name="Graphic.valueAttributeFootnote">
     207                                                <xsl:with-param name="valueAttributeNames" select="$valueAttributeNames"/>
     208                                                <xsl:with-param name="valueAttributes"     select="$Page.valueAttributes"/>
     209                                        </xsl:call-template>
    203210                                </div>
    204211                        </xsl:with-param>
     
    225232GARTH TODO:
    226233                                        <ul>
    227 <xsl:variable name="Page.dataSources" select="$DataSources/DATA_SOURCES"/>
    228234<xsl:for-each select="$configuration/DATA_SOURCES/DATA_SOURCE">
    229235                                                        <xsl:sort select="SORT_ODRER" order="ascending" data-type="number"/>
     
    264270                        <xsl:with-param name="showMap"       select="$Page.showMap"/>
    265271                        <xsl:with-param name="showChart"     select="$Page.showChart"/>
     272                        <xsl:with-param name="showValueAttributeColumn" select="0 != count($valueAttributeNames)"/>
    266273                </xsl:call-template>
    267274        </xsl:template>
  • trunk/ibisph-view/src/main/webapp/xslt/html/query/module/result/Result.xslt

    r17722 r17771  
    2525        <xsl:param name="Result.valueTypes" select="$ValueTypes/VALUE_TYPES"/>
    2626
    27         <xsl:param name="ValueAttributes"/>
    28         <xsl:param name="Result.valueAttributes" select="$ValueAttributes/VALUE_ATTRIBUTES"/>
    29 
    3027        <xsl:param name="Dimensions"/>
    3128        <xsl:param name="Result.dimensions" select="$Dimensions/DIMENSIONS"/>
    3229
    3330
     31<!-- GARTH TODO: this needs to be made easier????? -->
    3432        <xsl:param name="Result.comparisonDimensionName"  select="'GeoState'"/>
    3533        <xsl:param name="Result.comparisonDimensionValue" select="'35'"/>
     
    193191                <xsl:param name="showMap"/>
    194192                <xsl:param name="showChart"/>
     193                <xsl:param name="showValueAttributeColumn" select="false()"/>
    195194
    196195                <xsl:param name="measure" select="$Result.measures/MEASURE[NAME=$configuration/MEASURE_NAME]"/>
     
    200199                <xsl:param name="ancillaryValues" select="$Result.ancillaryValues/ANCILLARY_VALUE[(NAME = $ancillaryValueNames) and (ACTIVE_FLAG = 'x')]"/>
    201200
     201                <xsl:param name="dimensions" select="$Result.dimensions"/>
     202
    202203                <xsl:param name="measureValueFormatPattern" select="($Result.valueTypes/VALUE_TYPE[NAME = $measure/VALUE_TYPE_NAME]/XSLT_FORMAT_PATTERN)[1]"/>
    203204
    204 <xsl:param name="x" select="$queryModule/DIMENSIONS/DIMENSION[NAME = xxxxxxxxxdimensionName]"/>
    205 
    206                 <xsl:param name="dimensions" select="$Result.dimensions"/>
    207 
    208                 <xsl:param name="queryValueTypeNames" select="$measure/VALUE_TYPE_NAME union $Result.ancillaryValues/VALUE_TYPE_NAME"/>
    209 
    210                 <xsl:param name="valueAttributes" select="$Result.valueAttributes/VALUE_ATTRIBUITES/VALUE_ATTRIBUITE[NAME = 'x']"/>
    211205
    212206                <xsl:variable name="dimensionUsages"
     
    305299                                                        </xsl:for-each>
    306300                                                </xsl:with-param>
    307 <xsl:with-param name="showValueAttributeColumn" select="0 != count($datasetRecords/RECORD/VALUE_ATTRIBUTE_NAME)"/>
     301                                                <xsl:with-param name="showValueAttributeColumn" select="$showValueAttributeColumn"/>
    308302                                                <xsl:with-param name="showNoteColumn"  select="false()"/>
    309303                                                <xsl:with-param name="showLabelColumn" select="false()"/>
Note: See TracChangeset for help on using the changeset viewer.