From d3a06c5812f05f3dd3aadd9d0b02f7aec49f1371 Mon Sep 17 00:00:00 2001 From: Gordon Smith Date: Wed, 8 May 2013 11:29:45 +0100 Subject: [PATCH] Issue-581 Emit new event "dgrid-page-complete" Similar to "dgrid-refresh-complete", but emitted after each page is loaded within the Pagination extension. Fixes #581 Signed-off-by: Gordon Smith --- extensions/Pagination.js | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/extensions/Pagination.js b/extensions/Pagination.js index 48328585a..8652a06ae 100644 --- a/extensions/Pagination.js +++ b/extensions/Pagination.js @@ -489,6 +489,23 @@ function(_StoreMixin, declare, arrayUtil, lang, Deferred, on, query, string, has // A synchronous error occurred; reject the promise. dfd.reject(); } + + var self = this; + dfd.promise.then(function (results) { + // Emit on a separate turn to enable event to be used consistently for + // initial render, regardless of whether the backing store is async + setTimeout(function () { + on.emit(self.domNode, "dgrid-page-complete", { + bubbles: true, + cancelable: false, + grid: self, + page: page, + results: results // QueryResults object (may be a wrapped promise) + }); + }, 0); + + return results; + }); return dfd.promise; } });