WiceGrid 3.6.0.pre4 examples

External filters

Filters can also be detached from the grid table. This is a 3-step process.

  1. First, define the grid with helper define_grid instead of grid . Everything should be done the same way as with grid, but every column which will have an external filter, add detach_with_id: :some_filter_name in the column definition.
  2. Then use grid_filter(grid, :some_filter_name) to render filters.
  3. Finally, use render_grid(@grid) to actually output the grid table .
  • # encoding: utf-8
    class DetachedFiltersController < ApplicationController
      def index
        @tasks_grid = initialize_grid(Task)
      end
    end
    
  • <%= define_grid(@tasks_grid, hide_submit_button: true, hide_reset_button: true) do |g|
    
      g.column name:  'ID', attribute: 'id', detach_with_id: :id_filter
    
      g.column name:  'Title', attribute: 'title', detach_with_id: :title_filter
    
      g.column  name:  'Description', attribute: 'description', detach_with_id: :description_filter
    
      g.column  name:  'Archived', attribute: 'archived', detach_with_id: :archived_filter do |task|
        task.archived? ? 'Yes' : 'No'
      end
    
    
      g.column name:  'Due Date', attribute: 'due_date', detach_with_id: :due_date do |task|
        task.due_date.to_s(:short)
      end
    
    
      g.column   do |task|
        link_to('Edit', edit_task_path(task))
      end
    
    end -%>
    
  • .well
      %h2= current_page_title
      %p
        Filters can also be detached from the grid table. This is a 3-step process.
    
      %ol
        %li
          First, define the grid with helper
          %code define_grid
          instead of
          %code grid
          \. Everything should be done the same way as with
          %code grid, but every column which will have an external filter, add
          %code detach_with_id: :some_filter_name
          in the
          %code column
          definition.
    
        %li
          Then use
          %code grid_filter(grid, :some_filter_name)
          to render filters.
    
        %li
          Finally, use
          %code render_grid(@grid)
          to actually output the grid table
          \.
    
    = show_code
    
    = render   'grid'
    
    
    .row
      .col-md-2
        ID:
      .col-md-10
        = grid_filter @tasks_grid, :id_filter
    
    .row
      .col-md-2
        Title:
      .col-md-3
        = grid_filter @tasks_grid, :title_filter
      .col-md-7
    
    
    .row
      .col-md-2
        Description:
      .col-md-3
        = grid_filter @tasks_grid, :description_filter
      .col-md-7
    
    .row
      .col-md-2
        Archived:
      .col-md-10
        = grid_filter @tasks_grid, :archived_filter
    
    
    .row
      .col-md-2
        Due date:
      .col-md-10
        = grid_filter @tasks_grid, :due_date
    
    
    .row-fluid
      .col-md-12
        .external-buttons
          %button.btn.btn-primary.wg-external-submit-button{'data-grid-name' => 'grid'} Submit
          %button.btn.btn-default.wg-external-reset-button{'data-grid-name' => 'grid'} Reset
    
    .row-fluid
      .col-md-12
    
        = render_grid(@tasks_grid)
    
ID:
Title:
Description:
Archived:
Due date:

IDTitle DescriptionArchivedDue Date
1-20 / 500 show all
25ab quiFugit id error esse.No 3 MayEdit
63accusamusPraesentium quod ipsum error odit.No17 SepEdit
436accusantiumCorrupti qui mollitia temporibus.No 1 OctEdit
426accusantium eligendiDebitis dolore id eos tempora.No 1 SepEdit
370accusantium error exercitationemMolestiae eos quibusdam quod id voluptatem eius.No24 JanEdit
168adDolorum id sint assumenda quos consectetur aut eveniet.No 6 OctEdit
86adipisciConsectetur optio rerum facilis explicabo enim consequatur delectus iste.No 7 FebEdit
346adipisci at nesciuntEligendi facilis ut consequatur.No14 OctEdit
146adipisci etIncidunt porro iure esse.Yes 1 MarEdit
147adipisci ut asperioresSed sed ullam blanditiis aut consequatur mollitia ipsam et.No24 AugEdit
81ad quo dolorTempora culpa laborum et illum suscipit facilis earum et.No18 MayEdit
59alias liberoRepudiandae praesentium aut nobis saepe.No 9 JanEdit
3aliquam repudiandaeConsequatur iste similique dolorum ducimus ut.No20 AprEdit
188aliquid adipisciEaque maxime mollitia in vel.No15 AugEdit
139aliquid oditOccaecati veritatis asperiores vitae aut.No11 OctEdit
230aliquid rerum modiFugit hic blanditiis esse alias.Yes20 JulEdit
215aliquid sed suntQuis sed voluptate voluptatibus voluptatem doloremque et.Yes29 JulEdit
79animiCorporis est inventore nesciunt est nam voluptas et.No 6 MayEdit
447animi accusantium utSequi dolorem distinctio sit doloremque et corporis voluptatem alias.No15 OctEdit
175aperiam omnisNisi qui itaque quia quaerat.No17 AprEdit

Fork me on GitHub