active-list 4.1.0 → 4.1.1

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/VERSION CHANGED
@@ -1 +1 @@
1
- 4.1.0
1
+ 4.1.1
@@ -18,8 +18,8 @@ module ActiveList
18
18
 
19
19
 
20
20
  def operation(record='record')
21
- @options[:method] = :delete if @name.to_s == "destroy"
22
- @options[:confirm] = "list.do_you_really_want_to_delete_this_record".t if @name.to_s == "destroy"
21
+ @options[:method] = :delete if @name.to_s == "destroy" and !@options.has_key?(:method)
22
+ @options[:confirm] = :are_you_sure_you_want_to_delete if @name.to_s == "destroy" and !@options.has_key?(:confirm)
23
23
  link_options = ""
24
24
  if @options['data-confirm'] or @options[:confirm]
25
25
  link_options << ", 'data-confirm' => ::I18n.translate('labels.#{@options['data-confirm']||@options[:confirm]}')"
@@ -49,7 +49,8 @@ module ActiveList
49
49
  v = a[1][:action].to_s.split('_')[-1]
50
50
  cases << record+"."+@name.to_s+".to_s=="+a[0].inspect+"\nlink_to(::I18n.translate('labels.#{v}')"+
51
51
  ", {"+(a[1][:controller] ? ':controller=>:'+a[1][:controller].to_s+', ' : '')+":action=>'"+a[1][:action].to_s+"', :id=>"+record+".id"+format+"}"+
52
- ", {:id=>'"+@name.to_s+"_'+"+record+".id.to_s"+link_options+", :title=>::I18n.translate('labels.#{v}')}"+
52
+ # ", {:id=>'"+@name.to_s+"_'+"+record+".id.to_s"+link_options+"}"+
53
+ ", {:class=>'#{@name}'"+link_options+"}"+
53
54
  ")\n"
54
55
  end
55
56
 
@@ -61,7 +62,8 @@ module ActiveList
61
62
  url[:id] ||= "RECORD.id"
62
63
  url.delete_if{|k, v| v.nil?}
63
64
  url = "{"+url.collect{|k, v| ":#{k}=>"+(v.is_a?(String) ? v.gsub(/RECORD/, record) : v.inspect)}.join(", ")+format+"}"
64
- code = "{:id=>'"+@name.to_s+"_'+"+record+".id.to_s"+link_options+", :title=>::I18n.translate('labels.#{action}')}"
65
+ # code = "{:id=>'"+@name.to_s+"_'+"+record+".id.to_s"+link_options+"}"
66
+ code = "{:class=>'#{@name}'"+link_options+"}"
65
67
  code = "link_to(::I18n.translate('labels.#{action}'), "+url+", "+code+")"
66
68
  end
67
69
  code = "if ("+@options[:if].gsub('RECORD', record)+")\n"+code+"\n end" if @options[:if]
@@ -2,6 +2,6 @@
2
2
  @import "active-list/background";
3
3
  @import "active-list/theme";
4
4
 
5
- .active-list {
5
+ .active-list[data-list-source], .active-list {
6
6
  @include active-list-theme;
7
7
  }
@@ -29,26 +29,24 @@ div[data-list-source] {
29
29
  top: 20px;
30
30
  padding: 1px;
31
31
  margin:0;
32
- html[dir="ltr"] & { right: -1px;}
32
+ & { right: -1px;}
33
33
  html[dir="rtl"] & { left: -1px;}
34
34
  li {
35
35
  &[data-list-change-page-size], &[data-list-toggle-column] {
36
36
  cursor: pointer;
37
37
  display: block;
38
- padding: 0.3ex;
39
38
  }
40
39
  list-style-type: none;
41
40
  width: 25ex;
42
41
  position: relative;
43
42
  a {
44
43
  display: block;
45
- padding: 0.3ex;
46
44
  }
47
45
  ul {
48
46
  display: none;
49
47
  position: absolute;
50
48
  top: -2px;
51
- html[dir="ltr"] & { right: 25ex; }
49
+ & { right: 25ex; }
52
50
  html[dir="rtl"] & { left: 25ex; }
53
51
  &:hover { display:block; }
54
52
  }
@@ -2,6 +2,8 @@
2
2
  @import "compass/css3";
3
3
  @import "compass/typography/text/replacement";
4
4
 
5
+
6
+
5
7
  // Because Compass sprites do not seems to work well in gems
6
8
  @mixin active-list-sprite($name, $size: 16px) {
7
9
  background-image: image-url("active-list.png");
@@ -20,6 +22,7 @@
20
22
 
21
23
  @mixin active-list-theme($theme-color: #777777) {
22
24
  $default-border-color: mix($theme-color, #FFF, 30%);
25
+ $menu-width: 250px;
23
26
  table.list {
24
27
  border-collapse: collapse;
25
28
  width: 100%;
@@ -42,7 +45,7 @@
42
45
  &.sor[data-list-column-sort="asc"] .icon {
43
46
  @include active-list-sprite(sort-up); }
44
47
  }
45
- html[dir="ltr"] & { text-align: left; }
48
+ & { text-align: left; }
46
49
  html[dir="rtl"] & { text-align: right; }
47
50
  &.spe {
48
51
  width: 16px;
@@ -54,7 +57,7 @@
54
57
  padding: 2px;
55
58
  width: 16px;
56
59
  height: 16px;
57
- .icon { @include active-list-sprite(menu); }
60
+ .icon { @include active-list-sprite(menu); display: block; }
58
61
  .text { display: none; }
59
62
  }
60
63
  &:hover {
@@ -64,39 +67,64 @@
64
67
  }
65
68
  }
66
69
  ul {
70
+ width: $menu-width;
67
71
  border: 1px solid $default-border-color;
68
72
  background: #FFF;
69
73
  @include box-shadow(0 0 5px rgba(0, 0, 0, 0.3));
70
74
  li {
71
- $menu-width: 290px;
72
75
  width: $menu-width;
76
+ padding: 0;
73
77
  ul {
74
- html[dir="ltr"] & { right: $menu-width; }
78
+ & { right: $menu-width; }
75
79
  html[dir="rtl"] & { left: $menu-width; }
76
80
  }
77
81
  }
78
82
  }
79
- a, li {
83
+ & > ul {
84
+ top: 19px;
85
+ }
86
+ li {
87
+ padding: 0;
80
88
  display: block;
81
- padding: 2px;
82
- .icon {
83
- @include inline-block;
84
- height:16px;
85
- width: 16px;
86
- html[dir="ltr"] & { margin-right: 4px; }
87
- html[dir="rtl"] & { margin-left: 4px; }
89
+ a {
90
+ display: block;
91
+ padding: 2px;
92
+ .icon {
93
+ @include inline-block;
94
+ height:16px;
95
+ width: 16px;
96
+ & { margin-right: 4px; }
97
+ html[dir="rtl"] & { margin-left: 4px; }
98
+ }
99
+ .text {
100
+ @include inline-block;
101
+ width: $menu-width - 24px;
102
+ line-height: 18px;
103
+ font-weight: normal;
104
+ }
105
+ & * {
106
+ vertical-align: middle;
107
+ }
108
+ &.pages .icon { @include active-list-sprite(pages); }
109
+ &.columns .icon { @include active-list-sprite(columns); }
88
110
  }
89
- &.pages .icon { @include active-list-sprite(pages); }
90
111
  &.export .icon { @include active-list-sprite(export); }
91
112
  &.check .icon { @include active-list-sprite(check); }
92
- &.columns .icon { @include active-list-sprite(columns); }
93
113
  &.checked .icon { @include active-list-sprite(true); }
94
114
  &.unchecked .icon { @include active-list-sprite(false); }
115
+ &:hover {
116
+ text-decoration: none;
117
+ background: mix($theme-color, #FFF, 10%);
118
+ }
119
+ &.separator {
120
+ padding: 0;
121
+ height: 1px;
122
+ width: $menu-width - 6px;
123
+ margin: 3px;
124
+ background: $default-border-color;
125
+ }
95
126
  }
96
- a:hover, li:hover {
97
- text-decoration: none;
98
- background: mix($theme-color, #FFF, 10%);
99
- }
127
+
100
128
  }
101
129
  }
102
130
  }
@@ -111,7 +139,7 @@
111
139
  border-right: none;
112
140
  &.chk,&.act, &.dld, &.bln, &.dat, &.web { text-align:center }
113
141
  &.dec, &.flt, &.int {
114
- html[dir="ltr"] & { text-align: right; }
142
+ & { text-align: right; }
115
143
  html[dir="rtl"] & { text-align: left; }
116
144
  }
117
145
  &.country { white-space: nowrap; }
@@ -129,7 +157,7 @@
129
157
  z-index: 0;
130
158
  @include background(transparentize(mix($theme-color, #FFF, 40%), 0.7));
131
159
  .pagination {
132
- html[dir="ltr"] & { text-align: left; }
160
+ & { text-align: left; }
133
161
  html[dir="rtl"] & { text-align: right; }
134
162
  & > * {
135
163
  margin: 0 2px;
@@ -138,16 +166,16 @@
138
166
  @include inline-block;
139
167
  @include squish-text;
140
168
  }
141
- html[dir="rtl"] & .last-page, html[dir="ltr"] & .first-page {
169
+ html[dir="rtl"] & .last-page, & .first-page {
142
170
  @include active-list-sprite(first-page);
143
171
  }
144
- html[dir="rtl"] & .first-page, html[dir="ltr"] & .last-page {
172
+ html[dir="rtl"] & .first-page, & .last-page {
145
173
  @include active-list-sprite(last-page);
146
174
  }
147
- html[dir="rtl"] & .next-page, html[dir="ltr"] & .previous-page {
175
+ html[dir="rtl"] & .next-page, & .previous-page {
148
176
  @include active-list-sprite(previous-page);
149
177
  }
150
- html[dir="rtl"] & .previous-page, html[dir="ltr"] & .next-page {
178
+ html[dir="rtl"] & .previous-page, & .next-page {
151
179
  @include active-list-sprite(next-page);
152
180
  }
153
181
  .separator {
@@ -50,7 +50,7 @@ module ActiveList
50
50
  code << "if #{table.records_variable_name}_count > 0\n"
51
51
  code << " reset_cycle('list')\n"
52
52
  code << " for #{record} in #{table.records_variable_name}\n"
53
- line_class = "cycle('odd', 'even', :name=>'list')"
53
+ line_class = "cycle('odd', 'even', :name=>'list')+' r'+#{record}.id.to_s"
54
54
  line_class << "+' '+("+table.options[:line_class].to_s.gsub(/RECORD/, record)+').to_s' unless table.options[:line_class].nil?
55
55
  code << " tbody << content_tag(:tr, (#{tbody}).html_safe, :class=>#{line_class})\n"
56
56
  if table.options[:children].is_a? Symbol
@@ -69,8 +69,8 @@ module ActiveList
69
69
 
70
70
  code << "html = ''\n"
71
71
  code << "html << '<div id=\"#{table.name}\" data-list-source=\"'+h(url_for({:action => '#{table.controller_method_name}'}))+'\" class=\"active-list\""
72
- code << "data-list-current-page=\"' + #{table.records_variable_name}_page.to_s + '\" data-list-page-size=\"' + #{table.records_variable_name}_limit.to_s + '\""
73
- code << "data-list-sort-by=\"' + list_params[:sort].to_s + '\" data-list-sort-dir=\"' + list_params[:dir].to_s + '\""
72
+ code << " data-list-current-page=\"' + #{table.records_variable_name}_page.to_s + '\" data-list-page-size=\"' + #{table.records_variable_name}_limit.to_s + '\""
73
+ code << " data-list-sort-by=\"' + list_params[:sort].to_s + '\" data-list-sort-dir=\"' + list_params[:dir].to_s + '\""
74
74
  code << ">'\n"
75
75
  code << "html << '<table class=\"list\">'\n"
76
76
  code << "html << (#{header})\n"
@@ -198,7 +198,7 @@ module ActiveList
198
198
  menu << "<li class=\"parent\">"
199
199
  menu << "<a class=\"pages\"><span class=\"icon\"></span><span class=\"text\">' + ::I18n.translate('list.items_per_page').gsub(/\'/,'&#39;') + '</span></a><ul>"
200
200
  for n in list
201
- menu << "<li data-list-change-page-size=\"#{n}\" '+(list_params[:per_page] == #{n} ? ' class=\"check\"' : '')+'><span class=\"icon\"></span><span class=\"text\">'+h(::I18n.translate('list.x_per_page', :count=>#{n}))+'</span></li>"
201
+ menu << "<li data-list-change-page-size=\"#{n}\" '+(list_params[:per_page] == #{n} ? ' class=\"check\"' : '')+'><a><span class=\"icon\"></span><span class=\"text\">'+h(::I18n.translate('list.x_per_page', :count=>#{n}))+'</span></a></li>"
202
202
  end
203
203
  menu << "</ul></li>"
204
204
  end
@@ -207,7 +207,7 @@ module ActiveList
207
207
  menu << "<li class=\"parent\">"
208
208
  menu << "<a class=\"columns\"><span class=\"icon\"></span><span class=\"text\">' + ::I18n.translate('list.columns').gsub(/\'/,'&#39;') + '</span></a><ul>"
209
209
  for column in table.data_columns
210
- menu << "<li data-list-toggle-column=\"#{column.id}\" class=\"'+(list_params[:hidden_columns].include?('#{column.id}') ? 'unchecked' : 'checked')+'\"><span class=\"icon\"></span><span class=\"text\">'+h(#{column.header_code})+'</span></li>"
210
+ menu << "<li data-list-toggle-column=\"#{column.id}\" class=\"'+(list_params[:hidden_columns].include?('#{column.id}') ? 'unchecked' : 'checked')+'\"><a><span class=\"icon\"></span><span class=\"text\">'+h(#{column.header_code})+'</span></a></li>"
211
211
  end
212
212
  menu << "</ul></li>"
213
213
 
@@ -215,7 +215,7 @@ module ActiveList
215
215
  menu << "<li class=\"separator\"></li>"
216
216
  # Exports
217
217
  for format, exporter in ActiveList.exporters
218
- menu << "<li class=\"export #{exporter.name}\">' + link_to(params.merge(:action=>:#{table.controller_method_name}, :sort=>list_params[:sort], :dir=>list_params[:dir], :format=>'#{format}'), :class=>\"export\") { '<span class=\"icon\"></span>'.html_safe + content_tag('span', ::I18n.translate('list.export_as', :exported=>::I18n.translate('list.export.formats.#{format}')).gsub(/\'/,'&#39;'), :class=>'text')} + '</li>"
218
+ menu << "<li class=\"export #{exporter.name}\">' + link_to(params.merge(:action=>:#{table.controller_method_name}, :sort=>list_params[:sort], :dir=>list_params[:dir], :format=>'#{format}')) { '<span class=\"icon\"></span>'.html_safe + content_tag('span', ::I18n.translate('list.export_as', :exported=>::I18n.translate('list.export.formats.#{format}')).gsub(/\'/,'&#39;'), :class=>'text')} + '</li>"
219
219
  end
220
220
  menu << "</ul></div>"
221
221
  return menu
@@ -261,7 +261,7 @@ module ActiveList
261
261
 
262
262
  pagination << "<span class=\"separator\"></span>"
263
263
 
264
- pagination << "<span class=\"status\">'+::I18n.translate('list.pagination.showing_x_to_y_of_total', :x => (#{table.records_variable_name}_offset + 1), :y => (#{table.records_variable_name}_offset+#{table.records_variable_name}_limit), :total => #{table.records_variable_name}_count)+'</span>"
264
+ pagination << "<span class=\"status\">'+::I18n.translate('list.pagination.showing_x_to_y_of_total', :x => (#{table.records_variable_name}_offset + 1), :y => ((#{table.records_variable_name}_last==#{table.records_variable_name}_page) ? #{table.records_variable_name}_count : #{table.records_variable_name}_offset+#{table.records_variable_name}_limit), :total => #{table.records_variable_name}_count)+'</span>"
265
265
  pagination << "</div>"
266
266
 
267
267
  code = "(#{table.records_variable_name}_last > 1 ? '<div class=\"extras\">#{pagination}</div>' : '').html_safe"
@@ -2,6 +2,6 @@
2
2
  @import "active-list/background";
3
3
  @import "active-list/theme";
4
4
 
5
- .active-list {
5
+ .active-list[data-list-source], .active-list {
6
6
  @include active-list-theme;
7
7
  }
metadata CHANGED
@@ -1,7 +1,8 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: active-list
3
3
  version: !ruby/object:Gem::Version
4
- version: 4.1.0
4
+ version: !binary |-
5
+ NC4xLjE=
5
6
  prerelease:
6
7
  platform: ruby
7
8
  authors:
@@ -9,7 +10,7 @@ authors:
9
10
  autorequire:
10
11
  bindir: bin
11
12
  cert_chain: []
12
- date: 2012-07-20 00:00:00.000000000 Z
13
+ date: 2012-07-24 00:00:00.000000000 Z
13
14
  dependencies:
14
15
  - !ruby/object:Gem::Dependency
15
16
  name: rails