adjust form fields
This commit is contained in:
@@ -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
|
||||||
{}
|
{}
|
||||||
|
|||||||
Reference in New Issue
Block a user