|
|
|
@ -102,14 +102,16 @@ module Templates
|
|
|
|
|
|
|
|
|
|
|
|
field_name = field_name&.encode('utf-8', invalid: :replace, undef: :replace, replace: '')
|
|
|
|
field_name = field_name&.encode('utf-8', invalid: :replace, undef: :replace, replace: '')
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
attrs = { name: field_name.to_s }
|
|
|
|
|
|
|
|
attrs[:description] = field[:TU] if field[:TU].present? && field[:TU] != field.full_field_name
|
|
|
|
|
|
|
|
|
|
|
|
if field.field_type == :Btn && field.concrete_field_type == :radio_button && field[:Opt].present?
|
|
|
|
if field.field_type == :Btn && field.concrete_field_type == :radio_button && field[:Opt].present?
|
|
|
|
selected_option_index = (field.allowed_values || []).find_index(field.field_value)
|
|
|
|
selected_option_index = (field.allowed_values || []).find_index(field.field_value)
|
|
|
|
selected_option = field[:Opt][selected_option_index] if selected_option_index
|
|
|
|
selected_option = field[:Opt][selected_option_index] if selected_option_index
|
|
|
|
|
|
|
|
|
|
|
|
{
|
|
|
|
{
|
|
|
|
name: field_name.to_s,
|
|
|
|
**attrs,
|
|
|
|
type: 'radio',
|
|
|
|
type: 'radio',
|
|
|
|
description: field[:TU],
|
|
|
|
|
|
|
|
options: build_options(field[:Opt], 'radio'),
|
|
|
|
options: build_options(field[:Opt], 'radio'),
|
|
|
|
default_value: selected_option
|
|
|
|
default_value: selected_option
|
|
|
|
}
|
|
|
|
}
|
|
|
|
@ -120,55 +122,48 @@ module Templates
|
|
|
|
return {} if field.allowed_values.include?(:BBox)
|
|
|
|
return {} if field.allowed_values.include?(:BBox)
|
|
|
|
|
|
|
|
|
|
|
|
{
|
|
|
|
{
|
|
|
|
name: field_name.to_s,
|
|
|
|
**attrs,
|
|
|
|
type: 'radio',
|
|
|
|
type: 'radio',
|
|
|
|
description: field[:TU],
|
|
|
|
|
|
|
|
options: build_options(field.allowed_values, 'radio'),
|
|
|
|
options: build_options(field.allowed_values, 'radio'),
|
|
|
|
default_value: selected_option
|
|
|
|
default_value: selected_option
|
|
|
|
}
|
|
|
|
}
|
|
|
|
elsif field.field_type == :Btn && field.concrete_field_type == :check_box
|
|
|
|
elsif field.field_type == :Btn && field.concrete_field_type == :check_box
|
|
|
|
{
|
|
|
|
{
|
|
|
|
name: field_name.to_s,
|
|
|
|
**attrs,
|
|
|
|
type: 'checkbox',
|
|
|
|
type: 'checkbox',
|
|
|
|
description: field[:TU],
|
|
|
|
|
|
|
|
default_value: field.field_value.present?
|
|
|
|
default_value: field.field_value.present?
|
|
|
|
}
|
|
|
|
}
|
|
|
|
elsif field.field_type == :Ch &&
|
|
|
|
elsif field.field_type == :Ch &&
|
|
|
|
%i[combo_box editable_combo_box].include?(field.concrete_field_type) && field[:Opt].present?
|
|
|
|
%i[combo_box editable_combo_box].include?(field.concrete_field_type) && field[:Opt].present?
|
|
|
|
{
|
|
|
|
{
|
|
|
|
name: field_name.to_s,
|
|
|
|
**attrs,
|
|
|
|
type: 'select',
|
|
|
|
type: 'select',
|
|
|
|
description: field[:TU],
|
|
|
|
|
|
|
|
options: build_options(field[:Opt]),
|
|
|
|
options: build_options(field[:Opt]),
|
|
|
|
default_value: field.field_value
|
|
|
|
default_value: field.field_value
|
|
|
|
}
|
|
|
|
}
|
|
|
|
elsif field.field_type == :Ch && field.concrete_field_type == :multi_select && field[:Opt].present?
|
|
|
|
elsif field.field_type == :Ch && field.concrete_field_type == :multi_select && field[:Opt].present?
|
|
|
|
{
|
|
|
|
{
|
|
|
|
name: field_name.to_s,
|
|
|
|
**attrs,
|
|
|
|
type: 'multiple',
|
|
|
|
type: 'multiple',
|
|
|
|
description: field[:TU],
|
|
|
|
|
|
|
|
options: build_options(field[:Opt], 'multiple'),
|
|
|
|
options: build_options(field[:Opt], 'multiple'),
|
|
|
|
default_value: field.field_value
|
|
|
|
default_value: field.field_value
|
|
|
|
}
|
|
|
|
}
|
|
|
|
elsif field.field_type == :Tx && field.concrete_field_type == :comb_text_field
|
|
|
|
elsif field.field_type == :Tx && field.concrete_field_type == :comb_text_field
|
|
|
|
{
|
|
|
|
{
|
|
|
|
name: field_name.to_s,
|
|
|
|
**attrs,
|
|
|
|
type: 'cells',
|
|
|
|
type: 'cells',
|
|
|
|
description: field[:TU],
|
|
|
|
|
|
|
|
default_value: field.field_value
|
|
|
|
default_value: field.field_value
|
|
|
|
}
|
|
|
|
}
|
|
|
|
elsif field.field_type == :Tx
|
|
|
|
elsif field.field_type == :Tx
|
|
|
|
{
|
|
|
|
{
|
|
|
|
name: field_name.to_s,
|
|
|
|
**attrs,
|
|
|
|
type: 'text',
|
|
|
|
type: 'text',
|
|
|
|
description: field[:TU],
|
|
|
|
|
|
|
|
default_value: field.field_value
|
|
|
|
default_value: field.field_value
|
|
|
|
}
|
|
|
|
}
|
|
|
|
elsif field.field_type == :Sig
|
|
|
|
elsif field.field_type == :Sig
|
|
|
|
{
|
|
|
|
{
|
|
|
|
name: field_name.to_s,
|
|
|
|
**attrs,
|
|
|
|
type: 'signature',
|
|
|
|
type: 'signature'
|
|
|
|
description: field[:TU]
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
else
|
|
|
|
else
|
|
|
|
{}
|
|
|
|
{}
|
|
|
|
|