Changeset 22581 in main


Ignore:
Timestamp:
02/23/21 17:33:06 (23 hours ago)
Author:
GarthBraithwaite_STG
Message:

java, view - checked into the modified date modelmap code and updated comments. Reverted help css back to span until time to fix horz alignment. Reimplemented complete profile xslt based on summary to fix maps not showing. Changed qm page options to basic selections based in if result and options for the type of page. Added METADATA_PATH_AND_NAME element for QM's to link to the epht metadata page req (this is a temp fix).

Location:
trunk
Files:
15 edited

Legend:

Unmodified
Added
Removed
  • trunk/ibisph-view/src/main/webapp/WEB-INF/config/spring/indicator.xml

    r21418 r22581  
    237237        </bean>
    238238
     239        <!--
     240                NOTE: For IP's that are on a remote machine/accessed via URL, the modelmap
     241                is a file path not a document so the XML date can't be accessed.  For IPVs
     242                the IPV XML is loaded in later model map processing because it needs to
     243                determine the view XSLT to be used.  As such the XML date is returned for
     244                view XMLs - even if the file is on a remote server.  If this is a problem
     245                in the future then similar code can be applied to open the IP XML and put
     246                into the map.
     247        -->
    239248        <bean id="indicatorProfileControllerProperties" abstract="true" parent="commonModelMapListController">
    240249                <property name="modelMapList">
     
    274283-->
    275284
     285        <!-- this controller loads the XML doc so that the view's view can be read
     286                and injected.
     287        -->
    276288        <bean id="indicatorViewController" parent="commonModelMapListController">
    277289                <property name="modelMapList">
  • trunk/ibisph-view/src/main/webapp/css/Help.css

    r22575 r22581  
    2626.Help
    2727{
    28         /* if span then height is font-size, ib uses line-height */
     28        /* if span then height is font-size, inlineblock uses line-height
     29        problem with IB is that it changes
    2930        display:                        inline-block;           
     31        height:                         1em;
     32        */
    3033/*vertical-align: bottom;*/
    3134        margin-left:            3px;
    3235        width:                          26px;   /* supposed to always set width for floats */
    33         height:                         1em;
    3436        padding:                        0.15em 5px;     /* add a little mouse over margin */
    3537}
     
    7981.Help.Popup:focus  .Container
    8082{
    81         top:                            0;
     83        top:                            var(--line-height);
    8284        left:                           -250px;
    8385}
     
    8789.Help.Popup.ContainerRight:focus  .Container
    8890{
    89         top:                            -10px;
    9091        left:                           -25px;
    9192}
  • trunk/ibisph-view/src/main/webapp/css/Popup.css

    r22575 r22581  
    107107.Popup .Container .Content div
    108108{
     109        background-color:       #eee;
     110/*
    109111        background-color:       #f8f8f8;
    110 /*
    111112        color:                          var(--color);
    112113*/
    113114}
    114115
    115 .NOT_SURE_WHY_DUPS_AND_H2_Popup .Container .Content h2
    116 {
    117         padding:                        0px;
    118         color:                          var(--heading-color) !important;
    119         background-color:       transparent !important;
    120         border:                         none;
    121         text-decoration:        none;
    122 }
    123116.Popup .Container .Content h4
    124117{
  • trunk/ibisph-view/src/main/webapp/xsd/query_module.xsd

    r22567 r22581  
    6363                                </xsd:element>
    6464
    65 <!-- GARTH TODO: Remove at some future point when QMs are reworked. -->
     65<!-- GARTH TODO: Remove at some future point when QMs are reworked.
     66
     67This could simply point to a dataset index page that many adopters use esp if
     68they are doing the data portal.
     69-->
    6670                                <xsd:element name="QUERY_CONFIGURATION_SELECTION" minOccurs="0" maxOccurs="1">
    6771                                        <xsd:complexType>
     
    7579                                </xsd:element>
    7680
    77                                 <xsd:element ref="RELATED_DATA"       minOccurs="0"/>
     81<xsd:element ref="RELATED_DATA"       minOccurs="0"/>
    7882                                        <xsd:annotation><xsd:documentation xml:lang="en">
    7983                                        Controls non filtered values to be included in the IBISQ request. 
     
    8791                                        value from IBISQ. 
    8892                                        </xsd:documentation></xsd:annotation>
    89 why not simply have:
    90 METADATA_NAME
     93
     94This is all EPHT needs for now.  Will address other options in future when/if
     95the QM interface is reworked.
     96
     97METADATA_FILE_PATH_AND_NAME
     98
     99
     100
     101why not simply have outside of a RELATED_DATA container?
     102
     103Is there any value in this anyway????
     104
    91105TOPIC_NAMES
    92106        TOPIC_NAME
    93 
    94 DATA_SOURCES
    95 TOPICS
    96 MEASURES
     107INDICATOR_NAMES
    97108
    98109
     
    116127        so how to get the XSLT to know which charts.xml to include???
    117128                                -->
     129dims, like charts/maps are many times specific to the QM so they are defined here
     130but can be a mix of centralized and specific - depends on how they want to manage
     131their stuff.
    118132                                <xsd:element ref="DIMENSIONS"         minOccurs="1"/>
    119133
     134Put these in or have XSLT ref them???  If self contained then need to include...
     135DATA_SOURCES
     136TOPICS
     137MEASURES
     138
     139grids, charts, maps are defined in here because they need to be specific
     140selections based on what the editor wants the user to see.
    120141                                <xsd:element ref="GRIDS"              minOccurs="0"/>
    121142                                <xsd:element ref="CHARTS"             minOccurs="0"/>
  • trunk/ibisph-view/src/main/webapp/xslt/html/DialogWindow.xslt

    r22165 r22581  
    151151        </xsl:template>
    152152
     153
     154<!-- could be in the content container code ???
     155-->
     156        <xsl:template name="DialogWindow.popup">
     157                <xsl:param name="id"/>
     158                <xsl:param name="additionalClasses"/>
     159                <xsl:param name="controlID"    />
     160                <xsl:param name="controlName"  />
     161                <xsl:param name="controlType"  />
     162                <xsl:param name="controlClass" />
     163                <xsl:param name="controlTitle" />
     164                <xsl:param name="show"       select="false()"/>
     165                <xsl:param name="toggleRadioOnClick" select="'radio' = $controlType"/>
     166                <xsl:param name="headingLevel" select="3"/>
     167                <xsl:param name="description"/>
     168                <xsl:param name="content"/>
     169
     170                <div id="{$id}" class="Popup {$additionalClasses}">
     171                        <xsl:call-template name="SelectionsList.inputControl">
     172                                <xsl:with-param name="inputID"    select="$controlID"/>
     173                                <xsl:with-param name="inputName"  select="$controlName"/>
     174                                <xsl:with-param name="inputType"  select="$controlType"/>
     175                                <xsl:with-param name="labelClass" select="$controlClass"/>
     176                                <xsl:with-param name="title"      select="$controlTitle"/>
     177                                <xsl:with-param name="show"       select="$show"/>
     178                                <xsl:with-param name="toggleRadioOnClick" select="$toggleRadioOnClick"/>
     179                                <xsl:with-param name="headingLevel" select="$headingLevel"/>
     180                                <xsl:with-param name="description"  select="$description"/>
     181                        </xsl:call-template>
     182
     183                        <div class="Container">
     184                                <div class="Content">
     185                                        <xsl:copy-of select="$content"/>
     186                                </div>
     187                        </div>
     188                </div>
     189        </xsl:template>
     190
    153191</xsl:stylesheet>
    154192<!-- ============================= End of File ============================= -->
  • trunk/ibisph-view/src/main/webapp/xslt/html/Help.xslt

    r22567 r22581  
    152152                <xsl:param name="addWikiAttribute" select="false()"/>
    153153
    154                 <div class="Help Popup FontIcon {$additionalClasses}">
     154                <span class="Help Popup FontIcon {$additionalClasses}">
    155155                        <div class="Container">
    156156                                <div class="Content">
     
    164164                                </div>
    165165                        </div>
    166                 </div>
     166                </span>
    167167        </xsl:template>
    168168
  • trunk/ibisph-view/src/main/webapp/xslt/html/Page.xslt

    r22390 r22581  
    171171                        resultant page can display the XML file's modified date/time."
    172172        />
    173         <xsl:variable name="Page.XMLModifedDate"
    174                 select="if(string-length($XMLModifedDate) = 0) then //ibis:doc/versions/version[1]/date else $XMLModifedDate"
     173        <xsl:variable name="Page.XMLModifedDate" select="$XMLModifedDate"
    175174                ibis:doc="Variable that wraps the 'XMLModifedDate' parameter so that we
    176175                        know where this variable/parameter is defined.  If the parameter
  • trunk/ibisph-view/src/main/webapp/xslt/html/indicator/profile/complete_profile/Page.xslt

    r22240 r22581  
    77        exclude-result-prefixes="ibis"
    88>
    9 
    109        <xsl:import href="../Page.xslt"/>
    1110
     
    3231        <xsl:template name="Page.contentBody"
    3332                ibis:doc="Main page content template which pretty much calls all
    34                         of the element field templates contained within the '_indicator.xslt'
     33                        of the element field templates contained within the 'indicator.xslt'
    3534                        profile API template file."
    3635        >
     
    4948                <xsl:call-template name="Indicator.whatDoing"/>
    5049                <xsl:call-template name="Indicator.evidenceBasedPractices"/>
     50
    5151<!--
    5252                <xsl:call-template name="Indicator.initiatives"/>
    5353-->
    54                 <xsl:for-each select="$indicator/INDICATOR_VIEWS/INDICATOR_VIEW/NAME">
    55                         <xsl:variable name="indicatorView" select="document(concat(current(), '.xml'), /)/INDICATOR_VIEW"/>
    56                         <xsl:variable name="measure"       select="if($Indicator.useExternalXML) then $Indicator.measure else $indicator/MEASURES/MEASURE[NAME=$indicatorView/MEASURE_NAME]"/>
    57                         <xsl:variable name="measureValueFormatPattern" select="($Indicator.valueTypes/VALUE_TYPE[NAME = $measure/VALUE_TYPE_NAME]/XSLT_FORMAT_PATTERN)[1]"/>
    58                         <xsl:variable name="dataVizContainerIDPrefix" select="ibis:firstLetterLowerCase( replace($indicatorView/NAME, '\.', '_') )"/>
    59                         <xsl:variable name="dataVizObjectName"        select="concat($dataVizContainerIDPrefix, 'DataViz')"/>
    6054
    61                         <xsl:variable name="datasetRecords" select="$indicator/DATASETS/DATASET[NAME = $indicatorView/DATASET_NAMES/DATASET_NAME]/RECORDS"/>
    62                         <xsl:variable name="recordDimensionFields">
    63                                 <xsl:call-template name="Interactive.recordDimensionFields">
    64                                         <xsl:with-param name="dimensions"      select="$Indicator.dimensions"/>
    65                                         <xsl:with-param name="dimensionUsages" select="$indicatorView/DIMENSION_USAGES"/>
    66                                 </xsl:call-template>
    67                         </xsl:variable>
    68                         <xsl:variable name="indicatorViewDatasetRecords">
    69                                 <xsl:call-template name="Interactive.indicatorViewDatasetRecords">
    70                                         <xsl:with-param name="datasetRecords"  select="$datasetRecords"/>
    71                                         <xsl:with-param name="dimensionUsages" select="$indicatorView/DIMENSION_USAGES"/>
    72                                         <xsl:with-param name="recordDimensionFields" select="$recordDimensionFields"/>
    73                                 </xsl:call-template>
    74                         </xsl:variable>
    75                         <xsl:variable name="valueAttributeNames" select="distinct-values($indicatorViewDatasetRecords//VALUE_ATTRIBUTE_NAME)"/>
     55                <xsl:if test="exists($indicator/INDICATOR_VIEWS/INDICATOR_VIEW/NAME)">
     56                        <xsl:call-template name="DataViz.choroplethMapJavaScript"/>
    7657
    77                         <xsl:variable name="completeIndicatorViewTitle" select="ibis:getCompleteIndicatorViewTitle($indicator, $indicatorView, $Indicator.dimensions)"/>
     58<xsl:variable name="comparisonDimensionName"  select="'GeoState'"/>
     59<xsl:variable name="comparisonDimensionValue" select="'35'"/>
    7860
    79                         <xsl:variable name="showMap"
    80                                 select="ibis:DataViz.showMap(
    81                                         $indicatorView/MAP_NAME,
    82                                         $indicatorView/DIMENSION_USAGES/DIMENSION_USAGE[USAGE='category']/NAME,
    83                                         $indicatorView/DIMENSION_USAGES/DIMENSION_USAGE[USAGE='series']/NAME,
    84                                         $Indicator.dimensions
    85                                 )"
    86                         />
    87                         <xsl:variable name="showChart" select="not($showMap) and ibis:DataViz.showChart($indicatorView/CHART_NAME)"/>
     61                        <xsl:for-each select="$indicator/INDICATOR_VIEWS/INDICATOR_VIEW/NAME">
     62                                <xsl:variable name="indicatorView" select="document(concat(current(), '.xml'), /)/INDICATOR_VIEW"/>
     63                                <xsl:variable name="measure"       select="if($Indicator.useExternalXML) then $Indicator.measure else $indicator/MEASURES/MEASURE[NAME=$indicatorView/MEASURE_NAME]"/>
     64                                <xsl:variable name="measureValueFormatPattern" select="($Indicator.valueTypes/VALUE_TYPE[NAME = $measure/VALUE_TYPE_NAME]/XSLT_FORMAT_PATTERN)[1]"/>
     65                                <xsl:variable name="dataVizContainerIDPrefix" select="ibis:firstLetterLowerCase( replace($indicatorView/NAME, '\.', '_') )"/>
     66                                <xsl:variable name="dataVizObjectName"        select="concat($dataVizContainerIDPrefix, 'DataViz')"/>
    8867
    89                         <xsl:if test="$showMap">
    90                                 <xsl:call-template name="DataViz.mapContainer">
    91                                         <xsl:with-param name="containerID" select="concat($dataVizContainerIDPrefix, '_map')"/>
    92                                         <xsl:with-param name="title" select="ibis:getIndicatorViewMapTitle($indicatorView, $completeIndicatorViewTitle)"/>
    93                                         <xsl:with-param name="footerContent" select="$indicatorView/MAP_NARRATIVE"/>
    94                                 </xsl:call-template>
    95                         </xsl:if>
    96                         <xsl:if test="$showChart">
    97                                 <xsl:call-template name="DataViz.chartContainer">
    98                                         <xsl:with-param name="containerID" select="concat($dataVizContainerIDPrefix, '_chart')"/>
    99                                         <xsl:with-param name="footerContent" select="$indicatorView/CHART_NARRATIVE/text()"/>
    100                                 </xsl:call-template>
    101                         </xsl:if>
     68                                <xsl:variable name="datasetRecords" select="$indicator/DATASETS/DATASET[NAME = $indicatorView/DATASET_NAMES/DATASET_NAME]/RECORDS"/>
     69                                <xsl:variable name="recordDimensionFields">
     70                                        <xsl:call-template name="Interactive.recordDimensionFields">
     71                                                <xsl:with-param name="dimensions"      select="$Indicator.dimensions"/>
     72                                                <xsl:with-param name="dimensionUsages" select="$indicatorView/DIMENSION_USAGES"/>
     73                                        </xsl:call-template>
     74                                </xsl:variable>
     75                                <xsl:variable name="indicatorViewDatasetRecords">
     76                                        <xsl:call-template name="Interactive.indicatorViewDatasetRecords">
     77                                                <xsl:with-param name="datasetRecords"  select="$datasetRecords"/>
     78                                                <xsl:with-param name="dimensionUsages" select="$indicatorView/DIMENSION_USAGES"/>
     79                                                <xsl:with-param name="recordDimensionFields" select="$recordDimensionFields"/>
     80                                        </xsl:call-template>
     81                                </xsl:variable>
     82                                <xsl:variable name="valueAttributeNames" select="distinct-values($indicatorViewDatasetRecords//VALUE_ATTRIBUTE_NAME)"/>
    10283
     84                                <xsl:variable name="recordAncillaryValueFields">
     85                                        <xsl:call-template name="Indicator.recordAncillaryValueFields">
     86                                                <xsl:with-param name="indicator"                select="$indicator"/>
     87                                                <xsl:with-param name="indicatorView"    select="$indicatorView"/>
     88                                        </xsl:call-template>
     89                                </xsl:variable>
    10390
    104                         <script>
    105                                 var <xsl:value-of select="$dataVizObjectName"/> = new KendoLeafletDataViz();
    106                                 <xsl:call-template name="DataViz.populateKendoLeafletDataVizObject">
    107                                         <xsl:with-param name="dataVizObjectName" select="$dataVizObjectName"/>
    108                                         <xsl:with-param name="containerIDPrefix" select="$dataVizContainerIDPrefix"/>
     91                                <xsl:variable name="completeIndicatorViewTitle" select="ibis:getCompleteIndicatorViewTitle($indicator, $indicatorView, $Indicator.dimensions)"/>
    10992
    110                                         <xsl:with-param name="dimensions"        select="$Indicator.dimensions"/>
    111                                         <xsl:with-param name="datasetRecords"    select="$indicatorViewDatasetRecords"/>
    112                                         <xsl:with-param name="recordDimensionFields"    select="$recordDimensionFields"/>
    113                                         <xsl:with-param name="recordAncillaryValueFields">
    114                                                 <xsl:call-template name="Indicator.recordAncillaryValueFields">
    115                                                         <xsl:with-param name="indicator"                select="$indicator"/>
    116                                                         <xsl:with-param name="indicatorView"    select="$indicatorView"/>
    117                                                 </xsl:call-template>
    118                                         </xsl:with-param>
    119                                         <xsl:with-param name="valueAttributes" select="$Indicator.valueAttributes"/>
     93                                <xsl:variable name="showMap"
     94                                        select="ibis:DataViz.showMap(
     95                                                $indicatorView/MAP_NAME,
     96                                                $indicatorView/DIMENSION_USAGES/DIMENSION_USAGE[USAGE='category']/NAME,
     97                                                $indicatorView/DIMENSION_USAGES/DIMENSION_USAGE[USAGE='series']/NAME,
     98                                                $Indicator.dimensions
     99                                        )"
     100                                />
     101                                <xsl:variable name="showChart" select="ibis:DataViz.showChart($indicatorView/CHART_NAME)"/>
    120102
    121                                         <xsl:with-param name="measure"          select="$measure"/>
    122                                         <xsl:with-param name="measureTitle" select="ibis:getMeasureTitle($indicatorView/MEASURE_TITLE_OVERRIDE, $measure)"/>
    123                                         <xsl:with-param name="measureValueFormatPattern" select="$measureValueFormatPattern"/>
     103                                <xsl:if test="$showMap">
     104                                        <xsl:call-template name="DataViz.mapContainer">
     105                                                <xsl:with-param name="containerID" select="concat($dataVizContainerIDPrefix, '_map')"/>
     106                                                <xsl:with-param name="title" select="ibis:getIndicatorViewMapTitle($indicatorView, $completeIndicatorViewTitle)"/>
     107                                                <xsl:with-param name="footerContent" select="$indicatorView/MAP_NARRATIVE"/>
     108                                        </xsl:call-template>
     109                                </xsl:if>
     110                                <xsl:if test="$showChart">
     111                                        <xsl:call-template name="DataViz.chartContainer">
     112                                                <xsl:with-param name="containerID" select="concat($dataVizContainerIDPrefix, '_chart')"/>
     113                                                <xsl:with-param name="footerContent" select="$indicatorView/CHART_NARRATIVE/text()"/>
     114                                        </xsl:call-template>
     115                                </xsl:if>
    124116
    125                                         <xsl:with-param name="showMap"        select="$showMap"/>
    126                                         <xsl:with-param name="mapName"        select="$indicatorView/MAP_NAME"/>
    127                                         <xsl:with-param name="geoJSONName"    select="$indicatorView/MAP_DIMENSION_NAME"/>
    128                                         <xsl:with-param name="geoIDFieldName" select="$recordDimensionFields/RECORD_DIMENSION_FIELD[DIMENSION_NAMES/DIMENSION_NAME = $indicatorView/MAP_DIMENSION_NAME]/NAME"/>
    129                                         <xsl:with-param name="geoIDFieldValuePrefixToRemove" select="concat($indicatorView/MAP_DIMENSION_NAME, '.')"/>
    130                                         <xsl:with-param name="geoTypeTitle"   select="ibis:getDimensionTitle($indicator//DIMENSIONS/DIMENSION[NAME = $indicatorView/MAP_DIMENSION_NAME])"/>
     117                                <script>
     118                                        var <xsl:value-of select="$dataVizObjectName"/> = new KendoLeafletDataViz();
     119                                        <xsl:call-template name="DataViz.populateKendoLeafletDataVizObject">
     120                                                <xsl:with-param name="dataVizObjectName" select="$dataVizObjectName"/>
     121                                                <xsl:with-param name="containerIDPrefix" select="$dataVizContainerIDPrefix"/>
    131122
    132                                         <xsl:with-param name="showChart"      select="$showChart"/>
    133                                         <xsl:with-param name="chartName"      select="$indicatorView/CHART_NAME"/>
    134                                         <xsl:with-param name="chartTitle"     select="ibis:getIndicatorViewChartTitle($indicatorView, $completeIndicatorViewTitle)"/>
     123                                                <xsl:with-param name="dimensions"            select="$Indicator.dimensions"/>
     124                                                <xsl:with-param name="datasetRecords"        select="$indicatorViewDatasetRecords"/>
     125                                                <xsl:with-param name="recordDimensionFields" select="$recordDimensionFields"/>
     126                                                <xsl:with-param name="recordAncillaryValueFields" select="$recordAncillaryValueFields"/>
     127                                                <xsl:with-param name="valueAttributes"       select="$Indicator.valueAttributes"/>
    135128
    136                                         <xsl:with-param name="showGrid"       select="$Indicator.showGrid"/>
    137                                         <xsl:with-param name="showValueAttributeColumn" select="exists($indicatorViewDatasetRecords/RECORD[0 != string-length(VALUE_ATTRIBUTE_NAME)])"/>
    138                                         <xsl:with-param name="showLabelColumn"          select="exists($indicatorViewDatasetRecords/RECORD[0 != string-length(LABEL)])"/>
     129                                                <xsl:with-param name="measure"          select="$measure"/>
     130                                                <xsl:with-param name="measureTitle" select="ibis:getMeasureTitle($indicatorView/MEASURE_TITLE_OVERRIDE, $measure)"/>
     131                                                <xsl:with-param name="measureValueFormatPattern" select="$measureValueFormatPattern"/>
    139132
    140                                         <xsl:with-param name="baseExportFilename" select="$completeIndicatorViewTitle"/>
    141                                 </xsl:call-template>
     133                                                <xsl:with-param name="showMap"        select="$showMap"/>
     134                                                <xsl:with-param name="mapName"        select="$indicatorView/MAP_NAME"/>
     135                                                <xsl:with-param name="geoJSONName"    select="$indicatorView/MAP_DIMENSION_NAME"/>
     136                                                <xsl:with-param name="geoIDFieldName" select="$recordDimensionFields/RECORD_DIMENSION_FIELD[DIMENSION_NAMES/DIMENSION_NAME = $indicatorView/MAP_DIMENSION_NAME]/NAME"/>
     137                                                <xsl:with-param name="geoIDFieldValuePrefixToRemove" select="concat($indicatorView/MAP_DIMENSION_NAME, '.')"/>
     138                                                <xsl:with-param name="geoTypeTitle"  select="ibis:getDimensionTitle($indicator//DIMENSIONS/DIMENSION[NAME = $indicatorView/MAP_DIMENSION_NAME])"/>
    142139
    143                                 $(document).ready(function()
    144                                 {
    145                                         <xsl:value-of select="$dataVizObjectName"/>.init();
    146                                 });
     140                                                <xsl:with-param name="showChart"     select="$showChart"/>
     141                                                <xsl:with-param name="chartName"     select="$indicatorView/CHART_NAME"/>
     142                                                <xsl:with-param name="chartTitle"    select="ibis:getIndicatorViewChartTitle($indicatorView, $completeIndicatorViewTitle)"/>
    147143
    148                                 <xsl:if test="$showChart">
    149                                 $(window).resize(function () {
    150                                         <xsl:value-of select="$dataVizObjectName"/>.resizeKendoChart();
    151                                 });
    152                                 </xsl:if>
    153                         </script>
     144                                                <xsl:with-param name="showGrid"      select="$Indicator.showGrid"/>
     145                                                <xsl:with-param name="showValueAttributeColumn" select="exists($indicatorViewDatasetRecords/RECORD[0 != string-length(VALUE_ATTRIBUTE_NAME)])"/>
     146                                                <xsl:with-param name="showLabelColumn"          select="exists($indicatorViewDatasetRecords/RECORD[0 != string-length(LABEL)])"/>
    154147
     148                                                <xsl:with-param name="baseExportFilename" select="$completeIndicatorViewTitle"/>
     149                                        </xsl:call-template>
    155150
    156                         <xsl:call-template name="Indicator.contentBlock">
    157                                 <xsl:with-param name="title"   select="'Numerator'"/>
    158                                 <xsl:with-param name="content" select="if(0 = string-length($indicatorView/NUMERATOR_OVERRIDE)) then $Indicator.indicator/NUMERATOR else $indicatorView/NUMERATOR_OVERRIDE"/>
    159                                 <xsl:with-param name="description" select="'Definition of this datasets numerator used to calculate the data values'"/>
    160                         </xsl:call-template>
     151                                        $(document).ready(function()
     152                                        {
     153                                                <xsl:value-of select="$dataVizObjectName"/>.init();
     154                                        });
    161155
    162                         <xsl:call-template name="Indicator.contentBlock">
    163                                 <xsl:with-param name="title"   select="'Denominator'"/>
    164                                 <xsl:with-param name="content" select="if(0 = string-length($indicatorView/DENOMINATOR_OVERRIDE)) then $Indicator.indicator/DENOMINATOR else $indicatorView/DENOMINATOR_OVERRIDE"/>
    165                                 <xsl:with-param name="description" select="'Definition of this datasets denominator used to calculate the data values'"/>
    166                         </xsl:call-template>
     156                                        <xsl:if test="$showChart">
     157                                        $(window).resize(function () {
     158                                                <xsl:value-of select="$dataVizObjectName"/>.resizeKendoChart();
     159                                        });
     160                                        </xsl:if>
     161                                </script>
    167162
    168                         <xsl:call-template name="Indicator.contentBlock">
    169                                 <xsl:with-param name="title"   select="'How the Measure is Calculated'"/>
    170                                 <xsl:with-param name="content">
    171                                         <table cellpadding="0" cellspacing="0">
    172                                                 <tr title="Definition of this datasets numerator used to calculate the data values">
    173                                                         <td>Numerator:</td>
    174                                                         <td>
    175                                                                 <xsl:value-of select="if(0 = string-length($indicatorView/NUMERATOR_OVERRIDE)) then $Indicator.indicator/NUMERATOR else $indicatorView/NUMERATOR_OVERRIDE"/>
    176                                                         </td>
    177                                                 </tr>
    178                                                 <tr title="Definition of this datasets denominator used to calculate the data values">
    179                                                         <td style="padding-right: 5px;">Denominator:</td>
    180                                                         <td>
    181                                                                 <xsl:value-of select="if(0 = string-length($indicatorView/DENOMINATOR_OVERRIDE)) then $Indicator.indicator/DENOMINATOR else $indicatorView/DENOMINATOR_OVERRIDE"/>
    182                                                         </td>
    183                                                 </tr>
    184                                         </table>
    185                                 </xsl:with-param>
    186                                 <xsl:with-param name="description" select="'Describes the numerator and denominator and how these values are used to calculate the values'"/>
    187                         </xsl:call-template>
    188 
    189                         <xsl:if test="position() != last()"><br/><br/></xsl:if>
    190                 </xsl:for-each>
     163                        </xsl:for-each>
     164                </xsl:if>
    191165
    192166                <xsl:call-template name="Indicator.initiatives">
     
    195169                <xsl:call-template name="Indicator.otherObjectives"/>
    196170
    197                 <xsl:call-template name="Indicator.howDoing"/>
    198                 <xsl:call-template name="Indicator.howCompare"/>
    199                 <xsl:call-template name="Indicator.whatDoing"/>
    200                 <xsl:call-template name="Indicator.evidenceBasedPractices"/>
    201171                <xsl:call-template name="Indicator.availableServices"/>
    202172                <xsl:call-template name="Indicator.moreResources"/>
  • trunk/ibisph-view/src/main/webapp/xslt/html/query/module/Page.xslt

    r22567 r22581  
    3131        <xsl:param name="Page.queryModulePath" select="concat(substring-before($Page.queryModule/REQUEST/CONFIGURATION_PATH, concat('/', $Page.queryConfiguration/NAME)), '/')"/>
    3232
    33 
    34 
    35 
    36 
    37 <xsl:param name="Page.queryModulesXMLFilePathAndName"
    38         select="ibis:getContentPath('xml/query/module/query_modules.xml')"
    39 />
    40 <xsl:param name="Page.queryModules"
    41         select="document($Page.queryModulesXMLFilePathAndName)/QUERY_MODULES"
    42 />
    43 <xsl:param name="Page.queryModulesQueryModule"
    44         select="$Page.queryModules/QUERY_MODULE[NAME = $Page.queryModule/NAME]"
    45 />
    46 <xsl:param name="Page.queryModuleConfigurations"
    47         select="$Page.queryModulesQueryModule/CONFIGURATIONS/CONFIGURATION[NAME != $Page.queryConfiguration/NAME]"
    48 />
    49 
    50 
    51 
    52 
     33<!-- Prior to 2/23/2021 commit had code in the QM related Page.XSLT files for query modules selections -->
    5334
    5435        <xsl:param name="OrgUnits" select="NULL"/>
     
    5637                ibis:doc="Common ORG_UNIT needed for all QM pages content footer."
    5738        />
    58 
    59 
    60 
    6139
    6240        <xsl:param name="Page.usageAgreementDialogTitle">Department of Health Query System, Data Use Agreement</xsl:param>
  • trunk/ibisph-view/src/main/webapp/xslt/html/query/module/builder/Page.xslt

    r22567 r22581  
    354354                        <h3><xsl:value-of select="'Query Builder Page Options'"/></h3>
    355355                        <div class="Container Buttons">
    356 
    357 
    358 need the apply button that once in a while shows as most users probably don't know
    359 about it nor will use it???
    360 As such, this button can stay???
    361                                 <button type="button" id="gotoSubmitButton" onclick="gotoSubmitButton()">
     356                                <button type="button" accesskey="J" id="gotoSubmitButton" onclick="gotoSubmitButton()">
    362357                                        Jump to Submit
    363358                                        <xsl:call-template name="Help.popup">
     
    366361                                </button>
    367362
    368 
    369 brett said only display this option when round tripping e.g. gray out if no result
    370 in the QM.  Enable if QM result exists.
    371                                 <button type="button" accesskey="M" id="defaultQueryButton"
     363                                <xsl:if test="$ApplyCriteria.isSet">
     364                                <button type="button" accesskey="A" id="viewAppliedDefinitionButton"
     365                                        onclick="window.applyCriteriaDialog.center().open()"
     366                                >
     367                                        Applied Criteria Enabled
     368                                        <xsl:call-template name="Help.popup">
     369                                                <xsl:with-param name="content" select="$Page.viewApplyCriteriaDetailsHelpContent"/>
     370                                        </xsl:call-template>
     371                                </button>
     372                                </xsl:if>
     373
     374                                <xsl:if test="exists($QueryModule.result)">
     375                                <button type="button" accesskey="L" id="defaultQueryButton"
    372376                                        onclick="location.href='{$Page.baseQueryRequestPath}builder/{/QUERY_MODULE/REQUEST/CONFIGURATION_PATH}.html?Reload=x'"
    373377                                >
     
    378382                                </button>
    379383
    380 needed
    381                                 <xsl:if test="$ApplyCriteria.isSet">
    382                                 <button type="button" accesskey="D" id="viewAppliedDefinitionButton"
    383                                         onclick="window.applyCriteriaDialog.center().open()"
     384                                <button type="button" accesskey="D" id="changeQueryDataset"
     385                                        onclick="location.href='{concat($ibis.baseRequestPath, $Page.queryModule/QUERY_CONFIGURATION_SELECTION/LOCAL_URL)}'"
    384386                                >
    385                                         Applied Criteria Enabled
     387                                        Change Dataset
    386388                                        <xsl:call-template name="Help.popup">
    387                                                 <xsl:with-param name="content" select="$Page.viewApplyCriteriaDetailsHelpContent"/>
     389                                                <xsl:with-param name="content" select="$Page.changeDatasetMeasureHelpContent"/>
    388390                                        </xsl:call-template>
    389391                                </button>
    390392                                </xsl:if>
    391393
    392 
    393 
    394 
    395 
    396 
    397 
    398 
    399 <!--
    400 brett said we could do this as step 0/1.
    401 
    402                                 <button type="button" accesskey="M" id="selectQueryMeasureButton"
    403                                         onclick="location.href='{concat($ibis.baseRequestPath, /QUERY_MODULE/QUERY_CONFIGURATION_SELECTION/LOCAL_URL)}'"
     394                                <xsl:if test="exists($QueryModule.queryModule/METADATA_PATH_AND_NAME)">
     395                                <button type="button" accesskey="M" id="metadataButton"
     396                                        onclick="location.href='{$ibis.baseRequestPath}{$QueryModule.queryModule/METADATA_PATH_AND_NAME}.html'"
    404397                                >
    405                                         Select Different Measure
     398                                        View Meta Data
    406399                                        <xsl:call-template name="Help.popup">
    407                                                 <xsl:with-param name="content" select="$Page.selectMeasureHelpContent"/>
     400                                                <xsl:with-param name="content" select="'Show the metadata page associated with this dataset.'"/>
    408401                                        </xsl:call-template>
    409402                                </button>
    410 ****
    411         <xsl:value-of select="$Page.baseQueryRequestPath"/>
    412 ****
    413         <xsl:value-of select="$Page.queryModule/REQUEST/CONFIGURATION_PATH"/>
    414 ****
    415         <xsl:value-of select="$Page.queryModulePath"/>
    416 ****
    417         <xsl:value-of select="$Page.baseConfigurationRequestPath"/>
    418 ****
    419 -->
    420 
    421 according to brian only meta data is really needed for epht.
    422 related ips and topics and other links???
    423 <span class="Links">
    424                                                 <select name="measures" id="measures" onchange="location=this.value; this.value='';"
    425                                                 >
    426                                                         <option value="" selected="true" disabled="true" hidden="true">Choose New Measure</option>
    427         <xsl:for-each select="$Page.queryModuleConfigurations">
    428                                                         <option value="{concat($Page.baseConfigurationRequestPath, NAME, '.html')}"><xsl:value-of select="TITLE"/></option>
    429         </xsl:for-each>
    430                                                 </select>
    431 </span>
    432 
    433 
    434 
    435 <style>
    436 .Links
    437 {
    438         display: inline-block;
    439     margin-right: 0.4rem;
    440     background-color: var(--button-background-color);
    441     vertical-align: middle;
    442     border: solid 1px #777;
    443     border-radius: var(--button-border-radius);
    444     box-shadow: inset 1px 1px 2px #bbb;
    445 max-width: 225px;
    446 }
    447 .Links select
    448 {
    449 width: 100%;
    450     color: #eee;
    451     font-size: 1rem;
    452         font-weight: normal;
    453         cursor: pointer;
    454 
    455     margin-right: 0.4rem;
    456     padding: 0.8rem 0.5rem 0.5em 0.5rem;
    457     background-color: transparent;
    458 }
    459 
    460 
    461 
    462 .Links select:focus option,
    463 .Links select:focus optgroup
    464         {
    465         color: var(--button-background-color) !important;
    466         background-color: white !important;
    467         border: 0;
    468         }
    469 .Links select:hover
    470         {
    471         background-color: var(--background-color-hover);
    472         color: var(--color-hover);
    473 
    474 /* works but not what want
    475         background-color: #003366;
    476         box-shadow: 0 0 10px 100px #fff inset;
    477 */
    478         }
    479 
    480 </style>
    481 
    482                                 <xsl:if test="0 != count(/QUERY_MODULE//RELATED_DATA/*/*)">
    483 
    484 <span class="Links">
    485                                                 <select name="relatedLinks" id="relatedLinks" onchange="location=this.value; this.value='';">
    486                                                         <option value="" hidden="true">Choose Related Link</option>
    487 
    488 <xsl:if test="0 != count($Page.queryModule//RELATED_DATA//METADATA_NAME)">
    489         <optgroup label="Metadata">
    490         <xsl:for-each select="$Page.queryModule//RELATED_DATA//METADATA_NAME">
    491                 <option value="{concat($Page.baseConfigurationRequestPath, ., '.html')}"><xsl:value-of select="."/></option>
    492         </xsl:for-each>
    493         </optgroup>
    494 </xsl:if>
    495 
    496 <xsl:if test="0 != count($Page.queryModule//RELATED_DATA//INDICATOR_NAME)">
    497         <optgroup label="Indicator Reports">
    498         <xsl:for-each select="$Page.queryModule//RELATED_DATA//INDICATOR_NAME">
    499                 <option value="{concat($Page.baseConfigurationRequestPath, ., '.html')}"><xsl:value-of select="."/></option>
    500         </xsl:for-each>
    501         </optgroup>
    502 </xsl:if>
    503 
    504 <xsl:if test="0 != count($Page.queryModule//RELATED_DATA//TOPIC_NAME)">
    505         <optgroup label="Topics">
    506         <xsl:for-each select="$Page.queryModule//RELATED_DATA//TOPIC_NAME">
    507                 <option value="{concat($Page.baseConfigurationRequestPath, ., '.html')}"><xsl:value-of select="."/></option>
    508         </xsl:for-each>
    509         </optgroup>
    510 </xsl:if>
    511 
    512 <xsl:if test="0 != count($Page.queryModule//RELATED_DATA//QUERY_CONFIGURATION_PATH)">
    513         <optgroup label="Queryable Datasets">
    514         <xsl:for-each select="$Page.queryModule//RELATED_DATA//QUERY_CONFIGURATION_PATH">
    515                 <option value="{concat($Page.baseConfigurationRequestPath, ., '.html')}"><xsl:value-of select="."/></option>
    516         </xsl:for-each>
    517         </optgroup>
    518 </xsl:if>
    519 
    520 
    521 <!--
    522 
    523 
    524 <option value="" selected="true" disabled="true" hidden="true">Choose Related Link</option>
    525 
    526 
    527 this makes a direct connection.  SELECTIONS is more open but does not allow for
    528 QM to TOPIC - unless I have the index creation search for TOPIC attribute value
    529 etc.
    530         IP NAMES
    531         META DATA NAMES
    532         TOPIC NAMES
    533         QUERY CONFIGS
    534 
    535                                 <xsl:variable name="queryLinks"     select=""/>
    536                                 <xsl:variable name="indicatorLinks" select="/QUERY_MODULE//LINK[GROUP = 'INDICATOR']"/>
    537                                 <xsl:variable name="topicLinks"     select="/QUERY_MODULE//LINK[GROUP = 'TOPIC']"/>
    538                                 <xsl:variable name="metaDataLinks"  select="/QUERY_MODULE//LINK[GROUP = 'METADATA']"/>
    539                                 <xsl:variable name="otherLinks"     select="/QUERY_MODULE//LINK
    540                                         [(GROUP != 'QUERY') and (GROUP != 'INDICATOR') and
    541                                                 (GROUP != 'TOPIC') and (GROUP != 'METADATA')
    542                                 ]"/>
    543                                                         <xsl:call-template name="Page.processLinks">
    544                                                                 <xsl:with-param name="groupTitle" select="'Metadata'"/>
    545                                                                 <xsl:with-param name="links" select="/QUERY_MODULE//RELATED_DATA/METADATA_NAME"/>
    546                                                                 <xsl:with-param name="urlPrefix" select="concat($ibis.webappPrefix, '/dataportal/metadata')"/>
    547                                                         </xsl:call-template>
    548                                                         <xsl:call-template name="Page.processLinks">
    549                                                                 <xsl:with-param name="groupTitle" select="'Queryable Datasets'"/>
    550                                                                 <xsl:with-param name="links" select="/QUERY_MODULE//RELATED_DATA/QUERY_CONFIGURATION_PATHS/QUERY_CONFIGURATION_PATH"/>
    551                                                                 <xsl:with-param name="urlPrefix" select="concat($ibis.webappPrefix, '/dataportal/query/result')"/>
    552                                                         </xsl:call-template>
    553                                                         <xsl:call-template name="Page.processLinks">
    554                                                                 <xsl:with-param name="groupTitle" select="'Indicator Reports'"/>
    555                                                                 <xsl:with-param name="links" select="/QUERY_MODULE//RELATED_DATA/INDICATOR_NAMES/INDICATOR_NAME"/>
    556                                                                 <xsl:with-param name="urlPrefix" select="concat($ibis.webappPrefix, '/dataportal/indicator/profile')"/>
    557                                                         </xsl:call-template>
    558                                                         <xsl:call-template name="Page.processLinks">
    559                                                                 <xsl:with-param name="groupTitle" select="'Topics'"/>
    560                                                                 <xsl:with-param name="links" select="/QUERY_MODULE//RELATED_DATA/TOPICS/TOPIC"/>
    561                                                                 <xsl:with-param name="urlPrefix" select="concat($ibis.webappPrefix, '/health /environment')"/>
    562                                                         </xsl:call-template>
    563 
    564 SELECTIONS - already have code that deals with it...
    565         + easily shared/used for index pages
    566         + easily shared/used for popup selections etc.
    567        
    568 specific - right way from a relational POV!!!  Other things work this way...
    569 
    570                                         <xsl:call-template name="Help.popup">
    571                                                 <xsl:with-param name="content" select="$Page.selectMeasureHelpContent"/>
    572                                         </xsl:call-template>
    573 -->
    574                                                 </select>
    575 
    576 </span>
    577403                                </xsl:if>
    578 
    579 
    580404
    581405                        </div>
  • trunk/ibisph-view/src/main/webapp/xslt/html/query/module/result/Page.xslt

    r22567 r22581  
    243243                                        </xsl:call-template>
    244244                                </button>
    245 
    246 <!--
    247                                 <button type="button" accesskey="M" id="selectQueryMeasure"
    248                                         onclick="location.href='{concat($ibis.baseRequestPath, $Page.queryModule/QUERY_CONFIGURATION_SELECTION/LOCAL_URL)}'"
    249                                 >
    250                                         Select Different Measure
    251                                         <xsl:call-template name="Help.popup">
    252                                                 <xsl:with-param name="content" select="$Page.changeDatasetMeasureHelpContent"/>
    253                                         </xsl:call-template>
    254                                 </button>
    255 -->
    256                                 <button type="button" accesskey="M" id="selectQueryMeasure"
    257                                         onclick="location.href='{concat($ibis.baseRequestPath, $Page.queryModule/QUERY_CONFIGURATION_SELECTION/LOCAL_URL)}'"
    258                                 >
    259                                         Select Chart Type
    260                                         <xsl:call-template name="Help.popup">
    261                                                 <xsl:with-param name="content" select="$Page.changeDatasetMeasureHelpContent"/>
    262                                         </xsl:call-template>
    263                                 </button>
    264 <!--
    265                                 <button type="button" accesskey="X" id="openInExcel"
    266                                         onclick="location.href='{$Page.queryBaseRequestPath}result/{/QUERY_MODULE/REQUEST/CONFIGURATION_PATH}.xls'"
    267                                 >
    268                                         Output to Excel
    269                                         <xsl:call-template name="Help.popup">
    270                                                 <xsl:with-param name="content" select="$Page.openInExcelHelpContent"/>
    271                                         </xsl:call-template>
    272                                 </button>
    273 -->
    274245                        </div>
    275246                </div>
  • trunk/ibisph/src/main/java/org/ibisph/indicatorprofile/springmvc/databean/GetIndicatorXMLController.java

    r17645 r22581  
    1313 */public class GetIndicatorXMLController extends org.springframework.web.servlet.mvc.AbstractController {
    1414
    15   protected IndicatorDataBeanToXML     indicatorDataBeanToXMLService = null;
     15  protected IndicatorDataBeanToXML     indicatorDataBeanToXMLService     = null;
    1616  protected IndicatorViewDataBeanToXML indicatorViewDataBeanToXMLService = null;
    1717
  • trunk/ibisph/src/main/java/org/ibisph/modelmap/AddModelDateModelToModelMap.java

    r17017 r22581  
    101101
    102102  /**
    103    * Basic getter method that returns a model maps date (this is typically the
    104    * last modified or modified date type value - depends on the list of xpaths
    105    * injected).  If the model is a document then the xpath's are searched for
    106    * a modified date type element.  If the model map is a file or URL then try
    107    * to create a file handle and get the file's last modified value.  If it
    108    * does translate to a file and the file does not exist an IOException is
    109    * thrown as this is an invalid model. 
     103   * Determine a modified date from the current XML model (XML doc, file, or
     104   * a URL path) and create a new model map entry for the XMLModifiedDate.
     105   * For XML docs a list of injected xpaths is looped through.  If not an XML
     106   * doc then treat as a file and use the file's last modified if available.
    110107   *
    111    * @param modelMap map object that the implementing service uses to build/get
    112    *   the new returned model map from.
    113    * @return model map which is typically sub XML document etc.
     108   * NOTE: For IP's that are on a remote machine/accessed via URL, the modelmap
     109   * is a file path not a document so the XML date can't be accessed.  For IPVs
     110   * the IPV XML is loaded in later model map processing because it needs to
     111   * determine the view XSLT to be used.  As such the XML date is returned for
     112   * view XMLs - even if the file is on a remote server.  If this is a problem
     113   * in the future then similar code can be applied to open the IP XML and put
     114   * into the map.
     115   *
     116   * @param modelMap map object source XML to get a date from.
     117   * @return adds the formatted date to the supplied model map.
    114118   */
    115119  public void processModelMap(Map<String, Object> modelMap) throws Exception {
     
    118122    long date = 0;
    119123
    120     // If the model is an XML document then loop through all the xpaths.
    121     // if a fully qualified xpath (e.g. starts with a slash) then start
    122     // lookup the element based on the document.  Else look for element
    123     // based off of the root element.  If something found then get and
    124     // parse the date and break the loop.
     124    // If the model is an XML document then loop through all the xpaths to find
     125    // a modified date type element. 
    125126    if(sourceModel instanceof Node) {
    126127      Node document = (Node)sourceModel;
    127128      for(String sourceModelDateXPath : this.sourceModelDateXPathList) {
    128         String s = null;
    129         if(sourceModelDateXPath.startsWith("/"))
    130           s = XMLLib.getText(document, sourceModelDateXPath);
    131         else
    132           s = XMLLib.getText(document, sourceModelDateXPath);
     129        String s = XMLLib.getText(document, sourceModelDateXPath);
    133130
    134131        // did have parsing with the date format but later reformat with same
    135         // format so no point.  If the datestring is something then use it.
     132        // format so no point.  If the XML doc's date is something then try it.
     133        // Convert xml date to numeric.  If can't convert the string then set
     134        // the date string as the default value. 
    136135        // The other option is to use a Joda type date handler.
    137136        // Note adjust the date value to milli secs if it appears to be seconds
     
    151150    }
    152151
    153     // If not a node then either a File or URL.  If file or file URL handle
    154     // file directly.  If not a file then treat as a URL and open a connection
    155     // and read the last modified from the connection.
     152    // The model object is either a node, an XML file, or a filename/URL.  Node
     153    // was processed above.  If local file local then get the file's mod date.
     154    // Else (file URL) then try as a local file or a remote resource to get a
     155    // mod date.
    156156    else {
    157157      File file = null;
     
    179179    }
    180180
    181     // finally if a date/numeric value format to string.
     181    // if a date/numeric value format to string, else return the default string.
    182182    if(date > 0) dateString = this.getFormattedDate(date);
    183183    modelMap.put(this.formattedDateModelMapKey, dateString);
Note: See TracChangeset for help on using the changeset viewer.