Sha256: 896b5a93af062ab001a67d83640b115b1a63ab7872206b65437c7bd4aca53537

Contents?: true

Size: 1.21 KB

Versions: 6

Compression:

Stored size: 1.21 KB

Contents

module ExpressTemplates
  module Components
    module Forms
      module BasicFields
        ALL = %w(email phone text password color date datetime
                datetime_local number range
                search telephone time url week)

        ALL.each do |type|
          class_definition = <<-RUBY
            class #{type.classify} < FormComponent
              emits -> {
                div(class: field_wrapper_class) {
                  label_tag(label_name, label_text)
                  #{type}_field resource_var, field_name.to_sym
                }
              }
            end
RUBY

          eval(class_definition)

        end
      end

      # class Email < FormComponent
      #   emits -> {
      #     div(class: field_wrapper_class) {
      #       email_field resource_var, field_name.to_sym
      #     }
      #   }
      # end

      class Textarea < FormComponent
        emits -> {
          div(class: field_wrapper_class) {
            label_tag(label_name, label_text)
            text_area resource_var, field_name.to_sym
          }
        }
      end

      class Hidden < FormComponent
        emits -> {
          hidden_field resource_var, field_name.to_sym
        }
      end


    end
  end
end

Version data entries

6 entries across 6 versions & 2 rubygems

Version Path
express_admin-1.2.1 vendor/gems/express_templates/lib/express_templates/components/forms/basic_fields.rb
express_admin-1.2.0 vendor/gems/express_templates/lib/express_templates/components/forms/basic_fields.rb
express_templates-0.5.0 lib/express_templates/components/forms/basic_fields.rb
express_templates-0.4.2 lib/express_templates/components/forms/basic_fields.rb
express_templates-0.4.1 lib/express_templates/components/forms/basic_fields.rb
express_templates-0.4.0 lib/express_templates/components/forms/basic_fields.rb