angular-table 0.0.6 → 0.0.7
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.
- checksums.yaml +4 -4
- data/app/assets/javascripts/angular-table.js +34 -16
- data/lib/angular-table/version.rb +1 -1
- metadata +4 -6
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 0056250ac2ecf0d968e85775a1c188529e3dca47
|
4
|
+
data.tar.gz: 03760cba5691dad52e585ffd06aa08995cc2782b
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: e8ffa9daed80724576f5ef6cfaf785541e533158a1a62f3068c051c31ec25c849c895cc2dd6acfb9c2fcafe4f32082d16786f392452653ac2357ac3962fbb4cf
|
7
|
+
data.tar.gz: 58eacc1b3022a94e6ca91c7116f3e14ca95e4f97876c5552fd9ec69b7aa8743dfb671f9248d9899bfd7452de8f18c3b370e52a333b063b5e8471ce2a01f01cd1
|
@@ -1,5 +1,5 @@
|
|
1
1
|
// author: Samuel Mueller
|
2
|
-
// version: 0.0.
|
2
|
+
// version: 0.0.7
|
3
3
|
// license: MIT
|
4
4
|
// homepage: http://github.com/ssmm/angular-table
|
5
5
|
(function() {
|
@@ -10,13 +10,22 @@
|
|
10
10
|
var constructHeader, normalizeInput, validateInput;
|
11
11
|
|
12
12
|
constructHeader = function(customHeaderMarkup, bodyDefinitions) {
|
13
|
-
var icon, td, th, title, tr, _i, _len;
|
13
|
+
var attribute, icon, td, th, title, tr, _i, _j, _len, _len1, _ref;
|
14
14
|
|
15
15
|
tr = angular.element("<tr></tr>");
|
16
16
|
for (_i = 0, _len = bodyDefinitions.length; _i < _len; _i++) {
|
17
17
|
td = bodyDefinitions[_i];
|
18
18
|
th = angular.element("<th style='cursor: pointer;'></th>");
|
19
|
-
|
19
|
+
if (customHeaderMarkup[td.attribute]) {
|
20
|
+
_ref = customHeaderMarkup[td.attribute].attributes;
|
21
|
+
for (_j = 0, _len1 = _ref.length; _j < _len1; _j++) {
|
22
|
+
attribute = _ref[_j];
|
23
|
+
th.attr("" + attribute.name, "" + attribute.value);
|
24
|
+
}
|
25
|
+
title = customHeaderMarkup[td.attribute].content;
|
26
|
+
} else {
|
27
|
+
title = td.title;
|
28
|
+
}
|
20
29
|
th.html("" + title);
|
21
30
|
if (td.sortable) {
|
22
31
|
th.attr("ng-click", "predicate = '" + td.attribute + "'; descending = !descending;");
|
@@ -115,16 +124,23 @@
|
|
115
124
|
list: "="
|
116
125
|
},
|
117
126
|
link: function($scope, $element, $attributes) {
|
127
|
+
var normalizePage, update;
|
128
|
+
|
118
129
|
$scope.instance = $scope;
|
119
130
|
$scope.currentPage = 0;
|
120
|
-
|
131
|
+
normalizePage = function(page) {
|
132
|
+
page = Math.max(0, page);
|
133
|
+
page = Math.min($scope.numberOfPages - 1, page);
|
134
|
+
return page;
|
135
|
+
};
|
136
|
+
update = function(reset) {
|
121
137
|
var x;
|
122
138
|
|
123
139
|
$scope.currentPage = 0;
|
124
140
|
if ($scope.list) {
|
125
141
|
if ($scope.list.length > 0) {
|
126
142
|
$scope.numberOfPages = Math.ceil($scope.list.length / $scope.itemsPerPage);
|
127
|
-
$scope.pages = (function() {
|
143
|
+
return $scope.pages = (function() {
|
128
144
|
var _i, _ref, _results;
|
129
145
|
|
130
146
|
_results = [];
|
@@ -135,9 +151,8 @@
|
|
135
151
|
})();
|
136
152
|
} else {
|
137
153
|
$scope.numberOfPages = 1;
|
138
|
-
$scope.pages = [0];
|
154
|
+
return $scope.pages = [0];
|
139
155
|
}
|
140
|
-
return $scope.list = $scope.list;
|
141
156
|
}
|
142
157
|
};
|
143
158
|
$scope.fromPage = function() {
|
@@ -163,13 +178,14 @@
|
|
163
178
|
}
|
164
179
|
};
|
165
180
|
$scope.goToPage = function(page) {
|
166
|
-
|
167
|
-
page = Math.min($scope.numberOfPages - 1, page);
|
168
|
-
return $scope.currentPage = page;
|
181
|
+
return $scope.currentPage = normalizePage(page);
|
169
182
|
};
|
170
|
-
|
183
|
+
update();
|
184
|
+
$scope.$watch("itemsPerPage", function() {
|
185
|
+
return update();
|
186
|
+
});
|
171
187
|
return $scope.$watch("list", function() {
|
172
|
-
return
|
188
|
+
return update();
|
173
189
|
});
|
174
190
|
}
|
175
191
|
};
|
@@ -221,17 +237,19 @@
|
|
221
237
|
};
|
222
238
|
return {
|
223
239
|
collectCustomHeaderMarkup: function(thead) {
|
224
|
-
var customHeaderMarkup, th, tr, _i, _len, _ref;
|
240
|
+
var customHeaderMarkup, customHeaderMarkups, th, tr, _i, _len, _ref;
|
225
241
|
|
226
|
-
|
242
|
+
customHeaderMarkups = {};
|
227
243
|
tr = thead.find("tr");
|
228
244
|
_ref = tr.find("th");
|
229
245
|
for (_i = 0, _len = _ref.length; _i < _len; _i++) {
|
230
246
|
th = _ref[_i];
|
231
247
|
th = angular.element(th);
|
232
|
-
customHeaderMarkup[th.attr("attribute")] =
|
248
|
+
customHeaderMarkup = customHeaderMarkups[th.attr("attribute")] = {};
|
249
|
+
customHeaderMarkup.content = th.html();
|
250
|
+
customHeaderMarkup.attributes = th[0].attributes;
|
233
251
|
}
|
234
|
-
return
|
252
|
+
return customHeaderMarkups;
|
235
253
|
},
|
236
254
|
collectBodyDefinition: function(tbody) {
|
237
255
|
var attribute, bodyDefinition, initialSortDirection, sortable, td, title, width, _i, _len, _ref;
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: angular-table
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.7
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Samuel Mueller
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2013-
|
11
|
+
date: 2013-10-27 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -38,8 +38,7 @@ dependencies:
|
|
38
38
|
- - '>='
|
39
39
|
- !ruby/object:Gem::Version
|
40
40
|
version: '0'
|
41
|
-
description:
|
42
|
-
and adds pagination.
|
41
|
+
description: Html tables with sorting and pagination.
|
43
42
|
email:
|
44
43
|
- mueller.samu@gmail.com
|
45
44
|
executables: []
|
@@ -72,6 +71,5 @@ rubyforge_project:
|
|
72
71
|
rubygems_version: 2.0.3
|
73
72
|
signing_key:
|
74
73
|
specification_version: 4
|
75
|
-
summary:
|
76
|
-
adds pagination.
|
74
|
+
summary: Html tables with sorting and pagination.
|
77
75
|
test_files: []
|