It is possible to insert a custom row at the bottom of the grid with
last_row
and a custom row before or after a certain row with
before_row
and
after_row.
The block of
before_row
or
after_row
is executed for each record and if it returns a string.
Both
before_row
and
last_row
are expected to return the complete markup for a table row starting with the
tr
tag.
The first argument for a
last_row
block and the second argument for
before_row
and
after_row
blocks is the number of columns in the grid.
# encoding: utf-8 class AddingRowsController < ApplicationController def index @tasks_grid = initialize_grid(Task, include: [:priority, :status, :project, :assigned_users], order: 'statuses.name', custom_order: { 'tasks.priority_id' => 'priorities.name', 'tasks.status_id' => 'statuses.position', 'tasks.project_id' => 'projects.name' } ) end end
.well %h2= current_page_title %p It is possible to insert a custom row at the bottom of the grid with %code last_row and a custom row before or after a certain row with %code before_row and %code after_row. %p The block of %code before_row or %code after_row is executed for each record and if it returns a string. %p Both %code before_row and %code last_row are expected to return the complete markup for a table row starting with the %code tr tag. %p The first argument for a %code last_row block and the second argument for %code before_row and %code after_row blocks is the number of columns in the grid. = show_code .row-fluid .col-md-12 = render 'grid'
<%= grid(@tasks_grid) do |g|
g.after_row do |task, number_of_columns|
if task.priority == Priority.urgent
content_tag(:tr,
content_tag(:td,
content_tag(:button, "Panic! \"#{task.title}\" is urgent!", class: "btn btn-danger"),
colspan: number_of_columns),
class: 'extra-row')
else
nil
end
end
g.last_row do |number_of_columns|
content_tag(:tr,
content_tag(:td,
content_tag(:button, "Don't panic", class: "btn btn-info"),
colspan: 9),
class: 'last-row')
end
g.row_attributes do |task|
if task.priority == Priority.urgent
{class: 'urgent'}
end
end
g.column name: 'ID', attribute: 'id', filter: false
g.column name: 'Title', attribute: 'title'
g.column name: 'Priority', attribute: 'priority_id', custom_filter: Priority.to_dropdown do |task|
task.priority.name if task.priority
end
g.column name: 'Status', attribute: 'status_id', custom_filter: Status.to_dropdown do |task|
task.status.name if task.status
end
g.column name: 'Project Name', attribute: 'project_id', custom_filter: Project.to_dropdown do |task|
task.project.name if task.project
end
g.column name: 'Archived', attribute: 'archived' do |task|
task.archived? ? 'Yes' : 'No'
end
g.column name: 'Added', attribute: 'created_at' do |task|
task.created_at.to_s(:short)
end
g.column do |task|
link_to('Edit', edit_task_path(task))
end
end
-%>
ID | Title | Priority | Status | Project Name | Archived | Added | ||
---|---|---|---|---|---|---|---|---|
41-60 / 500 show all | ||||||||
458 | quis | Low | Assigned | Super Game | No | 03 May 12:37 | Edit | |
324 | natus dicta possimus | Anecdotic | Assigned | Divine Firmware | No | 16 May 12:37 | Edit | |
334 | sit | Assigned | Divine Firmware | No | 03 Apr 12:37 | Edit | ||
338 | impedit | Assigned | Divine Firmware | Yes | 27 Apr 12:37 | Edit | ||
350 | et quo | Anecdotic | Assigned | Divine Firmware | Yes | 06 Apr 12:37 | Edit | |
357 | optio provident qui | Anecdotic | Assigned | Super Game | No | 21 Apr 12:37 | Edit | |
365 | eligendi deleniti | Anecdotic | Assigned | Super Game | No | 16 Mar 12:37 | Edit | |
368 | magnam | Assigned | Super Game | No | 15 May 12:37 | Edit | ||
377 | quam qui quibusdam | Assigned | Divine Firmware | No | 24 Mar 12:37 | Edit | ||
386 | eveniet ipsam et | Urgent | Assigned | Ultimate Website | No | 28 Mar 12:37 | Edit | |
397 | tempore ut aliquid | High | Assigned | Super Game | Yes | 05 Jun 12:37 | Edit | |
401 | cum deserunt nesciunt | Urgent | Assigned | Ultimate Website | Yes | 18 May 12:37 | Edit | |
402 | at | Assigned | Super Game | No | 01 Jun 12:37 | Edit | ||
404 | at aliquam corrupti | Anecdotic | Assigned | Super Game | No | 23 May 12:37 | Edit | |
408 | quibusdam voluptate | Urgent | Assigned | Super Game | No | 10 Apr 12:37 | Edit | |
433 | ut facere | Urgent | Assigned | Ultimate Website | No | 15 May 12:37 | Edit | |
434 | voluptas quisquam | Assigned | Super Game | No | 20 Apr 12:37 | Edit | ||
436 | accusantium | High | Assigned | Super Game | No | 05 Apr 12:37 | Edit | |
1 | impedit aperiam libero | Cancelled | Divine Firmware | No | 22 May 12:37 | Edit | ||
10 | rerum occaecati | Urgent | Cancelled | Super Game | No | 22 May 12:37 | Edit | |