Skip to content
This repository was archived by the owner on Dec 4, 2019. It is now read-only.

Commit 1236865

Browse files
committed
(release): 0.8.0
1 parent 6d44121 commit 1236865

6 files changed

Lines changed: 85 additions & 62 deletions

File tree

package-lock.json

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
"name": "angular-data-table",
33
"title": "AngularJS Data-Table",
44
"description": "A feature-rich but lightweight ES6 AngularJS Data Table crafted for large data sets!",
5-
"version": "0.7.1",
5+
"version": "0.8.0",
66
"repository": {
77
"type": "git",
88
"url": "git@github.com:Swimlane/angular-data-table.git",

release/dataTable.cjs.js

Lines changed: 26 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
/**
22
* angular-data-table - A feature-rich but lightweight ES6 AngularJS Data Table crafted for large data sets!
3-
* @version v0.7.1
3+
* @version v0.8.0
44
* @link http://swimlane.com/
55
* @license
66
*/
@@ -214,7 +214,7 @@ function FooterDirective() {
214214
paging: '=',
215215
onPage: '&'
216216
},
217-
template: "<div class=\"dt-footer\">\n <div class=\"page-count\">{{footer.paging.count}} total</div>\n <dt-pager page=\"footer.page\"\n size=\"footer.paging.size\"\n count=\"footer.paging.count\"\n on-page=\"footer.onPaged(page)\"\n ng-show=\"footer.paging.count / footer.paging.size > 1\">\n </dt-pager>\n </div>",
217+
template: "<div class=\"dt-footer\">\n <div class=\"page-count\" ng-bind=\"footer.paging.countText ? footer.paging.countText(footer.paging.count) : ''\"></div>\n <dt-pager page=\"footer.page\"\n size=\"footer.paging.size\"\n count=\"footer.paging.count\"\n on-page=\"footer.onPaged(page)\"\n ng-show=\"footer.paging.count / footer.paging.size > 1\">\n </dt-pager>\n </div>",
218218
replace: true
219219
};
220220
}
@@ -2036,7 +2036,11 @@ var TableDefaults = {
20362036

20372037
offset: 0,
20382038

2039-
loadingIndicator: false
2039+
loadingIndicator: false,
2040+
2041+
countText: function countText(count) {
2042+
return count + " total";
2043+
}
20402044
},
20412045

20422046
selectable: false,
@@ -2052,8 +2056,9 @@ var TableDefaults = {
20522056
offsetY: 0,
20532057
innerWidth: 0,
20542058
bodyHeight: 300
2055-
}
2059+
},
20562060

2061+
externalSorting: false
20572062
};
20582063

20592064
var DataTableController = function () {
@@ -2192,25 +2197,27 @@ var DataTableController = function () {
21922197
this.options.onSort(sorts);
21932198
}
21942199

2195-
var clientSorts = [];
2196-
for (var i = 0, len = sorts.length; i < len; i++) {
2197-
var c = sorts[i];
2198-
if (c.comparator !== false) {
2199-
var dir = c.sort === 'asc' ? '' : '-';
2200-
if (c.sortBy !== undefined) {
2201-
clientSorts.push(dir + c.sortBy);
2202-
} else {
2203-
clientSorts.push(dir + c.prop);
2200+
if (!this.options.externalSorting) {
2201+
var clientSorts = [];
2202+
for (var i = 0, len = sorts.length; i < len; i++) {
2203+
var c = sorts[i];
2204+
if (c.comparator !== false) {
2205+
var dir = c.sort === 'asc' ? '' : '-';
2206+
if (c.sortBy !== undefined) {
2207+
clientSorts.push(dir + c.sortBy);
2208+
} else {
2209+
clientSorts.push(dir + c.prop);
2210+
}
22042211
}
22052212
}
2206-
}
22072213

2208-
if (clientSorts.length) {
2209-
var _rows;
2214+
if (clientSorts.length) {
2215+
var _rows;
22102216

2211-
var sortedValues = this.$filter('orderBy')(this.rows, clientSorts);
2212-
this.rows.splice(0, this.rows.length);
2213-
(_rows = this.rows).push.apply(_rows, _toConsumableArray(sortedValues));
2217+
var sortedValues = this.$filter('orderBy')(this.rows, clientSorts);
2218+
this.rows.splice(0, this.rows.length);
2219+
(_rows = this.rows).push.apply(_rows, _toConsumableArray(sortedValues));
2220+
}
22142221
}
22152222
}
22162223

release/dataTable.es6.js

Lines changed: 28 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -250,7 +250,7 @@ function FooterDirective(){
250250
},
251251
template:
252252
`<div class="dt-footer">
253-
<div class="page-count">{{footer.paging.count}} total</div>
253+
<div class="page-count" ng-bind="footer.paging.countText ? footer.paging.countText(footer.paging.count) : ''"></div>
254254
<dt-pager page="footer.page"
255255
size="footer.paging.size"
256256
count="footer.paging.count"
@@ -2608,7 +2608,12 @@ const TableDefaults = {
26082608
offset: 0,
26092609

26102610
// Loading indicator
2611-
loadingIndicator: false
2611+
loadingIndicator: false,
2612+
2613+
// template for the footer count text
2614+
countText: function(count) {
2615+
return `${count} total`;
2616+
}
26122617
},
26132618

26142619
// if users can select itmes
@@ -2628,8 +2633,10 @@ const TableDefaults = {
26282633
offsetY: 0,
26292634
innerWidth: 0,
26302635
bodyHeight: 300
2631-
}
2636+
},
26322637

2638+
// flag if sorting shuld be handeled externally
2639+
externalSorting: false
26332640
};
26342641

26352642
class DataTableController {
@@ -2796,25 +2803,27 @@ class DataTableController {
27962803
this.options.onSort(sorts);
27972804
}
27982805

2799-
var clientSorts = [];
2800-
for(var i=0, len=sorts.length; i < len; i++) {
2801-
var c = sorts[i];
2802-
if(c.comparator !== false){
2803-
var dir = c.sort === 'asc' ? '' : '-';
2804-
if (c.sortBy !== undefined) {
2805-
clientSorts.push(dir + c.sortBy);
2806-
} else {
2807-
clientSorts.push(dir + c.prop);
2806+
if (!this.options.externalSorting) {
2807+
var clientSorts = [];
2808+
for(var i=0, len=sorts.length; i < len; i++) {
2809+
var c = sorts[i];
2810+
if(c.comparator !== false){
2811+
var dir = c.sort === 'asc' ? '' : '-';
2812+
if (c.sortBy !== undefined) {
2813+
clientSorts.push(dir + c.sortBy);
2814+
} else {
2815+
clientSorts.push(dir + c.prop);
2816+
}
28082817
}
28092818
}
2810-
}
28112819

2812-
if(clientSorts.length){
2813-
// todo: more ideal to just resort vs splice and repush
2814-
// but wasn't responding to this change ...
2815-
var sortedValues = this.$filter('orderBy')(this.rows, clientSorts);
2816-
this.rows.splice(0, this.rows.length);
2817-
this.rows.push(...sortedValues);
2820+
if(clientSorts.length){
2821+
// todo: more ideal to just resort vs splice and repush
2822+
// but wasn't responding to this change ...
2823+
var sortedValues = this.$filter('orderBy')(this.rows, clientSorts);
2824+
this.rows.splice(0, this.rows.length);
2825+
this.rows.push(...sortedValues);
2826+
}
28182827
}
28192828
}
28202829

release/dataTable.js

Lines changed: 26 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
/**
22
* angular-data-table - A feature-rich but lightweight ES6 AngularJS Data Table crafted for large data sets!
3-
* @version v0.7.1
3+
* @version v0.8.0
44
* @link http://swimlane.com/
55
* @license
66
*/
@@ -255,7 +255,7 @@
255255
paging: '=',
256256
onPage: '&'
257257
},
258-
template: "<div class=\"dt-footer\">\n <div class=\"page-count\">{{footer.paging.count}} total</div>\n <dt-pager page=\"footer.page\"\n size=\"footer.paging.size\"\n count=\"footer.paging.count\"\n on-page=\"footer.onPaged(page)\"\n ng-show=\"footer.paging.count / footer.paging.size > 1\">\n </dt-pager>\n </div>",
258+
template: "<div class=\"dt-footer\">\n <div class=\"page-count\" ng-bind=\"footer.paging.countText ? footer.paging.countText(footer.paging.count) : ''\"></div>\n <dt-pager page=\"footer.page\"\n size=\"footer.paging.size\"\n count=\"footer.paging.count\"\n on-page=\"footer.onPaged(page)\"\n ng-show=\"footer.paging.count / footer.paging.size > 1\">\n </dt-pager>\n </div>",
259259
replace: true
260260
};
261261
}
@@ -2077,7 +2077,11 @@
20772077

20782078
offset: 0,
20792079

2080-
loadingIndicator: false
2080+
loadingIndicator: false,
2081+
2082+
countText: function countText(count) {
2083+
return count + " total";
2084+
}
20812085
},
20822086

20832087
selectable: false,
@@ -2093,8 +2097,9 @@
20932097
offsetY: 0,
20942098
innerWidth: 0,
20952099
bodyHeight: 300
2096-
}
2100+
},
20972101

2102+
externalSorting: false
20982103
};
20992104

21002105
var DataTableController = function () {
@@ -2233,25 +2238,27 @@
22332238
this.options.onSort(sorts);
22342239
}
22352240

2236-
var clientSorts = [];
2237-
for (var i = 0, len = sorts.length; i < len; i++) {
2238-
var c = sorts[i];
2239-
if (c.comparator !== false) {
2240-
var dir = c.sort === 'asc' ? '' : '-';
2241-
if (c.sortBy !== undefined) {
2242-
clientSorts.push(dir + c.sortBy);
2243-
} else {
2244-
clientSorts.push(dir + c.prop);
2241+
if (!this.options.externalSorting) {
2242+
var clientSorts = [];
2243+
for (var i = 0, len = sorts.length; i < len; i++) {
2244+
var c = sorts[i];
2245+
if (c.comparator !== false) {
2246+
var dir = c.sort === 'asc' ? '' : '-';
2247+
if (c.sortBy !== undefined) {
2248+
clientSorts.push(dir + c.sortBy);
2249+
} else {
2250+
clientSorts.push(dir + c.prop);
2251+
}
22452252
}
22462253
}
2247-
}
22482254

2249-
if (clientSorts.length) {
2250-
var _rows;
2255+
if (clientSorts.length) {
2256+
var _rows;
22512257

2252-
var sortedValues = this.$filter('orderBy')(this.rows, clientSorts);
2253-
this.rows.splice(0, this.rows.length);
2254-
(_rows = this.rows).push.apply(_rows, _toConsumableArray(sortedValues));
2258+
var sortedValues = this.$filter('orderBy')(this.rows, clientSorts);
2259+
this.rows.splice(0, this.rows.length);
2260+
(_rows = this.rows).push.apply(_rows, _toConsumableArray(sortedValues));
2261+
}
22552262
}
22562263
}
22572264

release/dataTable.min.js

Lines changed: 3 additions & 3 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)