displaying params on url disable pagination on ngTable
Asked Answered
D

0

6

I want to show table parameters (page, count, filter, etc.) in the url. so I use the following code in my controller :

$scope.tableParams = new ngTableParams(
                    angular.extend({
                            page : 1,
                            count: 10
                        },
                        $location.search()), {
                        getData: function ($defer, params) {
                            $location.search(params.url()); // put params in url
                            var query = getQuery();
                            query.limit = params.count();
                            query.offset = (params.page() - 1) * params.count();
                            getTotalCount().success(function () {
                                Content.prototype.find(query)
                                    .success(function (response) {
                                        $scope.tableParams.total($scope.totalCount);
                                        var data = $filter('populateObjects')(response.data, query.fields);
                                        $defer.resolve(data);
                                    });
                            });
                        }
                    });

I do pagination and filtering on server side.

without applying filters on the table everything goes ok and the pagination works correctly. but every time I apply a filter on the table url change twice. the first time it is ok. something like this :

http://faraketabadmin/src/#/content/list?page=7&count=10&filter%5Bname%5D=g&filter%5Btype_id%5D=4

but after a moment it will again reset to page 1 like this :

http://faraketabadmin/src/#/content/list?page=1&count=10&filter%5Bname%5D=g&filter%5Btype_id%5D=4
Darwindarwinian answered 29/9, 2014 at 6:27 Comment(1)
Were you ever able to find a good solution to this?Loidaloin

© 2022 - 2024 — McMap. All rights reserved.