def find_objects_for_index
@objects ||= model_class
@objects = @objects.filter(@filters).limit(@limit).offset(@offset)
+ @objects.fetch_multiple_pages(false)
end
def render_index
- if params[:partial]
- respond_to do |f|
- f.json {
- if @filters.andand.any?
- search_filters = @filters.select do |attr,op,val|
- op == 'ilike' and !val.nil? and !val.eql?('%%')
- end
- end
- if !search_filters || !search_filters.any? # no search filter was used
- @next_page_href = next_page_href(partial: params[:partial])
- else
- @next_page_href = nil
- end
+ respond_to do |f|
+ f.json {
+ if params[:partial]
+ @next_page_href = next_page_href(partial: params[:partial], filters: @filters.to_json)
render json: {
- content: render_to_string(partial: "show_#{params[:partial]}.html", formats: [:html]),
- next_page_href: @next_page_href
-
+ content: render_to_string(partial: "show_#{params[:partial]}",
+ formats: [:html]),
+ next_page_href: @next_page_href
}
- }
- end
- else
- respond_to do |f|
- f.json { render json: @objects }
- f.html {
- if params[:tab_pane]
- render_pane params[:tab_pane]
- else
- render
- end
- }
- f.js { render }
- end
+ else
+ render json: @objects
+ end
+ }
+ f.html {
+ if params[:tab_pane]
+ render_pane params[:tab_pane]
+ else
+ render
+ end
+ }
+ f.js { render }
end
end