Sha256: a8cc2d058e4e56b6359ede0436bfa6ea78a6c8b731ba1c7cbb18e44ee75fa432

Contents?: true

Size: 1.78 KB

Versions: 2

Compression:

Stored size: 1.78 KB

Contents

module MaterialDesign
  module ChipHelper
    def md_filter_chip(label=nil, leading_icon: nil, trailing_icon: nil, selected: false, data: {}, style: nil, &block)
      merged_data = data.merge(controller: "filter-chip", filter_chip_selected_value: selected, action: "#{block_given? ? "click->filter-chip#toggleDropdown" : "click->filter-chip#toggleSelect"}")

      chip_content = content_tag(:div, class: "filter-chip__container", data: merged_data) do
        concat(content_tag(:div, class: class_names("filter-chip", selected: selected), data: { filter_chip_target: "chip"}, style: style) do
          concat(content_tag(:span, class: "dropdown--hidden", data: {filter_chip_target: "selectedIcon"}) do
            render("material_design/icons/icon", locals: { icon: "check", size: 18 })
          end)
          concat(content_tag(:span, data: {filter_chip_target: "leadingIcon"}) do
            render("material_design/icons/icon", locals: { icon: leading_icon, size: 18 }) if leading_icon
          end)
          concat(content_tag(:p, label, class: "filter-chip__label", data: {filter_chip_target: "label"}))
          concat(content_tag(:span, data: {filter_chip_target: "chevronIcon"}) do
            render("material_design/icons/icon", locals: { icon: "arrow_drop_down", size: 18 })
          end) if block_given?
          concat(content_tag(:span, data: {filter_chip_target: "trailingIcon"}) do
            render("material_design/icons/icon", locals: { icon: trailing_icon, size: 18 }) if trailing_icon && !block_given?
          end)
        end)
        if block_given?
          concat(content_tag(:div,  class: "dropdown--hidden filter-chip__dropdown", data: {filter_chip_target: "dropdown"}) do
            capture(&block)
          end)
        end
      end

      chip_content
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
material_design-0.10.0 app/helpers/material_design/chip_helper.rb
material_design-0.9.1 app/helpers/material_design/chip_helper.rb