Changeset 21397 in main


Ignore:
Timestamp:
08/27/20 11:48:47 (5 weeks ago)
Author:
GarthBraithwaite_STG
Message:

view - updated apply criteria UI.

Location:
trunk/ibisph-view/src/main/webapp
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/ibisph-view/src/main/webapp/css/_kendo_overrides.css

    r21274 r21397  
    2424.k-window .DialogWindow.k-window-content button
    2525{
    26         margin:                         0 0 0.25em 0.75em;
     26        margin:                         0 0.75em 0.25em 0;
    2727}
    2828
  • trunk/ibisph-view/src/main/webapp/xslt/html/query/definition/ApplyCriteria.xslt

    r21259 r21397  
    105105                        <xsl:with-param name="content" select="$ApplyCriteria.restrictionsHelpContent"/>
    106106                </xsl:call-template> ) to all subseqent dataset query requests.
    107                 This feature helps for doing studies on different datasets for example:
    108                 you want to look at different survey datasets for females and a subset of
    109                 counties for certain years and to always display a certain map and a bar
    110                 chart without having to specify those values for all of those dataset queries. 
     107                This feature can help you save time and be consistent by automatically applying
     108                your defined selections to other queryable datasets you open.
     109
     110                <div id="applyCriteriaOverviewDetailContent" style="margin-top: 1em">
     111                <xsl:choose>
     112                        <xsl:when test="$ApplyCriteria.isSet">
     113                                This feature is currently enabled.  You can press the "Clear Apply Criteria"
     114                                to turn this feature off.  You can also press the "Set Apply Criteria"
     115                                button capture your current selections to be used as your new criteria
     116                                to be applied.
     117                        </xsl:when>
     118                        <xsl:otherwise>
     119                                One Example:<br/>
     120                                Doing studies on different datasets like you want to look at different survey
     121                                datasets for hispanic females for years 2015-2018.  You want to always display
     122                                a county choropleth map and a horizontal bar chart.  You make those initial
     123                                selections, submit your selections, enable this apply criteria feature.  From
     124                                then on, those selections are automatically applied (as much as possible) to
     125                                all subsequent queryable datasets you open.
     126                        </xsl:otherwise>
     127                </xsl:choose>
     128                </div>
    111129        </xsl:param>
    112130
     
    137155                <xsl:param name="request"       select="$queryModule/REQUEST"/>
    138156                <xsl:param name="configuration" select="$queryModule/CONFIGURATIONS/CONFIGURATION[NAME = $request/CONFIGURATION_NAME]"/>
    139                 <xsl:param name="userSelections"/>
    140157
    141158                <div id="applyCriteriaDialog" class="DialogWindow">
    142159                        <div class="Content">
    143160                                <xsl:copy-of select="$ApplyCriteria.overviewContent"/>
    144                                 <br/><br/>
    145 
    146                                 <button type="button" id="setApplyCriteriaButton"       
    147                                         onclick="setAndCloseApplyCriteriaDialog(true)"
    148                                         title="Captures selections and turns on the apply criteria feature."
    149                                 >
    150                                         Set Apply Criteria
    151                                         <xsl:call-template name="Help.popup">
    152                                                 <xsl:with-param name="content" select="$ApplyCriteria.applyButtonHelpContent"/>
    153                                         </xsl:call-template>
    154                                 </button>
    155                                 <button type="button" id="clearApplyCriteriaButton" 
    156                                         onclick="setAndCloseApplyCriteriaDialog(false)"
    157                                         title="Turns off the apply criteria feature."
    158                                 >
    159                                         Clear Apply Criteria
    160                                         <xsl:call-template name="Help.popup">
    161                                                 <xsl:with-param name="content" select="$ApplyCriteria.clearButtonHelpContent"/>
    162                                         </xsl:call-template>
    163                                 </button>
    164                                 <button type="button" id="applyCriteriaCloseButton" 
    165                                         onclick="window.applyCriteriaDialog.close()"
    166                                         title="Closes this without setting clearing or applying."
    167                                 >Cancel</button>
    168                                
    169                                 <xsl:if test="$userSelections">
    170                                         <xsl:choose>
    171                                                 <xsl:when test="$ApplyCriteria.isSet">
    172                                                         You currently have the
    173                                                         <span class="Bold"><xsl:value-of select="$ApplyCriteria.queryDefinition/TITLE"/></span>
    174                                                         saved query definition being applied to all of your subsequent
    175                                                         query dataset requests.  This will remain in effect for the
    176                                                         remainder of your session/visit to this site or until you uncheck
    177                                                         this checkbox.  If you choose a different "Apply Critera" saved
    178                                                         query definition then the newly selected saved query definition
    179                                                         will used.
    180                                                 </xsl:when>
    181                                                 <xsl:when test="name($ApplyCriteria.queryDefinition/DEFINITION) = 'EMPTY_QUERY_DEFINITION'">
    182                                                         You current are setup to have a saved query definition applied 
    183                                                         to your future dataset query requests.  However, you have not
    184                                                         selected which saved query definition to use.  For this feature
    185                                                         to work you must have the this checkbox checked followed by
    186                                                         selecting the desired "Apply Criteria" saved query definition to
    187                                                         be used/applied.
    188                                                 </xsl:when>
    189                                                 <xsl:otherwise>
    190                                                         Remember "Apply Critera" selected saved query definition and
    191                                                         apply its criteria to all subsequent query dataset requests.
    192                                                 </xsl:otherwise>
    193                                         </xsl:choose>
    194                                 </xsl:if>
    195 
     161
     162                                <div style="margin-top: 1em">
     163                                        <button type="button" id="setApplyCriteriaButton"       
     164                                                onclick="setAndCloseApplyCriteriaDialog(true)"
     165                                                title="Captures selections and turns on the apply criteria feature."
     166                                        >
     167                                                Set Apply Criteria
     168                                                <xsl:call-template name="Help.popup">
     169                                                        <xsl:with-param name="content" select="$ApplyCriteria.applyButtonHelpContent"/>
     170                                                </xsl:call-template>
     171                                        </button>
     172                                        <button type="button" id="clearApplyCriteriaButton" 
     173                                                onclick="setAndCloseApplyCriteriaDialog(false)"
     174                                                title="Turns off the apply criteria feature."
     175                                        >
     176                                                Clear Apply Criteria
     177                                                <xsl:call-template name="Help.popup">
     178                                                        <xsl:with-param name="content" select="$ApplyCriteria.clearButtonHelpContent"/>
     179                                                </xsl:call-template>
     180                                        </button>
     181                                        <button type="button" id="applyCriteriaCloseButton" 
     182                                                onclick="window.applyCriteriaDialog.close()"
     183                                                title="Closes this without setting clearing or applying."
     184                                        >Cancel</button>
     185                                </div>
    196186                        </div>
    197187                </div>
     
    234224                                window.applyCriteriaDialog.close();
    235225
     226                                document.getElementById("applyCriteriaOverviewDetailContent").style.display = "none";
     227
    236228                                var url = window.baseRequestPath + "query/definition/set_apply";
    237229                                if(!setApplyCriteria) url = url + "?Clear=x";
  • trunk/ibisph-view/src/main/webapp/xslt/html/query/module/builder/Page.xslt

    r21322 r21397  
    99        <xsl:import href="../../../DataViz.xslt"/>
    1010        <xsl:import href="../../definition/ApplyCriteria.xslt"/>
     11        <xsl:import href="../QueryModule.xslt"/>
    1112        <xsl:import href="../Page.xslt"/>
    1213        <xsl:import href="SectionSelections.xslt"/>
     
    5455        </xsl:param>
    5556
    56 <xsl:param name="Page.viewApplyCriteriaDetailsContent">
    57                 The Apply Criteria feature is enabled.  At some future point this button
    58                 will open up the details of the criteria that was applied to this queryable
    59                 dataset. 
     57        <xsl:param name="Page.viewApplyCriteriaDetailsHelpContent">
     58                The Apply Criteria feature is enabled.  Click this button to view the
     59                currently selected criteria that is tried to be applied to this and
     60                future queryable datasets.
    6061        </xsl:param>
    6162
     
    209210                        } //~~~~~~~~~~~~~~~~~~~~~~~~~~~~ End of Function ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    210211
    211 // GARTH TODO: Likely remove
    212 function saveCriteria()
    213 {
    214         window.inputSelections.clearAllNonSelectedSelections();
    215         if(!window.inputSelections.validateAllTextInputs()) return;
    216         document.form.action = saveCriteriaURL;
    217         document.form.submit();
    218 } //~~~~~~~~~~~~~~~~~~~~~~~~~~~~ End of Function ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    219 
    220 
    221212                        // according to: http://www.hunlock.com/blogs/Mastering_The_Back_Button_With_Javascript
    222213                        // having a window.onbeforeunload tells the browser to NOT cache the
     
    316307                </form>
    317308
    318 
    319309                <xsl:call-template name="Page.usageAgreementDialog"/>
    320 
    321                 <xsl:call-template name="ApplyCriteria.dialog">
    322                         <xsl:with-param name="queryModule" select="$Page.queryModule"/>
    323                 </xsl:call-template>
     310                <xsl:if test="$ApplyCriteria.isSet">
     311                        <xsl:call-template name="Page.applyCriteriaDialog"/>
     312                </xsl:if>
    324313
    325314        </xsl:template>
    326 
    327315
    328316
     
    348336
    349337                                <xsl:if test="$ApplyCriteria.isSet">
    350                                 <button type="button" accesskey="D" id="viewAppliedDefinitionButton" onclick="alert('The Apply Query Criteria is enabled.  Viewing the details will be implemented at some future point.');">
     338                                <button type="button" accesskey="D" id="viewAppliedDefinitionButton"
     339                                        onclick="window.applyCriteriaDialog.center().open()"
     340                                >
    351341                                        Applied Criteria Enabled
    352342                                        <xsl:call-template name="Help.popup">
    353 <xsl:with-param name="content" select="$Page.viewApplyCriteriaDetailsContent"/>
     343                                                <xsl:with-param name="content" select="$Page.viewApplyCriteriaDetailsHelpContent"/>
    354344                                        </xsl:call-template>
    355345                                </button>
     
    388378        </xsl:template>
    389379
     380
     381        <xsl:template name="Page.applyCriteriaDialog">
     382                <xsl:param name="queryModule"/>
     383
     384                <div id="applyCriteriaDialog" class="DialogWindow">
     385                        <div class="Content">
     386                                You currently have the Apply Query Criteria set.  This remains in
     387                                effect for the remainder of your session/visit to this site or until
     388                                you "Clear Apply Critera" (option available on the query result page). 
     389                                Shown below are your current selections that the system will try to apply.
     390
     391                                <h3>Current Apply Criteria Query Definition</h3>
     392                                <table id="applyCriteria" class="Info"
     393                                        summary="The first column is a title of that type of selection with
     394                                                the next column showing a list of selected values.
     395                                        "
     396                                        caption="Result table that shows selected dimensions and group by selections."
     397                                >
     398                                        <xsl:call-template name="QueryModule.selectedDimensionsCriteriaTableRows">
     399                                                <xsl:with-param name="selectedDimensions" select="$ApplyCriteria.queryDefinition//SELECTED_DIMENSIONS"/>
     400                                                <xsl:with-param name="dimensions" select="$QueryModule.dimensions"/>
     401                                        </xsl:call-template>
     402
     403                                        <xsl:call-template name="QueryModule.dataGroupedByTableRow">
     404                                                <xsl:with-param name="rowDimensionTitle"   select="ibis:getDimensionTitle($QueryModule.dimensions/DIMENSION[NAME=$ApplyCriteria.queryDefinition/REQUEST/ACTUAL_GROUP_BY/CATEGORY_DIMENSION_NAME])"/>
     405                                                <xsl:with-param name="colDimensionTitle"   select="ibis:getDimensionTitle($QueryModule.dimensions/DIMENSION[NAME=$ApplyCriteria.queryDefinition/REQUEST/ACTUAL_GROUP_BY/SERIES_DIMENSION_NAME])"/>
     406                                                <xsl:with-param name="otherDimensionTitle" select="ibis:getDimensionTitle($QueryModule.dimensions/DIMENSION[NAME=$ApplyCriteria.queryDefinition/REQUEST/ACTUAL_GROUP_BY/OTHER_DIMENSION_NAME])"/>
     407                                        </xsl:call-template>
     408                                        <xsl:call-template name="QueryModule.selectedVisualizationTableRow">
     409                                                <xsl:with-param name="request" select="$ApplyCriteria.queryDefinition/REQUEST"/>
     410                                                <xsl:with-param name="maps"    select="$QueryModule.maps"/>
     411                                                <xsl:with-param name="charts"  select="$QueryModule.charts"/>
     412                                        </xsl:call-template>
     413                                </table>
     414                                <br/>
     415
     416                                <button type="button" id="applyCriteriaCloseButton" 
     417                                        onclick="window.applyCriteriaDialog.close()"
     418                                        title="Closes this dialog window."
     419                                >Close</button>
     420                               
     421                        </div>
     422                </div>
     423
     424                <script type="text/javascript">
     425                        // <![CDATA[
     426                        $(document).ready(function()
     427                        {
     428                                window.applyCriteriaDialog =
     429                                        $("#applyCriteriaDialog").kendoWindow({
     430                                                title: "Apply Dataset Query Definition"
     431                                                ,visible: false
     432                                                ,width: "600px"
     433                                                ,resizable: true
     434                                                ,modal: true
     435                                        }).data("kendoWindow");
     436                        }); //~~~~~~~~~~~~~~~~~~~~ End of Ready Function ~~~~~~~~~~~~~~~~~~~
     437                        // ]]>
     438                </script>
     439        </xsl:template>
     440
    390441</xsl:stylesheet>
    391442<!-- ============================= End of File ============================= -->
Note: See TracChangeset for help on using the changeset viewer.