Sha256: f8eff519185fc6d88ebb6cf1278693b7f21caa14756990a658815ced2aec98f2

Contents?: true

Size: 1.04 KB

Versions: 116

Compression:

Stored size: 1.04 KB

Contents

# frozen_string_literal: true

module Effective
  module FormInputs
    class PhoneField < Effective::FormInput

      DEFAULT_TEL_MASK = '(999) 999-9999? x99999'
      DEFAULT_CELL_MASK = '(999) 999-9999'

      def input_html_options
        { class: 'form-control effective_phone', placeholder: '(555) 555-5555', id: tag_id }
      end

      def input_js_options
        { mask: ((cell? || fax?) ? DEFAULT_CELL_MASK : DEFAULT_TEL_MASK), placeholder: '_' }
      end

      def input_group_options
        { input_group: { class: 'input-group' }, prepend: content_tag(:span, icon('phone'), class: 'input-group-text') }
      end

      # This has gotta be a valid pattern
      def validated?(name)
        true
      end

      private

      def fax?
        return @fax unless @fax.nil?
        @fax = options.key?(:fax) ? options.delete(:fax) : name.to_s.include?('fax')
      end

      def cell?
        return @cell unless @cell.nil?
        @cell = options.key?(:cell) ? options.delete(:cell) : name.to_s.include?('cell')
      end

    end
  end
end

Version data entries

116 entries across 116 versions & 1 rubygems

Version Path
effective_bootstrap-1.19.13 app/models/effective/form_inputs/phone_field.rb
effective_bootstrap-1.19.12 app/models/effective/form_inputs/phone_field.rb
effective_bootstrap-1.19.11 app/models/effective/form_inputs/phone_field.rb
effective_bootstrap-1.19.10 app/models/effective/form_inputs/phone_field.rb
effective_bootstrap-1.19.9 app/models/effective/form_inputs/phone_field.rb
effective_bootstrap-1.19.8 app/models/effective/form_inputs/phone_field.rb
effective_bootstrap-1.19.7 app/models/effective/form_inputs/phone_field.rb
effective_bootstrap-1.19.6 app/models/effective/form_inputs/phone_field.rb
effective_bootstrap-1.19.5 app/models/effective/form_inputs/phone_field.rb
effective_bootstrap-1.19.4 app/models/effective/form_inputs/phone_field.rb
effective_bootstrap-1.19.3 app/models/effective/form_inputs/phone_field.rb
effective_bootstrap-1.19.2 app/models/effective/form_inputs/phone_field.rb
effective_bootstrap-1.19.1 app/models/effective/form_inputs/phone_field.rb
effective_bootstrap-1.19.0 app/models/effective/form_inputs/phone_field.rb
effective_bootstrap-1.18.7 app/models/effective/form_inputs/phone_field.rb
effective_bootstrap-1.18.4 app/models/effective/form_inputs/phone_field.rb
effective_bootstrap-1.18.3 app/models/effective/form_inputs/phone_field.rb
effective_bootstrap-1.18.2 app/models/effective/form_inputs/phone_field.rb
effective_bootstrap-1.18.1 app/models/effective/form_inputs/phone_field.rb
effective_bootstrap-1.18.0 app/models/effective/form_inputs/phone_field.rb