zable 0.0.1 → 0.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.
@@ -0,0 +1,67 @@
|
|
1
|
+
module ZableHelper
|
2
|
+
include Zable::WillPaginate
|
3
|
+
|
4
|
+
def self.included(base)
|
5
|
+
base.send :include, Zable::Html
|
6
|
+
end
|
7
|
+
|
8
|
+
def zable(collection, klass, args={}, &block)
|
9
|
+
reset_cycle("zable_cycle")
|
10
|
+
|
11
|
+
html = stylesheet_link_tag("zable")
|
12
|
+
html << pagination_element(collection, args.slice(:entry_name, :params)) if args[:paginate]
|
13
|
+
html << zable_element(args, block, collection, klass, args[:params])
|
14
|
+
html << pagination_element(collection, args.slice(:entry_name, :params)) if args[:paginate]
|
15
|
+
html
|
16
|
+
end
|
17
|
+
|
18
|
+
def zable_element(args, block, collection, klass, params)
|
19
|
+
cols = columns(&block)
|
20
|
+
cols.instance_variable_set :@search_params, controller.request.params[:search]
|
21
|
+
cols.instance_variable_set :@_extra_params, params
|
22
|
+
content_tag(:table, tag_args(args)) do
|
23
|
+
table_header(klass, cols) << table_body(collection, cols, args)
|
24
|
+
end
|
25
|
+
end
|
26
|
+
|
27
|
+
def pagination_element(collection, options)
|
28
|
+
content_tag :div, :class => 'brownFilterResultsBox' do
|
29
|
+
page_entries_info(collection, options.slice(:entry_name)) <<
|
30
|
+
will_paginate(collection, :renderer => LinkWithParamsRenderer.new(options[:params] || {}))
|
31
|
+
end
|
32
|
+
end
|
33
|
+
|
34
|
+
def columns
|
35
|
+
controller.request.instance_variable_set :@zable_columns, []
|
36
|
+
yield
|
37
|
+
controller.request.instance_variable_get :@zable_columns
|
38
|
+
end
|
39
|
+
|
40
|
+
def sorted_column?(name)
|
41
|
+
params[:sort][:attr] == name.to_s rescue false
|
42
|
+
end
|
43
|
+
|
44
|
+
def current_sort_order
|
45
|
+
params[:sort][:order].downcase.to_sym rescue :asc
|
46
|
+
end
|
47
|
+
|
48
|
+
def link_sort_order(name)
|
49
|
+
return nil unless sorted_column?(name)
|
50
|
+
current_sort_order == :desc ? :asc : :desc
|
51
|
+
end
|
52
|
+
|
53
|
+
def column(name, options={}, &block)
|
54
|
+
col = {
|
55
|
+
:name => name,
|
56
|
+
:title => options[:title],
|
57
|
+
:sort => options.has_key?(:sort) ? options[:sort] : true,
|
58
|
+
:block => block,
|
59
|
+
:sorted? => sorted_column?(name),
|
60
|
+
:sort_order => link_sort_order(name)
|
61
|
+
}
|
62
|
+
|
63
|
+
zable_columns = controller.request.instance_variable_get :@zable_columns
|
64
|
+
zable_columns << col
|
65
|
+
end
|
66
|
+
|
67
|
+
end
|
Binary file
|
@@ -0,0 +1,53 @@
|
|
1
|
+
/*Any changes made to this stylesheet should also go into "/public/zable.css" of app and vice versa */
|
2
|
+
|
3
|
+
/**************************************************************************************************/
|
4
|
+
/* Begin: Pagination styling */
|
5
|
+
/**************************************************************************************************/
|
6
|
+
|
7
|
+
div .brownFilterResultsBox {
|
8
|
+
text-align: right;
|
9
|
+
}
|
10
|
+
|
11
|
+
/* Div that pagination elements are contained in */
|
12
|
+
div .pagination {
|
13
|
+
padding: 3px 3px 3px 15px;
|
14
|
+
margin: 3px;
|
15
|
+
display: inline;
|
16
|
+
}
|
17
|
+
|
18
|
+
/* Next and/or previous links (whichever are active) and any active page links */
|
19
|
+
div .pagination a {
|
20
|
+
border: 2px solid #CECCB6;
|
21
|
+
color: #948A63;
|
22
|
+
padding: 0 8px;
|
23
|
+
margin: 0;
|
24
|
+
text-decoration: none;
|
25
|
+
}
|
26
|
+
|
27
|
+
/* Current page */
|
28
|
+
div .pagination em {
|
29
|
+
background-color: #94794E;
|
30
|
+
border: 2px solid #8C6B3E;
|
31
|
+
color: #FFFFFF;
|
32
|
+
padding: 0 8px;
|
33
|
+
margin: 0;
|
34
|
+
text-decoration: none;
|
35
|
+
font-style: normal;
|
36
|
+
}
|
37
|
+
|
38
|
+
/* Either next/previous if disabled */
|
39
|
+
div .pagination span.disabled {
|
40
|
+
background: url("../images/common/pagination_bg_dis.gif") repeat-x scroll center top transparent;
|
41
|
+
border: 1px solid #E7E7E7;
|
42
|
+
color: #A8A8A8;
|
43
|
+
padding: 0 8px;
|
44
|
+
}
|
45
|
+
|
46
|
+
div .pagination a:hover,
|
47
|
+
div .pagination a:active {
|
48
|
+
border: 2px solid #333333;
|
49
|
+
}
|
50
|
+
|
51
|
+
/**************************************************************************************************/
|
52
|
+
/* End: Pagination styling */
|
53
|
+
/**************************************************************************************************/
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: zable
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.2
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -42,6 +42,9 @@ files:
|
|
42
42
|
- lib/zable/will_paginate.rb
|
43
43
|
- lib/zable/zable_test_helper.rb
|
44
44
|
- lib/zable.rb
|
45
|
+
- app/helpers/zable_helper.rb
|
46
|
+
- public/images/common/pagination_bg_dis.gif
|
47
|
+
- public/stylesheets/zable.css
|
45
48
|
- MIT-LICENSE
|
46
49
|
- Rakefile
|
47
50
|
- README.rdoc
|