bootstrap_builders 0.0.6 → 0.0.7
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
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 5667a14a34a64f4e0d6dc77a4132aab7e960d3c6
|
4
|
+
data.tar.gz: a145dbbb99683102010efc65bf84ad8925450f8d
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: a9a1c90e3d3cd6fd3ea8767fe90d29799285a0aef122b71d4e944ddef353d65baf72e05f617265222c308535bc0cd84043bfedc1a183ecdec44c31a74aa98bc1
|
7
|
+
data.tar.gz: f8d789fbbeaf73c1cb0a33d9cfb6d121ad1085e7cf339045de2ccfd73cda8743b41dbb41b147621c90af575dc5f0b9b010f4c8fa81b59b113a9725490403717a
|
data/README.md
CHANGED
@@ -55,6 +55,14 @@ You can add custom classes like this:
|
|
55
55
|
%td= "Test"
|
56
56
|
```
|
57
57
|
|
58
|
+
2. A table showing a models attributes:
|
59
|
+
|
60
|
+
```haml
|
61
|
+
= bb_table do
|
62
|
+
%tbody
|
63
|
+
= bb_attribute_rows @model, [:id, :created_at, :updated_at]
|
64
|
+
```
|
65
|
+
|
58
66
|
You can change the default classes like this:
|
59
67
|
```ruby
|
60
68
|
BootstrapBuilders.configuration.default_table_classes = [:striped, :hover]
|
@@ -97,13 +97,19 @@ module BootstrapBuilders::ApplicationHelper
|
|
97
97
|
button.html
|
98
98
|
end
|
99
99
|
|
100
|
+
def bb_flash(args = {})
|
101
|
+
flash = BootstrapBuilders::Flash.new(args.merge(context: self))
|
102
|
+
flash.html
|
103
|
+
end
|
104
|
+
|
100
105
|
def bb_table(args = {}, &blk)
|
101
106
|
table = BootstrapBuilders::Table.new(args.merge(context: self, blk: blk))
|
102
107
|
table.html
|
103
108
|
end
|
104
109
|
|
105
|
-
def
|
106
|
-
|
107
|
-
|
110
|
+
def bb_tabs(args = {})
|
111
|
+
tabs = BootstrapBuilders::Tabs.new(args.merge(context: self))
|
112
|
+
yield tabs
|
113
|
+
tabs.to_html
|
108
114
|
end
|
109
115
|
end
|
data/lib/bootstrap_builders.rb
CHANGED
@@ -0,0 +1,16 @@
|
|
1
|
+
class BootstrapBuilders::Tab
|
2
|
+
attr_accessor :container_html
|
3
|
+
attr_reader :container_id, :label
|
4
|
+
|
5
|
+
def initialize(args)
|
6
|
+
@active = args[:active]
|
7
|
+
@label = args.fetch(:label)
|
8
|
+
|
9
|
+
@container_id = args[:container_id].presence
|
10
|
+
@container_id ||= SecureRandom.hex
|
11
|
+
end
|
12
|
+
|
13
|
+
def active?
|
14
|
+
@active
|
15
|
+
end
|
16
|
+
end
|
@@ -0,0 +1,41 @@
|
|
1
|
+
class BootstrapBuilders::Tabs
|
2
|
+
def initialize(args)
|
3
|
+
@context = args.fetch(:context)
|
4
|
+
@tabs = []
|
5
|
+
end
|
6
|
+
|
7
|
+
def tab(*args, &blk)
|
8
|
+
tab_args = {}
|
9
|
+
|
10
|
+
tab_args[:label] = args.shift if args.first.is_a?(String)
|
11
|
+
tab_args[:container_id] = args.shift if args.first.is_a?(String)
|
12
|
+
tab_args.merge!(args.shift) if args.first.is_a?(Hash)
|
13
|
+
|
14
|
+
tab = BootstrapBuilders::Tab.new(tab_args)
|
15
|
+
tab.container_html = @context.content_tag(:div, nil, class: ["bb-tab-container"], &blk)
|
16
|
+
@tabs << tab
|
17
|
+
nil
|
18
|
+
end
|
19
|
+
|
20
|
+
def to_html
|
21
|
+
container = HtmlGen::Element.new(:div, inden: " ", classes: ["bb-tabs-container"])
|
22
|
+
ul = container.add_ele(:ul, classes: ["nav", "nav-tabs"])
|
23
|
+
|
24
|
+
@tabs.each do |tab|
|
25
|
+
li = ul.add_ele(:li)
|
26
|
+
li.add_ele(:a, str: tab.label, attr: {href: "##{tab.container_id}"}, data: {toggle: "tab"})
|
27
|
+
li.classes << "active" if tab.active?
|
28
|
+
end
|
29
|
+
|
30
|
+
tabs_content = container.add_ele(:div, classes: ["tab-content"])
|
31
|
+
|
32
|
+
@tabs.each do |tab|
|
33
|
+
tab_content = tabs_content.add_ele(:div, classes: ["tab-pane"], attr: {id: tab.container_id})
|
34
|
+
tab_content.add_ele(:h3, str: tab.label)
|
35
|
+
tab_content.add_html(tab.container_html)
|
36
|
+
tab_content.classes << "active" if tab.active?
|
37
|
+
end
|
38
|
+
|
39
|
+
container.html
|
40
|
+
end
|
41
|
+
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: bootstrap_builders
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.7
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- kaspernj
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2016-
|
11
|
+
date: 2016-06-07 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rails
|
@@ -212,14 +212,14 @@ dependencies:
|
|
212
212
|
requirements:
|
213
213
|
- - '='
|
214
214
|
- !ruby/object:Gem::Version
|
215
|
-
version: 0.
|
215
|
+
version: 0.40.0
|
216
216
|
type: :development
|
217
217
|
prerelease: false
|
218
218
|
version_requirements: !ruby/object:Gem::Requirement
|
219
219
|
requirements:
|
220
220
|
- - '='
|
221
221
|
- !ruby/object:Gem::Version
|
222
|
-
version: 0.
|
222
|
+
version: 0.40.0
|
223
223
|
description: A library to generate Bootstrap HTML for Rails.
|
224
224
|
email:
|
225
225
|
- kaspernj@gmail.com
|
@@ -246,7 +246,9 @@ files:
|
|
246
246
|
- lib/bootstrap_builders/flash.rb
|
247
247
|
- lib/bootstrap_builders/is_a_checker.rb
|
248
248
|
- lib/bootstrap_builders/panel.rb
|
249
|
+
- lib/bootstrap_builders/tab.rb
|
249
250
|
- lib/bootstrap_builders/table.rb
|
251
|
+
- lib/bootstrap_builders/tabs.rb
|
250
252
|
- lib/bootstrap_builders/version.rb
|
251
253
|
- lib/tasks/bootstrap_builders_tasks.rake
|
252
254
|
homepage: https://github.com/kaspernj/bootstrap_builders
|