From 9f7f57f3935dc20a0d937ebc9a46d2e17993a92e Mon Sep 17 00:00:00 2001 From: Thomas Date: Sun, 1 Dec 2013 14:24:23 +0100 Subject: [PATCH 1/2] added example for combining filtering and sorting --- examples/demo23.html | 96 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 96 insertions(+) create mode 100644 examples/demo23.html diff --git a/examples/demo23.html b/examples/demo23.html new file mode 100644 index 000000000000..246fe43c1082 --- /dev/null +++ b/examples/demo23.html @@ -0,0 +1,96 @@ + + + + + + + + + + + + + + + + + + + +

Custom pagination template

+
+ +

Page: {{tableParams.page()}} +

Count per page: {{tableParams.count()}} + + + + + + + +
+ {{user.name}} + + {{user.age}} +
+ + + + +

+ + + + \ No newline at end of file From b835cb0c65c6d3bc6602edfe01460f492cb86b63 Mon Sep 17 00:00:00 2001 From: Thomas Date: Sun, 1 Dec 2013 14:27:54 +0100 Subject: [PATCH 2/2] fixed pagination --- examples/demo23.html | 119 +++++++++++++++++++++---------------------- 1 file changed, 58 insertions(+), 61 deletions(-) diff --git a/examples/demo23.html b/examples/demo23.html index 246fe43c1082..08e655367ea6 100644 --- a/examples/demo23.html +++ b/examples/demo23.html @@ -3,63 +3,45 @@ - - - - + + + + - - - - - - - + + + + + + + -

Custom pagination template

+

Table combining sorting and filtering

+
-

Page: {{tableParams.page()}} -

Count per page: {{tableParams.count()}} + + +

Sorting: {{tableParams.sorting()|json}} +

Filter: {{tableParams.filter()|json}} - - - - - -
- {{user.name}} - - {{user.age}} -
- + + + + + +
+ {{user.name}} + + {{user.age}} +
- + $scope.tableParams = new ngTableParams({ + page: 1, // show first page + count: 10, // count per page + filter: { + name: 'M' // initial filter + }, + sorting: { + name: 'asc' // initial sorting + } + }, { + total: data.length, // length of data + getData: function($defer, params) { + // use build-in angular filter + var filteredData = params.filter() ? + $filter('filter')(data, params.filter()) : + data; + var orderedData = params.sorting() ? + $filter('orderBy')(filteredData, params.orderBy()) : + data; + + params.total(orderedData.length); // set total for recalc pagination + $defer.resolve(orderedData.slice((params.page() - 1) * params.count(), params.page() * params.count())); + } + }); + }) +

- - \ No newline at end of file + +