add number format

This commit is contained in:
Pete Matsyburka
2024-05-12 11:12:07 +03:00
parent fc5c4ff2fc
commit 6f7128a51c
7 changed files with 105 additions and 0 deletions
+21
View File
@@ -0,0 +1,21 @@
# frozen_string_literal: true
module NumberUtils
FORMAT_LOCALES = {
'dot' => 'de',
'space' => 'fr',
'comma' => 'en'
}.freeze
module_function
def format_number(number, format)
locale = FORMAT_LOCALES[format]
if locale
ApplicationController.helpers.number_with_delimiter(number, locale:)
else
number
end
end
end
+2
View File
@@ -261,6 +261,8 @@ module Submissions
value = TimeUtils.format_date_string(value, field.dig('preferences', 'format'), account.locale)
end
value = NumberUtils.format_number(value, field.dig('preferences', 'format')) if field['type'] == 'number'
value = value.join(', ') if value.is_a?(Array)
composer.formatted_text_box([{ text: TextUtils.maybe_rtl_reverse(value.to_s.presence || 'n/a') }],
@@ -213,6 +213,8 @@ module Submissions
value = TimeUtils.format_date_string(value, field.dig('preferences', 'format'), account.locale)
end
value = NumberUtils.format_number(value, field.dig('preferences', 'format')) if field['type'] == 'number'
value = TextUtils.maybe_rtl_reverse(Array.wrap(value).join(', '))
text = HexaPDF::Layout::TextFragment.create(value, font: pdf.fonts.add(FONT_NAME),