From 4aee355db400c1b956e28ccb02cb949d8823d376 Mon Sep 17 00:00:00 2001 From: mohamedsalem401 Date: Wed, 18 Dec 2024 00:24:03 +0200 Subject: [PATCH] Allow data-variable paths as a collection's datasource --- .../model/collection_component/CollectionComponent.ts | 9 +++++++++ 1 file changed, 9 insertions(+) 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 0b9e7b966..fe6a30887 100644 --- a/packages/core/src/data_sources/model/collection_component/CollectionComponent.ts +++ b/packages/core/src/data_sources/model/collection_component/CollectionComponent.ts @@ -5,6 +5,7 @@ import { ComponentDefinition, ComponentOptions, ComponentProperties } from '../. import { toLowerCase } from '../../../utils/mixins'; import { ConditionDefinition, ConditionalVariableType } from '../conditional_variables/DataCondition'; import DataSource from '../DataSource'; +import { DataVariableType } from '../DataVariable'; export const CollectionVariableType = 'collection-variable'; // Represents the type for defining a loop’s data source. @@ -51,6 +52,14 @@ export default class CollectionComponent extends Component { case typeof dataSource === 'object' && dataSource instanceof DataSource: items = dataSource.getRecords(); break; + case typeof dataSource === 'object' && dataSource.type === DataVariableType: + const resolvedPath = opt.em.DataSources.fromPath(dataSource.path); + if (typeof resolvedPath[0] === 'object' && resolvedPath[0] instanceof DataSource) { + items = resolvedPath[0].getRecords(); + } else { + items = resolvedPath; + } + break; default: }