Changeset 953 for trunk


Ignore:
Timestamp:
06/29/11 15:30:24 (8 years ago)
Author:
gav
Message:

Add filterpane search to CostCode? list view.

Location:
trunk/grails-app
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/grails-app/controllers/CostCodeDetailedController.groovy

    r633 r953  
    33@Secured(['ROLE_AppAdmin', 'ROLE_Manager']) 
    44class CostCodeDetailedController extends BaseController { 
    5      
     5 
     6    def filterService 
     7 
    68    def index = { redirect(action:list,params:params) } 
    79 
     
    1113    def list = { 
    1214        params.max = Math.min( params.max ? params.max.toInteger() : 10,  100) 
    13         [ costCodeInstanceList: CostCode.list( params ), costCodeInstanceTotal: CostCode.count() ] 
     15 
     16        if(!params.filter) { 
     17            return [costCodeInstanceList: CostCode.list(params), 
     18                    costCodeInstanceTotal: CostCode.count(), 
     19                    filterParams: params] 
     20        } 
     21 
     22        // filterPane: 
     23        return[ costCodeInstanceList: filterService.filter( params, CostCode ), 
     24                costCodeInstanceTotal: filterService.count( params, CostCode ), 
     25                filterParams: com.zeddware.grails.plugins.filterpane.FilterUtils.extractFilterParams(params), 
     26                params:params ] 
    1427    } 
    1528 
  • trunk/grails-app/views/costCodeDetailed/list.gsp

    r836 r953  
    1  
    2  
    31<html> 
    42    <head> 
     
    64        <meta name="layout" content="main" /> 
    75        <title>CostCode List</title> 
     6        <filterpane:includes /> 
    87        <nav:resources override="true"/> 
    98    </head> 
     
    1413        <div class="body"> 
    1514            <g:render template="/shared/messages" /> 
    16             <div class="list"> 
    17                 <table> 
    18                     <thead> 
     15 
     16            <filterpane:currentCriteria domainBean="CostCode" 
     17                                        action="list" 
     18                                        dateFormat="EEE, dd-MMM-yyyy" 
     19                                        removeImgDir="images" 
     20                                        removeImgFile="bullet_delete.png" 
     21                                        title="Search"/> 
     22 
     23            <div class="paginateButtons"> 
     24                Results: ${costCodeInstanceList.size()} / ${costCodeInstanceTotal} 
     25                <span class="searchButtons"> 
     26                    <filterpane:filterButton text="Search" appliedText="Change Search" /> 
     27                </span> 
     28            </div> 
     29 
     30            <br /> 
     31 
     32            <g:if test="${costCodeInstanceList.size() > 0}"> 
     33 
     34                <div class="list"> 
     35                    <table> 
     36                        <thead> 
    1937                        <tr> 
    20                          
    21                                 <g:sortableColumn property="id" title="Id" /> 
    22                          
    23                                 <g:sortableColumn property="name" title="Name" /> 
    24                          
    25                             <g:sortableColumn property="purchasingGroup" title="Group" /> 
    26                          
    27                                 <g:sortableColumn property="description" title="Description" /> 
    28                          
    29                                 <g:sortableColumn property="isActive" title="Is Active" /> 
     38 
     39                            <g:sortableColumn property="id" title="Id" params="${filterParams}" /> 
     40 
     41                            <g:sortableColumn property="name" title="Name" params="${filterParams}" /> 
     42 
     43                            <g:sortableColumn property="purchasingGroup" title="Group" params="${filterParams}" /> 
     44 
     45                            <g:sortableColumn property="description" title="Description" params="${filterParams}" /> 
     46 
     47                            <g:sortableColumn property="isActive" title="Is Active" params="${filterParams}" /> 
    3048 
    3149                            <th></th> 
    32                          
     50 
    3351                        </tr> 
    34                     </thead> 
    35                     <tbody> 
    36                     <g:each in="${costCodeInstanceList}" status="i" var="costCodeInstance"> 
    37                         <tr class="${(i % 2) == 0 ? 'clickableOdd' : 'clickableEven'}"> 
    38                          
    39                             <td onclick='window.location = "${request.getContextPath()}/costCodeDetailed/show/${costCodeInstance.id}"'> 
    40                                 ${fieldValue(bean:costCodeInstance, field:'id')} 
    41                             </td> 
    42                          
    43                             <td onclick='window.location = "${request.getContextPath()}/costCodeDetailed/show/${costCodeInstance.id}"'> 
    44                                 ${fieldValue(bean:costCodeInstance, field:'name')} 
    45                             </td> 
    46                          
    47                             <td onclick='window.location = "${request.getContextPath()}/costCodeDetailed/show/${costCodeInstance.id}"'> 
    48                                 ${fieldValue(bean:costCodeInstance, field:'purchasingGroup')} 
    49                             </td> 
    50                          
    51                             <td onclick='window.location = "${request.getContextPath()}/costCodeDetailed/show/${costCodeInstance.id}"'> 
    52                                 ${fieldValue(bean:costCodeInstance, field:'description')} 
    53                             </td> 
    54                          
    55                             <td onclick='window.location = "${request.getContextPath()}/costCodeDetailed/show/${costCodeInstance.id}"'> 
    56                                 ${fieldValue(bean:costCodeInstance, field:'isActive')} 
    57                             </td> 
     52                        </thead> 
     53                        <tbody> 
     54                        <g:each in="${costCodeInstanceList}" status="i" var="costCodeInstance"> 
     55                            <tr class="${(i % 2) == 0 ? 'clickableOdd' : 'clickableEven'}"> 
    5856 
    59                             <td class="notClickable"> 
    60                                 <g:link action="show" id="${costCodeInstance.id}"> 
    61                                     <img  src="${resource(dir:'images/skin',file:'database_go.png')}" alt="Show" /> 
    62                                 </g:link> 
    63                             </td> 
    64                          
    65                         </tr> 
    66                     </g:each> 
    67                     </tbody> 
    68                 </table> 
     57                                <td onclick='window.location = "${request.getContextPath()}/costCodeDetailed/show/${costCodeInstance.id}"'> 
     58                                    ${fieldValue(bean:costCodeInstance, field:'id')} 
     59                                </td> 
     60 
     61                                <td onclick='window.location = "${request.getContextPath()}/costCodeDetailed/show/${costCodeInstance.id}"'> 
     62                                    ${fieldValue(bean:costCodeInstance, field:'name')} 
     63                                </td> 
     64 
     65                                <td onclick='window.location = "${request.getContextPath()}/costCodeDetailed/show/${costCodeInstance.id}"'> 
     66                                    ${fieldValue(bean:costCodeInstance, field:'purchasingGroup')} 
     67                                </td> 
     68 
     69                                <td onclick='window.location = "${request.getContextPath()}/costCodeDetailed/show/${costCodeInstance.id}"'> 
     70                                    ${fieldValue(bean:costCodeInstance, field:'description')} 
     71                                </td> 
     72 
     73                                <td onclick='window.location = "${request.getContextPath()}/costCodeDetailed/show/${costCodeInstance.id}"'> 
     74                                    ${fieldValue(bean:costCodeInstance, field:'isActive')} 
     75                                </td> 
     76 
     77                                <td class="notClickable"> 
     78                                    <g:link action="show" id="${costCodeInstance.id}"> 
     79                                        <img  src="${resource(dir:'images/skin',file:'database_go.png')}" alt="Show" /> 
     80                                    </g:link> 
     81                                </td> 
     82 
     83                            </tr> 
     84                        </g:each> 
     85                        </tbody> 
     86                    </table> 
     87                </div> 
     88            </g:if> 
     89 
     90            <div class="paginateButtons"> 
     91                <g:paginate total="${costCodeInstanceTotal}" params="${filterParams}" /> 
    6992            </div> 
    70             <div class="paginateButtons"> 
    71                 <g:paginate total="${costCodeInstanceTotal}" /> 
    72             </div> 
     93 
     94            <filterpane:filterPane domainBean="CostCode" 
     95                                   title="Search" 
     96                                   action="list" 
     97                                   class="overlayPane" 
     98                                   associatedProperties="purchasingGroup.name" 
     99                                   filterPropertyValues="${['purchasingGroup.name':[values:PurchasingGroup.findAllByIsActive(true)]]}" /> 
     100 
    73101        </div> 
    74102    </body> 
Note: See TracChangeset for help on using the changeset viewer.