From a57bea336fbcd7ef089bfa2d53e8a0b3a5a33260 Mon Sep 17 00:00:00 2001 From: Martin Zamuner Date: Tue, 10 Oct 2023 13:32:48 +0200 Subject: [PATCH] Make render & redirect_to public to match the originals --- .../overlastic/concerns/overlay_handling.rb | 44 +++++++++---------- 1 file changed, 22 insertions(+), 22 deletions(-) diff --git a/app/controllers/overlastic/concerns/overlay_handling.rb b/app/controllers/overlastic/concerns/overlay_handling.rb index 0c66403..dcb9a23 100644 --- a/app/controllers/overlastic/concerns/overlay_handling.rb +++ b/app/controllers/overlastic/concerns/overlay_handling.rb @@ -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) @@ -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