diff --git a/packages/core/src/data_sources/model/data_collection/types.ts b/packages/core/src/data_sources/model/data_collection/types.ts index ea1bf324d..2d9b82bfa 100644 --- a/packages/core/src/data_sources/model/data_collection/types.ts +++ b/packages/core/src/data_sources/model/data_collection/types.ts @@ -26,9 +26,11 @@ export interface DataCollectionState { [DataCollectionStateType.remainingItems]: number; } -export interface DataCollectionStateMap { +export type DataCollectionStateMap = { [key: string]: DataCollectionState; -} +} & { + __pages?: { [DataCollectionStateType.currentItem]: DataCollectionState }; +}; export interface ComponentDataCollectionProps extends ComponentDefinition { type: typeof DataCollectionType; diff --git a/packages/core/src/dom_components/model/Component.ts b/packages/core/src/dom_components/model/Component.ts index 1dae41ba4..fe4af0158 100644 --- a/packages/core/src/dom_components/model/Component.ts +++ b/packages/core/src/dom_components/model/Component.ts @@ -364,13 +364,13 @@ export default class Component extends StyleableModel { this.components().forEach((cmp) => cmp.syncComponentsCollectionState()); } - stopSyncComponentCollectionState() { + protected stopSyncComponentCollectionState() { this.stopListening(this.components(), 'add remove reset', this.syncOnComponentChange); this.collectionsStateMap = {}; this.components().forEach((cmp) => cmp.stopSyncComponentCollectionState()); } - syncOnComponentChange(model: Component, collection: Components, opts: any) { + protected syncOnComponentChange(model: Component, collection: Components, opts: any) { if (!this.collectionsStateMap || !Object.keys(this.collectionsStateMap).length) return; const options = opts || collection || {};