From 1fff6da45deae04a0798ae0d3ec8ba24a7fae720 Mon Sep 17 00:00:00 2001 From: Anton Date: Mon, 22 Jan 2024 13:48:37 +0100 Subject: [PATCH] Refactor checklist [SCI-9959] --- .../checklist_items_controller.rb | 7 +- .../vue/shared/content/checklist.vue | 86 ++++++++++--------- .../vue/shared/content/checklistItem.vue | 23 ++--- app/javascript/vue/shared/inline_edit.vue | 2 +- app/models/checklist_item.rb | 10 +-- 5 files changed, 66 insertions(+), 62 deletions(-) diff --git a/app/controllers/step_elements/checklist_items_controller.rb b/app/controllers/step_elements/checklist_items_controller.rb index 9889d6f51..6870ce8fe 100644 --- a/app/controllers/step_elements/checklist_items_controller.rb +++ b/app/controllers/step_elements/checklist_items_controller.rb @@ -18,7 +18,7 @@ module StepElements checklist_item = @checklist.checklist_items.new(checklist_item_params.merge!(created_by: current_user)) new_items = [] ActiveRecord::Base.transaction do - new_items = checklist_item.save_multiline! + new_items = checklist_item.save_multiline!(after_id: params[:after_id]) new_items.each do |item| log_activity( "#{@step.protocol.in_module? ? :task : :protocol}_step_checklist_item_added", @@ -102,9 +102,10 @@ module StepElements end def reorder - checklist_item = @checklist.checklist_items.find(checklist_item_params[:id]) + checklist_item = @checklist.checklist_items.find(params[:id]) ActiveRecord::Base.transaction do - checklist_item.insert_at(checklist_item_params[:position]) + insert_at = (@checklist.checklist_items.find_by(id: params[:after_id])&.position || 0) + checklist_item.insert_at(insert_at) end render json: params[:checklist_item_positions], status: :ok rescue ActiveRecord::RecordInvalid diff --git a/app/javascript/vue/shared/content/checklist.vue b/app/javascript/vue/shared/content/checklist.vue index 01f878aa9..b891fa1a0 100644 --- a/app/javascript/vue/shared/content/checklist.vue +++ b/app/javascript/vue/shared/content/checklist.vue @@ -30,7 +30,7 @@ @delete="showDeleteModal" > -
+
+ @keyup.enter="addItem(checklistItems[checklistItems.length - 1]?.id)" + @click="addItem(checklistItems[checklistItems.length - 1]?.id)"> {{ i18n.t('protocols.steps.insert.checklist_item') }}
@@ -81,6 +81,9 @@