Changeset 22581 in main
- Timestamp:
- 02/23/21 17:33:06 (23 hours ago)
- Location:
- trunk
- Files:
-
- 15 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/ibisph-view/src/main/webapp/WEB-INF/config/spring/indicator.xml
r21418 r22581 237 237 </bean> 238 238 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 --> 239 248 <bean id="indicatorProfileControllerProperties" abstract="true" parent="commonModelMapListController"> 240 249 <property name="modelMapList"> … … 274 283 --> 275 284 285 <!-- this controller loads the XML doc so that the view's view can be read 286 and injected. 287 --> 276 288 <bean id="indicatorViewController" parent="commonModelMapListController"> 277 289 <property name="modelMapList"> -
trunk/ibisph-view/src/main/webapp/css/Help.css
r22575 r22581 26 26 .Help 27 27 { 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 29 30 display: inline-block; 31 height: 1em; 32 */ 30 33 /*vertical-align: bottom;*/ 31 34 margin-left: 3px; 32 35 width: 26px; /* supposed to always set width for floats */ 33 height: 1em;34 36 padding: 0.15em 5px; /* add a little mouse over margin */ 35 37 } … … 79 81 .Help.Popup:focus .Container 80 82 { 81 top: 0;83 top: var(--line-height); 82 84 left: -250px; 83 85 } … … 87 89 .Help.Popup.ContainerRight:focus .Container 88 90 { 89 top: -10px;90 91 left: -25px; 91 92 } -
trunk/ibisph-view/src/main/webapp/css/Popup.css
r22575 r22581 107 107 .Popup .Container .Content div 108 108 { 109 background-color: #eee; 110 /* 109 111 background-color: #f8f8f8; 110 /*111 112 color: var(--color); 112 113 */ 113 114 } 114 115 115 .NOT_SURE_WHY_DUPS_AND_H2_Popup .Container .Content h2116 {117 padding: 0px;118 color: var(--heading-color) !important;119 background-color: transparent !important;120 border: none;121 text-decoration: none;122 }123 116 .Popup .Container .Content h4 124 117 { -
trunk/ibisph-view/src/main/webapp/xsd/query_module.xsd
r22567 r22581 63 63 </xsd:element> 64 64 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 67 This could simply point to a dataset index page that many adopters use esp if 68 they are doing the data portal. 69 --> 66 70 <xsd:element name="QUERY_CONFIGURATION_SELECTION" minOccurs="0" maxOccurs="1"> 67 71 <xsd:complexType> … … 75 79 </xsd:element> 76 80 77 81 <xsd:element ref="RELATED_DATA" minOccurs="0"/> 78 82 <xsd:annotation><xsd:documentation xml:lang="en"> 79 83 Controls non filtered values to be included in the IBISQ request. … … 87 91 value from IBISQ. 88 92 </xsd:documentation></xsd:annotation> 89 why not simply have: 90 METADATA_NAME 93 94 This is all EPHT needs for now. Will address other options in future when/if 95 the QM interface is reworked. 96 97 METADATA_FILE_PATH_AND_NAME 98 99 100 101 why not simply have outside of a RELATED_DATA container? 102 103 Is there any value in this anyway???? 104 91 105 TOPIC_NAMES 92 106 TOPIC_NAME 93 94 DATA_SOURCES 95 TOPICS 96 MEASURES 107 INDICATOR_NAMES 97 108 98 109 … … 116 127 so how to get the XSLT to know which charts.xml to include??? 117 128 --> 129 dims, like charts/maps are many times specific to the QM so they are defined here 130 but can be a mix of centralized and specific - depends on how they want to manage 131 their stuff. 118 132 <xsd:element ref="DIMENSIONS" minOccurs="1"/> 119 133 134 Put these in or have XSLT ref them??? If self contained then need to include... 135 DATA_SOURCES 136 TOPICS 137 MEASURES 138 139 grids, charts, maps are defined in here because they need to be specific 140 selections based on what the editor wants the user to see. 120 141 <xsd:element ref="GRIDS" minOccurs="0"/> 121 142 <xsd:element ref="CHARTS" minOccurs="0"/> -
trunk/ibisph-view/src/main/webapp/xslt/html/DialogWindow.xslt
r22165 r22581 151 151 </xsl:template> 152 152 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 153 191 </xsl:stylesheet> 154 192 <!-- ============================= End of File ============================= --> -
trunk/ibisph-view/src/main/webapp/xslt/html/Help.xslt
r22567 r22581 152 152 <xsl:param name="addWikiAttribute" select="false()"/> 153 153 154 < divclass="Help Popup FontIcon {$additionalClasses}">154 <span class="Help Popup FontIcon {$additionalClasses}"> 155 155 <div class="Container"> 156 156 <div class="Content"> … … 164 164 </div> 165 165 </div> 166 </ div>166 </span> 167 167 </xsl:template> 168 168 -
trunk/ibisph-view/src/main/webapp/xslt/html/Page.xslt
r22390 r22581 171 171 resultant page can display the XML file's modified date/time." 172 172 /> 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" 175 174 ibis:doc="Variable that wraps the 'XMLModifedDate' parameter so that we 176 175 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 7 7 exclude-result-prefixes="ibis" 8 8 > 9 10 9 <xsl:import href="../Page.xslt"/> 11 10 … … 32 31 <xsl:template name="Page.contentBody" 33 32 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' 35 34 profile API template file." 36 35 > … … 49 48 <xsl:call-template name="Indicator.whatDoing"/> 50 49 <xsl:call-template name="Indicator.evidenceBasedPractices"/> 50 51 51 <!-- 52 52 <xsl:call-template name="Indicator.initiatives"/> 53 53 --> 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')"/>60 54 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"/> 76 57 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'"/> 78 60 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')"/> 88 67 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)"/> 102 83 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> 103 90 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)"/> 109 92 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)"/> 120 102 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> 124 116 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"/> 131 122 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"/> 135 128 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"/> 139 132 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])"/> 142 139 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)"/> 147 143 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)])"/> 154 147 148 <xsl:with-param name="baseExportFilename" select="$completeIndicatorViewTitle"/> 149 </xsl:call-template> 155 150 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 }); 161 155 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> 167 162 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> 191 165 192 166 <xsl:call-template name="Indicator.initiatives"> … … 195 169 <xsl:call-template name="Indicator.otherObjectives"/> 196 170 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"/>201 171 <xsl:call-template name="Indicator.availableServices"/> 202 172 <xsl:call-template name="Indicator.moreResources"/> -
trunk/ibisph-view/src/main/webapp/xslt/html/query/module/Page.xslt
r22567 r22581 31 31 <xsl:param name="Page.queryModulePath" select="concat(substring-before($Page.queryModule/REQUEST/CONFIGURATION_PATH, concat('/', $Page.queryConfiguration/NAME)), '/')"/> 32 32 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 --> 53 34 54 35 <xsl:param name="OrgUnits" select="NULL"/> … … 56 37 ibis:doc="Common ORG_UNIT needed for all QM pages content footer." 57 38 /> 58 59 60 61 39 62 40 <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 354 354 <h3><xsl:value-of select="'Query Builder Page Options'"/></h3> 355 355 <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()"> 362 357 Jump to Submit 363 358 <xsl:call-template name="Help.popup"> … … 366 361 </button> 367 362 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" 372 376 onclick="location.href='{$Page.baseQueryRequestPath}builder/{/QUERY_MODULE/REQUEST/CONFIGURATION_PATH}.html?Reload=x'" 373 377 > … … 378 382 </button> 379 383 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)}'" 384 386 > 385 Applied Criteria Enabled387 Change Dataset 386 388 <xsl:call-template name="Help.popup"> 387 <xsl:with-param name="content" select="$Page. viewApplyCriteriaDetailsHelpContent"/>389 <xsl:with-param name="content" select="$Page.changeDatasetMeasureHelpContent"/> 388 390 </xsl:call-template> 389 391 </button> 390 392 </xsl:if> 391 393 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'" 404 397 > 405 Select Different Measure398 View Meta Data 406 399 <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.'"/> 408 401 </xsl:call-template> 409 402 </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 .Links437 {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 select448 {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 optgroup464 {465 color: var(--button-background-color) !important;466 background-color: white !important;467 border: 0;468 }469 .Links select:hover470 {471 background-color: var(--background-color-hover);472 color: var(--color-hover);473 474 /* works but not what want475 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 for528 QM to TOPIC - unless I have the index creation search for TOPIC attribute value529 etc.530 IP NAMES531 META DATA NAMES532 TOPIC NAMES533 QUERY CONFIGS534 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//LINK540 [(GROUP != 'QUERY') and (GROUP != 'INDICATOR') and541 (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 pages566 + 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>577 403 </xsl:if> 578 579 580 404 581 405 </div> -
trunk/ibisph-view/src/main/webapp/xslt/html/query/module/result/Page.xslt
r22567 r22581 243 243 </xsl:call-template> 244 244 </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 Measure251 <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 Type260 <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 Excel269 <xsl:call-template name="Help.popup">270 <xsl:with-param name="content" select="$Page.openInExcelHelpContent"/>271 </xsl:call-template>272 </button>273 -->274 245 </div> 275 246 </div> -
trunk/ibisph/src/main/java/org/ibisph/indicatorprofile/springmvc/databean/GetIndicatorXMLController.java
r17645 r22581 13 13 */public class GetIndicatorXMLController extends org.springframework.web.servlet.mvc.AbstractController { 14 14 15 protected IndicatorDataBeanToXML indicatorDataBeanToXMLService = null;15 protected IndicatorDataBeanToXML indicatorDataBeanToXMLService = null; 16 16 protected IndicatorViewDataBeanToXML indicatorViewDataBeanToXMLService = null; 17 17 -
trunk/ibisph/src/main/java/org/ibisph/modelmap/AddModelDateModelToModelMap.java
r17017 r22581 101 101 102 102 /** 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. 110 107 * 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. 114 118 */ 115 119 public void processModelMap(Map<String, Object> modelMap) throws Exception { … … 118 122 long date = 0; 119 123 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. 125 126 if(sourceModel instanceof Node) { 126 127 Node document = (Node)sourceModel; 127 128 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); 133 130 134 131 // 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. 136 135 // The other option is to use a Joda type date handler. 137 136 // Note adjust the date value to milli secs if it appears to be seconds … … 151 150 } 152 151 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. 156 156 else { 157 157 File file = null; … … 179 179 } 180 180 181 // finally if a date/numeric value format tostring.181 // if a date/numeric value format to string, else return the default string. 182 182 if(date > 0) dateString = this.getFormattedDate(date); 183 183 modelMap.put(this.formattedDateModelMapKey, dateString);
Note: See TracChangeset
for help on using the changeset viewer.