Sha256: 6fb23c8b2f6f6c252b93fc5547c42c554b60e2e9717693545ea7b8cfcef498cf

Contents?: true

Size: 1.13 KB

Versions: 8

Compression:

Stored size: 1.13 KB

Contents

module IsoDoc::Function
  module Form
    def form_parse(node, out)
      node.children.each do |n|
        parse(n, out)
      end
    end

    def input_parse(node, out)
      case node["type"]
      when "button" then out << "[#{node['value'] || 'BUTTON'}]"
      when "checkbox" then out << "&#x2610; "
      when "date" then text_input(out)
      when "file" then text_input(out)
      when "password" then text_input(out)
      when "radio" then out << "&#x25CE; "
      when "submit" # nop
      when "text" then text_input(out, node["maxlength"])
      end
    end

    def text_input(out, length = 10)
      length ||= 10
      length = length.to_i
      length.zero? and length = 10
      out << "_" * length
      out << " "
    end

    def select_parse(node, out)
      text_input(out, node["size"] || 10)
    end

    def label_parse(node, out)
      node.children.each do |n|
        parse(n, out)
      end
    end

    def option_parse(node, out); end

    def textarea_parse(_node, out)
      out.table **{ border: 1, width: "50%" } do |t|
        t.tr do |tr|
          tr.td do |td|
          end
        end
      end
    end
  end
end

Version data entries

8 entries across 8 versions & 1 rubygems

Version Path
isodoc-1.7.0 lib/isodoc/function/form.rb
isodoc-1.6.7.1 lib/isodoc/function/form.rb
isodoc-1.6.7 lib/isodoc/function/form.rb
isodoc-1.6.6 lib/isodoc/function/form.rb
isodoc-1.6.5 lib/isodoc/function/form.rb
isodoc-1.6.4 lib/isodoc/function/form.rb
isodoc-1.6.3 lib/isodoc/function/form.rb
isodoc-1.6.2 lib/isodoc/function/form.rb