diff --git a/app/helpers/dynamic_form_helper.rb b/app/helpers/dynamic_form_helper.rb index 5493bdc..5039e8f 100644 --- a/app/helpers/dynamic_form_helper.rb +++ b/app/helpers/dynamic_form_helper.rb @@ -23,15 +23,15 @@ def create_text_field(form, value, name, label, html_class: nil, is_multiple: false, index: 0) render partial: 'shared/dynamic_form/fields/text_field', locals: { - f: form, - multiple: is_multiple, - index: index, - field_value: value, - field_name: name, - field_label: label, - field_class: html_class, - input_type: nil - } + f: form, + multiple: is_multiple, + index: index, + field_value: value, + field_name: name, + field_label: label, + field_class: html_class, + input_type: nil + } end @@ -39,15 +39,15 @@ def create_url_field(form, value, name, label, html_class: nil, is_multiple: false, index: 0) render partial: 'shared/dynamic_form/fields/text_field', locals: { - f: form, - multiple: is_multiple, - index: index, - field_value: value, - field_name: name, - field_label: label, - field_class: html_class, - input_type: 'url' - } + f: form, + multiple: is_multiple, + index: index, + field_value: value, + field_name: name, + field_label: label, + field_class: html_class, + input_type: 'url' + } end @@ -55,15 +55,15 @@ def create_email_field(form, value, name, label, html_class: nil, is_multiple: false, index: 0) render partial: 'shared/dynamic_form/fields/text_field', locals: { - f: form, - multiple: is_multiple, - index: index, - field_value: value, - field_name: name, - field_label: label, - field_class: html_class, - input_type: 'email' - } + f: form, + multiple: is_multiple, + index: index, + field_value: value, + field_name: name, + field_label: label, + field_class: html_class, + input_type: 'email' + } end @@ -71,29 +71,30 @@ def create_date_field(form, value, name, label, html_class: nil, is_multiple: false, index: 0) render partial: 'shared/dynamic_form/fields/text_field', locals: { - f: form, - multiple: is_multiple, - index: index, - field_value: value, - field_name: name, - field_label: label, - field_class: html_class, - input_type: 'date' - } + f: form, + multiple: is_multiple, + index: index, + field_value: value, + field_name: name, + field_label: label, + field_class: html_class, + input_type: 'date' + } end - def create_number_field(form, value, name, label, html_class=nil, is_multiple=false, index=0) + def create_number_field(form, value, name, label, html_class: nil, is_multiple: false, index: 0) render partial: 'shared/dynamic_form/fields/number_field', locals: { - f: form, - multiple: is_multiple, - index: index, - field_value: value, - field_name: name, - field_label: label - } + f: form, + multiple: is_multiple, + index: index, + field_value: value, + field_name: name, + field_label: label, + field_class: html_class + } end @@ -101,35 +102,37 @@ def create_checkbox_field(form, value, name, label, html_class: nil) render partial: 'shared/dynamic_form/fields/checkbox_field', locals: { - f: form, - field_value: value, - field_name: name, - field_label: label - } + f: form, + field_value: value, + field_name: name, + field_label: label + } end - def create_select_field(form, value, name, properties, html_class: nil) - render partial: 'questions/fields/select_field', + def create_select_field(form, value, name, label, select_values, html_class: nil) + render partial: 'shared/dynamic_form/fields/select_field', locals: { - f: form, - field_value: value, - field_name: name, - field_properties: properties - } + f: form, + selected_value: value, + field_name: name, + field_label: label, + select_values: select_values, + field_class: html_class + } end def create_schema_field(form, value, name, label, is_multiple=false, index=0, schema_id, answer_id) render partial: 'questions/fields/schema_field', locals: { - f: form, - multiple: is_multiple, - index: index, - field_value: value, - field_name: name, - field_label: label, - schema_id: schema_id, - answer_id: answer_id, - } + f: form, + multiple: is_multiple, + index: index, + field_value: value, + field_name: name, + field_label: label, + schema_id: schema_id, + answer_id: answer_id, + } end end diff --git a/app/views/branded/plans/plan_details/_plan_funding_form.html.erb b/app/views/branded/plans/plan_details/_plan_funding_form.html.erb index 52979d4..0d9e0cd 100644 --- a/app/views/branded/plans/plan_details/_plan_funding_form.html.erb +++ b/app/views/branded/plans/plan_details/_plan_funding_form.html.erb @@ -20,15 +20,14 @@ %>
-
- <%= f.label "structured_answer[funder[funderId[idType]]]", _('Identifier Type'), class: 'control-label' %> -
-
- <%= select_tag "structured_answer[funder[funderId[idType]]]", - options_for_select(["ROR", "ISSNI", "RNSR", "FundRef"], - selected: fragment && fragment["funder"] && fragment["funder"]["funderId"] ? fragment["funder"]["funderId"]["idType"] : "ROR" ), - class: "form-control" %> -
+ <%= create_select_field( + f, + fragment && fragment["funder"] && fragment["funder"]["funderId"] ? fragment["funder"]["funderId"]["idType"] : "ROR", + "structured_answer[funder[funderId[idType]]]", + _('Identifier Type'), + ["ROR", "ISSNI", "RNSR", "FundRef"] + ) + %>
<%= create_url_field( @@ -53,25 +52,23 @@ %>
-
- <%= f.label "structured_answer[grantId[idType]]", _('Identifier Type'), class: 'control-label' %> -
-
- <%= select_tag "structured_answer[grantId[idType]]", - options_for_select(["DOI", "URL"], - selected: fragment && fragment["grantId"] ? fragment["grantId"]["idType"] : "DOI" ), - class: "form-control" %> -
+ <%= create_select_field( + f, + fragment && fragment["grantId"] ? fragment["grantId"]["idType"] : "DOI", + "structured_answer[grantId[idType]]", + _('Identifier Type'), + ["DOI", "URL"] + ) + %>
-
- <%= f.label "structured_answer[fundingStatus]", _('Funding Status'), class: 'control-label' %> -
-
- <%= select_tag "structured_answer[fundingStatus]", - options_for_select(["Planned","Applied", "Granted", "Rejected"], - selected: fragment ? fragment["fundingStatus"] : "Planned" ), - class: "form-control" %> -
+ <%= create_select_field( + f, + fragment ? fragment["fundingStatus"] : "Planned", + "structured_answer[fundingStatus]", + _('Funding Status'), + ["Planned","Applied", "Granted", "Rejected"] + ) + %>
\ No newline at end of file diff --git a/app/views/branded/plans/plan_details/_plan_metadata.html.erb b/app/views/branded/plans/plan_details/_plan_metadata.html.erb index 3987ff5..2408927 100644 --- a/app/views/branded/plans/plan_details/_plan_metadata.html.erb +++ b/app/views/branded/plans/plan_details/_plan_metadata.html.erb @@ -35,15 +35,14 @@
<%= _('DMP ID') %>
-
- <%= f.label "plan[dmpID[idType]]", _('Identifier Type'), class: 'control-label' %> -
-
- <%= select_tag "plan[dmpID[idType]]", - options_for_select(["DOI", "HANDLE", "ARK", "URL"], - selected: dmpID ? dmpID["idType"] : "DOI" ), - class: "form-control" %> -
+ <%= create_select_field( + f, + dmpID ? dmpID["idType"] : "DOI", + "plan[dmpID[idType]]", + _('Identifier Type'), + ["DOI", "HANDLE", "ARK", "URL"] + ) + %>
<%= create_text_field( diff --git a/app/views/branded/plans/plan_details/_plan_partner_form.html.erb b/app/views/branded/plans/plan_details/_plan_partner_form.html.erb index bec686f..e5de7d9 100644 --- a/app/views/branded/plans/plan_details/_plan_partner_form.html.erb +++ b/app/views/branded/plans/plan_details/_plan_partner_form.html.erb @@ -22,15 +22,14 @@ %>
-
- <%= f.label "structured_answer[orgId[idType]]", _('Identifier Type'), class: 'control-label' %> -
-
- <%= select_tag "structured_answer[orgId[idType]]", - options_for_select(["ROR", "ISSNI", "RNSR"], - selected: fragment && fragment["orgId"] ? fragment["orgId"]["idType"] : "ROR" ), - class: "form-control" %> -
+ <%= create_select_field( + f, + fragment && fragment["orgId"] ? fragment["orgId"]["idType"] : "ROR", + "structured_answer[orgId[idType]]", + _('Identifier Type'), + ["ROR", "ISSNI", "RNSR"] + ) + %>
diff --git a/app/views/branded/shared/dynamic_form/fields/_select_field.html.erb b/app/views/branded/shared/dynamic_form/fields/_select_field.html.erb new file mode 100644 index 0000000..3cec9d7 --- /dev/null +++ b/app/views/branded/shared/dynamic_form/fields/_select_field.html.erb @@ -0,0 +1,9 @@ +
+ <%= f.label field_name, field_label, class: 'control-label' %> +
+
+ <%= select_tag field_name, + options_for_select(select_values, + selected: selected_value), + class: "form-control #{field_class}" %> +
\ No newline at end of file