Sha256: 0f7e057aa058a6aaa5470eefc9571702f5e54bf320a303f19946bdba71688421
Contents?: true
Size: 1.25 KB
Versions: 5
Compression:
Stored size: 1.25 KB
Contents
module Integral # Widgets used to generate dynamic content module Widgets # Outputs swiper lists # # Example Widget Markup # <p class='integral-widget' data-widget-type='swiper_list' data-widget-value-list_id='1337' data-widget-value-slide_view_path='shared/my_swiper_slide'> class SwiperList # Render a swiper list def self.render(options = {}) options = options.reverse_merge(default_options) list_id = options[:list_id] raise ArgumentError, 'list_id must be provided as a widget value' unless list_id.present? list = Integral::List.find_by_id(list_id) # TODO: Move most of these options up to SwiperListRenderer as defaults (?) list_opts = { item_renderer: Integral::PartialListItemRenderer, html_classes: '', item_renderer_opts: { partial_path: options[:slide_view_path], wrapper_element: 'div', html_classes: 'swiper-slide', image_version: :small } } Integral::SwiperListRenderer.render(list, list_opts) end # Default widget options def self.default_options { slide_view_path: 'integral/shared/record_card' } end end end end
Version data entries
5 entries across 5 versions & 1 rubygems