Changeset 21145 in main


Ignore:
Timestamp:
07/26/20 18:51:05 (2 weeks ago)
Author:
GarthBraithwaite_STG
Message:

view, java - temp commit of edit query def. Added basic support for buttons to have font icons.

Location:
trunk
Files:
3 added
1 deleted
12 edited

Legend:

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

    r21106 r21145  
    3636        <bean id="queryDefinitionModuleToDefinitionService" class="org.ibisph.querydefinition.service.QueryModuleXMLToQueryDefinitionXML"/>
    3737
    38         <bean id="queryDefinitionFromHTTPRequestParametersService" class="org.ibisph.web.HTTPRequestParametersToContainerElementService">
    39                 <description>HTTP REQUEST PARAMS to QD - POSTED - SAVE QUERY DEF</description>
    40                 <property name="containerElementName" value="QUERY_DEFINITION"/>
    41                 <property name="HTTPRequestParameterNameToXMLElementNameList">
    42                         <list>
    43                                 <bean class="org.ibisph.web.HTTPRequestParameterNameToXMLElementName"><constructor-arg value="name"/>       <constructor-arg value="NAME"/></bean>
    44                                 <bean class="org.ibisph.web.HTTPRequestParameterNameToXMLElementName"><constructor-arg value="title"/>      <constructor-arg value="TITLE"/></bean>
    45                                 <bean class="org.ibisph.web.HTTPRequestParameterNameToXMLElementName"><constructor-arg value="description"/><constructor-arg value="DESCRIPTION"/></bean>
    46                                 <bean class="org.ibisph.web.HTTPRequestParameterNameToXMLElementName"><constructor-arg value="privateFlag"/><constructor-arg value="PRIVATE_FLAG"/></bean>
    47                                 <bean class="org.ibisph.web.HTTPRequestParameterNameToXMLElementName"><constructor-arg value="requestPath"/><constructor-arg value="REQUEST_PATH_PREFIX"/></bean>
    48                                 <bean class="org.ibisph.web.HTTPRequestParameterNameToXMLElementName"><constructor-arg value="configurationPath"/><constructor-arg value="CONFIGURATION_PATH"/></bean>
    49                         </list>
    50                 </property>
    51                 <property name="stringValidator" ref="commonXSSStringValidator"/>
    52                 <property name="stringCleaner"   ref="commonXMLStringCleaner"/>
    53         </bean>
    54 
    5538
    5639        <!-- X M L   M O D E L S -->
     
    292275        <bean id="queryDefinitionSaveController" parent="commonModelMapListController">
    293276                <description>
    294                         query/definition/save/**
    295                         Save/create a new QUERY_DEF from QD edit detail page - POSTED HTTP
    296                         request data.
    297                         Get's the posted detail page's values into a QUERY_DEFINITION model map.
    298                         Load the QM selections into the QD
    299                         Save the QD to the QDs file
    300                         Get the QDs and return the LIST view.
    301                 </description>
    302                 <property name="modelMapList">
    303                         <list>
    304                                 <bean class="org.ibisph.web.modelmap.HTTPRequestParametersToXML">
    305                                         <description>
    306                                                 id="queryDefinitionFromHTTRequestParametersModelMap"
    307                                                 Loads the posted HTTP Request Parameters into a queryDefinition
    308                                                 XML container element (service has QUERY_DEFINITION root
    309                                                 root container element specified as well as the http to
    310                                                 element mappings) which is placed into the model map. 
    311                                         </description>
    312                                         <property name="HTTPRequestParametersToContainerElementService" ref="queryDefinitionFromHTTPRequestParametersService"/>
    313                                         <property name="modelMapKey" value="#{queryDefinitionModelMapKey.string}"/>
    314                                 </bean>
    315                                 <bean class="org.ibisph.querydefinition.modelmap.QueryModuleToQueryDefinition">
    316                                         <description>
    317                                                 id="queryDefinitionQueryModuleToQueryDefinitionModelMap"
    318                                                 Loads the query module selections into the query definition. 
    319                                         </description>
    320                                         <property name="queryModuleSessionName"     value="#{queryModuleSessionName.string}"/>
    321                                         <property name="queryDefinitionModelMapKey" value="#{queryDefinitionModelMapKey.string}"/>
    322                                         <property name="queryModuleToQueryDefinitionService" ref="queryDefinitionModuleToDefinitionService"/>
    323                                 </bean>
    324                                 <bean id="queryDefinitionToQueryDefinitionsModelMap"
    325                                         class="org.ibisph.querydefinition.modelmap.QueryDefinitionToQueryDefinitions"
     277                        Ajax post request of the form: query/definition/save/**.  This creates
     278                        a new QUERY_DEF from posted HTTP params and existing session QM or saves
     279                        some of the user updatable QD feilds from the edit detail.  2 use cases:
     280                        1) New QD from query result
     281                                QD is newly entered and posted when user presses Save.
     282                                Load QD's QM fields via a service which uses the QM in the user's session.
     283                        2) Edit existing QD identity fields
     284                                Update existing QD identity fields with posted values.
     285
     286                        Ajax post request of the form: query/definition/save/**.  This controller
     287                        does not have a view since it is an ajax post request.  It could have
     288                        been implemented as a straight spring MVC controller but for consist
     289                        and just in case objects are needed it is implemented as a MM list
     290                        with only 1 specialized save bean.  At some point beans can be split
     291                        out as needed.
     292
     293                        For the new saved query the UI should implement a success/fail popup
     294                        and leave the user in the QM result page.  For editing the UI should
     295                        call a page refresh after posting the data so that the user can see
     296                        their updates.  This request should also show a success/fail dialog?
     297                </description>
     298                <property name="modelMapList">
     299                        <list>
     300                                <bean class="org.ibisph.querydefinition.modelmap.SaveQueryDefinitionFromHTTPRequest"
    326301                                        parent="queryDefinitionModelMapProperties"
    327302                                >
    328                                         <description>
    329                                                 Saves the queryDefinition XML that is found in the
    330                                                 supplied model map to the user's query definitions. 
    331                                                 The newly updated query definitions are then returned.
    332                                         </description>
    333                                         <property name="queryDefinitionModelMapKey" value="#{queryDefinitionModelMapKey.string}"/>
    334                                         <property name="modelMapKey"                value="#{commonXMLModelMapKey.string}"/>
     303                                        <property name="HTTPRequestParametersToContainerElementService">
     304                                                <bean class="org.ibisph.web.HTTPRequestParametersToContainerElementService">
     305                                                        <description>HTTP REQUEST PARAMS to QD - POSTED - SAVE QUERY DEF</description>
     306                                                        <property name="containerElementName" value="QUERY_DEFINITION"/>
     307                                                        <property name="HTTPRequestParameterNameToXMLElementNameList">
     308                                                                <list>
     309                                                                        <bean class="org.ibisph.web.HTTPRequestParameterNameToXMLElementName"><constructor-arg value="name"/>       <constructor-arg value="NAME"/></bean>
     310                                                                        <bean class="org.ibisph.web.HTTPRequestParameterNameToXMLElementName"><constructor-arg value="title"/>      <constructor-arg value="TITLE"/></bean>
     311                                                                        <bean class="org.ibisph.web.HTTPRequestParameterNameToXMLElementName"><constructor-arg value="description"/><constructor-arg value="DESCRIPTION"/></bean>
     312                                                                        <bean class="org.ibisph.web.HTTPRequestParameterNameToXMLElementName"><constructor-arg value="privateFlag"/><constructor-arg value="PRIVATE_FLAG"/></bean>
     313                                                                        <bean class="org.ibisph.web.HTTPRequestParameterNameToXMLElementName"><constructor-arg value="requestPath"/><constructor-arg value="REQUEST_PATH_PREFIX"/></bean>
     314                                                                        <bean class="org.ibisph.web.HTTPRequestParameterNameToXMLElementName"><constructor-arg value="configurationPath"/><constructor-arg value="CONFIGURATION_PATH"/></bean>
     315                                                                </list>
     316                                                        </property>
     317                                                        <property name="stringValidator" ref="commonXSSStringValidator"/>
     318                                                        <property name="stringCleaner"   ref="commonXMLStringCleaner"/>
     319                                                </bean>
     320                                        </property>
     321
     322                                        <property name="queryModuleSessionName" value="#{queryModuleSessionName.string}"/>
     323                                        <property name="queryModuleXMLToQueryDefinitionXMLService" ref="queryDefinitionModuleToDefinitionService"/>
    335324                                </bean>
    336                                 <ref bean="queryDefinitionMiscDetailsModelMap"/>
    337                         </list>
    338                 </property>
    339                 <property name="view" ref="queryDefinitionIndexView"/>
     325                        </list>
     326                </property>
    340327        </bean>
    341328
  • trunk/ibisph-view/src/main/webapp/css/_general.css

    r20551 r21145  
    443443        text-decoration:        none;
    444444        vertical-align:         middle;
    445         text-align:             center;
     445        text-align:             left;
    446446
    447447        cursor:                         inherit;
    448448}
    449449
     450button[font-icon]
     451{
     452        padding-left:           35px;
     453        text-align:             left;
     454}
     455button[font-icon]::before
     456{
     457        margin-left:            -25px;
     458        margin-right:           10px;
     459}
     460
     461
    450462/*============================ End of Style Sheet ============================*/
    451463
  • trunk/ibisph-view/src/main/webapp/css/_layout-header.css

    r20362 r21145  
    213213        color:                          #114477;
    214214        font-size:                      33px;
     215        margin:                         inherit;
    215216}
    216217#siteSearch button[type="submit"]:hover::before
  • trunk/ibisph-view/src/main/webapp/xslt/html/indicator/profile/ContentBlocks.xslt

    r20915 r21145  
    190190                                                <VALUE></VALUE>
    191191                                                <TITLE></TITLE>
     192GARTH TODO:
    192193        if view map dim name
    193194        maybe simply use the view's first series dim and value and const dim and value???
  • trunk/ibisph-view/src/main/webapp/xslt/html/query/definition/QueryDefinition.xslt

    r21106 r21145  
    1616
    1717
    18         <xsl:param name="QueryDefinitions" ibis:doc="XML from model map"/>
     18        <xsl:param name="QueryDefinitions"
     19                ibis:doc="Main model for the index page requests.  Put in this param and
     20                        the code below to handle ever injected."
     21        />
    1922        <xsl:param name="QueryDefinition.queryDefinitions"
    2023                select="if($QueryDefinitions instance of node())
     
    2326        />
    2427
    25         <xsl:param name="QueryDefinition" ibis:doc="passed as a parameter - QM is the main XML"/>
     28        <xsl:param name="QueryDefinition"
     29                ibis:doc="The QD is typically passed as a parameter.  Even in the QD detail
     30                        the QM is the main XML.  Uses the same pattern as above QDs."
     31        />
    2632        <xsl:param name="QueryDefinition.queryDefinition"
    2733                select="if($QueryDefinition instance of node())
     
    3844        />
    3945
    40         <xsl:param name="ApplyQueryDefinition" ibis:doc="injected param"/>
    41         <xsl:param name="QueryDefinition.applyQueryDefinition" select="$ApplyQueryDefinition"/>
     46<xsl:param name="ApplyQueryDefinition"
     47        ibis:doc="injected param.  Typically injected for QM builder requests.
     48                Put in here in case want to show on a QD page???"
     49/>
     50<xsl:param name="QueryDefinition.applyQueryDefinition" select="$ApplyQueryDefinition"/>
    4251
    4352
     
    7483                                </xsl:call-template>
    7584                        </div>
    76                         <button type="button" value=" Save "   onclick="saveModuleDefinition();"/>
    77                         <button type="button" value=" Delete " onclick="deleteModuleDefinition();"/>
    78                         <button type="button" value=" Cancel " onclick="queryDefinitionEditIdentityDialog.close()" title="Closes query definition identity dialog."/>
     85                        <button type="button" onclick="saveModuleDefinition();">Save</button>
     86                        <button type="button" onclick="queryDefinitionEditIdentityDialog.close()" title="Closes the edit without saving.">Cancel</button>
    7987                </div>
    8088
    81                 <script type="text/javascript">
    82                         var queryDefinitionEditIdentityDialog;
    83                         $(document).ready(function()
    84                         {
    85                                 queryDefinitionEditIdentityDialog =
    86                                         $("#queryDefinitionEditIdentityDialog").kendoWindow({
    87                                                 title: "Saved Query Definition"
    88                                                 ,visible: false
    89                                                 ,width: "90%"
    90                                                 ,resizable: true
    91                                                 ,modal: true
    92                                         }).data("kendoWindow");
    93                         }); //~~~~~~~~~~~~~~~~~~~~ End of Ready Function ~~~~~~~~~~~~~~~~~~~
    94 
    95 
    96                         // <![CDATA[
    97 
    98 
    99                         // ]]>
    100                 </script>
     89                <xsl:call-template name="QueryDefinition.specificScript"/>
    10190        </xsl:template>
    10291
     
    10594                ibis:doc="called from the detail page and when saving a new query def."
    10695        >
    107 <xsl:param name="queryModule"/>
     96<xsl:param name="queryModule" ibis:doc="Always have a QM - either current QM in the session or detail req loads it."/>
    10897<xsl:param name="request" select="$queryModule/REQUEST"/>
    10998                <xsl:param name="configuration" select="$queryModule/CONFIGURATIONS/CONFIGURATION[NAME = $request/CONFIGURATION_NAME]"/>
     
    133122                                        </th>
    134123                                        <td class="Title" title="unique name that identifies this saved definition">
    135                                                 <input id="name" name="name"  maxlength="180" type="text" disabled="disabled"
    136                                                         value="{
    137                                                                 if($QueryDefinition.isBlankQueryDefinition) 
    138                                                                 then concat(replace($request/CONFIGURATION_PATH, '/', '_'), '_', $queryModule/REQUEST/SERIAL_NUMBER)
    139                                                                 else $QueryDefinition.queryDefinition/NAME
    140                                                         }"
     124                                                <xsl:if test="$QueryDefinition.isBlankQueryDefinition">
     125                                                <input id="name" name="name"  maxlength="180" type="text"
     126                                                        value="{concat(replace($request/CONFIGURATION_PATH, '/', '_'), '_', $queryModule/REQUEST/SERIAL_NUMBER)}"
    141127                                                />
     128                                                <input id="newQueryDefinitionFlag" name="newQueryDefinitionFlag" type="hidden" value="x"/>
     129                                                </xsl:if>
     130                                                <xsl:if test="not($QueryDefinition.isBlankQueryDefinition)">
     131<!-- this isn't needed.  If existing then the MODIFIED_DATE is populated new is blank.
     132                                                <input id="name" name="name" type="hidden" value="{$QueryDefinition.queryDefinition/NAME}"/>
     133-->
     134                                                <xsl:value-of select="$QueryDefinition.queryDefinition/NAME"/>
     135                                                </xsl:if>
    142136                                        </td>
    143137                                </tr>
     
    153147                                        </th>
    154148                                        <td  class="Title" title="Enter the main title for this query definition.">
    155                                                 <input id="title" name="title" maxlength="250" type="text" disabled="disabled"
     149                                                <input id="title" name="title" maxlength="250" type="text"
    156150                                                        value="{
    157151                                                                if($QueryDefinition.isBlankQueryDefinition) 
     
    173167                                        </th>
    174168                                        <td  class="Title" title="Enter the main title for this query definition.">
    175                                                 <textarea name="description" id="description" rows="5" cols="40" disabled="disabled">
     169                                                <textarea name="description" id="description" rows="5" cols="30">
    176170                                                        <xsl:value-of select="$QueryDefinition.queryDefinition/DESCRIPTION"/>
    177171                                                </textarea>
     
    189183                                        </th>
    190184                                        <td  class="Title" title="Enter the main title for this query definition.">
    191                                                 <input type="checkbox"  name="privateFlag" id="privateFlag" value="private" disabled="disabled">
     185                                                <input type="checkbox"  name="privateFlag" id="privateFlag" value="private">
    192186                                                        <xsl:if test="$QueryDefinition.queryDefinition/PRIVATE_FLAG">
    193187                                                                <xsl:attribute name="checked" select="'checked'"/>
     
    221215
    222216
    223 <!--
    224         <xsl:template name="QueryDefinition.xyz" ibis:doc="Main interactive sections content template.">
    225                 <xsl:param name="queryModule"                   select="$Result.queryModule"/>
    226                 <xsl:param name="queryConfiguration"    select="$Result.queryConfiguration"/>
    227                 <xsl:param name="recordCount"                   select="count($queryModule/IBISQ_QUERY_RESULT/RECORDS/RECORD)"/>
    228 
    229                 <h2>Query Criteria for the <xsl:value-of select="$queryConfiguration/TITLE"/> Measure</h2>
    230                 <table id="userCriteria" class="Info"
    231                         summary="The first column is a title of that type of selection with
    232                                 the next column showing a list of selected values.
    233                         "
    234                         caption="Result table that shows selected dimensions and group by selections."
    235                 >
    236                         <xsl:call-template name="UserSelections.selectedDimensionsCriteriaTableRows">
    237                                 <xsl:with-param name="selectedDimensions" select="$queryModule//SECTION//SELECTED_DIMENSIONS"/>
    238                                 <xsl:with-param name="dimensions" select="$Result.dimensions"/>
    239                         </xsl:call-template>
    240 
    241                         <xsl:call-template name="UserSelections.dataGroupedByTableRow">
    242                                 <xsl:with-param name="rowDimensionTitle"   select="ibis:getDimensionTitle($Result.dimensions/DIMENSION[NAME=$queryModule/REQUEST/ACTUAL_GROUP_BY/CATEGORY_DIMENSION_NAME])"/>
    243                                 <xsl:with-param name="colDimensionTitle"   select="ibis:getDimensionTitle($Result.dimensions/DIMENSION[NAME=$queryModule/REQUEST/ACTUAL_GROUP_BY/SERIES_DIMENSION_NAME])"/>
    244                                 <xsl:with-param name="otherDimensionTitle" select="ibis:getDimensionTitle($Result.dimensions/DIMENSION[NAME=$queryModule/REQUEST/ACTUAL_GROUP_BY/OTHER_DIMENSION_NAME])"/>
    245                         </xsl:call-template>
    246                 </table>
    247 
    248         </xsl:template>
    249 -->
    250 
    251 
    252 
    253 
    254217        <xsl:template name="QueryDefinition.specificScript"
    255218                ibis:doc="Provides the javascript file links and submit related functions
     
    257220        >
    258221                <script type="text/javascript">
    259                         var queryDefinitionRequestBasePath = "<xsl:value-of select="$QueryDefinition.baseRequestPath"/>";
    260                         var queryDefinitionsName = "<xsl:value-of select="$QueryDefinition.queryDefinition/QUERY_DEFINITIONS_NAME"/>";
    261                         var queryDefinitionName  = "<xsl:value-of select="$QueryDefinition.queryDefinition/NAME"/>";
    262 
    263                         var validNameCharactersRegEx = /^[a-z0-9_\-]+$/i; //    [A-Za-z0-9\-\_\.]*;
    264 
     222                        // <![CDATA[
     223                        var queryDefinitionEditIdentityDialog;
    265224                        $(document).ready(function()
    266225                        {
    267                                 $("#form").find("#saveButton, #resetButton").prop("display", "none");
    268                 <xsl:if test="not($QueryDefinition.isMyQueryDefinitions)">
    269                                 $("#form").find("#editButton, #deleteButton").prop("display", "none");
    270                 </xsl:if>
    271 
    272                 <xsl:if test="$QueryDefinition.isBlankQueryDefinition">
    273                                 var nameInput = $("#name");
    274                                 var strLength= nameInput.val().length * 2;
    275                                 nameInput.focus();
    276                                 nameInput[0].setSelectionRange(strLength, strLength);
    277                 </xsl:if>
    278 
    279                                 // added trim function for IE 8 and earlier versions.
    280                                 if(!String.prototype.trim)
    281                                 {
    282                                         String.prototype.trim = function() { return( this.replace(/^\s+|\s+$/g,'') ); }
    283                                 }
    284                         }); //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ End of Function ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    285 
    286 
    287                         function deleteDefinition()
     226                                queryDefinitionEditIdentityDialog =
     227                                        $("#queryDefinitionEditIdentityDialog").kendoWindow({
     228                                                title: "Saved Query Definition"
     229                                                ,visible: false
     230                                                ,width: "800px"
     231                                                ,resizable: true
     232                                                ,modal: true
     233                                        }).data("kendoWindow");
     234                        }); //~~~~~~~~~~~~~~~~~~~~ End of Ready Function ~~~~~~~~~~~~~~~~~~~
     235
     236                        function showIdentityDialog()
    288237                        {
    289                                 var confirmDelete = confirm("Are you sure you want to delete the '" + queryDefinitionName + "' definition?");
    290                                 if(!confirmDelete) return(false);
    291                                 location.href = queryDefinitionRequestBasePath + "delete/" + queryDefinitionName;
    292                         }
    293 
    294                         function resetDefinition()
    295                         {
    296                                 var confirmReset = confirm("Are you sure you want to reset the page to its initial state?");
    297                                 if(!confirmReset) return(false);
    298                                 document.getElementById("form").reset();
    299                         }
    300 
    301                         // <![CDATA[
     238                                queryDefinitionEditIdentityDialog.center().open();
     239                                document.form.name.focus();
     240                        } //~~~~~~~~~~~~~~~~~~~~ End of Function ~~~~~~~~~~~~~~~~~~~
     241
     242                        var validNameCharactersRegEx = /^[a-z0-9_\-]+$/i; //    [A-Za-z0-9\-\_\.]*;
    302243                        function saveDefinition()
    303244                        {
     
    322263                                document.form.submit();
    323264                        }
    324 
     265/*
     266https://stackoverflow.com/questions/1960240/jquery-ajax-submit-form
     267see hijax - 3rd down
     268
     269$("button").click(function(){
     270  $.post("demo_test_post.asp",
     271  {
     272    name: "Donald Duck",
     273    city: "Duckburg"
     274  },
     275  function(data, status){
     276    alert("Data: " + data + "\nStatus: " + status);
     277  });
     278});
     279
     280$("#theForm").ajaxForm({url: 'server.php', type: 'post'})
     281or
     282$("#theForm").ajaxSubmit({url: 'server.php', type: 'post'})
     283
     284                $.ajax({
     285           type: "POST",
     286           url: url,
     287           data: form.serialize(), // serializes the form's elements.
     288           success: function(data)
     289           {
     290               alert(data); // show response from the php script.
     291           }
     292         });
     293                 
     294                 
     295                        $.ajax({
     296                                url: "<xsl:value-of select="ibis:getRequestURL($sourceContentURL)"/>"
     297                                ,type: "GET"
     298                                ,success: function(data)
     299                                {
     300                                alert(successfully saved);
     301                                        $("<xsl:value-of select="$destContentJQuerySelector"/>").html( $(data).find("<xsl:value-of select="$sourceContentJQuerySelector"/>").html() );
     302                                }
     303                                ,error: function (data) {
     304                console.log('An error occurred.');
     305                console.log(data);
     306            },
     307                        });
     308*/
    325309                        // ]]>
    326310                </script>
  • trunk/ibisph-view/src/main/webapp/xslt/html/query/definition/detail/Page.xslt

    r21106 r21145  
    8181                <link rel="stylesheet" type="text/css" href="{$ibis.baseRequestPath}css/Edit.css"/>
    8282                <style>
    83                         td input, td textarea
     83                        td input[type='text'], td textarea
    8484                        {
    85                                 width: calc(100% - 1.25em);
     85width: calc(100% - 1.25em);
    8686                                margin: .5em;
    8787                                padding: .25em;
    8888                        }
     89                        .k-window .DialogContent .InnerCanvas,
     90                        .k-prompt-container, .k-window-content
     91                        {
     92    overflow: visible;
     93        }
    8994                </style>
    9095        </xsl:template>
     
    322327                                                        <xsl:with-param name="rowLabel"          select="'Simple Definitions List'"/>
    323328                                                        <xsl:with-param name="rowDescription"    select="'Simple list of saved query defintions.'"/>
    324                                                         <xsl:with-param name="helpPopupTitle"    select="'Simple Saved Definitions List URL'"/>
     329                                                        <xsl:with-param name="helpPopupTitle"    select="'Simple Definitions List URL'"/>
    325330                                                        <xsl:with-param name="helpPopupContent"  select="$HelpContent.listLink"/>
    326331                                                        <xsl:with-param name="urlDescription"    select="'copy this value for a basic definitions list link.'"/>
     
    337342
    338343                                                <xsl:call-template name="Page.shareTableRow">
    339                                                         <xsl:with-param name="rowLabel"          select="'Edit Query Criteria'"/>
     344                                                        <xsl:with-param name="rowLabel"          select="'Open Definition in the Builder'"/>
    340345                                                        <xsl:with-param name="rowDescription"    select="'Opens this definition in the query builder interface.'"/>
    341                                                         <xsl:with-param name="helpPopupTitle"    select="'Query Builder Request URL'"/>
     346                                                        <xsl:with-param name="helpPopupTitle"    select="'Query Builder URL'"/>
    342347                                                        <xsl:with-param name="helpPopupContent"  select="$HelpContent.builderLink"/>
    343348                                                        <xsl:with-param name="urlDescription"    select="'copy this value for a query builder request link.'"/>
     
    345350                                                </xsl:call-template>
    346351                                                <xsl:call-template name="Page.shareTableRow">
    347                                                         <xsl:with-param name="rowLabel"          select="'Run Query Criteria'"/>
     352                                                        <xsl:with-param name="rowLabel"          select="'Run Query Definition'"/>
    348353                                                        <xsl:with-param name="rowDescription"    select="'Runs the query definition and opens in the query result interface.'"/>
    349                                                         <xsl:with-param name="helpPopupTitle"    select="'Query Result Request URL'"/>
     354                                                        <xsl:with-param name="helpPopupTitle"    select="'Query Result URL'"/>
    350355                                                        <xsl:with-param name="helpPopupContent"  select="$HelpContent.resultLink"/>
    351356                                                        <xsl:with-param name="urlDescription"    select="'copy this value for a query builder request link.'"/>
     
    355360                                                        <xsl:with-param name="rowLabel"          select="'Definition Detail (this page)'"/>
    356361                                                        <xsl:with-param name="rowDescription"    select="'Opens this page.'"/>
    357                                                         <xsl:with-param name="helpPopupTitle"    select="'Query Detail Index Request URL'"/>
     362                                                        <xsl:with-param name="helpPopupTitle"    select="'Definition Detail URL'"/>
    358363                                                        <xsl:with-param name="helpPopupContent"  select="$HelpContent.detailLink"/>
    359364                                                        <xsl:with-param name="urlDescription"    select="'copy this value for a query builder request link.'"/>
     
    391396                                >Open This Definition in the Builder</button>
    392397
    393                                 <button id="indexButton" type="button" accesskey="I" class="Definitions Index"
     398                <xsl:if test="$QueryDefinition.isMyQueryDefinitions">
     399                                <button id="editButton" type="button" accesskey="E" font-icon="&#xe10b;" alt="Edit Icon"
     400                                        onclick="showIdentityDialog()"
     401                                        title="Edit the definition's identity or delete the definition."
     402                                >Edit Definition Identity</button>
     403                                <button id="deleteButton" type="button" accesskey="D" font-icon="&#xe10c;" alt="Delete Icon"
     404                                        onclick="deleteDefinition()"
     405                                        title="Delete the definition's identity."
     406                                >Delete Definition</button>
     407                </xsl:if>
     408
     409                                <button id="indexButton" type="button" accesskey="I" font-icon="&#xe614;" 
    394410                                        onclick="location.href='{$baseRequestPath}index/{$QueryDefinition.queryDefinition/QUERY_DEFINITIONS_NAME}.html'"
    395411                                        title="Display list of query definitions"
     
    397413                                        <xsl:value-of select="if($QueryDefinition.isMyQueryDefinitions) then 'My' else $QueryDefinition.queryDefinition/QUERY_DEFINITIONS_NAME"/>
    398414                                        Saved Query Definitions Index
     415<!--
    399416                                        <xsl:call-template name="Help.popup">
    400                                                 <xsl:with-param name="content" select="HelpContent.loadDefaultQuery"/>
     417                                                <xsl:with-param name="content" select="HelpContent.indexLink"/>
    401418                                        </xsl:call-template>
     419-->
    402420                                </button>
    403 
    404                                 <button id="editButton" type="button" accesskey="E" font-icon="&#xe66f;" alt="Edit Icon"
    405                                         onclick="editIdentity()"
    406                                         title="Edit the definition's identity or delete the definition."
    407                                 >Edit/Delete This Definition's Identity</button>
    408421                        </div>
    409422                </div>
     423
     424                <script type="text/javascript">
     425                        var queryDefinitionRequestBasePath = "<xsl:value-of select="$QueryDefinition.baseRequestPath"/>";
     426                        var queryDefinitionName  = "<xsl:value-of select="$QueryDefinition.queryDefinition/NAME"/>";
     427
     428                        function deleteDefinition()
     429                        {
     430                                var confirmDelete = confirm("Are you sure you want to delete the '" + queryDefinitionName + "' definition?");
     431                                if(!confirmDelete) return(false);
     432                                location.href = queryDefinitionRequestBasePath + "delete/" + queryDefinitionName;
     433                        }
     434                </script>
    410435        </xsl:template>
    411436
     
    454479        </xsl:template>
    455480
    456 
    457481</xsl:stylesheet>
    458482<!-- ============================= End of File ============================= -->
  • trunk/ibisph-view/src/main/webapp/xslt/html/query/module/builder/Page.xslt

    r20990 r21145  
    3030                </description>
    3131        </ibis:doc>
     32
     33
     34        <xsl:param name="ApplyQueryDefinition" ibis:doc="access to the apply def to show user???"/>
     35        <xsl:param name="Page.applyQueryDefinition" select="$ApplyQueryDefinition"/>
    3236
    3337
     
    8286                <script type="text/javascript" src="{$ibis.baseRequestPath}js/InputSelections.js"/>
    8387                <script type="text/javascript">
    84                         var saveCriteriaURL = "<xsl:value-of select="concat($ibis.baseRequestPath, $Page.queryDefinitionFromBuilderPath)"/>";
     88// GARTH TODO: remove if save criteria from builder removed from UI...
     89var saveCriteriaURL = "<xsl:value-of select="concat($ibis.baseRequestPath, $Page.queryDefinitionFromBuilderPath)"/>";
    8590                        window.inputSelections = new InputSelections();         // all input elements on the page.
     91
     92var junk="<xsl:copy-of select="$Page.applyQueryDefinition"/>";
    8693
    8794                        // <![CDATA[
     
    193200                        } //~~~~~~~~~~~~~~~~~~~~~~~~~~~~ End of Function ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    194201
    195 
    196                         function saveCriteria()
    197                         {
    198                                 window.inputSelections.clearAllNonSelectedSelections();
    199                                 if(!window.inputSelections.validateAllTextInputs()) return;
    200                                 document.form.action = saveCriteriaURL;
    201                                 document.form.submit();
    202                         } //~~~~~~~~~~~~~~~~~~~~~~~~~~~~ End of Function ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     202// GARTH TODO: Likely remove
     203function saveCriteria()
     204{
     205        window.inputSelections.clearAllNonSelectedSelections();
     206        if(!window.inputSelections.validateAllTextInputs()) return;
     207        document.form.action = saveCriteriaURL;
     208        document.form.submit();
     209} //~~~~~~~~~~~~~~~~~~~~~~~~~~~~ End of Function ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    203210
    204211
     
    210217                        // and understand to reset the page as it was prior to submitting.
    211218                        window.onbeforeunload = function() {}
     219
     220                        function viewAppliedDefinition()
     221                        {
     222                        alert("view applied definition: "+ junk);
     223                        }
    212224
    213225                        // ]]>
     
    328340                                        onclick="location.href='{concat($ibis.baseRequestPath, /QUERY_MODULE/QUERY_CONFIGURATION_SELECTION/LOCAL_URL)}'"
    329341                                >
    330                                         Select Query Measure
     342                                        Select Different Measure
    331343                                        <xsl:call-template name="Help.popup">
    332344                                                <xsl:with-param name="content" select="$Page.selectMeasureHelpContent"/>
     
    334346                                </button>
    335347
    336                                 <button type="button" accesskey="D" id="saveDefinition" onclick="saveCriteria()">
    337                                         Save Query Definition
    338                                         <xsl:call-template name="Help.popup">
    339                                                 <xsl:with-param name="content" select="$Page.saveQueryDefinitionHelpContent"/>
    340                                         </xsl:call-template>
    341                                 </button>
    342 
     348                                <button type="button" accesskey="D" id="viewAppliedDefinition" onclick="viewAppliedDefinition()">
     349                                        View Applied Definition
     350                                        <xsl:call-template name="Help.popup">
     351<xsl:with-param name="content" select="$Page.saveQueryDefinitionHelpContent"/>
     352                                        </xsl:call-template>
     353                                </button>
     354<!--
    343355                                <button type="button" accesskey="L" id="loadDefinition"
    344356                                        onclick="location.href='{concat($ibis.baseRequestPath, 'query/definition/index/MyDefinitions.html')}'"
    345357                                >
    346                                         Load Query Definition
     358                                        Load Saved Definition
    347359                                        <xsl:call-template name="Help.popup">
    348360                                                <xsl:with-param name="content" select="$Page.loadQueryDefinitionHelpContent"/>
    349361                                        </xsl:call-template>
    350362                                </button>
     363-->
    351364                        </div>
    352365                </div>
  • trunk/ibisph/src/main/java/org/ibisph/querydefinition/service/QueryDefinitionXML.java

    r9126 r21145  
    124124    Date now = new Date();
    125125    XMLLib.replaceContainedNode(queryDefinition, XMLLib.newNode("MODIFIED_DATE", now.toString()));
    126     this.setQueryDefinition(queryDefinitions, queryDefinition);
     126    this.setQueryDefinition  (queryDefinitions, queryDefinition);
    127127    this.saveQueryDefinitions(queryDefinitions, queryDefinitionsName);
    128128    return(queryDefinitions);
  • trunk/ibisph/src/main/java/org/ibisph/querydefinition/service/QueryModuleXMLToQueryDefinitionXML.java

    r20990 r21145  
    3535    String queryDefinitionTitle,
    3636    String queryDefinitionDescription,
    37     String queryDefinitionConfigurationPath
     37    String queryDefinitionConfigurationPath,
     38    String queryDefinitionPrivateFlag,
     39    String queryDefinitionRequestPathPrefix
    3840  ) {
    3941    // set the selected values and save the definition(s).
     
    4446    XMLLib.setText(queryDefinition, "DESCRIPTION",        queryDefinitionDescription);
    4547    XMLLib.setText(queryDefinition, "CONFIGURATION_PATH", queryDefinitionConfigurationPath);
     48
     49    XMLLib.setText(queryDefinition, "PRIVATE_FLAG",           queryDefinitionPrivateFlag);
     50    XMLLib.setText(queryDefinition, "REQUEST_PATH_PREFIX",    queryDefinitionRequestPathPrefix);
     51    XMLLib.setText(queryDefinition, "QUERY_DEFINITIONS_NAME", queryDefinitionsName);
     52
    4653    XMLLib.setText(queryDefinition, "MODIFIED_DATE",      (new Date()).toString());
    4754
     
    7582    String queryDefinitionTitle,
    7683    String queryDefinitionDescription,
    77     String queryDefinitionConfigurationPath
     84    String queryDefinitionConfigurationPath,
     85    String queryDefinitionPrivateFlag,
     86    String queryDefinitionRequestPathPrefix
    7887  ) {
    7988
     
    8493      queryDefinitionTitle,
    8594      queryDefinitionDescription,
    86       queryDefinitionConfigurationPath
     95      queryDefinitionConfigurationPath,
     96      queryDefinitionPrivateFlag,
     97      queryDefinitionRequestPathPrefix
    8798    );
    8899    this.loadQueryModuleToQueryDefinition(queryModule, queryDefinition);
     
    113124  public Node loadQueryModuleToQueryDefinition(Node queryModule, Node queryDefinition) {
    114125    // exists doesn't exist for xpath - boolean is true if element exists...
    115     addContainerElement(queryModule, queryDefinition, "PARAMETERS",          "//PARAMETER[boolean(HIDDEN_INPUT_FLAG)]");
    116     addContainerElement(queryModule, queryDefinition, "SELECTED_DIMENSIONS", "//SELECTED_DIMENSIONS/SELECTED_DIMENSION");
     126    newContainerElement(queryModule, "//PARAMETER[boolean(HIDDEN_INPUT_FLAG)]",  queryDefinition, "PARAMETERS");
     127    newContainerElement(queryModule, "//SELECTED_DIMENSIONS/SELECTED_DIMENSION", queryDefinition, "SELECTED_DIMENSIONS");
    117128
    118129    // When going from a QM to QD there's no reason to test any group by or
     
    133144   *    element (which are loaded into the document).
    134145   */
    135   public void addContainerElement(
     146  private void newContainerElement(
    136147    Node queryModule,
     148    String elementsToAddXPath,
    137149    Node queryDefinition,
    138     String containerElementName,
    139     String elementsToAddXPath
     150    String containerElementName
    140151  ) {
    141152
  • trunk/ibisph/src/main/java/org/ibisph/web/HTTPRequestParametersToContainerElementService.java

    r15116 r21145  
    101101       
    102102          elementToAdd = XMLLib.newNode(entry.xmlElementName);
    103 //TODO: if multiple values then need to add a container and the list...
     103//GARTH TODO: if multiple values then need to add a container and the list...
    104104if(httpParamValue.length > 1) {
    105105}
Note: See TracChangeset for help on using the changeset viewer.