From 7db4187e07927675becaceab1c5edd191969c368 Mon Sep 17 00:00:00 2001 From: mohamedsalem401 Date: Wed, 18 Dec 2024 15:41:53 +0200 Subject: [PATCH] fix passing a datasource as collection's datasource --- .../model/collection_component/CollectionComponent.ts | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/packages/core/src/data_sources/model/collection_component/CollectionComponent.ts b/packages/core/src/data_sources/model/collection_component/CollectionComponent.ts index a2d17085a..876c7a41a 100644 --- a/packages/core/src/data_sources/model/collection_component/CollectionComponent.ts +++ b/packages/core/src/data_sources/model/collection_component/CollectionComponent.ts @@ -44,13 +44,16 @@ export default class CollectionComponent extends Component { constructor(props: CollectionDefinition & ComponentProperties, opt: ComponentOptions) { const { block, config } = props.collectionDefinition; const { dataSource } = config; - let items: any[] = []; + let items: CollectionStateVariables[] = []; switch (true) { case isArray(dataSource): items = dataSource; break; case typeof dataSource === 'object' && dataSource instanceof DataSource: - items = dataSource.getRecords(); + const id = dataSource.get('id')!; + const resolvedPath = opt.em.DataSources.getValue(id, []); + const keys = Object.keys(resolvedPath); + items = keys.map(key => resolvedPath[key]); break; case typeof dataSource === 'object' && dataSource.type === DataVariableType: const pathArr = dataSource.path.split('.'); @@ -65,7 +68,7 @@ export default class CollectionComponent extends Component { default: } - const components: ComponentDefinitionDefined[] = items.map((item: any, index) => resolveBlockValue({ + const components: ComponentDefinitionDefined[] = items.map((item: CollectionStateVariables, index) => resolveBlockValue({ currentIndex: index, firstIndex: config.startIndex, currentItem: item,