card-mod-layout 0.11.4 → 0.11.5

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: 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