Home > widget-integration > RecommendationWidgetController > renderCarouselWidget
RecommendationWidgetController.renderCarouselWidget() method
Renders the carousel widget by loading dependencies and initializing the carousel.
This method handles the complete carousel rendering process: 1. Lazy loads jQuery library with noConflict mode 2. Lazy loads Slick carousel library 3. Renders widget template with product data 4. Initializes carousel with event handlers
Signature:
renderCarouselWidget(container: HTMLElement): Promise<void>;
Parameters
| 
 Parameter  | 
 Type  | 
 Description  | 
|---|---|---|
| 
 container  | 
 HTMLElement  | 
 The HTML element where the carousel will be rendered  | 
Returns:
Promise<void>
Exceptions
{Error} When jQuery/Slick loading fails, template rendering fails, or carousel initialization encounters errors
Remarks
Performance considerations: - jQuery (~30KB gzipped) and Slick (~15KB gzipped) are loaded on-demand only for carousel layouts - Uses noConflict mode to avoid conflicts with page's jQuery instance - Template rendering is handled by AppService for consistency - Total additional bundle size: ~45KB gzipped when carousel layout is used
Example
Override to add custom carousel initialization logic:
async renderCarouselWidget(container) {
  // Add loading indicator
  container.innerHTML = '<div class="loading">Loading carousel...</div>';
  await super.renderCarouselWidget(container);
  // Add custom post-render effects
  this.addCarouselAnimations(container);
}