Ignore:
Timestamp:
Feb 2, 2011, 4:40:22 PM (6 years ago)
Author:
robert@…
Message:

Implemented saving of queries

File:
1 edited

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>
Note: See TracChangeset for help on using the changeset viewer.