jquery-tablesorter 0.0.2 → 0.0.3

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,184 @@
1
+ (function($) {
2
+ $.extend({
3
+ tablesorterPager: new function() {
4
+
5
+ function updatePageDisplay(c) {
6
+ var s = $(c.cssPageDisplay,c.container).val((c.page+1) + c.seperator + c.totalPages);
7
+ }
8
+
9
+ function setPageSize(table,size) {
10
+ var c = table.config;
11
+ c.size = size;
12
+ c.totalPages = Math.ceil(c.totalRows / c.size);
13
+ c.pagerPositionSet = false;
14
+ moveToPage(table);
15
+ fixPosition(table);
16
+ }
17
+
18
+ function fixPosition(table) {
19
+ var c = table.config;
20
+ if(!c.pagerPositionSet && c.positionFixed) {
21
+ var c = table.config, o = $(table);
22
+ if(o.offset) {
23
+ c.container.css({
24
+ top: o.offset().top + o.height() + 'px',
25
+ position: 'absolute'
26
+ });
27
+ }
28
+ c.pagerPositionSet = true;
29
+ }
30
+ }
31
+
32
+ function moveToFirstPage(table) {
33
+ var c = table.config;
34
+ c.page = 0;
35
+ moveToPage(table);
36
+ }
37
+
38
+ function moveToLastPage(table) {
39
+ var c = table.config;
40
+ c.page = (c.totalPages-1);
41
+ moveToPage(table);
42
+ }
43
+
44
+ function moveToNextPage(table) {
45
+ var c = table.config;
46
+ c.page++;
47
+ if(c.page >= (c.totalPages-1)) {
48
+ c.page = (c.totalPages-1);
49
+ }
50
+ moveToPage(table);
51
+ }
52
+
53
+ function moveToPrevPage(table) {
54
+ var c = table.config;
55
+ c.page--;
56
+ if(c.page <= 0) {
57
+ c.page = 0;
58
+ }
59
+ moveToPage(table);
60
+ }
61
+
62
+
63
+ function moveToPage(table) {
64
+ var c = table.config;
65
+ if(c.page < 0 || c.page > (c.totalPages-1)) {
66
+ c.page = 0;
67
+ }
68
+
69
+ renderTable(table,c.rowsCopy);
70
+ }
71
+
72
+ function renderTable(table,rows) {
73
+
74
+ var c = table.config;
75
+ var l = rows.length;
76
+ var s = (c.page * c.size);
77
+ var e = (s + c.size);
78
+ if(e > rows.length ) {
79
+ e = rows.length;
80
+ }
81
+
82
+
83
+ var tableBody = $(table.tBodies[0]);
84
+
85
+ // clear the table body
86
+
87
+ $.tablesorter.clearTableBody(table);
88
+
89
+ for(var i = s; i < e; i++) {
90
+
91
+ //tableBody.append(rows[i]);
92
+
93
+ var o = rows[i];
94
+ var l = o.length;
95
+ for(var j=0; j < l; j++) {
96
+
97
+ tableBody[0].appendChild(o[j]);
98
+
99
+ }
100
+ }
101
+
102
+ fixPosition(table,tableBody);
103
+
104
+ $(table).trigger("applyWidgets");
105
+
106
+ if( c.page >= c.totalPages ) {
107
+ moveToLastPage(table);
108
+ }
109
+
110
+ updatePageDisplay(c);
111
+ }
112
+
113
+ this.appender = function(table,rows) {
114
+
115
+ var c = table.config;
116
+
117
+ c.rowsCopy = rows;
118
+ c.totalRows = rows.length;
119
+ c.totalPages = Math.ceil(c.totalRows / c.size);
120
+
121
+ renderTable(table,rows);
122
+ };
123
+
124
+ this.defaults = {
125
+ size: 10,
126
+ offset: 0,
127
+ page: 0,
128
+ totalRows: 0,
129
+ totalPages: 0,
130
+ container: null,
131
+ cssNext: '.next',
132
+ cssPrev: '.prev',
133
+ cssFirst: '.first',
134
+ cssLast: '.last',
135
+ cssPageDisplay: '.pagedisplay',
136
+ cssPageSize: '.pagesize',
137
+ seperator: "/",
138
+ positionFixed: true,
139
+ appender: this.appender
140
+ };
141
+
142
+ this.construct = function(settings) {
143
+
144
+ return this.each(function() {
145
+
146
+ config = $.extend(this.config, $.tablesorterPager.defaults, settings);
147
+
148
+ var table = this, pager = config.container;
149
+
150
+ $(this).trigger("appendCache");
151
+
152
+ config.size = parseInt($(".pagesize",pager).val());
153
+
154
+ $(config.cssFirst,pager).click(function() {
155
+ moveToFirstPage(table);
156
+ return false;
157
+ });
158
+ $(config.cssNext,pager).click(function() {
159
+ moveToNextPage(table);
160
+ return false;
161
+ });
162
+ $(config.cssPrev,pager).click(function() {
163
+ moveToPrevPage(table);
164
+ return false;
165
+ });
166
+ $(config.cssLast,pager).click(function() {
167
+ moveToLastPage(table);
168
+ return false;
169
+ });
170
+ $(config.cssPageSize,pager).change(function() {
171
+ setPageSize(table,parseInt($(this).val()));
172
+ return false;
173
+ });
174
+ });
175
+ };
176
+
177
+ }
178
+ });
179
+ // extend plugin scope
180
+ $.fn.extend({
181
+ tablesorterPager: $.tablesorterPager.construct
182
+ });
183
+
184
+ })(jQuery);
@@ -1,3 +1,3 @@
1
1
  module JqueryTablesorter
2
- VERSION = "0.0.2"
2
+ VERSION = "0.0.3"
3
3
  end
File without changes
@@ -0,0 +1,24 @@
1
+
2
+
3
+ Started GET "/" for 127.0.0.1 at 2011-10-21 22:33:39 +0800
4
+
5
+ ActionController::RoutingError (No route matches [GET] "/"):
6
+
7
+
8
+ Rendered /Users/Jun/.rvm/gems/ruby-1.9.2-p290@rails-engine/gems/actionpack-3.1.1/lib/action_dispatch/middleware/templates/rescues/routing_error.erb within rescues/layout (11.9ms)
9
+
10
+
11
+ Started GET "/" for 127.0.0.1 at 2011-10-21 22:33:40 +0800
12
+
13
+ ActionController::RoutingError (No route matches [GET] "/"):
14
+
15
+
16
+ Rendered /Users/Jun/.rvm/gems/ruby-1.9.2-p290@rails-engine/gems/actionpack-3.1.1/lib/action_dispatch/middleware/templates/rescues/routing_error.erb within rescues/layout (0.7ms)
17
+
18
+
19
+ Started GET "/" for 127.0.0.1 at 2011-10-21 22:33:42 +0800
20
+
21
+ ActionController::RoutingError (No route matches [GET] "/"):
22
+
23
+
24
+ Rendered /Users/Jun/.rvm/gems/ruby-1.9.2-p290@rails-engine/gems/actionpack-3.1.1/lib/action_dispatch/middleware/templates/rescues/routing_error.erb within rescues/layout (0.7ms)
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: jquery-tablesorter
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.2
4
+ version: 0.0.3
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -13,7 +13,7 @@ date: 2011-10-21 00:00:00.000000000Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: rails
16
- requirement: &70120454151660 !ruby/object:Gem::Requirement
16
+ requirement: &2177091040 !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - ~>
@@ -21,10 +21,10 @@ dependencies:
21
21
  version: 3.1.1
22
22
  type: :runtime
23
23
  prerelease: false
24
- version_requirements: *70120454151660
24
+ version_requirements: *2177091040
25
25
  - !ruby/object:Gem::Dependency
26
26
  name: jquery-rails
27
- requirement: &70120454150760 !ruby/object:Gem::Requirement
27
+ requirement: &2177090240 !ruby/object:Gem::Requirement
28
28
  none: false
29
29
  requirements:
30
30
  - - ! '>='
@@ -32,10 +32,10 @@ dependencies:
32
32
  version: '0'
33
33
  type: :runtime
34
34
  prerelease: false
35
- version_requirements: *70120454150760
35
+ version_requirements: *2177090240
36
36
  - !ruby/object:Gem::Dependency
37
37
  name: sqlite3
38
- requirement: &70120454149620 !ruby/object:Gem::Requirement
38
+ requirement: &2177089320 !ruby/object:Gem::Requirement
39
39
  none: false
40
40
  requirements:
41
41
  - - ! '>='
@@ -43,7 +43,7 @@ dependencies:
43
43
  version: '0'
44
44
  type: :development
45
45
  prerelease: false
46
- version_requirements: *70120454149620
46
+ version_requirements: *2177089320
47
47
  description: Simple integration of jquery-tablesorter into the asset pipeline.
48
48
  email:
49
49
  - linjunpop@gmail.com
@@ -59,6 +59,8 @@ files:
59
59
  - app/assets/images/jquery-tablesorter/green/desc.png
60
60
  - app/assets/javascripts/jquery-tablesorter/application.js
61
61
  - app/assets/javascripts/jquery-tablesorter/jquery-tablesorter.js
62
+ - app/assets/javascripts/jquery-tablesorter/pager.js
63
+ - app/assets/javascripts/jquery-tablesorter.js
62
64
  - app/assets/stylesheets/jquery-tablesorter/application.css
63
65
  - app/assets/stylesheets/jquery-tablesorter/blue.css.scss
64
66
  - app/assets/stylesheets/jquery-tablesorter/green.css.scss
@@ -91,7 +93,9 @@ files:
91
93
  - test/dummy/config/locales/en.yml
92
94
  - test/dummy/config/routes.rb
93
95
  - test/dummy/config.ru
96
+ - test/dummy/db/development.sqlite3
94
97
  - test/dummy/db/test.sqlite3
98
+ - test/dummy/log/development.log
95
99
  - test/dummy/log/test.log
96
100
  - test/dummy/public/404.html
97
101
  - test/dummy/public/422.html
@@ -148,7 +152,9 @@ test_files:
148
152
  - test/dummy/config/locales/en.yml
149
153
  - test/dummy/config/routes.rb
150
154
  - test/dummy/config.ru
155
+ - test/dummy/db/development.sqlite3
151
156
  - test/dummy/db/test.sqlite3
157
+ - test/dummy/log/development.log
152
158
  - test/dummy/log/test.log
153
159
  - test/dummy/public/404.html
154
160
  - test/dummy/public/422.html