Task status selector in index

This commit is contained in:
2025-10-31 22:42:26 +02:00
parent 8bb22f8e04
commit 74c22b7b3d
11 changed files with 92 additions and 6 deletions
@@ -0,0 +1,2 @@
details.dropdown class=selector_class id=id data-controller="tasks--status-selector"
= render partial: 'status_selector_inner', locals: {selector_id: id, task:, with_form:}
@@ -0,0 +1,9 @@
summary= task_status_badge task.status
ul
- task.project.task_statuses.default_order.each do |status|
li
a href="#" data-status-id="#{status.id}" data-action="tasks--status-selector#changeStatus:prevent" = task_status_badge status
- if with_form
= form_with model: Tasks::ChangeStatus.new, url: change_status_task_path(task), method: :patch, data: {'tasks--status-selector-target': 'form', action: 'turbo:submit-end->tasks--status-selector#finalize'} do |f|
= hidden_field_tag :selector_id, selector_id
= f.hidden_field :status_id, data: {'tasks--status-selector-target': 'statusField'}
@@ -0,0 +1,2 @@
- selector_id = params.fetch(:selector_id)
= turbo_stream.update selector_id, render(partial: 'status_selector_inner', locals: {selector_id:, task: @task, with_form: true})
+2 -1
View File
@@ -11,7 +11,8 @@ h1= tasks_index_title
- cache task do
tr
td= link_to task.full_number, task_path(task)
td= task_status_badge task.status
td
= task_status_selector task, selector_class: 'small', id: "task_status_selector_#{task.id}", with_form: true
td= task.title
td
= link_to 'Edit', edit_task_path(task)