openstax_utilities 1.0.1 → 1.0.2
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.
- data/app/helpers/openstax/utilities/osu_helper.rb +1 -0
- data/app/views/osu/shared/_action_list.html.erb +37 -0
- data/lib/openstax/utilities/action_list.rb +40 -0
- data/lib/openstax/utilities/helpers/action_list.rb +13 -0
- data/lib/openstax/utilities/network.rb +9 -0
- data/lib/openstax/utilities/version.rb +1 -1
- data/lib/openstax_utilities.rb +3 -0
- metadata +8 -4
@@ -0,0 +1,37 @@
|
|
1
|
+
<%# Copyright 2011-2012 Rice University. Licensed under the Affero General Public
|
2
|
+
License version 3 or later. See the COPYRIGHT file for details. %>
|
3
|
+
|
4
|
+
<%
|
5
|
+
records ||= []
|
6
|
+
list = OpenStax::Utilities::ActionList.new(list)
|
7
|
+
%>
|
8
|
+
|
9
|
+
<% if list.num_columns > 0 %>
|
10
|
+
<table class="action-list" width="100%">
|
11
|
+
<% if list.has_headings? %>
|
12
|
+
<tr class="action-list-header-row">
|
13
|
+
<% for ii in 0..list.num_columns - 1 %>
|
14
|
+
<th class="action-list-col-<%= ii %>"><%= list.get_heading(ii) %></th>
|
15
|
+
<% end %>
|
16
|
+
</tr>
|
17
|
+
<% end %>
|
18
|
+
|
19
|
+
<% if records.empty? %>
|
20
|
+
<tr>
|
21
|
+
<td colspan="<%= list.num_columns %>">No results</td>
|
22
|
+
</tr>
|
23
|
+
<% else %>
|
24
|
+
<% records.all.each_with_index do |user, rr| %>
|
25
|
+
<tr class="action-list-data-row <%= cycle('even', 'odd') %>">
|
26
|
+
<% for cc in 0..list.num_columns - 1 %>
|
27
|
+
<% width = rr == 0 ? list.get_width(cc) : nil %>
|
28
|
+
<td class="action-list-col-<%= ii %>"
|
29
|
+
<%= "width=#{width}" if width %>>
|
30
|
+
<%= list.get_data(cc, user) %>
|
31
|
+
</td>
|
32
|
+
<% end %>
|
33
|
+
</tr>
|
34
|
+
<% end %>
|
35
|
+
<% end %>
|
36
|
+
</table>
|
37
|
+
<% end %>
|
@@ -0,0 +1,40 @@
|
|
1
|
+
module OpenStax::Utilities
|
2
|
+
class ActionList
|
3
|
+
|
4
|
+
def initialize(options={})
|
5
|
+
@options = options
|
6
|
+
|
7
|
+
raise IllegalArgument, "must supply data procs" if options[:data_procs].nil?
|
8
|
+
|
9
|
+
if options[:headings].present? && options[:data_procs].size != options[:headings].size
|
10
|
+
raise IllegalArgument, "if you supply headings, you must supply one for each column"
|
11
|
+
end
|
12
|
+
|
13
|
+
if options[:widths].present? && options[:data_procs].size != options[:widths].size
|
14
|
+
raise IllegalArgument, "if you supply widths, you must supply one for each column"
|
15
|
+
end
|
16
|
+
|
17
|
+
end
|
18
|
+
|
19
|
+
def num_columns
|
20
|
+
@options[:data_procs].size
|
21
|
+
end
|
22
|
+
|
23
|
+
def has_headings?
|
24
|
+
@options[:headings].present?
|
25
|
+
end
|
26
|
+
|
27
|
+
def get_heading(column)
|
28
|
+
@options[:headings].nil? ? nil : @options[:headings][column]
|
29
|
+
end
|
30
|
+
|
31
|
+
def get_width(column)
|
32
|
+
@options[:widths].nil? ? nil : @options[:widths][column]
|
33
|
+
end
|
34
|
+
|
35
|
+
def get_data(column, *args)
|
36
|
+
@options[:data_procs][column].call(*args)
|
37
|
+
end
|
38
|
+
|
39
|
+
end
|
40
|
+
end
|
@@ -0,0 +1,13 @@
|
|
1
|
+
# Copyright 2011-2013 Rice University. Licensed under the Affero General Public
|
2
|
+
# License version 3 or later. See the COPYRIGHT file for details.
|
3
|
+
|
4
|
+
module OpenStax::Utilities::Helpers
|
5
|
+
module ActionList
|
6
|
+
|
7
|
+
def action_list(options={})
|
8
|
+
raise IllegalArgument if options[:records].nil? || options[:list].nil?
|
9
|
+
render(:partial => 'osu/shared/action_list', locals: options)
|
10
|
+
end
|
11
|
+
|
12
|
+
end
|
13
|
+
end
|
data/lib/openstax_utilities.rb
CHANGED
@@ -13,10 +13,13 @@ require "openstax/utilities/access"
|
|
13
13
|
require "openstax/utilities/enum"
|
14
14
|
require "openstax/utilities/ruby"
|
15
15
|
require "openstax/utilities/text"
|
16
|
+
require "openstax/utilities/network"
|
17
|
+
require "openstax/utilities/action_list"
|
16
18
|
|
17
19
|
require "openstax/utilities/classy_helper"
|
18
20
|
require "openstax/utilities/helpers/blocks"
|
19
21
|
require "openstax/utilities/helpers/partials"
|
22
|
+
require "openstax/utilities/helpers/action_list"
|
20
23
|
|
21
24
|
require 'openstax/utilities/blocks/block_base'
|
22
25
|
require 'openstax/utilities/blocks/section_block'
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: openstax_utilities
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0.
|
4
|
+
version: 1.0.2
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2013-10-
|
12
|
+
date: 2013-10-11 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: rails
|
@@ -53,11 +53,13 @@ files:
|
|
53
53
|
- app/assets/javascripts/openstax_utilities.js
|
54
54
|
- app/assets/stylesheets/openstax_utilities.css
|
55
55
|
- app/helpers/openstax/utilities/osu_helper.rb
|
56
|
+
- app/views/osu/shared/_action_list.html.erb
|
56
57
|
- app/views/osu/shared/_section.html.erb
|
57
58
|
- app/views/osu/shared/_table.html.erb
|
58
59
|
- app/views/osu/shared/_table_cell.html.erb
|
59
60
|
- app/views/osu/shared/_table_row.html.erb
|
60
61
|
- lib/openstax/utilities/access.rb
|
62
|
+
- lib/openstax/utilities/action_list.rb
|
61
63
|
- lib/openstax/utilities/blocks/block_base.rb
|
62
64
|
- lib/openstax/utilities/blocks/section_block.rb
|
63
65
|
- lib/openstax/utilities/blocks/table_block.rb
|
@@ -68,8 +70,10 @@ files:
|
|
68
70
|
- lib/openstax/utilities/engine.rb
|
69
71
|
- lib/openstax/utilities/enum.rb
|
70
72
|
- lib/openstax/utilities/exceptions.rb
|
73
|
+
- lib/openstax/utilities/helpers/action_list.rb
|
71
74
|
- lib/openstax/utilities/helpers/blocks.rb
|
72
75
|
- lib/openstax/utilities/helpers/partials.rb
|
76
|
+
- lib/openstax/utilities/network.rb
|
73
77
|
- lib/openstax/utilities/ruby.rb
|
74
78
|
- lib/openstax/utilities/settings.rb
|
75
79
|
- lib/openstax/utilities/text.rb
|
@@ -122,7 +126,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
122
126
|
version: '0'
|
123
127
|
segments:
|
124
128
|
- 0
|
125
|
-
hash: -
|
129
|
+
hash: -237788097343637860
|
126
130
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
127
131
|
none: false
|
128
132
|
requirements:
|
@@ -131,7 +135,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
131
135
|
version: '0'
|
132
136
|
segments:
|
133
137
|
- 0
|
134
|
-
hash: -
|
138
|
+
hash: -237788097343637860
|
135
139
|
requirements: []
|
136
140
|
rubyforge_project:
|
137
141
|
rubygems_version: 1.8.24
|