Sha256: fe046b242d244f1f2015afc9b3ffbf3ec305f8e2eb1d14c028f9e0b7bf07372f

Contents?: true

Size: 1.35 KB

Versions: 4

Compression:

Stored size: 1.35 KB

Contents

module Maglove
  module Widgets
    class Slider < Base
      def identifier
        "slider"
      end

      def defaults
        {
          slides: "3",
          height: "auto",
          margin_bottom: "0px",
          background_color: "#EEEEEE",
          buttons_position: "bottom",
          autoplay: "true",
          autoplay_timeout: "3000"
        }
      end

      def slider_options
        data = { class: slider_classes, autoplay: @options[:autoplay], autoplay_timeout: @options[:autoplay_timeout] }
        { class: "owl-carousel", style: slider_styles, data: data }
      end

      def slider_styles
        style_string @options, :margin, :height, :background_color do |sb|
          sb.add(:min_height, "120px")
          sb.add(:overflow, "hidden")
        end
      end

      def slider_classes
        classes = ["owl-carousel", "owl-loaded", "owl-text-select-on", "owl-theme"]
        classes.push("position-#{@options[:buttons_position]}") unless @options[:buttons_position].empty?
        classes.join(" ")
      end

      def template(&block)
        haml_tag :div, slider_options do
          yield if block
        end
      end

      module Helpers
        def slider_item(options = {}, &block)
          haml_tag :div, class: "item" do
            yield if block
            drop_container
          end
        end
      end
    end
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
maglove-widgets-2.0.5 lib/maglove/widgets/slider.rb
maglove-widgets-2.0.4 lib/maglove/widgets/slider.rb
maglove-widgets-2.0.3 lib/maglove/widgets/slider.rb
maglove-widgets-2.0.2 lib/maglove/widgets/slider.rb