Press n or j to go to the next uncovered block, b, p or k for the previous block.
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 | 1x 1x | import { Carousel, IComponentRender, IterableComponentRender } from '@zeedhi/common';
import { IIterableCarousel } from './interfaces';
/**
* Base class for IterableCarousel component.
* This component uses every row returned by IterableComponentRender.datasource to render
* slides defined by componentMetadata property, inside a carousel component.
*/
export class IterableCarousel extends Carousel implements IIterableCarousel {
public iterable: IterableComponentRender;
public constructor(props: IIterableCarousel) {
super(props);
this.iterable = new IterableComponentRender({
...props.iterable,
name: `${props.name}_iterable`,
component: 'TekIterableComponentRender',
});
}
get children(): IComponentRender[] {
return this.iterable?.datasource?.data.map(this.iterable.getComponentMetadata.bind(this.iterable)) || [];
}
set children(value: IComponentRender[]) {
Iif (value && value.length) {
throw new Error('You should not change children when using IterableCarousel');
}
}
}
|