From fc4def307d22f9a51f324a5343f37a4276f69e18 Mon Sep 17 00:00:00 2001 From: Bill Dami Date: Wed, 10 Jul 2019 13:29:39 -0400 Subject: [PATCH] allow a DS.RecordArray to be used with paginated routes --- addon/decorators/route-pagination.ts | 5 ++++- addon/mixins/route-pagination.ts | 6 +++++- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/addon/decorators/route-pagination.ts b/addon/decorators/route-pagination.ts index 1375609..ee24ea0 100644 --- a/addon/decorators/route-pagination.ts +++ b/addon/decorators/route-pagination.ts @@ -10,7 +10,10 @@ import { PaginationController, buildQueryParams } from '@gavant/ember-pagination export default function routePagination>(RouteSubclass: T) { class PaginationRoute extends RouteSubclass { setupController(controller: PaginationController, model: any) { - assert('Model is not an instanceof DS.AdapterPopulatedRecordArray. In order to use the RoutePaginationMixin, the model returned must be an instance of DS.AdapterPopulatedRecordArray which comes from using store.query', model instanceof DS.AdapterPopulatedRecordArray); + assert( + 'Model is not an instanceof DS.AdapterPopulatedRecordArray. In order to use the RoutePaginationMixin, the model returned must be an instance of DS.AdapterPopulatedRecordArray or DS.RecordArray which comes from using store.query', + model instanceof DS.AdapterPopulatedRecordArray || model instanceof DS.RecordArray + ); setProperties(controller, { modelName: model.type.modelName, diff --git a/addon/mixins/route-pagination.ts b/addon/mixins/route-pagination.ts index c7b0623..9cf2620 100644 --- a/addon/mixins/route-pagination.ts +++ b/addon/mixins/route-pagination.ts @@ -11,7 +11,11 @@ export default Mixin.create({ * @param model - The result returned from a `store.query` */ setupController(controller: PaginationController, model: any) { - assert('Model is not an instanceof DS.AdapterPopulatedRecordArray. In order to use the RoutePaginationMixin, the model returned must be an instance of DS.AdapterPopulatedRecordArray which comes from using store.query', model instanceof DS.AdapterPopulatedRecordArray); + assert( + 'Model is not an instanceof DS.AdapterPopulatedRecordArray. In order to use the RoutePaginationMixin, the model returned must be an instance of DS.AdapterPopulatedRecordArray or DS.RecordArray which comes from using store.query', + model instanceof DS.AdapterPopulatedRecordArray || model instanceof DS.RecordArray + ); + setProperties(controller, { modelName: get(model, 'type.modelName'), metadata: get(model, 'meta'),