Sha256: 5e1d0ffd612f7a010901b115540348c85d123a91f03dc11b8a4c17581cd2d743
Contents?: true
Size: 1.25 KB
Versions: 4
Compression:
Stored size: 1.25 KB
Contents
# frozen_string_literal: true module Eac module CommonFormHelper class FormBuilder module CurrencyField def currency_field(field_name, options = {}) hidden_id = SecureRandom.hex(5) visible_id = SecureRandom.hex(5) cf = field(field_name, options) do form.hidden_field(field_name, id: hidden_id) << helper.text_field_tag("#{field_name}_visible", '', id: visible_id, class: 'form-control') end cf << javascript_currency_mask(hidden_id, visible_id) end private def javascript_currency_mask(hidden_id, visible_id) helper.content_tag :script do helper.raw("new CurrencyField('#{hidden_id}', '#{visible_id}', " \ "#{mask_money_options});") end end def mask_money_options <<~JSON_CODE { prefix: '#{I18n.t('number.currency.format.unit')} ', allowNegative: true, thousands: '#{I18n.t('number.currency.format.delimiter')}', decimal: '#{I18n.t('number.currency.format.separator')}', affixesStay: false } JSON_CODE end end end end end
Version data entries
4 entries across 4 versions & 1 rubygems