add mask size
This commit is contained in:
@@ -359,14 +359,13 @@ module Submissions
|
||||
value = TimeUtils.format_date_string(value, field.dig('preferences', 'format'), account.locale)
|
||||
end
|
||||
|
||||
if field['type'] == 'number'
|
||||
value = NumberUtils.format_number(value,
|
||||
field.dig('preferences', 'format'))
|
||||
end
|
||||
value = NumberUtils.format_number(value, field.dig('preferences', 'format')) if field['type'] == 'number'
|
||||
|
||||
value = value.join(', ') if value.is_a?(Array)
|
||||
|
||||
value = TextUtils.mask_value(value) if field.dig('preferences', 'mask').present?
|
||||
if (mask = field.dig('preferences', 'mask').presence)
|
||||
value = TextUtils.mask_value(value, mask)
|
||||
end
|
||||
|
||||
composer.formatted_text_box([{ text: TextUtils.maybe_rtl_reverse(value.to_s.presence || 'n/a') }],
|
||||
text_align: value.to_s.match?(RTL_REGEXP) ? :right : :left,
|
||||
|
||||
@@ -391,7 +391,9 @@ module Submissions
|
||||
when ->(type) { type == 'cells' && !area['cell_w'].to_f.zero? }
|
||||
cell_width = area['cell_w'] * width
|
||||
|
||||
value = TextUtils.mask_value(value) if field.dig('preferences', 'mask').present?
|
||||
if (mask = field.dig('preferences', 'mask').presence)
|
||||
value = TextUtils.mask_value(value, mask)
|
||||
end
|
||||
|
||||
chars = TextUtils.maybe_rtl_reverse(value).chars
|
||||
chars = chars.reverse if field.dig('preferences', 'align') == 'right'
|
||||
@@ -442,7 +444,9 @@ module Submissions
|
||||
|
||||
value = TextUtils.maybe_rtl_reverse(Array.wrap(value).join(', '))
|
||||
|
||||
value = TextUtils.mask_value(value) if field.dig('preferences', 'mask').present?
|
||||
if (mask = field.dig('preferences', 'mask').presence)
|
||||
value = TextUtils.mask_value(value, mask)
|
||||
end
|
||||
|
||||
text_params = { font:, fill_color:, font_size: }
|
||||
text_params[:line_height] = text_params[:font_size] * 1.6 if font_name == COURIER_FONT
|
||||
|
||||
+16
-2
@@ -15,8 +15,22 @@ module TextUtils
|
||||
false
|
||||
end
|
||||
|
||||
def mask_value(text)
|
||||
text.to_s.gsub(MASK_REGEXP, MASK_SYMBOL)
|
||||
def mask_value(text, unmask_size = 0)
|
||||
if unmask_size.is_a?(Numeric) && !unmask_size.zero?
|
||||
if unmask_size.negative?
|
||||
[
|
||||
text.first(text.length + unmask_size).gsub(MASK_REGEXP, MASK_SYMBOL),
|
||||
text.last(-unmask_size)
|
||||
].join
|
||||
elsif unmask_size.positive?
|
||||
[
|
||||
text.first(unmask_size),
|
||||
text.last(text.length - unmask_size).gsub(MASK_REGEXP, MASK_SYMBOL)
|
||||
].join
|
||||
end
|
||||
else
|
||||
text.to_s.gsub(MASK_REGEXP, MASK_SYMBOL)
|
||||
end
|
||||
end
|
||||
|
||||
def maybe_rtl_reverse(text)
|
||||
|
||||
Reference in New Issue
Block a user