card-mod-layout 0.11.4 → 0.11.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 3ad213fb8bb10d22946344dda30fe69a2fc358d29d2f581362b801b46a442db1
4
- data.tar.gz: b4645a27d2e91c3a7bfb166b0c92029a9532b7e774acc99a0927d62cdf925beb
3
+ metadata.gz: eb8094b7e8439f3eef947f48b7be254635363a42f8ca62ada110bf9197fdc134
4
+ data.tar.gz: e36c74e6592a2786f4458972c20946b4e69162f014eeb2537e74dfa5acdd1ba3
5
5
  SHA512:
6
- metadata.gz: c200ef7955e314127e0a9877586cf14cb4e73db84a6d3084261afe70034748b1ec85ff612924446c4ce5e3dfb5425aeebd2e303e9c2a24439b6f4d490c6c2130
7
- data.tar.gz: 91ea8260c7d1f61ab7d75be4e98f68e6055d0089be9a3ccf1d9fe44ba90185b2f66f35c169cee8aff47643aa38f2acef84305841fb73f593ba8d2ba3dc73688b
6
+ metadata.gz: c10715b11e4cc2e8247e255e84c0977b2d2a3e4a6eb1477ba48aee9b50b70e64b9b526a5775b75a943c1d4a9767d2ea8aeb1a4de4b374c1c01aef23c36e8a581
7
+ data.tar.gz: 9d5a1f944fff78fe8ded42bd0987676d82844b77c2fcce042bf5669c03ec6589fc88ef0bafa968b4ab0fb453280d538097a431bd84b6f863c4d1b4d4fcd0845c
data/lib/card/layout.rb CHANGED
@@ -40,6 +40,7 @@ class Card
40
40
 
41
41
  def layout_key name
42
42
  return name if name.is_a? Symbol
43
+
43
44
  name.to_name.key.to_sym
44
45
  end
45
46
 
@@ -17,9 +17,7 @@ format :html do
17
17
  Auth.current_roles.size > 1
18
18
  end
19
19
 
20
- def role_items
21
- Auth.current_roles.map do |role_name|
22
- yield role_name
23
- end
20
+ def role_items &block
21
+ Auth.current_roles.map(&block)
24
22
  end
25
23
  end
data/set/all/modal.rb CHANGED
@@ -14,6 +14,7 @@ format :html do
14
14
  def normalize_modal_option key, opts
15
15
  val = opts[key]
16
16
  return render("modal_#{key}") unless val
17
+
17
18
  cast_model_option val
18
19
  end
19
20
 
data/set/all/overlay.rb CHANGED
@@ -79,25 +79,23 @@ format :html do
79
79
  header_wrap [title, _render_overlay_menu]
80
80
  end
81
81
 
82
- def overlay_frame slot=true, header=render_overlay_header, slot_opts=nil
82
+ def overlay_frame slot=true, header=render_overlay_header, slot_opts=nil, &block
83
83
  slot_opts ||= {}
84
84
  overlay_framer slot, header, slot_opts do
85
- wrap_body { yield }
85
+ wrap_body(&block)
86
86
  end
87
87
  end
88
88
 
89
- def haml_overlay_frame slot=true, header=render_overlay_header
89
+ def haml_overlay_frame slot=true, header=render_overlay_header, &block
90
90
  overlay_framer slot, header, {} do
91
- haml_wrap_body { yield }
91
+ haml_wrap_body(&block)
92
92
  end
93
93
  end
94
94
 
95
95
  private
96
96
 
97
- def overlay_framer slot, header, slot_opts
97
+ def overlay_framer slot, header, slot_opts, &block
98
98
  class_up "card-slot", "_overlay"
99
- with_frame slot, header, slot_opts do
100
- yield
101
- end
99
+ with_frame slot, header, slot_opts, &block
102
100
  end
103
101
  end
@@ -14,13 +14,6 @@ format :html do
14
14
  end
15
15
  end
16
16
 
17
- def main_render_args view, args
18
- args[:view] = view if view
19
- args[:main] = true
20
- args[:main_view] = true
21
- args
22
- end
23
-
24
17
  def page_layout
25
18
  params[:layout] || layout_name_from_rule || :default
26
19
  end
@@ -33,28 +26,43 @@ format :html do
33
26
  render! view, view_opts.reverse_merge(args)
34
27
  end
35
28
 
36
- def render_outside_of_layout view, args
37
- body = render_with_layout(nil, page_layout, {})
38
- modal = render!(view, args)
39
- if body.include?("</body>")
40
- # a bit hacky
41
- # the problem is that the body tag has to be in the layout
42
- # so that you can add layout css classes like <body class="right-sidebar">
43
- body.sub!("</body>", "#{modal}</body>")
44
- else
45
- body += modal
46
- end
47
- body
48
- end
49
-
50
29
  def show_layout?
51
30
  !Env.ajax? || params[:layout]
52
31
  end
53
32
 
54
33
  def explicit_modal_wrapper? view
55
- return unless view_setting(:wrap, view)
34
+ return unless (wrap_view = view_setting :wrap, view)
35
+
36
+ (wrapper_names(wrap_view) & %i[modal bridge]).any?
37
+ end
38
+
39
+ private
40
+
41
+ def main_render_args view, args
42
+ args[:view] = view if view
43
+ args[:main] = true
44
+ args[:main_view] = true
45
+ args
46
+ end
47
+
48
+ def layout_name_from_rule
49
+ card.rule_card(:layout)&.try :item_name
50
+ end
51
+
52
+ def render_outside_of_layout view, args
53
+ body = render_with_layout nil, page_layout, {}
54
+ body_with_modal body, render!(view, args)
55
+ end
56
56
 
57
- wrapper_names(view_setting(:wrap, view)).any? { |n| n == :modal || n == :bridge }
57
+ def body_with_modal body, modal
58
+ if body.include? "</body>"
59
+ # a bit hacky
60
+ # the problem is that the body tag has to be in the layout
61
+ # so that you can add layout css classes like <body class="right-sidebar">
62
+ body.sub "</body>", "#{modal}</body>"
63
+ else
64
+ body + modal
65
+ end
58
66
  end
59
67
 
60
68
  def wrapper_names wrappers
@@ -65,12 +73,6 @@ format :html do
65
73
  end
66
74
  end
67
75
 
68
- def layout_name_from_rule
69
- card.rule_card(:layout)&.try :item_name
70
- end
71
-
72
- private
73
-
74
76
  def wrapper_names_from_array wrapper_array
75
77
  wrapper_array.map { |w| w.is_a?(Array) ? w.first : w }
76
78
  end
data/set/all/tabs.rb CHANGED
@@ -21,6 +21,7 @@ format :html do
21
21
  path: nest_path(name, tab_options).html_safe
22
22
  }
23
23
  return unless tabs[:active].empty?
24
+
24
25
  tabs[:active] = { name: name, content: nest(name, tab_options) }
25
26
  end
26
27
 
@@ -24,9 +24,9 @@ format :html do
24
24
  end
25
25
  end
26
26
 
27
- def self.link_options opts={}
27
+ def self.link_options opts={}, &block
28
28
  options = { denial: :blank, cache: :never }.merge opts
29
- options[:perms] = ->(r) { yield r } if block_given?
29
+ options[:perms] = block if block_given?
30
30
  options.clone
31
31
  end
32
32
 
data/set/self/foot.rb CHANGED
@@ -1,4 +1,3 @@
1
-
2
1
  def content
3
2
  "<!-- *foot is deprecated. please remove from layout -->"
4
3
  end
data/set/self/head.rb CHANGED
@@ -9,7 +9,7 @@ format :html do
9
9
  view :core, cache: :never do
10
10
  escape_in_main do
11
11
  nest root.card, view: :head
12
- # note that the head tag for each card is different
12
+ # NOTE: that the head tag for each card is different
13
13
  # (different title, different style rules, etc)
14
14
  # so we don't cache the core of *head, but we _do_ cache some
15
15
  # views within each head (see all/head.rb)
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: card-mod-layout
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.11.4
4
+ version: 0.11.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ethan McCutchen
@@ -10,7 +10,7 @@ authors:
10
10
  autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
- date: 2021-05-05 00:00:00.000000000 Z
13
+ date: 2021-05-10 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: card
@@ -18,42 +18,42 @@ dependencies:
18
18
  requirements:
19
19
  - - '='
20
20
  - !ruby/object:Gem::Version
21
- version: 1.101.4
21
+ version: 1.101.5
22
22
  type: :runtime
23
23
  prerelease: false
24
24
  version_requirements: !ruby/object:Gem::Requirement
25
25
  requirements:
26
26
  - - '='
27
27
  - !ruby/object:Gem::Version
28
- version: 1.101.4
28
+ version: 1.101.5
29
29
  - !ruby/object:Gem::Dependency
30
30
  name: card-mod-account
31
31
  requirement: !ruby/object:Gem::Requirement
32
32
  requirements:
33
33
  - - '='
34
34
  - !ruby/object:Gem::Version
35
- version: 0.11.4
35
+ version: 0.11.5
36
36
  type: :runtime
37
37
  prerelease: false
38
38
  version_requirements: !ruby/object:Gem::Requirement
39
39
  requirements:
40
40
  - - '='
41
41
  - !ruby/object:Gem::Version
42
- version: 0.11.4
42
+ version: 0.11.5
43
43
  - !ruby/object:Gem::Dependency
44
44
  name: card-mod-session
45
45
  requirement: !ruby/object:Gem::Requirement
46
46
  requirements:
47
47
  - - '='
48
48
  - !ruby/object:Gem::Version
49
- version: 0.11.4
49
+ version: 0.11.5
50
50
  type: :runtime
51
51
  prerelease: false
52
52
  version_requirements: !ruby/object:Gem::Requirement
53
53
  requirements:
54
54
  - - '='
55
55
  - !ruby/object:Gem::Version
56
- version: 0.11.4
56
+ version: 0.11.5
57
57
  description: ''
58
58
  email:
59
59
  - info@decko.org