Sha256: 5a35a0c0fe3b2ca208cfa39190f042c586e9a76cb5db32cb531c5418734b7d51
Contents?: true
Size: 1.22 KB
Versions: 2
Compression:
Stored size: 1.22 KB
Contents
# frozen_string_literal: true module Decidim module Slider module Homepage class MainCell < Decidim::ViewModel include Decidim::LayoutHelper def show return unless has_slides? render end private def settings { "data-auto-play": model.settings.autoplay }.map { |k, v| "#{k}=\"#{v}\"" }.join(" ") end def cells return @cells if defined?(@cells) @cells ||= [] index = 0 slides.each do |slide| cl = cell(slide.manifest.cell, slide, context: { index: index }) next unless cl.renderable? @cells.push(cl) index += 1 end @cells end def has_slides? cells.map(&:renderable?).any? end def slides @slides ||= Decidim::ContentBlock.published.for_scope(:slider_tabs, organization: current_organization).order(:weight) end def cache_hash hash = [I18n.locale] slides.each do |slide| hash.push(slide.cache_key_with_version) end hash.join(Decidim.cache_key_separator) end end end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
decidim-slider-0.0.3 | app/cells/decidim/slider/homepage/main_cell.rb |
decidim-slider-0.0.2 | app/cells/decidim/slider/homepage/main_cell.rb |