This commit is contained in:
parent
f4e6a9ce7a
commit
bbac63181c
|
@ -7,30 +7,24 @@ module Kaminari
|
||||||
# The main container tag
|
# The main container tag
|
||||||
class Paginator < Tag
|
class Paginator < Tag
|
||||||
def initialize(template, window: nil, outer_window: nil, left: nil, right: nil, inner_window: nil, **options) #:nodoc:
|
def initialize(template, window: nil, outer_window: nil, left: nil, right: nil, inner_window: nil, **options) #:nodoc:
|
||||||
@window_options = {}
|
|
||||||
@window_options[:window] = window || inner_window || Kaminari.config.window
|
|
||||||
outer_window ||= Kaminari.config.outer_window
|
outer_window ||= Kaminari.config.outer_window
|
||||||
@window_options[:left] = left || Kaminari.config.left
|
left ||= Kaminari.config.left
|
||||||
@window_options[:left] = outer_window if @window_options[:left] == 0
|
right ||= Kaminari.config.right
|
||||||
@window_options[:right] = right || Kaminari.config.right
|
@window_options = {window: window || inner_window || Kaminari.config.window, left: left.zero? ? outer_window : left, right: right.zero? ? outer_window : right}
|
||||||
@window_options[:right] = outer_window if @window_options[:right] == 0
|
|
||||||
|
|
||||||
@template, @options = template, options
|
@template, @options, @theme, @views_prefix = template, options, options[:theme], options[:views_prefix]
|
||||||
@theme = @options[:theme]
|
|
||||||
@views_prefix = @options[:views_prefix]
|
|
||||||
@window_options.merge! @options
|
@window_options.merge! @options
|
||||||
@window_options[:current_page] = @options[:current_page] = PageProxy.new(@window_options, @options[:current_page], nil)
|
@window_options[:current_page] = @options[:current_page] = PageProxy.new(@window_options, @options[:current_page], nil)
|
||||||
|
|
||||||
@last = nil
|
@last = nil
|
||||||
#XXX Using parent template's buffer class for rendering each partial here. This might cause problems if the handler mismatches
|
#XXX Using parent template's buffer class for rendering each partial here. This might cause problems if the handler mismatches
|
||||||
buffer_class = if defined?(::ActionView::OutputBuffer)
|
@output_buffer = if defined?(::ActionView::OutputBuffer)
|
||||||
::ActionView::OutputBuffer
|
::ActionView::OutputBuffer.new
|
||||||
elsif template.instance_variable_get(:@output_buffer)
|
elsif template.instance_variable_get(:@output_buffer)
|
||||||
template.instance_variable_get(:@output_buffer).class
|
template.instance_variable_get(:@output_buffer).class.new
|
||||||
else
|
else
|
||||||
ActiveSupport::SafeBuffer
|
ActiveSupport::SafeBuffer.new
|
||||||
end
|
end
|
||||||
@output_buffer = buffer_class.new
|
|
||||||
end
|
end
|
||||||
|
|
||||||
# render given block as a view template
|
# render given block as a view template
|
||||||
|
|
Loading…
Reference in New Issue