Sha256: de61b093a0945e0abe37688281895e114ec17e781291b4a4e481b4458409646f

Contents?: true

Size: 765 Bytes

Versions: 1

Compression:

Stored size: 765 Bytes

Contents

# frozen_string_literal: true

# Tag for boolean content that is going to be rendered using checkbox
#   {{ cms:checkbox identifier }}
#
class Occams::Content::Tag::Checkbox < Occams::Content::Tag::Fragment
  def content
    fragment.boolean
  end

  def form_field(object_name, view, index)
    name = "#{object_name}[fragments_attributes][#{index}][boolean]"

    input = view.content_tag(:div, class: "form-check mt-2") do
      view.concat view.hidden_field_tag(name, "0", id: nil)

      options = { id: form_field_id, class: "form-check-input position-static" }
      view.concat view.check_box_tag(name, "1", content.present?, options)
    end

    yield input
  end
end

Occams::Content::Renderer.register_tag(
  :checkbox, Occams::Content::Tag::Checkbox
)

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
occams-1.0.1 lib/occams/content/tags/checkbox.rb