Ng-table: Suppression d'une ligne de ngTable lorsqu'il s'agit du dernier élément de la page

Créé le 8 oct. 2015  ·  6Commentaires  ·  Source: esvit/ng-table

Lorsque le dernier élément est supprimé d'un tableau à la page 2 ou supérieure, la navigation paginé disparaît.

    $scope.tableParams = new ngTableParams({
        page: 1,            // show first page
        count: 10,           // count per page
        sorting: {
            firstName: 'asc'     // initial sorting
        }
    }, {
        total: 0,
        getData: function ($defer, params) {
            $scope.myData = angular.copy($scope.clients, []);
            var filteredData = params.filter() ?  $filter('filter')($scope.myData, params.filter()) : $scope.myData;
            var orderedData = params.sorting() ? $filter('orderBy')(filteredData, params.orderBy()) : filteredData;

            params.total(orderedData.length);
            var data = orderedData.slice((params.page() - 1) * params.count(), params.page() * params.count());

            //EXTRA CHECK
            if (data.length === 0 && params.page() !== 1){
                params.page(params.page()-1);
                filteredData = params.filter() ?  $filter('filter')($scope.myData, params.filter()) : $scope.myData;
                orderedData = params.sorting() ? $filter('orderBy')(filteredData, params.orderBy()) : filteredData;
                params.total(orderedData.length);
                data = orderedData.slice((params.page() - 1) * params.count(), params.page() * params.count());
            }

            $defer.resolve(data);

        }
    });

Je l'ai contourné avec la vérification ci-dessus pour voir si les données filtrées reviennent vides et si nous ne sommes pas à la première page. Y a-t-il un moyen intégré de gérer cela que je néglige ?

Commentaire le plus utile

J'ai également utilisé la solution de contournement @msallati dans le passé. Fonctionne plutôt bien, mais ce serait bien d'ajouter ce correctif au ngTable car c'est un peu ennuyeux... Ce n'est qu'une vérification lors de l'opération de suppression, donc je pense que ce ne sera pas un impact sur les performances de la bibliothèque globale.

Tous les 6 commentaires

+1. J'ai le même problème que ci-dessus.

Comme solution de contournement, vous pouvez vérifier si la ligne actuelle est la dernière sur cette page et ce n'est pas la première page

if ($scope.tableParams.data.length == 1 && vm.tableParams.page() != 1) {
$scope..tableParams.page(vm.tableParams.page() - 1);
}
$scope.tableParams.reload();

C'est ce que j'ai fait dans le passé.

Je ne pense pas que ngTable surveillera l'ensemble de données de si tôt
(cela introduirait des problèmes de performances potentiels). Alors je suggérerais
aller avec ça comme solution.

Le mardi 7 février 2017 à 9h46, M.Msallati [email protected] a écrit :

Comme solution de contournement, vous pouvez vérifier si la ligne actuelle est la dernière de cette
page et ce n'est pas la première page

if ($scope.tableParams.data.length == 1 && vm.tableParams.page() != 1) {
$scope..tableParams.page(vm.tableParams.page() - 1); }
$scope..tableParams.reload();

-
Vous recevez ceci parce que vous êtes abonné à ce fil.
Répondez directement à cet e-mail, consultez-le sur GitHub
https://github.com/esvit/ng-table/issues/720#issuecomment-277949435 , ou couper le son
le fil
https://github.com/notifications/unsubscribe-auth/AA2HPnt6g1_cHsg4NhwX9VKNbwHuzASsks5raD2HgaJpZM4GLPEq
.

J'ai également utilisé la solution de contournement @msallati dans le passé. Fonctionne plutôt bien, mais ce serait bien d'ajouter ce correctif au ngTable car c'est un peu ennuyeux... Ce n'est qu'une vérification lors de l'opération de suppression, donc je pense que ce ne sera pas un impact sur les performances de la bibliothèque globale.

Le problème est que ngTable ne "connaît" pas l'opération de suppression.
ngTable aurait besoin de surveiller l'ensemble de données pour les changements - ce serait un
problème de performances

Le mar 7 février 2017 à 10h04, Jakub Powierza [email protected]
a écrit:

J'ai également utilisé la solution de contournement @msallati https://github.com/msallati dans le
passé. Fonctionne plutôt bien mais ce serait bien d'ajouter ce correctif au ngTable
comme c'est un peu embêtant... Ce n'est qu'une vérification lors de la suppression
opération, donc je pense que ce ne sera pas un impact sur les performances de la bibliothèque globale.

-
Vous recevez ceci parce que vous avez commenté.
Répondez directement à cet e-mail, consultez-le sur GitHub
https://github.com/esvit/ng-table/issues/720#issuecomment-277953666 , ou couper le son
le fil
https://github.com/notifications/unsubscribe-auth/AA2HPo3igPmhmaPxxusbi-rJ1YreOLGqks5raEGigaJpZM4GLPEq
.

Merci pour votre explication! Maintenant, je comprends parfaitement ce qui se passe :)

Cette page vous a été utile?
0 / 5 - 0 notes