Class: Integral::SwiperListRenderer

Inherits:
ListRenderer show all
Defined in:
lib/integral/swiper_list_renderer.rb

Overview

Swiper list renderer - Renders list items within swiper container

Instance Attribute Summary

Attributes inherited from ListRenderer

#list, #opts

Instance Method Summary collapse

Methods inherited from ListRenderer

#initialize, render, #render_safely

Constructor Details

This class inherits a constructor from Integral::ListRenderer

Instance Method Details

#renderObject

Override Integral::ListRenderer#render to wrap swiper-container around all rendered_items



5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
# File 'lib/integral/swiper_list_renderer.rb', line 5

def render
  rendered_items = ''
  swiper_classes = 'swiper-container list-generated-swiper'
  list_items = list.list_items.to_a

  list_items.each do |list_item|
    rendered_items += render_item(list_item)
  end

  if opts[:html_classes].present?
    opts[:html_classes] += " #{swiper_classes}"
  else
    opts[:html_classes] = swiper_classes
  end

  rendered_items = [
    "<div class='swiper-wrapper'>#{rendered_items}</div>",
    "<div class='swiper-button-prev'></div>",
    "<div class='swiper-button-next'></div>",
    "<div class='swiper-pagination'></div>"
  ].join

   :div, rendered_items, html_options, false
end