active-list 4.1.0 → 4.1.1

Sign up to get free protection for your applications and to get access to all the features.
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