Show
Ignore:
Timestamp:
02-02-11 16:40:22 (3 years ago)
Author:
robert@…
Message:

Implemented saving of queries

Files:
1 modified

Legend:

Unmodified
Added
Removed
  • trunk/grails-app/views/advancedQuery/index.gsp

    r1430 r1482  
    66        <link rel="stylesheet" href="<g:resource dir="css" file="advancedQuery.css" />" type="text/css"/> 
    77        <g:javascript src="advancedQuery.js" /> 
     8        <script type="text/javascript"> 
     9                // Make a list of fields to search in 
     10                var queryableFields = [ 
     11                        <g:set var="j" value="${0}" /> 
     12                        <g:each in="${searchableFields}" var="entity"> 
     13                                <g:each in="${entity.value}" var="field"> 
     14                                        <g:if test="${j > 0}">,</g:if> 
     15                                        { 
     16                                                value: "${entity.key.toString().encodeAsJavaScript()}.${field.toString().encodeAsJavaScript()}", 
     17                                                show: "${(field[0].toUpperCase() + field[1..-1]).encodeAsJavaScript()}", 
     18                                                label: "${entity.key.toString().encodeAsJavaScript()}.${field.toString().encodeAsJavaScript()}", 
     19                                                entity: "${entity.key.toString().encodeAsJavaScript()}" 
     20                                        } 
     21                                        <g:set var="j" value="1" /> 
     22                                </g:each> 
     23                        </g:each> 
     24                ]; 
     25         
     26                <g:if test="${criteria && criteria.size() > 0}"> 
     27                        // Show given criteria 
     28                        $(function() { 
     29                                <g:each in="${criteria}" var="criterion"> 
     30                                        showCriterium("${criterion.entityField().encodeAsJavaScript()}", "${criterion.value.toString().encodeAsJavaScript()}", "${criterion.operator.toString().encodeAsJavaScript()}"); 
     31                                </g:each> 
     32                                showHideNoCriteriaItem(); 
     33                        }); 
     34                </g:if> 
     35        </script> 
    836</head> 
    937<body> 
     
    1139<h1>Query database</h1> 
    1240 
     41<g:if test="${flash.error}"> 
     42        <div class="error"> 
     43                ${flash.error.toString().encodeAsHTML()} 
     44        </div> 
     45</g:if> 
     46<g:if test="${flash.message}"> 
     47        <div class="message"> 
     48                ${flash.message.toString().encodeAsHTML()} 
     49        </div> 
     50</g:if> 
     51 
     52<a href="<g:createLink action="list" />">View previous queries</a> 
     53 
    1354<form id="input_criteria"> 
    1455        <h2>Add criterium</h2> 
    15         <p> 
     56        <p class="explanation"> 
    1657                N.B. Comparing numerical values is done without taking into 
    1758                account the units. E.g. a weight of 1 kg equals 1 grams. 
    1859        </p> 
    1960        <label for="field">Field</label> 
    20                 <select name="field"> 
     61                <select name="field" id="queryFieldSelect"> 
    2162                        <option value=""></option> 
    2263                        <g:each in="${searchableFields}" var="entity"> 
     
    2970                                </optgroup> 
    3071                        </g:each> 
    31                 </select>  
     72                </select> 
    3273                 
    3374        <label for="value">Comparison</label>