Sha256: 4ba559b2073ba22abf1350a11705af0c39be8eba963dc60017cdd50c17650f98
Contents?: true
Size: 1.41 KB
Versions: 1
Compression:
Stored size: 1.41 KB
Contents
module Headmin module Form class Text def initialize(local_assigns) @local_assigns = local_assigns end def placeholder @local_assigns[:float] ? @local_assigns[:placeholder] || attribute : @local_assigns[:placeholder] end def attribute @local_assigns[:attribute] end def form @local_assigns[:form] end def options option_keys = %i(aria autocomplete autofocus data disabled id maxlength minlength list pattern placeholder readonly required spellcheck size value) @local_assigns.slice(*option_keys).merge( aria: { describedby: form_field_validation_id(form, attribute) }, class: ["form-control", form_field_validation_class(form, attribute)].join(" "), list: @local_assigns[:list] ? "#{attribute}_list" : nil, placeholder: placeholder ) end def local_assigns @local_assigns end def form_field_valid?(form, name) return unless form.object !form.object.errors.has_key?(name) end def form_field_validation_id(form, name) return unless form.object [form.object_name, name.to_s, "validation"].join("_").parameterize.underscore end def form_field_validation_class(form, name) return unless form.object "is-invalid" if form.object.errors.has_key?(name) end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
headmin-0.3.1 | app/models/headmin/form/text.rb |