diff --git a/app/javascript/vue/forms/show.vue b/app/javascript/vue/forms/show.vue index cd149c76b..0220759e6 100644 --- a/app/javascript/vue/forms/show.vue +++ b/app/javascript/vue/forms/show.vue @@ -89,6 +89,10 @@ @update="updateField" @delete="deleteField" /> +
+ {{ i18n.t('forms.show.no_block') }} +
@@ -216,7 +220,7 @@ export default { axios.delete(field.attributes.urls.show).then(() => { this.fields.splice(index, 1); if (this.fields.length > 0) { - [this.activeField] = this.fields; + this.activeField = this.fields[index - 1]; } else { this.activeField = {}; } diff --git a/app/models/form.rb b/app/models/form.rb index b9d2e2bb6..eb2f7bd5c 100644 --- a/app/models/form.rb +++ b/app/models/form.rb @@ -20,7 +20,7 @@ class Form < ApplicationRecord belongs_to :restored_by, class_name: 'User', optional: true belongs_to :default_public_user_role, class_name: 'UserRole', optional: true - has_many :form_fields, inverse_of: :form, dependent: :destroy + has_many :form_fields, -> { order(:position) }, inverse_of: :form, dependent: :destroy has_many :form_responses, dependent: :destroy has_many :users, through: :user_assignments diff --git a/config/locales/en.yml b/config/locales/en.yml index 59547ffd2..bef843b34 100644 --- a/config/locales/en.yml +++ b/config/locales/en.yml @@ -1126,6 +1126,7 @@ en: unit_placeholder: 'Add a unit' time_label: 'Include time' range_label: 'Include range' + no_block: 'Add your first form block' validations: response_validation: title: 'Response validation'