bootstrap-cells 0.1.5

Sign up to get free protection for your applications and to get access to all the features.
Files changed (84) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +16 -0
  3. data/.gitlab-ci.yml +13 -0
  4. data/.rspec +2 -0
  5. data/.rubocop.yml +27 -0
  6. data/CHANGELOG +29 -0
  7. data/Gemfile +6 -0
  8. data/Gemfile.lock +200 -0
  9. data/Rakefile +8 -0
  10. data/app/assets/javascripts/bootstrap-cells/add_many_event_listeners.js +11 -0
  11. data/app/assets/javascripts/bootstrap-cells/index.js +3 -0
  12. data/app/assets/stylesheets/_bootstrap-cells.scss +7 -0
  13. data/app/views/kaminari/bootstrap/_first_page.html.erb +15 -0
  14. data/app/views/kaminari/bootstrap/_gap.html.erb +12 -0
  15. data/app/views/kaminari/bootstrap/_last_page.html.erb +16 -0
  16. data/app/views/kaminari/bootstrap/_next_page.html.erb +16 -0
  17. data/app/views/kaminari/bootstrap/_page.html.erb +17 -0
  18. data/app/views/kaminari/bootstrap/_paginator.html.erb +32 -0
  19. data/app/views/kaminari/bootstrap/_prev_page.html.erb +16 -0
  20. data/bin/console +15 -0
  21. data/bin/setup +8 -0
  22. data/bootstrap-cells.gemspec +36 -0
  23. data/lib/bootstrap-cells.rb +16 -0
  24. data/lib/bootstrap-cells/cells/alert/body.erb +7 -0
  25. data/lib/bootstrap-cells/cells/alert/show.erb +7 -0
  26. data/lib/bootstrap-cells/cells/alert/title.erb +9 -0
  27. data/lib/bootstrap-cells/cells/alert_cell.rb +39 -0
  28. data/lib/bootstrap-cells/cells/base_cell.rb +43 -0
  29. data/lib/bootstrap-cells/cells/button/show.erb +17 -0
  30. data/lib/bootstrap-cells/cells/button_cell.rb +41 -0
  31. data/lib/bootstrap-cells/cells/card/block.erb +14 -0
  32. data/lib/bootstrap-cells/cells/card/block_body.erb +5 -0
  33. data/lib/bootstrap-cells/cells/card/block_subtitle.erb +5 -0
  34. data/lib/bootstrap-cells/cells/card/block_text.erb +5 -0
  35. data/lib/bootstrap-cells/cells/card/block_title.erb +5 -0
  36. data/lib/bootstrap-cells/cells/card/footer.erb +9 -0
  37. data/lib/bootstrap-cells/cells/card/header.erb +9 -0
  38. data/lib/bootstrap-cells/cells/card/img_bottom.erb +9 -0
  39. data/lib/bootstrap-cells/cells/card/img_top.erb +9 -0
  40. data/lib/bootstrap-cells/cells/card/list_group.erb +9 -0
  41. data/lib/bootstrap-cells/cells/card/show.erb +9 -0
  42. data/lib/bootstrap-cells/cells/card/table.erb +9 -0
  43. data/lib/bootstrap-cells/cells/card_cell.rb +152 -0
  44. data/lib/bootstrap-cells/cells/column/td.erb +1 -0
  45. data/lib/bootstrap-cells/cells/column/th.erb +9 -0
  46. data/lib/bootstrap-cells/cells/column_cell.rb +49 -0
  47. data/lib/bootstrap-cells/cells/field/required_field.scss +5 -0
  48. data/lib/bootstrap-cells/cells/field/show.erb +15 -0
  49. data/lib/bootstrap-cells/cells/field_cell.rb +96 -0
  50. data/lib/bootstrap-cells/cells/fields_for/form.scss +12 -0
  51. data/lib/bootstrap-cells/cells/fields_for/form_horizontal.scss +33 -0
  52. data/lib/bootstrap-cells/cells/fields_for/show.erb +3 -0
  53. data/lib/bootstrap-cells/cells/fields_for_cell.rb +15 -0
  54. data/lib/bootstrap-cells/cells/kv_horizontal/show.erb +17 -0
  55. data/lib/bootstrap-cells/cells/kv_horizontal_cell.rb +34 -0
  56. data/lib/bootstrap-cells/cells/kv_vertical/show.erb +17 -0
  57. data/lib/bootstrap-cells/cells/kv_vertical_cell.rb +32 -0
  58. data/lib/bootstrap-cells/cells/modal/body.erb +9 -0
  59. data/lib/bootstrap-cells/cells/modal/button.erb +9 -0
  60. data/lib/bootstrap-cells/cells/modal/content.erb +12 -0
  61. data/lib/bootstrap-cells/cells/modal/footer.erb +10 -0
  62. data/lib/bootstrap-cells/cells/modal/header.erb +12 -0
  63. data/lib/bootstrap-cells/cells/modal/modal.js +15 -0
  64. data/lib/bootstrap-cells/cells/modal/show.erb +9 -0
  65. data/lib/bootstrap-cells/cells/modal_cell.rb +64 -0
  66. data/lib/bootstrap-cells/cells/pages/pages.scss +4 -0
  67. data/lib/bootstrap-cells/cells/pages/show.erb +3 -0
  68. data/lib/bootstrap-cells/cells/pages_cell.rb +16 -0
  69. data/lib/bootstrap-cells/cells/table/nubbin.scss +40 -0
  70. data/lib/bootstrap-cells/cells/table/show.erb +7 -0
  71. data/lib/bootstrap-cells/cells/table/table_sort.scss +17 -0
  72. data/lib/bootstrap-cells/cells/table/table_striped_nested.scss +8 -0
  73. data/lib/bootstrap-cells/cells/table/tbody.erb +3 -0
  74. data/lib/bootstrap-cells/cells/table/tbody_button_for_nested_row.erb +9 -0
  75. data/lib/bootstrap-cells/cells/table/tbody_final_row.erb +9 -0
  76. data/lib/bootstrap-cells/cells/table/tbody_first_row.erb +9 -0
  77. data/lib/bootstrap-cells/cells/table/tbody_nested_row.erb +6 -0
  78. data/lib/bootstrap-cells/cells/table/tbody_rows.erb +35 -0
  79. data/lib/bootstrap-cells/cells/table/thead.erb +11 -0
  80. data/lib/bootstrap-cells/cells/table_cell.rb +68 -0
  81. data/lib/bootstrap-cells/cells/tabs/show.erb +19 -0
  82. data/lib/bootstrap-cells/cells/tabs_cell.rb +40 -0
  83. data/lib/bootstrap-cells/engine.rb +9 -0
  84. metadata +307 -0
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: b42c4d64ec3ea10052e487cdd29c72ca19ee4be4
4
+ data.tar.gz: 32a7944ebdec8e1477f31e1755af2481d2cf800d
5
+ SHA512:
6
+ metadata.gz: 5927d0e5401c79924328dfd73c6a35c6703d717652a90fa5f0dc93f64f0eada8b322b3fb5d68620ec7e6f1be11b514694f7fbb19c1fc2f48c2b322df7fff2fc4
7
+ data.tar.gz: a4ea0c1a8a2bd69fb4c5246fb89a8de2b9fdf83e937e52726472b7620fc28660e5faade5040ebae3af8acf4ba854b18a2d2fb3f8b0aaffbb883379ab38090ef3
@@ -0,0 +1,16 @@
1
+ # Ignore my ide junk
2
+ .idea/
3
+
4
+ .DS_Store
5
+
6
+ coverage
7
+ istanbul
8
+
9
+ spec/dummy/log
10
+ spec/dummy/db/*.sqlite3
11
+ spec/dummy/tmp
12
+
13
+ .bundle
14
+ pkg
15
+ *.gem
16
+
@@ -0,0 +1,13 @@
1
+ before_script:
2
+ - bundle install --path="vendor/bundle"
3
+
4
+ stages:
5
+ - test
6
+
7
+ test:
8
+ stage: test
9
+ script:
10
+ - bundle exec rspec spec
11
+ cache:
12
+ paths:
13
+ - vendor/bundle/
data/.rspec ADDED
@@ -0,0 +1,2 @@
1
+ --format documentation
2
+ --color
@@ -0,0 +1,27 @@
1
+ AllCops:
2
+ TargetRubyVersion: 2.3
3
+ Include:
4
+ - Rakefile
5
+ Exclude:
6
+ - bin/*
7
+ - db/**/*
8
+ - spec/*_helper.rb
9
+ Metrics/LineLength:
10
+ Max: 120
11
+ # To make it possible to copy or click on URIs in the code, we allow lines
12
+ # contaning a URI to be longer than Max.
13
+ AllowURI: true
14
+ URISchemes:
15
+ - http
16
+ - https
17
+ Style/Documentation:
18
+ Enabled: false
19
+ Style/SignalException:
20
+ EnforcedStyle: semantic
21
+ Rails:
22
+ Enabled: true
23
+ Metrics/BlockLength:
24
+ Exclude:
25
+ - 'acts_on_resource.gemspec'
26
+ - 'spec/**/*_spec.rb'
27
+ - '**/schema.rb'
@@ -0,0 +1,29 @@
1
+ v0.1.5
2
+ - Allow callers to put a table caption at the head of the table
3
+ - Ensure that the `type` attribute is put on the buttons used for nested rows in the table cell
4
+ - Ensure that the hashes merged in the `merge_props` method have the same kind of keys by deep symbolizing each hash
5
+ v0.1.4
6
+ - Ensure that the Kaminari gem is explicitly required
7
+ v0.1.3
8
+ - Allow custom output to be set for hidden fields
9
+ - Allow for fields_for collections with nils
10
+ v0.1.2
11
+ - Don't put the HTML for the alert title into the DOM is the title text is nil
12
+ v0.1.1
13
+ - Ensure that our patch of Kaminari#paginate passes the updated options
14
+ - Don't include coverage report files in the gem build
15
+ v0.1.0
16
+ - Make this a fully fledged gem, with a test suite and everything
17
+ v0.0.6
18
+ - Add a component for Bootstrap-style Kaminari pagination
19
+ v0.0.5
20
+ - Fix a bug in the pure JS `modal.js`
21
+ v0.0.4
22
+ - Fix a bug in `tabs` rendering
23
+ - Use pure JS in modal.js
24
+ v0.0.3
25
+ - Add CSS for table column sorting
26
+ + https://gitlab.med.upenn.edu/infrastructure/bootstrap-cells/merge_requests/2
27
+ v0.0.2
28
+ - Allow non-ActiveRecord::Relations to be passed to the table cell
29
+ + https://gitlab.med.upenn.edu/infrastructure/bootstrap-cells/merge_requests/1
data/Gemfile ADDED
@@ -0,0 +1,6 @@
1
+ source "http://rubygems.org"
2
+
3
+ # Declare your gem's dependencies in *.gemspec.
4
+ # Bundler will treat runtime dependencies like base dependencies, and
5
+ # development dependencies will be added by default to the :development group.
6
+ gemspec
@@ -0,0 +1,200 @@
1
+ PATH
2
+ remote: .
3
+ specs:
4
+ bootstrap-cells (0.1.4)
5
+ cells (~> 4.0)
6
+ cells-erb (>= 0.1.0)
7
+ cells-rails (>= 0.0.8)
8
+ kaminari (~> 1.0)
9
+
10
+ GEM
11
+ remote: http://rubygems.org/
12
+ specs:
13
+ actionmailer (4.2.10)
14
+ actionpack (= 4.2.10)
15
+ actionview (= 4.2.10)
16
+ activejob (= 4.2.10)
17
+ mail (~> 2.5, >= 2.5.4)
18
+ rails-dom-testing (~> 1.0, >= 1.0.5)
19
+ actionpack (4.2.10)
20
+ actionview (= 4.2.10)
21
+ activesupport (= 4.2.10)
22
+ rack (~> 1.6)
23
+ rack-test (~> 0.6.2)
24
+ rails-dom-testing (~> 1.0, >= 1.0.5)
25
+ rails-html-sanitizer (~> 1.0, >= 1.0.2)
26
+ actionview (4.2.10)
27
+ activesupport (= 4.2.10)
28
+ builder (~> 3.1)
29
+ erubis (~> 2.7.0)
30
+ rails-dom-testing (~> 1.0, >= 1.0.5)
31
+ rails-html-sanitizer (~> 1.0, >= 1.0.3)
32
+ activejob (4.2.10)
33
+ activesupport (= 4.2.10)
34
+ globalid (>= 0.3.0)
35
+ activemodel (4.2.10)
36
+ activesupport (= 4.2.10)
37
+ builder (~> 3.1)
38
+ activerecord (4.2.10)
39
+ activemodel (= 4.2.10)
40
+ activesupport (= 4.2.10)
41
+ arel (~> 6.0)
42
+ activesupport (4.2.10)
43
+ i18n (~> 0.7)
44
+ minitest (~> 5.1)
45
+ thread_safe (~> 0.3, >= 0.3.4)
46
+ tzinfo (~> 1.1)
47
+ addressable (2.5.2)
48
+ public_suffix (>= 2.0.2, < 4.0)
49
+ ansi (1.5.0)
50
+ arel (6.0.4)
51
+ builder (3.2.3)
52
+ capybara (2.16.0)
53
+ addressable
54
+ mini_mime (>= 0.1.3)
55
+ nokogiri (>= 1.3.3)
56
+ rack (>= 1.0.0)
57
+ rack-test (>= 0.5.4)
58
+ xpath (~> 2.0)
59
+ cells (4.1.7)
60
+ declarative-builder (< 0.2.0)
61
+ declarative-option (< 0.2.0)
62
+ tilt (>= 1.4, < 3)
63
+ uber (< 0.2.0)
64
+ cells-erb (0.1.0)
65
+ cells (~> 4.0)
66
+ erbse (>= 0.1.1)
67
+ cells-rails (0.0.8)
68
+ actionpack (>= 3.0)
69
+ cells (>= 4.1.6, < 5.0.0)
70
+ concurrent-ruby (1.0.5)
71
+ crass (1.0.3)
72
+ declarative-builder (0.1.0)
73
+ declarative-option (< 0.2.0)
74
+ declarative-option (0.1.0)
75
+ diff-lcs (1.3)
76
+ docile (1.1.5)
77
+ erbse (0.1.1)
78
+ temple
79
+ erubis (2.7.0)
80
+ globalid (0.4.1)
81
+ activesupport (>= 4.2.0)
82
+ hirb (0.7.3)
83
+ i18n (0.9.1)
84
+ concurrent-ruby (~> 1.0)
85
+ json (2.1.0)
86
+ kaminari (1.1.1)
87
+ activesupport (>= 4.1.0)
88
+ kaminari-actionview (= 1.1.1)
89
+ kaminari-activerecord (= 1.1.1)
90
+ kaminari-core (= 1.1.1)
91
+ kaminari-actionview (1.1.1)
92
+ actionview
93
+ kaminari-core (= 1.1.1)
94
+ kaminari-activerecord (1.1.1)
95
+ activerecord
96
+ kaminari-core (= 1.1.1)
97
+ kaminari-core (1.1.1)
98
+ loofah (2.1.1)
99
+ crass (~> 1.0.2)
100
+ nokogiri (>= 1.5.9)
101
+ mail (2.7.0)
102
+ mini_mime (>= 0.1.1)
103
+ mini_mime (1.0.0)
104
+ mini_portile2 (2.3.0)
105
+ minitest (5.10.3)
106
+ nokogiri (1.8.1)
107
+ mini_portile2 (~> 2.3.0)
108
+ public_suffix (3.0.1)
109
+ rack (1.6.8)
110
+ rack-test (0.6.3)
111
+ rack (>= 1.0)
112
+ rails (4.2.10)
113
+ actionmailer (= 4.2.10)
114
+ actionpack (= 4.2.10)
115
+ actionview (= 4.2.10)
116
+ activejob (= 4.2.10)
117
+ activemodel (= 4.2.10)
118
+ activerecord (= 4.2.10)
119
+ activesupport (= 4.2.10)
120
+ bundler (>= 1.3.0, < 2.0)
121
+ railties (= 4.2.10)
122
+ sprockets-rails
123
+ rails-deprecated_sanitizer (1.0.3)
124
+ activesupport (>= 4.2.0.alpha)
125
+ rails-dom-testing (1.0.8)
126
+ activesupport (>= 4.2.0.beta, < 5.0)
127
+ nokogiri (~> 1.6)
128
+ rails-deprecated_sanitizer (>= 1.0.1)
129
+ rails-html-sanitizer (1.0.3)
130
+ loofah (~> 2.0)
131
+ railties (4.2.10)
132
+ actionpack (= 4.2.10)
133
+ activesupport (= 4.2.10)
134
+ rake (>= 0.8.7)
135
+ thor (>= 0.18.1, < 2.0)
136
+ rake (12.2.1)
137
+ rspec-cells (0.3.4)
138
+ cells (>= 4.0.0, < 6.0.0)
139
+ rspec-rails (~> 3.2)
140
+ rspec-core (3.7.0)
141
+ rspec-support (~> 3.7.0)
142
+ rspec-expectations (3.7.0)
143
+ diff-lcs (>= 1.2.0, < 2.0)
144
+ rspec-support (~> 3.7.0)
145
+ rspec-mocks (3.7.0)
146
+ diff-lcs (>= 1.2.0, < 2.0)
147
+ rspec-support (~> 3.7.0)
148
+ rspec-rails (3.7.1)
149
+ actionpack (>= 3.0)
150
+ activesupport (>= 3.0)
151
+ railties (>= 3.0)
152
+ rspec-core (~> 3.7.0)
153
+ rspec-expectations (~> 3.7.0)
154
+ rspec-mocks (~> 3.7.0)
155
+ rspec-support (~> 3.7.0)
156
+ rspec-support (3.7.0)
157
+ simplecov (0.15.1)
158
+ docile (~> 1.1.0)
159
+ json (>= 1.8, < 3)
160
+ simplecov-html (~> 0.10.0)
161
+ simplecov-console (0.4.2)
162
+ ansi
163
+ hirb
164
+ simplecov
165
+ simplecov-html (0.10.2)
166
+ sprockets (3.7.1)
167
+ concurrent-ruby (~> 1.0)
168
+ rack (> 1, < 3)
169
+ sprockets-rails (3.2.1)
170
+ actionpack (>= 4.0)
171
+ activesupport (>= 4.0)
172
+ sprockets (>= 3.0.0)
173
+ sqlite3 (1.3.13)
174
+ temple (0.8.0)
175
+ thor (0.20.0)
176
+ thread_safe (0.3.6)
177
+ tilt (2.0.8)
178
+ tzinfo (1.2.4)
179
+ thread_safe (~> 0.1)
180
+ uber (0.1.0)
181
+ xpath (2.1.0)
182
+ nokogiri (~> 1.3)
183
+
184
+ PLATFORMS
185
+ ruby
186
+
187
+ DEPENDENCIES
188
+ bootstrap-cells!
189
+ bundler
190
+ capybara
191
+ rails (~> 4.2)
192
+ rake
193
+ rspec-cells
194
+ rspec-rails
195
+ simplecov
196
+ simplecov-console
197
+ sqlite3
198
+
199
+ BUNDLED WITH
200
+ 1.15.4
@@ -0,0 +1,8 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'bundler/gem_tasks'
4
+ require 'rspec/core/rake_task'
5
+
6
+ RSpec::Core::RakeTask.new(:spec)
7
+
8
+ task default: :spec
@@ -0,0 +1,11 @@
1
+ /* Add one or more listeners to an element
2
+ ** @param {DOMElement} element - DOM element to add listeners to
3
+ ** @param {string} eventNames - space separated list of event names, e.g. 'click change'
4
+ ** @param {Function} listener - function to attach for each event as a listener
5
+ */
6
+ function addManyEventListeners(element, eventNames, listener) {
7
+ var events = eventNames.split(' ');
8
+ for (var i=0, iLen=events.length; i<iLen; i++) {
9
+ element.addEventListener(events[i], listener, false);
10
+ }
11
+ }
@@ -0,0 +1,3 @@
1
+ //= require_tree .
2
+
3
+ //= require modal/modal.js
@@ -0,0 +1,7 @@
1
+ @import 'fields_for/form';
2
+ @import 'fields_for/form_horizontal';
3
+ @import 'field/required_field';
4
+ @import 'table/nubbin';
5
+ @import 'table/table_striped_nested';
6
+ @import 'table/table_sort';
7
+ @import 'pages/pages';
@@ -0,0 +1,15 @@
1
+ <%# Link to the "First" page
2
+ - available local variables
3
+ url: url to the first page
4
+ current_page: a page object for the currently displayed page
5
+ num_pages: total number of pages
6
+ per_page: number of items to fetch per page
7
+ remote: data-remote
8
+ -%>
9
+ <% unless current_page.first? %>
10
+ <li class="first">
11
+ <%= link_to raw(t 'views.pagination.first'),
12
+ url,
13
+ remote: remote %>
14
+ </li>
15
+ <% end %>
@@ -0,0 +1,12 @@
1
+ <%# Non-link tag that stands for skipped pages...
2
+ - available local variables
3
+ current_page: a page object for the currently displayed page
4
+ num_pages: total number of pages
5
+ per_page: number of items to fetch per page
6
+ remote: data-remote
7
+ -%>
8
+ <li class="page gap disabled">
9
+ <a href="#" onclick="return false;">
10
+ <%= raw(t 'views.pagination.truncate') %>
11
+ </a>
12
+ </li>
@@ -0,0 +1,16 @@
1
+ <%# Link to the "Last" page
2
+ - available local variables
3
+ url: url to the last page
4
+ current_page: a page object for the currently displayed page
5
+ num_pages: total number of pages
6
+ per_page: number of items to fetch per page
7
+ remote: data-remote
8
+ -%>
9
+ <% unless current_page.last? %>
10
+ <%# "next" class present for border styling in twitter bootstrap %>
11
+ <li class="last next">
12
+ <%= link_to raw(t 'views.pagination.last'),
13
+ url,
14
+ remote: remote %>
15
+ </li>
16
+ <% end %>
@@ -0,0 +1,16 @@
1
+ <%# Link to the "Next" page
2
+ - available local variables
3
+ url: url to the next page
4
+ current_page: a page object for the currently displayed page
5
+ num_pages: total number of pages
6
+ per_page: number of items to fetch per page
7
+ remote: data-remote
8
+ -%>
9
+ <% unless current_page.last? %>
10
+ <li class="next_page">
11
+ <%= link_to raw(t 'views.pagination.next'),
12
+ url,
13
+ rel: 'next',
14
+ remote: remote %>
15
+ </li>
16
+ <% end %>
@@ -0,0 +1,17 @@
1
+ <%# Link showing page number
2
+ - available local variables
3
+ page: a page object for "this" page
4
+ url: url to this page
5
+ current_page: a page object for the currently displayed page
6
+ num_pages: total number of pages
7
+ per_page: number of items to fetch per page
8
+ remote: data-remote
9
+ -%>
10
+ <% li_class = page.current? ? 'page active' : 'page' %>
11
+
12
+ <li class="<%= li_class %>">
13
+ <%= link_to page,
14
+ url,
15
+ remote: remote,
16
+ rel: (page.next? ? 'next' : (page.prev? ? 'prev' : nil)) %>
17
+ </li>
@@ -0,0 +1,32 @@
1
+ <%# The container tag
2
+ - available local variables
3
+ current_page: a page object for the currently displayed page
4
+ num_pages: total number of pages
5
+ per_page: number of items to fetch per page
6
+ remote: data-remote
7
+ paginator: the paginator that renders the pagination tags inside %>
8
+ <% pagination_class ||= '' %>
9
+
10
+ <% if paginator.each_page.count > 1 %>
11
+ <nav>
12
+ <ul class="pagination <%= pagination_class %>">
13
+ <% unless current_page.first? %>
14
+ <%= paginator.first_page_tag %>
15
+ <%= paginator.prev_page_tag %>
16
+ <% end %>
17
+
18
+ <% paginator.each_page do |page| %>
19
+ <% if page.display_tag? %>
20
+ <%= paginator.page_tag page %>
21
+ <% elsif !page.was_truncated? %>
22
+ <%= paginator.gap_tag %>
23
+ <% end %>
24
+ <% end %>
25
+
26
+ <% unless current_page.last? %>
27
+ <%= paginator.next_page_tag %>
28
+ <%= paginator.last_page_tag %>
29
+ <% end %>
30
+ </ul>
31
+ </nav>
32
+ <% end %>