overlastic 0.9.0 → 0.9.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: e96bc71c763fd39cbc4b0ee2a07019e30844548150f6ed631cb0620841b5eda1
4
- data.tar.gz: e69237d7b05f3fca7725cf24d23e4ef995359d3f3a52dd1dff942c341afe1c47
3
+ metadata.gz: 6d66f3738b0bd9d8474526231f6473f18a64d564219f0cf8434b0e69dd7c2d62
4
+ data.tar.gz: 408a1146a746df3bd9a1c9776b212df6d79d3d366a90fa1f136e7dc35f811b4c
5
5
  SHA512:
6
- metadata.gz: 6c3ebd9884690c569505c86b47d4b6e05c99ec62460c7645151a392c23ce7f44a7cec50fdd5b49d939d88876e04f65691c8a17528ce4a88d25fbddca9688015e
7
- data.tar.gz: 60aecc32d39d580e76f574720e6a0bdb9e1357b997d66d83c350f2a2d87492c821e4cbb8ebd3c61bb199101cf84f431ca4246fdfc1cf34acd978e21754df952e
6
+ metadata.gz: 823f2352f8706a17cdd3852a94610ca463f5a9984ba988e0423f32cbfbc964f4d1db7352e730df34eb2c05901c0f073546e1a4a1fe12e82e438f3f2a311f9ea7
7
+ data.tar.gz: 5cfd7af089adddfd47c618d23932030ffadb706da1a0811de87a62003d94a92d9e5e6a4600a49edfbcba19012e4dde82764169e177019aa5088303417defd926
@@ -13,6 +13,10 @@ module Overlastic::Concerns::OverlayHandling
13
13
  def close_overlay(key = :last, **options)
14
14
  overlay_name = helpers.overlay_name_from(key) || :overlay1
15
15
 
16
+ # In case a Turbo Stream is appended which renders new overlay links, they should be generated
17
+ # relative to the foremost overlay still open after closing the requested overlays.
18
+ request.headers["Overlay-Name"] = :"overlay#{helpers.overlay_number_from(overlay_name) - 1}"
19
+
16
20
  options.filter { |key, _| key.in? self.class._flash_types }.each { |key, value| flash.now[key] = value }
17
21
 
18
22
  if block_given?
@@ -92,8 +96,6 @@ module Overlastic::Concerns::OverlayHandling
92
96
 
93
97
  if request.variant.overlay?
94
98
  if overlay_name.present?
95
- overlay_name = nil unless helpers.valid_overlay_name?(overlay_name)
96
-
97
99
  request.variant.delete :overlay
98
100
  flash.merge! response_options.filter { |key, _| key.in? self.class._flash_types }
99
101
 
@@ -19,8 +19,12 @@ module Overlastic::OverlaysHelper
19
19
  request.headers["Overlay-Name"]&.to_sym
20
20
  end
21
21
 
22
+ def overlay_number_from(name)
23
+ name.to_s.scan(/\d+/)&.first.to_i
24
+ end
25
+
22
26
  def overlay_name_from(key)
23
- current_number = current_overlay_name.to_s.scan(/\d+/)&.first.to_i
27
+ current_number = overlay_number_from current_overlay_name
24
28
 
25
29
  case key
26
30
  when :first, :all
@@ -37,7 +41,7 @@ module Overlastic::OverlaysHelper
37
41
  end
38
42
 
39
43
  def valid_overlay_name?(name)
40
- name.to_s.scan(/\d+/)&.first&.to_i&.positive?
44
+ overlay_number_from(name).positive?
41
45
  end
42
46
 
43
47
  def render_overlay(locals = {}, &block)
@@ -1,3 +1,3 @@
1
1
  module Overlastic
2
- VERSION = "0.9.0"
2
+ VERSION = "0.9.1"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: overlastic
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.9.0
4
+ version: 0.9.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Martin Zamuner
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2022-09-25 00:00:00.000000000 Z
11
+ date: 2022-09-26 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: actionpack