Changeset 555

Show
Ignore:
Timestamp:
10-06-10 16:10:57 (4 years ago)
Author:
vinlud
Message:

Improved overview + reset button

Location:
trunk
Files:
3 modified

Legend:

Unmodified
Added
Removed
  • trunk/grails-app/controllers/dbnp/query/SimpleQueryController.groovy

    r547 r555  
    3333        onStart { 
    3434            println "Starting webflow simpleQuery" 
     35            flow.term = null 
    3536            flow.page = 0 
    3637                        flow.pages = [ 
     
    4041            } 
    4142 
     43        // Render the query page and handle its actions 
    4244                query { 
    4345                        render(view: "/simpleQuery/mainPage") 
    4446            onRender { 
    4547              println "Rendering mainPage" 
     48              flow.species = Term.findAll() 
     49              flow.page = 1 
    4650            } 
    4751            on("addCompound") { 
     
    5963                return [:] 
    6064              } 
    61                
     65 
    6266              flow.term = params.term 
    63             }.to "results" 
     67            }.to "searching" 
    6468 
    6569            on("refresh").to "query" 
    6670                } 
    6771 
    68         results { 
    69             def results 
    7072 
    71             render(view: "/simpleQuery/mainPage") 
    72             onRender { 
    73               println "Rendering resultPage" 
    74               println flow.term 
     73        // Searching for results 
     74        searching { 
     75           action { 
     76              // Searchable plugin not yielding results yet 
     77              /* 
     78              try { 
     79                println searchableService.countHits("mouse") 
     80              } catch (SearchEngineQueryParseException ex) { 
     81                //return [parseException: true] 
     82                println ex 
     83              } 
     84              */ 
     85 
     86              // Search for the term in Terms 
     87              // results = searchableService.search(flow.term, type:"Term") 
     88 
     89              // Map the Terms to Studies 
     90              // ... 
     91 
     92              // Save the results in the flow 
     93              // flow.studies = results 
    7594 
    7695 
    7796 
    78               Study.findAll().each() { 
    79                 println it 
    80               } 
     97              // As a usable result set we will use all studies for now 
     98              flow.listStudies = Study.findAll() 
     99 
     100           } 
     101 
     102          on("error").to "query" 
     103          on("success").to "results" 
     104        } 
     105 
     106 
     107        // Render result page including search options 
     108        results { 
     109            render(view: "/simpleQuery/mainPage") 
     110 
     111            onRender { 
     112              println "Rendering resultPage" 
     113              flow.page = 2 
     114              println flow.term 
    81115            } 
     116 
     117            on("reset") { 
     118              flow.term = null 
     119              flow.studies = null 
     120              println "Resetting query flow" 
     121            }.to "query" 
    82122 
    83123            on("search").to "searching" 
     
    85125        } 
    86126 
    87         searching { 
    88            action { 
    89               try { 
    90                 println searchableService.search(params.q) 
    91               } catch (SearchEngineQueryParseException ex) { 
    92                 return [parseException: true] 
    93               } 
    94            } on("success").to ("query") 
    95         } 
    96127    } 
    97128   
  • trunk/grails-app/views/simpleQuery/common/_query.gsp

    r547 r555  
    1010 
    1111    <g:form action="pages" name="simpleQueryForm" id="simpleQueryForm"> 
     12    <g:if test="${term}"><g:set var="preterm" value="${term}" /></g:if> 
    1213    <div class="content"> 
    1314      <div class="element"> 
    1415        <div class="description">Search term (e.g. 'paracetamol')</div> 
    15         <div class="input"><g:textField name="term" value="" /></div> 
     16        <div class="input"><g:textField name="term" value="${preterm}" /></div> 
    1617      </div> 
    1718      <div class="element"> 
    1819        <div class="description">Species (e.g. 'rattus norvegicus')</div> 
    19         <div class="input"><g:select name="species" from="" value="${species}" noSelection="['':'--- select a species ---']"/></div> 
     20        <div class="input"><g:select name="species" from="${species}" value="" noSelection="['':'--- select a species ---']"/></div> 
    2021      </div> 
    2122      <div class="element"> 
     
    2425      </div> 
    2526    </div> 
    26     <g:submitButton name="search" value="Search" /> 
     27    <g:submitButton name="search" value="Search" /> <g:if test="${term}"><g:submitButton name="reset" value="Clear" /></g:if> 
    2728    </g:form> 
    2829 
    2930    <br><br> 
    30    
    3131 
    3232    <div id="accordion"> 
    33       <h3><a href="#">Clinical Data</a></h3> 
     33      <h3><a href="#">Simple Assays</a></h3> 
    3434      <div class="element"> 
    3535        <g:form action="pages" name="addCompound" id="addCompound"> 
     
    5858 
    5959    <g:if test="${term}"> 
    60         <div class="table"> 
    61           Search results for term ${term} 
     60        <h1><g:message code="Search results for term ${term}"/></h1> 
    6261 
    63         <g:each var="tmpStudy" in="${studies}"> 
    64             <g:set var="study" value="${tmpStudy.getValue()}" /> 
    65             <div class="row"> 
    66               study x 
    67             </div> 
    68         </g:each> 
    69         </div> 
     62        <g:if test="${listStudies}"> 
     63          <div class="list"> 
     64            <table> 
     65                <thead> 
     66                    <tr> 
     67                        <g:sortableColumn property="title" title="${message(code: 'study.title.label', default: 'Study')}" /> 
     68                    </tr> 
     69                </thead> 
     70                <tbody> 
     71                <g:each in="${listStudies}" var="Study" status="i" > 
     72                  <tr class="${(i % 2) == 0 ? 'odd' : 'even'}"> 
     73                    <td><g:link action="show" id="${Study.id}">${fieldValue(bean: Study, field: "title")}</g:link></td> 
     74                  </tr> 
     75                </g:each> 
     76                </tbody> 
     77            </table> 
     78          </div> 
     79 
     80        </g:if> 
    7081    </g:if> 
    7182 
  • trunk/web-app/css/simpleQuery.css

    r547 r555  
    3030} 
    3131 
    32 .table { 
     32.simplequery .table { 
    3333    display: block; 
    34     border: 1px solid #575a5d; 
     34    border: 1px solid #ff0000; 
    3535    background-color: #ebf7fc; 
    3636    margin-top: 10px;