funktioniert ich eine Hilfe mit meinem Paginierung Code benötigen (http://plnkr.co/edit/Jv12fcBzm3lvZFqHqDJm?p=preview)Smart-Tabelle Paginierung mit st-Rohr nicht
Meine Daten sind sehr groß (> 1000 K Zeilen). Ich möchte nur nach sichtbaren Datensätzen fragen (50 Zeilen pro Seite). Ich fordere jedes Mal einen REST-Serviceaufruf an, wenn Benutzer die Sortierung ändern oder die Seite wechseln.
In meinem Code habe ich $ http.post() durch $ timeout ersetzt, um das Beispiel zu vereinfachen.
angular.module('app',['smart-table'])
.controller('mainCtrl',['Resource', function (service) {
var ctrl = this;
this.rowCollection = [];
this.totalMatched = 0;
this.totalExecutionTime = 0;
this.paginationStart = 0;
this.callServer = function callServer(tableState) {
ctrl.isLoading = true;
var pagination = tableState.pagination;
console.log(pagination.number);
var start = pagination.start || 0;
var number = pagination.number || 5;
service.getPage(start, number, tableState).then(function (result) {
var tstamp = new Date().getTime();
console.log('Requesting page: '+start+', '+number+','+tstamp);
ctrl.rowCollection = result.data.items;
ctrl.totalMatched = result.data.total;
ctrl.paginationStart = start;
tableState.pagination.numberOfPages = result.numberOfPages;//set the number of pages so the pagination can update
ctrl.isLoading = false;
});
};
}])
.factory('Resource', ['$q', '$filter', '$timeout', '$http', function ($q, $filter, $timeout, $http)
{
function getPage(start, number, params) {
var deferred = $q.defer();
$timeout(function() {
deferred.resolve({
data: {total:8000, items:[{message:'foo',messagetime:'2016-01-01'},{message:'foobis',messagetime:'2016-02-02'}]},
numberOfPages: Math.ceil(1000/number)
});
}, 1500);
return deferred.promise;
}
return {
getPage: getPage
};
}
]);
Was mache ich falsch? Schätze für jede Hilfe.
Danke, ich habe festgestellt, dass ich st-safe-src nicht zusammen mit st-pipe verwenden muss. Ich entfernte st-safe-src und es fing an zu arbeiten. – zuko