Skip to content

Commit

Permalink
Make render & redirect_to public to match the originals
Browse files Browse the repository at this point in the history
  • Loading branch information
martinzamuner committed Oct 10, 2023
1 parent 2b0dde9 commit a57bea3
Showing 1 changed file with 22 additions and 22 deletions.
44 changes: 22 additions & 22 deletions app/controllers/overlastic/concerns/overlay_handling.rb
Original file line number Diff line number Diff line change
Expand Up @@ -4,28 +4,6 @@ module Overlastic::Concerns::OverlayHandling
included do
before_action :add_overlay_variant

private

def add_overlay_variant
request.variant = :overlay if helpers.current_overlay_name.present?
end

def close_overlay(key = :last, **options)
overlay_name = helpers.overlay_name_from(key) || :overlay1

# In case a Turbo Stream is appended which renders new overlay links, they should be generated
# relative to the foremost overlay still open after closing the requested overlays.
request.headers["Overlay-Name"] = :"overlay#{helpers.overlay_number_from(overlay_name) - 1}"

options.filter { |key, _| key.in? self.class._flash_types }.each { |key, value| flash.now[key] = value }

if block_given?
render overlay: overlay_name, html: helpers.overlastic_tag(id: overlay_name), append_turbo_stream: yield
else
render overlay: overlay_name, html: helpers.overlastic_tag(id: overlay_name)
end
end

def render(*args, **options, &block)
# Force render of overlays without an initiator
request.headers["Overlay-Target"] ||= options.delete(:overlay_target)
Expand Down Expand Up @@ -113,5 +91,27 @@ def redirect_to(options = {}, response_options = {})
super
end
end

private

def add_overlay_variant
request.variant = :overlay if helpers.current_overlay_name.present?
end

def close_overlay(key = :last, **options)
overlay_name = helpers.overlay_name_from(key) || :overlay1

# In case a Turbo Stream is appended which renders new overlay links, they should be generated
# relative to the foremost overlay still open after closing the requested overlays.
request.headers["Overlay-Name"] = :"overlay#{helpers.overlay_number_from(overlay_name) - 1}"

options.filter { |key, _| key.in? self.class._flash_types }.each { |key, value| flash.now[key] = value }

if block_given?
render overlay: overlay_name, html: helpers.overlastic_tag(id: overlay_name), append_turbo_stream: yield
else
render overlay: overlay_name, html: helpers.overlastic_tag(id: overlay_name)
end
end
end
end

0 comments on commit a57bea3

Please sign in to comment.