bootstrap4_helper 1.0.2 → 1.2.0
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 +4 -4
- data/lib/bootstrap4_helper.rb +9 -0
- data/lib/bootstrap4_helper/accordion.rb +21 -17
- data/lib/bootstrap4_helper/configuration.rb +2 -1
- data/lib/bootstrap4_helper/constants.rb +1 -0
- data/lib/bootstrap4_helper/page_header.rb +38 -0
- data/lib/bootstrap4_helper/tab/content.rb +3 -2
- data/lib/bootstrap4_helper/version.rb +1 -1
- metadata +14 -7
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: dcd8899a1dfc67e56574cd1f0c78d65e45dc3cf6a5f1e9c87bb9c249c89f23e8
|
4
|
+
data.tar.gz: 1eabeb64cc4d1c29b7c47af427336b3c40b0a16b65917c5fb857ef293bb6f042
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 1d4d6840a43370f5743315e3cc8c7deae8f2679dc3482eae721850c70fa24f7b44f356a45fae10184ee7e24143b922b38d64e9a1e91c2187bcbace323330677b
|
7
|
+
data.tar.gz: bf48bdd5ce2000ca74854a4b5f1a68d50800d8f2ae1625145f4e47673c84673899b59e52466a778f6ef855de835fc6f51b8f41fcdb0d56a955d3ce74fdec92e6
|
data/lib/bootstrap4_helper.rb
CHANGED
@@ -448,6 +448,15 @@ module Bootstrap4Helper
|
|
448
448
|
Nav.new(self, opts, &block)
|
449
449
|
end
|
450
450
|
|
451
|
+
# Generates a page header, similiar to bootstrap 3
|
452
|
+
#
|
453
|
+
# @param [Hash] opts
|
454
|
+
# @return [String]
|
455
|
+
#
|
456
|
+
def page_header_helper(opts = {}, &block)
|
457
|
+
PageHeader.new(self, opts, &block)
|
458
|
+
end
|
459
|
+
|
451
460
|
# Generates a Tab component.
|
452
461
|
#
|
453
462
|
# ```erb
|
@@ -7,29 +7,31 @@ module Bootstrap4Helper
|
|
7
7
|
title
|
8
8
|
text
|
9
9
|
image_overlay
|
10
|
+
footer
|
10
11
|
].freeze
|
11
12
|
|
12
13
|
# Class constructor
|
13
|
-
# -
|
14
14
|
#
|
15
15
|
# @param [ActionView] template
|
16
16
|
# @param [Hash] opts
|
17
|
-
# @option opts [String]
|
18
|
-
# @option opts [String]
|
19
|
-
# @option opts [Hash]
|
20
|
-
# @option opts [String]
|
21
|
-
# @option opts [String]
|
17
|
+
# @option opts [String] :id
|
18
|
+
# @option opts [String] :class
|
19
|
+
# @option opts [Hash] :data
|
20
|
+
# @option opts [String] :parent
|
21
|
+
# @option opts [String] :target
|
22
|
+
# @option opts [Boolean] :expanded
|
22
23
|
#
|
23
24
|
def initialize(template, opts = {}, &block)
|
24
25
|
super(template)
|
25
26
|
|
26
|
-
@id
|
27
|
-
@class
|
28
|
-
@data
|
29
|
-
@parent
|
30
|
-
@
|
31
|
-
@
|
32
|
-
@
|
27
|
+
@id = opts.fetch(:id, uuid)
|
28
|
+
@class = opts.fetch(:class, '')
|
29
|
+
@data = opts.fetch(:data, {})
|
30
|
+
@parent = opts.fetch(:parent, nil)
|
31
|
+
@expanded = opts.fetch(:expanded, false)
|
32
|
+
@target = @data.fetch(:target, uuid)
|
33
|
+
@content = block || proc { '' }
|
34
|
+
@card = Card.new(@template)
|
33
35
|
end
|
34
36
|
|
35
37
|
# Builds a header component for the accordion, which is actually the header
|
@@ -60,9 +62,11 @@ module Bootstrap4Helper
|
|
60
62
|
# @return [String]
|
61
63
|
#
|
62
64
|
def body(opts = {}, &block)
|
63
|
-
data
|
65
|
+
data = { parent: "##{@parent}" } if @parent.present?
|
66
|
+
klass = 'collapse'
|
67
|
+
klass += ' show' if @expanded
|
64
68
|
|
65
|
-
content_tag :div, id: @target, class:
|
69
|
+
content_tag :div, id: @target, class: klass, data: data do
|
66
70
|
@card.body(opts, &block)
|
67
71
|
end
|
68
72
|
end
|
@@ -82,7 +86,7 @@ module Bootstrap4Helper
|
|
82
86
|
end
|
83
87
|
end
|
84
88
|
|
85
|
-
# Checks if the Object reponds to missing.
|
89
|
+
# Checks if the Object reponds to missing.
|
86
90
|
#
|
87
91
|
#
|
88
92
|
def respond_to_missing?(method, include_private = false)
|
@@ -95,7 +99,7 @@ module Bootstrap4Helper
|
|
95
99
|
# @return [String]
|
96
100
|
#
|
97
101
|
def to_s
|
98
|
-
content_tag :div, class: "card #{@class}", data: @data do
|
102
|
+
content_tag :div, id: @id, class: "card #{@class}", data: @data.except(:target) do
|
99
103
|
@content.call(self)
|
100
104
|
end
|
101
105
|
end
|
@@ -0,0 +1,38 @@
|
|
1
|
+
module Bootstrap4Helper
|
2
|
+
# Builds a simple CSS spinner component.
|
3
|
+
#
|
4
|
+
#
|
5
|
+
class PageHeader < Component
|
6
|
+
# Class constructor
|
7
|
+
#
|
8
|
+
# @param [ActionView] template
|
9
|
+
# @param [Hash] opts
|
10
|
+
# @option opts [String] :id
|
11
|
+
# @option opts [String] :class
|
12
|
+
# @option opts [Hash] :data
|
13
|
+
#
|
14
|
+
def initialize(template, opts = {}, &block)
|
15
|
+
super(template)
|
16
|
+
|
17
|
+
@id = opts.fetch(:id, uuid)
|
18
|
+
@class = opts.fetch(:class, '')
|
19
|
+
@data = opts.fetch(:data, {})
|
20
|
+
@content = block || proc { '' }
|
21
|
+
end
|
22
|
+
|
23
|
+
# String representation of the object.
|
24
|
+
#
|
25
|
+
# @return [String]
|
26
|
+
#
|
27
|
+
def to_s
|
28
|
+
content_tag(
|
29
|
+
config(:page_header, :h1),
|
30
|
+
id: @id,
|
31
|
+
class: "pb-2 mt-4 mb-2 border-bottom #{@class}",
|
32
|
+
data: @data
|
33
|
+
) do
|
34
|
+
@content.call(self)
|
35
|
+
end
|
36
|
+
end
|
37
|
+
end
|
38
|
+
end
|
@@ -24,18 +24,19 @@ module Bootstrap4Helper
|
|
24
24
|
# Builds the pane for the tab.
|
25
25
|
#
|
26
26
|
# @param [Symbol] source
|
27
|
-
# @param [Hash]
|
27
|
+
# @param [Hash] opts
|
28
28
|
# @option opts [String] :class
|
29
29
|
# @option opts [Hash] :data
|
30
30
|
# @return [String]
|
31
31
|
#
|
32
32
|
def pane(source, opts = {}, &block)
|
33
|
+
id = opts.fetch(:id, source)
|
33
34
|
klass = opts.fetch(:class, '')
|
34
35
|
data = opts.fetch(:data, {})
|
35
36
|
|
36
37
|
content_tag(
|
37
38
|
:div,
|
38
|
-
id:
|
39
|
+
id: id,
|
39
40
|
class: "tab-pane #{klass}",
|
40
41
|
role: 'tabpanel',
|
41
42
|
data: data,
|
metadata
CHANGED
@@ -1,29 +1,35 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: bootstrap4_helper
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0
|
4
|
+
version: 1.2.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Robert David
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2021-02-03 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rails
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
16
16
|
requirements:
|
17
|
-
- - "
|
17
|
+
- - ">"
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version:
|
19
|
+
version: '4.2'
|
20
|
+
- - "<="
|
21
|
+
- !ruby/object:Gem::Version
|
22
|
+
version: 7.0.0
|
20
23
|
type: :runtime
|
21
24
|
prerelease: false
|
22
25
|
version_requirements: !ruby/object:Gem::Requirement
|
23
26
|
requirements:
|
24
|
-
- - "
|
27
|
+
- - ">"
|
28
|
+
- !ruby/object:Gem::Version
|
29
|
+
version: '4.2'
|
30
|
+
- - "<="
|
25
31
|
- !ruby/object:Gem::Version
|
26
|
-
version:
|
32
|
+
version: 7.0.0
|
27
33
|
- !ruby/object:Gem::Dependency
|
28
34
|
name: bootstrap
|
29
35
|
requirement: !ruby/object:Gem::Requirement
|
@@ -150,6 +156,7 @@ files:
|
|
150
156
|
- lib/bootstrap4_helper/initialize.rb
|
151
157
|
- lib/bootstrap4_helper/modal.rb
|
152
158
|
- lib/bootstrap4_helper/nav.rb
|
159
|
+
- lib/bootstrap4_helper/page_header.rb
|
153
160
|
- lib/bootstrap4_helper/railtie.rb
|
154
161
|
- lib/bootstrap4_helper/spinner.rb
|
155
162
|
- lib/bootstrap4_helper/tab.rb
|
@@ -175,7 +182,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
175
182
|
- !ruby/object:Gem::Version
|
176
183
|
version: '0'
|
177
184
|
requirements: []
|
178
|
-
rubygems_version: 3.1
|
185
|
+
rubygems_version: 3.0.1
|
179
186
|
signing_key:
|
180
187
|
specification_version: 4
|
181
188
|
summary: Library for rapidly building bootstrap 4 components
|