Changeset 22738 in main
- Timestamp:
- 03/23/21 20:19:22 (14 months ago)
- Location:
- trunk
- Files:
-
- 22 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/ibisph-admin/src/main/webapp/WEB-INF/jsp/indicator/topics.jsp
r19380 r22738 56 56 </c:if> 57 57 <c:set var="selected">${indicatorTopic[topic.name] != null}</c:set> 58 <tr ${selected ? "class=\"Selected\"" : ""} >58 <tr ${selected ? "class=\"Selected\"" : ""} title="${topic.description}"> 59 59 <td class="Selection"> 60 60 <%-- Because there's a sort order input field, a hidden … … 68 68 ${selected ? "checked=\"checked\"" : ""} 69 69 ${disabled} ${onChange} 70 title="Selects/deselects this topic" 70 71 /> 71 72 <input type="hidden" name="name" value="${topic.name}" ${disabled}/> … … 84 85 value="${indicatorTopic[topic.name].sortOrder}" 85 86 ${disabled} ${onChange} 87 title="Independent sort order for this indicator's topics." 86 88 /> 87 89 </td> -
trunk/ibisph-view/src/main/webapp/WEB-INF/config/SiteSpecific.properties
r22683 r22738 47 47 # deployed webapp. 48 48 # 49 # There are two types of content published XML and static content. Published 50 # XML is the ibis-admin app's data that is published to XML files (org units, 51 # topics, measures, published indicators etc.). Static content include images, 52 # json, pdfs, HTML_CONTENT XML files, query module XML files, SELECTION XML 53 # files and any content that is maintained by hand. Published and static files 54 # can exist in different places although most adopters will likely keep them 55 # together. The exception is if the static content is on a different server 56 # so that it is more easily managed while the published data is on a server 57 # that has the ibis data admin app. 49 # There are three types of content published XML, static content (xml, pdf, 50 # images, etc), and saved XML content (saved query, self registered users). 51 # - Published XML is the ibisph-admin app's published content data (org units, 52 # topics, measures, published indicators etc.). These files should always be 53 # referenced and never versionsed as they are dynamic content. These files 54 # will live on the same server (or fileserver) as the ibisph-admin app. 55 # - Static content include images, json, pdfs, HTML_CONTENT XML files, query 56 # module XML files, SELECTION XML files and any content that is maintained by 57 # hand. This content is read only and can live anywhere as long as the file 58 # is accessible via a URL (shared fileserver or web server etc.). These types 59 # of files are likely versioned and maintained by hand. 60 # - Saved XML (saved query, self registered users, and possibly cached data) 61 # are view webapp dynamically created files. As such just like the admin app, 62 # theese produced files will live on the same webapp server (or fileserver). 63 # IMPORTANT NOTE: These file should never be saved within the view webapp 64 # because future webapp deployment conflicts (could overwrite the user saved 65 # files) or for those adopters who deploy as an .ear or .war and choose to keep 66 # the file zipped instead of expanding it. 67 # 68 # It is possible for all three published, static, and saved files to live on 69 # the same app server and in the same directory structure. It is also very 70 # likely that all live on their own server. 58 71 # 59 72 #commonContentBasePath.string =../../ibisph-content/ … … 68 81 # specified. 69 82 #commonPublishedXMLBasePath.string =http://admin.ibis.org/ibisph-admin-published-content/xml 83 84 #--- Example of saved/local XML on same webapp server but within a different dir. 85 # If not defined, the app config defaults to the commonContentBasePath. 86 # IMPORTANT: If the commonContentBasePath is a URL and points to a different 87 # server this value MUST be specified and MUST be locally accessible file path. 88 #commonLocalBasePath.string =../ibisph-user-content 89 #commonLocalBasePath.string =file:/s:/ibisph-view-saved-content 70 90 71 91 -
trunk/ibisph-view/src/main/webapp/WEB-INF/config/spring/SiteSpecific.xml
r22683 r22738 333 333 <property name="publishedIndicatorsFilePathAndName" value="#{indicatorPublishedIndicatorsFilePathAndName.string}"/> 334 334 <property name="indicatorProfileFilePath" value="#{indicatorProfileFilePath.string}"/> 335 <property name="documentDAOService" ref="common ContentDocumentDAOService"/>335 <property name="documentDAOService" ref="commonPublishedDocumentDAOService"/> 336 336 </bean> 337 337 </property> -
trunk/ibisph-view/src/main/webapp/WEB-INF/config/spring/common.xml
r22683 r22738 76 76 </bean> 77 77 78 79 78 <bean id="commonPublishedXMLBasePath" class="org.ibisph.model.StringHolder"> 80 79 <description> … … 99 98 </bean> 100 99 100 <bean id="commonLocalBasePath" class="org.ibisph.model.StringHolder"> 101 <description> 102 Base file path that points to the root of all local saved content. 103 This local area contains any and all saved query, self registered 104 users, and cached query module index type files. This value can 105 be in to form of a complete URL or relative to the webapp's context. 106 This path MUST be local so that the view app can write files to this 107 location. This path defaults to the content base path for those 108 deployments that have the content on the same server as the webapp. 109 For deployments where the content is located on a different server 110 this value MUST be specficied and should NOT be an app sub directory 111 so that backups are easier and to keep those files without manual 112 intervention during new app deployments. 113 </description> 114 <constructor-arg value="#{commonContentBasePath.string}"/> 115 </bean> 116 <bean id="commonLocalBasePathURL" class="org.springframework.beans.factory.config.MethodInvokingFactoryBean"> 117 <description> 118 Full/explicit base "local" file path. The commonLocalBasePath 119 string value, if not a URL, is processed based on the webapp's 120 context path which is returned as a URL which is one of the accepted 121 values the XML/XSLT translation is able to process. This path is 122 the root of all static content - json, images, pdf, XML etc. 123 </description> 124 <property name="targetObject" ref="commonContextAndPathService"/> 125 <property name="targetMethod" value="getPathURL"/> 126 <property name="arguments"><list><value>#{commonLocalBasePath.string}</value></list></property> 127 </bean> 101 128 102 129 <bean id="commonWebAppBaseRequestPath" class="org.ibisph.model.StringHolder"> … … 145 172 </bean> 146 173 147 148 174 <bean id="commonPublishedDocumentDAOService" class="org.ibisph.xml.service.FileStoredDocumentDAO"> 149 175 <description> … … 163 189 <property name="outputFormat" ref="commonXMLOutputFormat"/> 164 190 </bean> 165 <bean id="commonContentDocumentDAOService" class="org.ibisph.xml.service.FileStoredDocumentDAO"> 166 <description> 167 Provides a local disk based document get, save, delete service. 191 <bean id="commonLocalDocumentDAOService" class="org.ibisph.xml.service.FileStoredDocumentDAO"> 192 <description> 193 Provides a local disk based document get, save, delete service. Used 194 for saved queries, self registered user xmls, and future qm indexes. 168 195 This service also implements GetModelService so get(filename) works 169 196 and can be used in place of the commonXMLFilePathModelService … … 175 202 XSLT access a file via the "document()" call. 176 203 </description> 177 <property name="basePath" ref="commonContentXMLBasePathURL"/> 178 <property name="escapeTextWhenSaving" value="true"/> 179 <property name="dateFormat" ref="commonDateFormat"/> 180 <property name="outputFormat" ref="commonXMLOutputFormat"/> 181 </bean> 182 <bean id="commonRestrictedDocumentDAOService" class="org.ibisph.xml.service.FileStoredDocumentDAO"> 183 <description> 184 Provides "restricted" disk based document get, save, delete service. 185 This is mainly used for the user profile XML files. 186 </description> 187 <property name="basePath" ref="commonRestrictedXMLBasePathURL"/> 204 <property name="basePath" ref="commonLocalBasePathURL"/> 188 205 <property name="escapeTextWhenSaving" value="true"/> 189 206 <property name="dateFormat" ref="commonDateFormat"/> … … 354 371 <bean id="commonContentBasePathModelMap" class="org.ibisph.modelmap.SimpleGetModelMap"> 355 372 <description> 356 Used by Java code to access remote XML files (like query modules) 357 and is passed into the XSLT enviro to dynamically access the 2ndardy 358 XML files (like community profile reports that loop a set of IPs) 359 as well as leaflet map and kendo json files. This value is injected 360 into the common alternate model maps with a handle defined in /Page.xslt. 373 Used ibis:getContentPath xslt function that allows XSLT code to build 374 content paths for static content/resource requests. 361 375 </description> 362 376 <property name="modelMapKey" value="ContentBasePath"/> … … 588 602 589 603 590 591 604 <!-- X M L R E S O U R C E S --> 592 605 <bean id="commonXMLEncodingScheme" class="org.ibisph.model.StringHolder"> … … 692 705 Note that the resolver is ONLY used for exceptions thrown/uncaught 693 706 within controller objects e.g. objects controlled by the Request Dispatcher 694 servlet/container. For "view" related errors a HandlerInterceptor 695 is needed see: 696 697 http://stackoverflow.com/questions/196495/how-to-configure-spring-handlerexceptionresolver-to-handle-nullpointerexception-t) 698 699 Other types of errors that happen outside of the servlet (like filter 700 errors) are also not able to be handled. Many of these errors that occur 701 within the IBIS applications are view related and due to the fact that 702 the web.xml error handling can be used to handle ALL types of errors, 703 there's not much value in an ErrorResolver. As if 2010, all errors 704 simply go through to the container which will then use the web.xml 705 which uses a centralized error jsp to handle all errors. The error 706 page logs the error and returns an error page to the user. The two 707 major down sides to this centralized JSP approach is that 1) the error 708 JSP has to be bullet proof, and 2) the error handling is limited to 709 what can be done within a JSP. The pro to this approach is that it 710 is all centralized and handled consistently. 711 --> 712 713 <!-- Below is a basic ExceptionResolver that many Spring MVC apps implement. 714 Specific exceptions are handled by the simple exception to view resolver 715 This resolver needs to be used first and MUST not be configured to do the 716 general error handling as the next resolver will not be called. Note that 717 this can be setup to handle everything but it's was easier to understand 718 and control doing this way. 719 720 <bean id="commonSpecificExceptionResolver" class="org.springframework.web.servlet.handler.SimpleMappingExceptionResolver"> 721 <property name="order" value="1"/> 722 <property name="defaultStatusCode" value="700"/> 723 <property name="defaultErrorView" value="/WEB-INF/jsp/error/detail.jsp"/> 724 <property name="exceptionAttribute" value="Exception"/> 725 <property name="mappedHandlers"> 726 <set><value>java.lang.Throwable</value><ref local="commonDefault.ExceptionHandler"/></set> 727 </property> 728 <property name="exceptionMappings"> 729 <props> 730 <prop key="org.ibisph.web.springmvc.controller.query.NullModuleException">Query.NullModuleDocument.View</prop> 731 <prop key="java.lang.Exception ">Query.NullModuleDocument.View</prop> 732 </props> 733 </property> 734 </bean> 735 736 For many years a simple logging type ExceptionResolver was used. The code 737 below is left in case the logging exception handler is wanted by an adopter. 738 739 <bean id="commonDefaultExceptionHandler" class="org.ibisph.web.springmvc.LoggingControllerExceptionHandler"> 740 <property name="order" value="1"/> 741 </bean> 707 servlet/container. For "view" related errors use a HandlerInterceptor. 708 See commits prior to 3/2021 for error handling bean defs and notes. 742 709 --> 743 710 </beans> -
trunk/ibisph-view/src/main/webapp/WEB-INF/config/spring/query-definition.xml
r22683 r22738 30 30 <!-- S E R V I C E S --> 31 31 <bean id="queryDefinitionXMLService" class="org.ibisph.querydefinition.service.QueryDefinitionXML"> 32 <property name="filePath" value=" query/definition"/>33 <property name="documentDAOService" ref="common ContentDocumentDAOService"/>32 <property name="filePath" value="xml/query/definition"/> 33 <property name="documentDAOService" ref="commonLocalDocumentDAOService"/> 34 34 </bean> 35 35 <bean id="queryDefinitionDefinitionToModuleService" class="org.ibisph.querydefinition.service.QueryDefinitionXMLToQueryModuleXML"/> -
trunk/ibisph-view/src/main/webapp/WEB-INF/config/spring/query.xml
r22593 r22738 22 22 <property name="arguments"><list><value>xml/query/module/ConfigurationIncludeCriteriaExclude.xslt</value></list></property> 23 23 </bean> 24 25 <bean id="queryModuleSessionName" class="org.ibisph.model.StringHolder"> 26 <constructor-arg value="QueryModule"/> 27 </bean> 28 29 <bean id="queryApplyQueryDefinitionSessionName" class="org.ibisph.model.StringHolder"> 30 <constructor-arg value="ApplyQueryDefinition"/> 31 </bean> 32 33 <bean id="queryIBISQRequestPath" class="org.ibisph.model.StringHolder"> 34 <constructor-arg value="http://localhost/cgi-bin/hi_iq_func.exe"/> 35 </bean> 36 37 <bean id="queryResult.DateTimestampFormat" class="java.text.SimpleDateFormat"> 38 <constructor-arg value="EEE, d MMM yyyy HH:mm:ss z"/> 39 <constructor-arg type="java.util.Locale" ref="commonLocale"/> 40 </bean> 41 42 43 <!-- S E R V I C E S --> 24 44 <bean id="queryModuleXMLModelService" class="org.ibisph.xml.service.IncludeProcessingGetModel"> 25 45 <property name="getModelService" ref="commonXMLFilePathModelService"/> … … 27 47 <property name="transformation" ref="commonXSLTTransformation"/> 28 48 </bean> 29 30 31 <bean id="queryModuleSessionName" class="org.ibisph.model.StringHolder">32 <constructor-arg value="QueryModule"/>33 </bean>34 35 <bean id="queryApplyQueryDefinitionSessionName" class="org.ibisph.model.StringHolder">36 <constructor-arg value="ApplyQueryDefinition"/>37 </bean>38 39 <bean id="queryIBISQRequestPath" class="org.ibisph.model.StringHolder">40 <constructor-arg value="http://localhost/cgi-bin/hi_iq_func.exe"/>41 </bean>42 43 <bean id="queryResult.DateTimestampFormat" class="java.text.SimpleDateFormat">44 <constructor-arg value="EEE, d MMM yyyy HH:mm:ss z"/>45 <constructor-arg type="java.util.Locale" ref="commonLocale"/>46 </bean>47 48 49 <!-- S E R V I C E S -->50 49 <bean id="queryModuleXMLService" class="org.ibisph.querymodule.service.QueryModuleXML"> 51 50 <property name="filePath" value="#{queryModuleFilePath.string}"/> -
trunk/ibisph-view/src/main/webapp/WEB-INF/config/spring/secure.xml
r21322 r22738 23 23 <constructor-arg value="secure/query/module"/> 24 24 </bean> 25 26 25 <bean id="secureQueryModuleXMLService" 27 26 class="org.ibisph.querymodule.service.QueryModuleXML" … … 99 98 100 99 101 102 100 <!-- C O N T R O L L E R S --> 103 101 <bean id="secureSelectionController" parent="commonModelMapListController"> … … 160 158 <ref bean="queryModuleChangeDisplayModelMap"/> 161 159 162 <ref bean="commonAncillaryValuesModelMap"/>163 <ref bean="commonDataSourcesModelMap"/>164 <ref bean="commonDimensionsModelMap"/>165 <ref bean="commonMeasuresModelMap"/>166 <ref bean="commonValueTypesModelMap"/>167 <ref bean="commonValueAttributesModelMap"/>168 <ref bean="commonChartsModelMap"/>169 <ref bean="commonMapsModelMap"/>160 <ref bean="commonAncillaryValuesModelMap"/> 161 <ref bean="commonDataSourcesModelMap"/> 162 <ref bean="commonDimensionsModelMap"/> 163 <ref bean="commonMeasuresModelMap"/> 164 <ref bean="commonValueTypesModelMap"/> 165 <ref bean="commonValueAttributesModelMap"/> 166 <ref bean="commonChartsModelMap"/> 167 <ref bean="commonMapsModelMap"/> 170 168 </list> 171 169 </property> … … 186 184 <property name="additionalHTTPResponseHeaders" ref="commonNoCacheHTTPResponseHeaders"/> 187 185 </bean> 188 189 186 190 187 <bean id="secureQueryDefinitionBuilderController" parent="commonModelMapListController"> … … 222 219 </bean> 223 220 224 225 221 <bean id="secureTestController" parent="commonModelMapListController"> 226 222 <property name="modelMapList"> -
trunk/ibisph-view/src/main/webapp/WEB-INF/config/spring/security-xml_authentication.xml
r20786 r22738 18 18 <bean id="securityXMLAuthenticationUserDetailsService" class="org.ibisph.user.springsecurity.UserProfileXMLUserDetailsService"> 19 19 <property name="filePath" value="#{userProfileFilePath.string}"/> 20 <property name="documentDAOService" ref="common RestrictedDocumentDAOService"/>20 <property name="documentDAOService" ref="commonLocalDocumentDAOService"/> 21 21 </bean> 22 22 -
trunk/ibisph-view/src/main/webapp/WEB-INF/config/spring/user.xml
r20915 r22738 24 24 25 25 <bean id="userProfileFilePath" class="org.ibisph.model.StringHolder"> 26 <constructor-arg type="java.lang.String" value=" user/"/>26 <constructor-arg type="java.lang.String" value="WEB-INF/xml/user/"/> 27 27 </bean> 28 28 … … 231 231 <bean id="userProfileXMLService" class="org.ibisph.user.service.UserProfileXML"> 232 232 <property name="filePath" value="#{userProfileFilePath.string}"/> 233 <property name="documentDAOService" ref="common RestrictedDocumentDAOService"/>233 <property name="documentDAOService" ref="commonLocalDocumentDAOService"/> 234 234 <property name="passwordEncoder" ref="securityPasswordEncoder"/> 235 235 </bean> -
trunk/ibisph-view/src/main/webapp/css/ContentOptions.css
r22244 r22738 15 15 .ContentOptions h3 16 16 { 17 margin-top: 8px; 17 18 margin-bottom: 5px; 18 19 } -
trunk/ibisph-view/src/main/webapp/css/_general.css
r22696 r22738 77 77 } 78 78 79 section, p 79 section 80 { 81 margin: calc(2 * var(--block-spacing)) 0; 82 } 83 84 p 80 85 { 81 86 margin: var(--block-spacing) 0; 82 }83 84 p85 {86 87 max-width: var(--max-text-width); 87 88 } … … 104 105 h2 105 106 { 106 font-size: 1. 6rem;107 font-size: 1.5rem; 107 108 } 108 109 h3 109 110 { 111 margin-top: var(--block-spacing); 110 112 font-size: 1.25rem; 111 113 font-weight: bold; … … 133 135 list-style-type: decimal; 134 136 } 135 li 137 ul li:not(:first-of-type) 136 138 { 137 139 margin-top: 8px; -
trunk/ibisph-view/src/main/webapp/css/_kendo_overrides.css
r22702 r22738 189 189 li.km-group-container .km-group-title h3 190 190 { 191 margin-top: 0;191 margin-top: 4px; 192 192 } 193 193 -
trunk/ibisph-view/src/main/webapp/xslt/html/query/definition/QueryDefinition.xslt
r22240 r22738 13 13 <summary>Basic params and HTML blocks used on saved query def pages.</summary> 14 14 <description> 15 Has a dependency on Login.xslt (dialog). 15 16 </description> 16 17 </ibis:doc> … … 383 384 384 385 385 function showQueryDefinitionEditIdentityDialog()386 {387 window.queryDefinitionEditIdentityDialog.center().open();388 document.queryDefinitionIdentityForm.name.focus();389 } //~~~~~~~~~~~~~~~~~~~~ End of Function ~~~~~~~~~~~~~~~~~~~390 391 392 386 // The actual input has a pattern on it that matches this. Another try: [A-Za-z0-9\-\_\.]*; 393 387 var validNameCharactersRegEx = /^[a-z0-9_\-]+$/i; … … 415 409 return(true); 416 410 } 411 412 function showQueryDefinitionEditIdentityDialog() 413 { 414 window.queryDefinitionEditIdentityDialog.center().open(); 415 document.queryDefinitionIdentityForm.name.focus(); 416 } //~~~~~~~~~~~~~~~~~~~~ End of Function ~~~~~~~~~~~~~~~~~~~ 417 417 418 // ]]> 419 420 function saveQueryDefinition() 421 { 422 <xsl:if test="boolean(ibis:isAuthenticated())"> 423 showQueryDefinitionEditIdentityDialog(); 424 </xsl:if> 425 <xsl:if test="not(ibis:isAuthenticated())"> 426 showLoginDialog(); 427 </xsl:if> 428 } 418 429 </script> 419 430 -
trunk/ibisph-view/src/main/webapp/xslt/html/query/definition/detail/Page.xslt
r21374 r22738 36 36 </xsl:param> 37 37 38 <xsl:param name="Page.queryModule" select="/QUERY_MODULE"39 ibis:doc="Clean, seperate from current user query module without result.40 This is the main XML doc supplied by the controller code.41 "42 />43 <xsl:param name="Page.dimensions" select="$Page.queryModule/DIMENSIONS"/>44 45 38 <xsl:param name="Measures"/> 46 39 <xsl:param name="Page.measures" select="$Measures/MEASURES"/> 47 48 <xsl:param name="Charts" ibis:doc="injected model object"/>49 <xsl:param name="Page.charts" select="$Page.queryModule/CHARTS"/>50 <xsl:param name="Maps" ibis:doc="injected model object"/>51 <xsl:param name="Page.maps" select="$Page.queryModule/MAPS"/>52 40 53 41 <xsl:param name="Page.mySavedQueryOverviewContent"> … … 306 294 else $QueryDefinition.queryDefinition/SELECTED_DIMENSIONS 307 295 "/> 308 <xsl:with-param name="dimensions" select="$ Page.dimensions"/>296 <xsl:with-param name="dimensions" select="$QueryModule.dimensions"/> 309 297 </xsl:call-template> 310 298 311 299 <xsl:call-template name="QueryModule.dataGroupedByTableRow"> 312 <xsl:with-param name="rowDimensionTitle" select="ibis:getDimensionTitle($ Page.dimensions/DIMENSION[NAME=$request/ACTUAL_GROUP_BY/CATEGORY_DIMENSION_NAME])"/>313 <xsl:with-param name="colDimensionTitle" select="ibis:getDimensionTitle($ Page.dimensions/DIMENSION[NAME=$request/ACTUAL_GROUP_BY/SERIES_DIMENSION_NAME])"/>314 <xsl:with-param name="otherDimensionTitle" select="ibis:getDimensionTitle($ Page.dimensions/DIMENSION[NAME=$request/ACTUAL_GROUP_BY/OTHER_DIMENSION_NAME])"/>300 <xsl:with-param name="rowDimensionTitle" select="ibis:getDimensionTitle($QueryModule.dimensions/DIMENSION[NAME=$request/ACTUAL_GROUP_BY/CATEGORY_DIMENSION_NAME])"/> 301 <xsl:with-param name="colDimensionTitle" select="ibis:getDimensionTitle($QueryModule.dimensions/DIMENSION[NAME=$request/ACTUAL_GROUP_BY/SERIES_DIMENSION_NAME])"/> 302 <xsl:with-param name="otherDimensionTitle" select="ibis:getDimensionTitle($QueryModule.dimensions/DIMENSION[NAME=$request/ACTUAL_GROUP_BY/OTHER_DIMENSION_NAME])"/> 315 303 </xsl:call-template> 316 304 … … 318 306 <th scope="row" title="Selected Chart, name: {$request/CHART_NAME}.">Chart Name:</th> 319 307 <td title="chart to be displayed"> 320 <xsl:value-of select="ibis:getChartTitle($ Page.charts, $request/CHART_NAME)"/>308 <xsl:value-of select="ibis:getChartTitle($QueryModule.charts, $request/CHART_NAME)"/> 321 309 </td> 322 310 </tr> … … 324 312 <th scope="row" title="Selected map, name: {$request/MAP_NAME}.">Map Name:</th> 325 313 <td title="chart to be displayed"> 326 <xsl:value-of select="ibis:getMapTitle($ Page.maps, $request/MAP_NAME)"/>314 <xsl:value-of select="ibis:getMapTitle($QueryModule.maps, $request/MAP_NAME)"/> 327 315 </td> 328 316 </tr> -
trunk/ibisph-view/src/main/webapp/xslt/html/query/module/Page.xslt
r22585 r22738 11 11 <xsl:import href="../../../json/LeafletMap.xslt"/> 12 12 <xsl:import href="../../Page.xslt"/> 13 <xsl:import href="QueryModule.xslt"/> 13 14 14 15 <ibis:doc> … … 16 17 <summary>Core/common query module params and html template overrides</summary> 17 18 <description> 18 Provides core query module templates. 19 Provides core query module templates and params. Used by both 20 result and builder Page.xslt. 19 21 </description> 20 22 </ibis:doc> … … 22 24 <xsl:param name="Page.htmlClass" select="'QueryModule'"/> 23 25 24 <xsl:param name="Page.queryModule" select="/QUERY_MODULE" ibis:doc="Convenience query module global variable."/>25 <xsl:param name="Page.queryConfiguration" select="$Page.queryModule/CONFIGURATIONS/CONFIGURATION[NAME = $Page.queryModule/REQUEST/CONFIGURATION_NAME]"26 ibis:doc="Convenience global variable module configuration used throughout the module XSLTs."27 />28 29 26 <xsl:param name="Page.queryBaseRequestPath" select="concat($ibis.baseRequestPath, 'query/')"/> 30 <xsl:param name="Page.queryModulePath" select="concat(substring-before($Page.queryModule/REQUEST/CONFIGURATION_PATH, concat('/', $Page.queryConfiguration/NAME)), '/')"/>27 <xsl:param name="Page.queryModulePath" select="concat(substring-before($QueryModule.request/CONFIGURATION_PATH, concat('/', $QueryModule.configuration/NAME)), '/')"/> 31 28 32 29 <!-- Prior to 2/23/2021 commit had code in the QM related Page.XSLT files for query modules selections --> … … 241 238 242 239 240 243 241 </xsl:stylesheet> 244 242 <!-- ============================= End of File ============================= --> -
trunk/ibisph-view/src/main/webapp/xslt/html/query/module/QueryModule.xslt
r22413 r22738 11 11 <summary>basic query module parameters and templates.</summary> 12 12 <description> 13 Contains the query module block templates and global params. 13 Contains the query module block templates and global params. This 14 XSLT mostly localizes code for results (and content blocks) but also 15 has templates for apply criteria that appears on the builder page 16 and query defs page. 14 17 </description> 15 18 </ibis:doc> … … 18 21 <!-- ~~~~~~~~~~~~~~~~~~~~~~~ PARAMS / VARIABLES ~~~~~~~~~~~~~~~~~~~~~~~~ --> 19 22 <xsl:param name="QueryModule.queryModule" select="/QUERY_MODULE"/> 20 <xsl:param name="QueryModule. configuration" select="$QueryModule.queryModule/CONFIGURATIONS/CONFIGURATION[NAME = $QueryModule.queryModule/REQUEST/CONFIGURATION_NAME]"/>21 <xsl:param name="QueryModule. request" select="$QueryModule.queryModule/REQUEST"/>22 <xsl:param name="QueryModule.result" select=" $QueryModule.queryModule/IBISQ_QUERY_RESULT"/>23 <xsl:param name="QueryModule.request" select="/QUERY_MODULE/REQUEST"/> 24 <xsl:param name="QueryModule.configuration" select="/QUERY_MODULE/CONFIGURATIONS/CONFIGURATION[NAME = $QueryModule.request/CONFIGURATION_NAME]"/> 25 <xsl:param name="QueryModule.result" select="/QUERY_MODULE/IBISQ_QUERY_RESULT"/> 23 26 24 27 <!-- other highly used QM references that are specified in the QM XML --> 25 <xsl:param name="QueryModule.dimensions" select=" $QueryModule.queryModule/DIMENSIONS"/>26 <xsl:param name="QueryModule.charts" select=" $QueryModule.queryModule/CHARTS"/>27 <xsl:param name="QueryModule.maps" select=" $QueryModule.queryModule/MAPS"/>28 <xsl:param name="QueryModule.dimensions" select="/QUERY_MODULE/DIMENSIONS"/> 29 <xsl:param name="QueryModule.charts" select="/QUERY_MODULE/CHARTS"/> 30 <xsl:param name="QueryModule.maps" select="/QUERY_MODULE/MAPS"/> 28 31 29 32 <!-- injected in Spring QM.xml from common.xml beans --> … … 211 214 212 215 213 214 216 <xsl:template name="QueryModule.selectedDimensionsCriteriaTableRows" 215 217 ibis:doc="Creates a table row for the specified dimension and values." … … 237 239 </xsl:if> 238 240 </xsl:for-each> 239 240 241 </xsl:template> 241 242 … … 284 285 </xsl:template> 285 286 287 286 288 <xsl:template name="QueryModule.selectedVisualizationTableRow" 287 289 ibis:doc="display - selected chart/maps" 288 290 > 289 <xsl:param name="request" ibis:doc="REQUEST element to look up value chart and map names from."/>290 <xsl:param name="maps" ibis:doc="MAPS element to look up map title from."/>291 <xsl:param name="charts" ibis:doc="CHARTS element to look up chart title from."/>291 <xsl:param name="request" select="$QueryModule.request" ibis:doc="REQUEST element to look up value chart and map names from."/> 292 <xsl:param name="maps" select="$QueryModule.maps" ibis:doc="MAPS element to look up map title from."/> 293 <xsl:param name="charts" select="$QueryModule.charts" ibis:doc="CHARTS element to look up chart title from."/> 292 294 293 295 <tr> 294 296 <th scope="row" title="Defines how the data are visualized.">Selected Visuals:</th> 295 297 <td title="Map is listed first then the Chart as applicable." style="width:75%"> 296 <xsl:value-of select="ibis:getMapTitle($maps, $request/MAP_NAME)"/> ,298 <xsl:value-of select="ibis:getMapTitle($maps, $request/MAP_NAME)"/> 297 299 <xsl:value-of select="ibis:getChartTitle($charts, $request/CHART_NAME)"/> 298 300 </td> -
trunk/ibisph-view/src/main/webapp/xslt/html/query/module/builder/Builder.xslt
r22653 r22738 393 393 <button type="button" accesskey="S" id="submitButton" title="Submit the query and display the result page"> 394 394 <xsl:attribute name="onclick" select=" 395 if(exists($ Page.queryConfiguration/CRITERIA/SUBMIT_JAVASCRIPT_FUNCTION_CALL))396 then $ Page.queryConfiguration/CRITERIA/SUBMIT_JAVASCRIPT_FUNCTION_CALL395 if(exists($QueryModule.configuration/CRITERIA/SUBMIT_JAVASCRIPT_FUNCTION_CALL)) 396 then $QueryModule.configuration/CRITERIA/SUBMIT_JAVASCRIPT_FUNCTION_CALL 397 397 else 'submitQuery()' 398 398 "/> -
trunk/ibisph-view/src/main/webapp/xslt/html/query/module/builder/Page.xslt
r22653 r22738 9 9 <xsl:import href="../../../DataViz.xslt"/> 10 10 <xsl:import href="../../definition/ApplyCriteria.xslt"/> 11 <xsl:import href="../QueryModule.xslt"/>12 11 <xsl:import href="../Page.xslt"/> 13 12 <xsl:import href="SectionSelections.xslt"/> … … 40 39 <!-- ~~~~~~~~~~~~~~~~~~~~~~~ PARAMS / VARIABLES ~~~~~~~~~~~~~~~~~~~~~~~~ --> 41 40 <xsl:param name="Page.pageTitle" ibis:doc="Page's title text which is based on the 'queryModule/TITLE' element."> 42 <xsl:value-of select="/QUERY_MODULE/TITLE"/> - <xsl:value-of select="$ Page.queryConfiguration/TITLE"/> Query Builder41 <xsl:value-of select="/QUERY_MODULE/TITLE"/> - <xsl:value-of select="$QueryModule.configuration/TITLE"/> Query Builder 43 42 </xsl:param> 44 43 <xsl:param name="Page.contentTitle" ibis:doc="Page's content title text which is based on the '$selections.queryModule/TITLE' element."> 45 Query Builder for <xsl:value-of select="/QUERY_MODULE/TITLE"/> - <xsl:value-of select="$ Page.queryConfiguration/TITLE"/>44 Query Builder for <xsl:value-of select="/QUERY_MODULE/TITLE"/> - <xsl:value-of select="$QueryModule.configuration/TITLE"/> 46 45 <!-- 47 Query Builder for <xsl:value-of select="$ Page.queryConfiguration/TITLE"/>48 Query Builder for <xsl:value-of select="concat($ Page.queryConfiguration/TITLE, '-', /QUERY_MODULE/TITLE)"/>46 Query Builder for <xsl:value-of select="$QueryModule.configuration/TITLE"/> 47 Query Builder for <xsl:value-of select="concat($QueryModule.configuration/TITLE, '-', /QUERY_MODULE/TITLE)"/> 49 48 --> 50 49 </xsl:param> … … 63 62 64 63 <xsl:param name="Page.submitFormURL" 65 select="concat($Page.queryBaseRequestPath, 'submit/', /QUERY_MODULE/REQUEST/CONFIGURATION_PATH, '.html')"64 select="concat($Page.queryBaseRequestPath, 'submit/', $QueryModule.request/CONFIGURATION_PATH, '.html')" 66 65 ibis:doc="Mechanism implemented so secure query can have a different result page." 67 66 /> 68 <xsl:param name="Page.queryDefinitionFromBuilderPath" select="'query/definition/from/builder'"/>69 70 71 <xsl:param name="Page.baseConfigurationRequestPath"72 select="concat($Page.queryBaseRequestPath, 'builder/', $Page.queryModulePath)"73 />74 75 67 76 68 … … 260 252 window.onbeforeunload = function() {} 261 253 262 function viewAppliedDefinition()263 {264 alert("view applied definition: "+ junk);265 }266 267 254 // ]]> 268 255 </script> … … 277 264 step, and the submission control." 278 265 > 279 <xsl:param name="sections" select="/QUERY_MODULE/CRITERIA/SECTIONS"/>266 <xsl:param name="sections" select="$QueryModule.queryModule/CRITERIA/SECTIONS"/> 280 267 281 268 … … 285 272 match enable the page to be displayed. Otherwise it simply blows... 286 273 --> 287 <xsl:if test=" count($Page.queryConfiguration/NAME) > 1">274 <xsl:if test="1 < count($QueryModule.configuration/NAME)"> 288 275 <div class="Error"> 289 276 <h2>ERROR: Duplicate Module Configuration Names!!! Please … … 291 278 <br/><br/> 292 279 293 Duplicate Configuration Name: <xsl:value-of select="distinct-values($ Page.queryConfiguration/NAME)"/>280 Duplicate Configuration Name: <xsl:value-of select="distinct-values($QueryModule.configuration/NAME)"/> 294 281 </h2> 295 282 </div><br/> … … 297 284 <xsl:next-match/> 298 285 <xsl:message terminate="yes"> 299 QUERY MODULE ERROR: Duplicate Module Configuration Names: <xsl:value-of select="concat( /QUERY_MODULE/NAME, '/', distinct-values($Page.queryConfiguration/NAME))"/>286 QUERY MODULE ERROR: Duplicate Module Configuration Names: <xsl:value-of select="concat($QueryModule.queryModule/NAME, '/', distinct-values($QueryModule.configuration/NAME))"/> 300 287 </xsl:message> 301 288 </xsl:if> … … 303 290 304 291 <xsl:call-template name="ContentContainer.overviews"> 305 <xsl:with-param name="overviews" select=" /QUERY_MODULE/CRITERIA/OVERVIEWS/OVERVIEW"/>292 <xsl:with-param name="overviews" select="$QueryModule.queryModule/CRITERIA/OVERVIEWS/OVERVIEW"/> 306 293 </xsl:call-template> 307 294 … … 315 302 submitting to the servlet. 316 303 --> 317 <xsl:apply-templates mode="Builder.hiddenInput" select=" /QUERY_MODULE//PARAMETERS/PARAMETER[exists(HIDDEN_INPUT_FLAG)]"/>304 <xsl:apply-templates mode="Builder.hiddenInput" select="$QueryModule.queryModule//PARAMETERS/PARAMETER[exists(HIDDEN_INPUT_FLAG)]"/> 318 305 319 306 <!-- do the step sections - questions and answers --> 320 <xsl:for-each select=" /QUERY_MODULE/CRITERIA/SECTIONS/SECTION">307 <xsl:for-each select="$QueryModule.queryModule/CRITERIA/SECTIONS/SECTION"> 321 308 <xsl:call-template name="SectionSelections.expandableContentSection"> 322 309 <xsl:with-param name="section" select="."/> … … 377 364 <xsl:if test="exists($QueryModule.result)"> 378 365 <button type="button" accesskey="L" id="defaultQueryButton" 379 onclick="location.href='{$Page.queryBaseRequestPath}builder/{ /QUERY_MODULE/REQUEST/CONFIGURATION_PATH}.html?Reload=x'"366 onclick="location.href='{$Page.queryBaseRequestPath}builder/{$QueryModule.request/CONFIGURATION_PATH}.html?Reload=x'" 380 367 > 381 368 Load Default Selections … … 385 372 </button> 386 373 387 <xsl:if test="exists($ Page.queryModule/QUERY_CONFIGURATION_SELECTION)">374 <xsl:if test="exists($QueryModule.queryModule/QUERY_CONFIGURATION_SELECTION)"> 388 375 <button type="button" accesskey="D" id="changeQueryDataset" 389 onclick="location.href='{concat($ibis.baseRequestPath, $ Page.queryModule/QUERY_CONFIGURATION_SELECTION/LOCAL_URL)}'"376 onclick="location.href='{concat($ibis.baseRequestPath, $QueryModule.queryModule/QUERY_CONFIGURATION_SELECTION/LOCAL_URL)}'" 390 377 > 391 378 Select New Measure … … 450 437 <xsl:call-template name="QueryModule.selectedDimensionsCriteriaTableRows"> 451 438 <xsl:with-param name="selectedDimensions" select="$ApplyCriteria.queryDefinition//SELECTED_DIMENSIONS"/> 452 <xsl:with-param name="dimensions" select="$QueryModule.dimensions"/>453 439 </xsl:call-template> 454 440 … … 460 446 <xsl:call-template name="QueryModule.selectedVisualizationTableRow"> 461 447 <xsl:with-param name="request" select="$ApplyCriteria.queryDefinition/REQUEST"/> 462 <xsl:with-param name="maps" select="$QueryModule.maps"/>463 <xsl:with-param name="charts" select="$QueryModule.charts"/>464 448 </xsl:call-template> 465 449 </table> -
trunk/ibisph-view/src/main/webapp/xslt/html/query/module/builder/SectionSelections.xslt
r22413 r22738 137 137 <xsl:if test="$isDimension and not(exists(/QUERY_MODULE/DIMENSIONS/DIMENSION[NAME = current()/DIMENSION_NAME]))"> 138 138 <div class="Error">Dimension Name <xsl:value-of select="DIMENSION_NAME"/> NOT found!!!</div> 139 <xsl:message select="concat('QUERY BUILDER XSLT ERROR: Dimension Name ', DIMENSION_NAME, ' NOT found for config: ', $ Page.queryConfiguration/NAME)"/>139 <xsl:message select="concat('QUERY BUILDER XSLT ERROR: Dimension Name ', DIMENSION_NAME, ' NOT found for config: ', $QueryModule.configuration/NAME)"/> 140 140 </xsl:if> 141 141 … … 293 293 <!-- TODO: REMOVE THIS EXCLUDE COMPLEXITY??? PRETTY SURE LOIS NEEDS THIS ??? --> 294 294 <!-- if selection is not excluded then add it - otherwise skip --> 295 <xsl:if test="not(exists($ Page.queryConfiguration/CRITERIA/EXCLUDE/SELECTIONS/SELECTION[NAME=$inputElementName and VALUE=$value]))">295 <xsl:if test="not(exists($QueryModule.configuration/CRITERIA/EXCLUDE/SELECTIONS/SELECTION[NAME=$inputElementName and VALUE=$value]))"> 296 296 <xsl:variable name="childIDSuffix" select="concat($idSuffix, '.', position())"/> 297 297 … … 412 412 These value elements are then checked against the excluded values. 413 413 --> 414 <xsl:if test="not(exists($ Page.queryConfiguration/CRITERIA/EXCLUDE/SELECTIONS/SELECTION[NAME=$selectionsName and VALUE=$inputElementValue]))">414 <xsl:if test="not(exists($QueryModule.configuration/CRITERIA/EXCLUDE/SELECTIONS/SELECTION[NAME=$selectionsName and VALUE=$inputElementValue]))"> 415 415 <xsl:variable name="dimension" select="/QUERY_MODULE/DIMENSIONS/DIMENSION[NAME = $selectionsName]"/> 416 416 <xsl:variable name="_value" select=" … … 420 420 "/> 421 421 <!-- TODO: REMOVE THIS EXCLUDE COMPLEXITY??? PRETTY SURE LOIS NEEDS THIS? --> 422 <xsl:variable name="value" select="$_value[not( $ Page.queryConfiguration/CRITERIA/EXCLUDE/SELECTIONS/SELECTION[(NAME=$selectionsName) and (VALUE=text())] )]"/>422 <xsl:variable name="value" select="$_value[not( $QueryModule.configuration/CRITERIA/EXCLUDE/SELECTIONS/SELECTION[(NAME=$selectionsName) and (VALUE=text())] )]"/> 423 423 424 424 <!-- … … 503 503 <!-- TODO: REMOVE THIS EXCLUDE COMPLEXITY? PRETTY SURE LOIS NEEDS THIS??? --> 504 504 <xsl:if test=" 505 not($ Page.queryConfiguration/CRITERIA/EXCLUDE/SELECTIONS/SELECTION[NAME=$name and VALUE=$value])505 not($QueryModule.configuration/CRITERIA/EXCLUDE/SELECTIONS/SELECTION[NAME=$name and VALUE=$value]) 506 506 and 507 507 ibis:hasAuthority(AUTHORITY) … … 591 591 <!-- LOIS NEEDS THIS EXCLUDE??? --> 592 592 <xsl:if test=" 593 not(exists($ Page.queryConfiguration/CRITERIA/EXCLUDE/SELECTIONS/SELECTION[(NAME=$name) and (VALUE=$value)]))593 not(exists($QueryModule.configuration/CRITERIA/EXCLUDE/SELECTIONS/SELECTION[(NAME=$name) and (VALUE=$value)])) 594 594 and 595 595 ibis:hasAuthority(AUTHORITY) … … 615 615 <!-- TODO: REMOVE THIS EXCLUDE COMPLEXITY?? LOIS NEEDS THIS??? --> 616 616 617 <xsl:if test="not(exists($ Page.queryConfiguration/CRITERIA/EXCLUDE/SELECTIONS/SELECTION[(NAME=$name) and (VALUE=$value)]))">617 <xsl:if test="not(exists($QueryModule.configuration/CRITERIA/EXCLUDE/SELECTIONS/SELECTION[(NAME=$name) and (VALUE=$value)]))"> 618 618 619 619 <!-- If not an excluded value then set the option as selected IF: -
trunk/ibisph-view/src/main/webapp/xslt/html/query/module/result/Page.xslt
r22653 r22738 12 12 <xsl:import href="../../definition/ApplyCriteria.xslt"/> 13 13 <xsl:import href="../../definition/QueryDefinition.xslt"/> 14 <xsl:import href="../QueryModule.xslt"/>15 14 <xsl:import href="../Page.xslt"/> 16 15 <xsl:import href="DataViz.xslt"/> … … 29 28 30 29 31 <xsl:param name=" Page.queryConfigurationTitle" select="$Page.queryConfiguration/TITLE"/>30 <xsl:param name="QueryModule.configurationTitle" select="$QueryModule.configuration/TITLE"/> 32 31 <xsl:param name="Page.pageTitle" ibis:doc="Page's title text which is based on the '/QUERY_MODULE/TITLE' element."> 33 Query Result - <xsl:value-of select="/QUERY_MODULE/TITLE"/> - <xsl:value-of select="$ Page.queryConfigurationTitle"/>32 Query Result - <xsl:value-of select="/QUERY_MODULE/TITLE"/> - <xsl:value-of select="$QueryModule.configurationTitle"/> 34 33 </xsl:param> 35 34 <xsl:param name="Page.contentTitle" ibis:doc="Page's content title text which is based on the '/QUERY_MODULE/TITLE' element."> 36 Query Results for <xsl:value-of select="/QUERY_MODULE/TITLE"/> - <xsl:value-of select="$ Page.queryConfigurationTitle"/>35 Query Results for <xsl:value-of select="/QUERY_MODULE/TITLE"/> - <xsl:value-of select="$QueryModule.configurationTitle"/> 37 36 </xsl:param> 38 37 39 38 40 39 <!-- bread crumbs and content options --> 41 <xsl:param name="Page.builderURL" select="concat($Page.queryBaseRequestPath, 'builder/', /QUERY_MODULE/REQUEST/CONFIGURATION_PATH, '.html')"/>42 <xsl:param name="Page.resultURL" select="concat($Page.queryBaseRequestPath, 'result/', /QUERY_MODULE/REQUEST/CONFIGURATION_PATH, '.html')"/>40 <xsl:param name="Page.builderURL" select="concat($Page.queryBaseRequestPath, 'builder/', $QueryModule.request/CONFIGURATION_PATH, '.html')"/> 41 <xsl:param name="Page.resultURL" select="concat($Page.queryBaseRequestPath, 'result/', $QueryModule.request/CONFIGURATION_PATH, '.html')"/> 43 42 44 43 45 44 <xsl:param name="Page.requestErrorMessageContent"> 46 45 <div class="Error"> 47 <h2>Error: <xsl:value-of select=" /QUERY_MODULE/REQUEST/ERROR/TITLE"/></h2>46 <h2>Error: <xsl:value-of select="$QueryModule.request/ERROR/TITLE"/></h2> 48 47 49 48 <p> … … 58 57 </p> 59 58 60 <div class="Note" title="{ /QUERY_MODULE/REQUEST/ERROR/TITLE}">59 <div class="Note" title="{$QueryModule.request/ERROR/TITLE}"> 61 60 <h3>Error Details:</h3> 62 <xsl:value-of select=" /QUERY_MODULE/REQUEST/ERROR/DESCRIPTION"/>61 <xsl:value-of select="$QueryModule.request/ERROR/DESCRIPTION"/> 63 62 </div> 64 63 </div> … … 76 75 </p> 77 76 78 <div class="Note" title="{ /QUERY_MODULE/REQUEST/ERROR/TITLE}">77 <div class="Note" title="{$QueryModule.request/ERROR/TITLE}"> 79 78 <h3>More Error Detail:</h3> 80 <xsl:value-of select=" /QUERY_MODULE/REQUEST/ERROR"/>79 <xsl:value-of select="$QueryModule.request/ERROR"/> 81 80 </div> 82 81 </div> … … 121 120 was combined 1/10/08." 122 121 > 123 <xsl:if test="not(exists( /QUERY_MODULE/IBISQ_QUERY_RESULT)) and not(exists(/QUERY_MODULE/REQUEST/ERROR))">122 <xsl:if test="not(exists($QueryModule.result)) and not(exists($QueryModule.request/ERROR))"> 124 123 <meta http-equiv="refresh" content="0;URL={$Page.resultURL}"/> 125 124 </xsl:if> … … 130 129 131 130 <xsl:template name="Page.contentBody" ibis:doc="Main interactive sections content template."> 132 <xsl:param name="queryModule" select="$Page.queryModule"/>133 <xsl:param name="queryConfiguration" select="$Page.queryConfiguration"/>134 <xsl:param name="recordCount" select="count($queryModule/IBISQ_QUERY_RESULT/RECORDS/RECORD)"/>135 131 136 132 <xsl:call-template name="Page.contentOptions"/> … … 147 143 > 148 144 <xsl:call-template name="QueryModule.selectedDimensionsCriteriaTableRows"> 149 <xsl:with-param name="selectedDimensions" select="$ queryModule//SECTION//SELECTED_DIMENSIONS"/>145 <xsl:with-param name="selectedDimensions" select="$QueryModule.queryModule//SECTION//SELECTED_DIMENSIONS"/> 150 146 <xsl:with-param name="dimensions" select="$QueryModule.dimensions"/> 151 147 </xsl:call-template> 152 148 153 149 <xsl:call-template name="QueryModule.dataGroupedByTableRow"> 154 <xsl:with-param name="rowDimensionTitle" select="ibis:getDimensionTitle($QueryModule.dimensions/DIMENSION[NAME=$ queryModule/REQUEST/ACTUAL_GROUP_BY/CATEGORY_DIMENSION_NAME])"/>155 <xsl:with-param name="colDimensionTitle" select="ibis:getDimensionTitle($QueryModule.dimensions/DIMENSION[NAME=$ queryModule/REQUEST/ACTUAL_GROUP_BY/SERIES_DIMENSION_NAME])"/>156 <xsl:with-param name="otherDimensionTitle" select="ibis:getDimensionTitle($QueryModule.dimensions/DIMENSION[NAME=$ queryModule/REQUEST/ACTUAL_GROUP_BY/OTHER_DIMENSION_NAME])"/>150 <xsl:with-param name="rowDimensionTitle" select="ibis:getDimensionTitle($QueryModule.dimensions/DIMENSION[NAME=$QueryModule.request/ACTUAL_GROUP_BY/CATEGORY_DIMENSION_NAME])"/> 151 <xsl:with-param name="colDimensionTitle" select="ibis:getDimensionTitle($QueryModule.dimensions/DIMENSION[NAME=$QueryModule.request/ACTUAL_GROUP_BY/SERIES_DIMENSION_NAME])"/> 152 <xsl:with-param name="otherDimensionTitle" select="ibis:getDimensionTitle($QueryModule.dimensions/DIMENSION[NAME=$QueryModule.request/ACTUAL_GROUP_BY/OTHER_DIMENSION_NAME])"/> 157 153 </xsl:call-template> 158 154 </table> 159 155 160 156 <xsl:if test="$ApplyCriteria.isSet"> 161 <br/>162 157 <h2>Current "Apply Query Definition"</h2> 163 158 <table id="applyCriteria" class="Info" … … 169 164 <xsl:call-template name="QueryModule.selectedDimensionsCriteriaTableRows"> 170 165 <xsl:with-param name="selectedDimensions" select="$ApplyCriteria.queryDefinition//SELECTED_DIMENSIONS"/> 171 <xsl:with-param name="dimensions" select="$QueryModule.dimensions"/>172 166 </xsl:call-template> 173 167 … … 179 173 <xsl:call-template name="QueryModule.selectedVisualizationTableRow"> 180 174 <xsl:with-param name="request" select="$ApplyCriteria.queryDefinition/REQUEST"/> 181 <xsl:with-param name="maps" select="$QueryModule.maps"/>182 <xsl:with-param name="charts" select="$QueryModule.charts"/>183 175 </xsl:call-template> 184 176 </table> … … 186 178 187 179 <xsl:choose> 188 <xsl:when test="exists($ queryModule/REQUEST/ERROR)">180 <xsl:when test="exists($QueryModule.request/ERROR)"> 189 181 <xsl:copy-of select="$Page.requestErrorMessageContent"/> 190 182 </xsl:when> 191 183 192 <xsl:when test="exists($ queryModule/IBISQ_QUERY_RESULT/ERROR)">184 <xsl:when test="exists($QueryModule.result/ERROR)"> 193 185 <xsl:copy-of select="$Page.resultErrorMessageContent"/> 194 186 </xsl:when> 195 187 196 <xsl:when test="not(exists($ queryModule/IBISQ_QUERY_RESULT))">188 <xsl:when test="not(exists($QueryModule.result))"> 197 189 <xsl:copy-of select="$Page.pleaseWaitMessageContent"/> 198 190 </xsl:when> 199 191 200 <xsl:when test=" $recordCount= 0">192 <xsl:when test="count($QueryModule.result/RECORDS/RECORD) = 0"> 201 193 <xsl:copy-of select="$Page.resultNoDataMessageContent"/> 202 194 </xsl:when> … … 204 196 <!-- If records, then display the data list table. --> 205 197 <xsl:otherwise> 206 <xsl:call-template name="Page.dataContent"> 207 <xsl:with-param name="queryModule" select="$queryModule"/> 208 <xsl:with-param name="queryConfiguration" select="$queryConfiguration"/> 209 </xsl:call-template> 198 <xsl:call-template name="Page.dataContent"/> 210 199 </xsl:otherwise> 211 200 </xsl:choose> 201 202 <xsl:call-template name="Page.usageAgreementDialog"/> 212 203 213 204 </xsl:template> … … 247 238 <xsl:if test="exists($QueryModule.queryModule/DEVELOPMENT_FLAG)"> 248 239 <button type="button" accesskey="L" id="defaultQueryButton" 249 onclick="location.href='{$Page. queryBaseRequestPath}result/{/QUERY_MODULE/REQUEST/CONFIGURATION_PATH}.html?Reload=x'"240 onclick="location.href='{$Page.resultURL}?Reload=x'" 250 241 > 251 242 Run Default Query … … 256 247 257 248 <button type="button" accesskey="X" id="viewXMLButton" 258 onclick="location.href='{$ibis.baseRequestPath}query/configuration/{$QueryModule. queryModule/REQUEST/CONFIGURATION_PATH}.xml'"249 onclick="location.href='{$ibis.baseRequestPath}query/configuration/{$QueryModule.request/CONFIGURATION_PATH}.xml'" 259 250 > 260 251 View Module XML … … 272 263 </div> 273 264 265 <xsl:call-template name="ApplyCriteria.dialog"/> 266 267 <xsl:call-template name="QueryDefintion.editIdentityDialog"> 268 <xsl:with-param name="queryModule" select="$QueryModule.queryModule"/> 269 </xsl:call-template> 270 271 <xsl:call-template name="Login.dialog"> 272 <xsl:with-param name="overviewContent"> 273 <p> 274 You are not logged in. To save a query you must be logged in. 275 Enter your username / password to proceed. Once successfully 276 logged in you will be redirected back to this page where you 277 can then save the query definition. 278 </p> 279 </xsl:with-param> 280 </xsl:call-template> 281 274 282 </xsl:template> 275 283 … … 281 289 " 282 290 > 283 <xsl:param name="queryModule" select="$Page.queryModule"/> 284 <xsl:param name="queryConfiguration" select="$Page.queryConfiguration"/> 285 <xsl:param name="queryRequest" select="$queryModule/REQUEST"/> 286 287 <xsl:variable name="dataVizContainerIDPrefix" select="ibis:firstLetterLowerCase( replace($queryRequest/CONFIGURATION_PATH, '/', '_') )"/> 291 <xsl:variable name="dataVizContainerIDPrefix" select="ibis:firstLetterLowerCase( replace($QueryModule.request/CONFIGURATION_PATH, '/', '_') )"/> 288 292 <xsl:variable name="dataVizObjectName" select="concat($dataVizContainerIDPrefix, 'DataViz')"/> 289 293 … … 294 298 <xsl:call-template name="DataViz.mapContainer"> 295 299 <xsl:with-param name="containerID" select="concat($dataVizContainerIDPrefix, '_map')"/> 296 <xsl:with-param name="footerContent" select="$ queryConfiguration/MAP_NARRATIVE"/>300 <xsl:with-param name="footerContent" select="$QueryModule.configuration/MAP_NARRATIVE"/> 297 301 </xsl:call-template> 298 302 </xsl:with-param> … … 305 309 <xsl:if test="$DataViz.showChart"> 306 310 <xsl:call-template name="ContentContainer.expandable"> 307 <xsl:with-param name="title" select="if('Line'=$ queryRequest/CHART_NAME)then 'Trend' else 'Chart'"/>311 <xsl:with-param name="title" select="if('Line'=$QueryModule.request/CHART_NAME)then 'Trend' else 'Chart'"/> 308 312 <xsl:with-param name="content"> 309 313 <xsl:call-template name="DataViz.chartContainer"> 310 314 <xsl:with-param name="containerID" select="concat($dataVizContainerIDPrefix, '_chart')"/> 311 <xsl:with-param name="footerContent" select="$ queryConfiguration/CHART_NARRATIVE/text()"/>315 <xsl:with-param name="footerContent" select="$QueryModule.configuration/CHART_NARRATIVE"/> 312 316 </xsl:call-template> 313 317 </xsl:with-param> … … 348 352 <xsl:with-param name="dataVizContainerIDPrefix" select="$dataVizContainerIDPrefix"/> 349 353 350 <xsl:with-param name="queryModule" select="$ queryModule"/>351 <xsl:with-param name="queryConfiguration" select="$ queryConfiguration"/>352 <xsl:with-param name="queryRequest" select="$ queryRequest"/>354 <xsl:with-param name="queryModule" select="$QueryModule.queryModule"/> 355 <xsl:with-param name="queryConfiguration" select="$QueryModule.configuration"/> 356 <xsl:with-param name="queryRequest" select="$QueryModule.request"/> 353 357 </xsl:call-template> 354 358 … … 364 368 }); 365 369 </xsl:if> 366 367 368 function saveQueryDefinition()369 {370 <xsl:if test="boolean(ibis:isAuthenticated())">371 showQueryDefinitionEditIdentityDialog();372 </xsl:if>373 <xsl:if test="not(ibis:isAuthenticated())">374 showLoginDialog();375 </xsl:if>376 }377 370 </script> 378 379 <xsl:call-template name="ApplyCriteria.dialog">380 <xsl:with-param name="queryModule" select="$queryModule"/>381 </xsl:call-template>382 383 384 <xsl:call-template name="Page.usageAgreementDialog"/>385 386 <xsl:call-template name="QueryDefintion.editIdentityDialog">387 <xsl:with-param name="queryModule" select="$queryModule"/>388 <xsl:with-param name="configuration" select="$queryConfiguration"/>389 </xsl:call-template>390 391 <xsl:call-template name="Login.dialog">392 <xsl:with-param name="overviewContent">393 <p>394 You are not logged in. To save a query you must be logged in.395 Enter your username / password to proceed. Once successfully396 logged in you will be redirected back to this page where you397 can then save the query definition.398 </p>399 </xsl:with-param>400 </xsl:call-template>401 402 371 </xsl:template> 403 372 404 373 405 374 <xsl:template name="Page.contentFooter" ibis:doc="QM Result dates and owning program's contact info."> 406 <xsl:param name="queryModule" select="$ Page.queryModule"/>407 <xsl:param name="orgUnitName" select="if(0 != string-length($ Page.queryModule/ORG_UNIT_NAME)) then $queryModule/ORG_UNIT_NAME else 'DEFAULT'"/>375 <xsl:param name="queryModule" select="$QueryModule.queryModule"/> 376 <xsl:param name="orgUnitName" select="if(0 != string-length($queryModule/ORG_UNIT_NAME)) then $queryModule/ORG_UNIT_NAME else 'DEFAULT'"/> 408 377 <xsl:param name="orgUnit" select="$Page.orgUnits//ORG_UNIT[NAME=$orgUnitName]"/> 409 378 -
trunk/ibisph-view/src/main/webapp/xslt/html/secure/query/module/builder/SiteSpecific.xslt
r20582 r22738 18 18 </ibis:doc> 19 19 20 <xsl:param name="Page.queryDefinitionFromBuilderPath" select="'secure/query/definition/from/builder'"/>21 20 22 21 <xsl:param name="Page.submitFormURL" -
trunk/ibisph/src/main/java/org/ibisph/xml/service/IncludeProcessingGetModel.java
r20981 r22738 96 96 * portable. 97 97 * 98 * @param xmlFilePathAndName Base/main XML source document path and filename for the99 * XML file to be processed for "ibis:include" statements and loaded.98 * @param xmlFilePathAndName Base/main XML source document path and filename 99 * for the XML file to be processed for "ibis:include" statements. 100 100 * @param parameters Optional name value pair map values to be passed 101 101 * to the XSLT.
Note: See TracChangeset
for help on using the changeset viewer.