Sha256: ff68ec9b0003c5bc6a918460d710a82416a6c7413f8e4be423f98b8599e02e88

Contents?: true

Size: 1.47 KB

Versions: 18

Compression:

Stored size: 1.47 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

      module Helpers
        def slider_widget(options = {}, &block)
          widget_block(Widgets::Slider.new(options)) do |widget|
            haml_tag :div, widget.slider_options do
              yield if block
            end
          end
        end

        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

18 entries across 18 versions & 1 rubygems

Version Path
maglove-widgets-1.1.9 lib/maglove/widgets/slider.rb
maglove-widgets-1.1.8 lib/maglove/widgets/slider.rb
maglove-widgets-1.1.7 lib/maglove/widgets/slider.rb
maglove-widgets-1.1.6 lib/maglove/widgets/slider.rb
maglove-widgets-1.1.5 lib/maglove/widgets/slider.rb
maglove-widgets-1.1.4 lib/maglove/widgets/slider.rb
maglove-widgets-1.1.3 lib/maglove/widgets/slider.rb
maglove-widgets-2.0.1 lib/maglove/widgets/slider.rb
maglove-widgets-1.0.8 lib/maglove/widgets/slider.rb
maglove-widgets-1.0.7 lib/maglove/widgets/slider.rb
maglove-widgets-1.0.6 lib/maglove/widgets/slider.rb
maglove-widgets-2.0.0 lib/maglove/widgets/slider.rb
maglove-widgets-1.0.5 lib/maglove/widgets/slider.rb
maglove-widgets-1.0.4 lib/maglove/widgets/slider.rb
maglove-widgets-1.0.3 lib/maglove/widgets/slider.rb
maglove-widgets-1.0.2 lib/maglove/widgets/slider.rb
maglove-widgets-1.0.1 lib/maglove/widgets/slider.rb
maglove-widgets-1.0.0 lib/maglove/widgets/slider.rb