Broadcasting status change
This commit is contained in:
@@ -9,6 +9,8 @@ module Tasks
|
||||
|
||||
delegate :model_name, to: Task
|
||||
|
||||
after_success :broadcast_status_changes
|
||||
|
||||
def perform(task)
|
||||
@task = task
|
||||
@id = task.id
|
||||
@@ -18,5 +20,19 @@ module Tasks
|
||||
@task.status_id = status_id
|
||||
save @task
|
||||
end
|
||||
|
||||
private
|
||||
|
||||
def broadcast_status_changes
|
||||
view_model_with_form = Tasks::Statuses::SelectorViewModel.new(task, with_form: true)
|
||||
view_model_no_form = Tasks::Statuses::SelectorViewModel.new(task, with_form: false)
|
||||
|
||||
task.broadcast_replace_to [task, :status, :with_form],
|
||||
target: view_model_with_form.dom_id,
|
||||
renderable: view_model_with_form
|
||||
task.broadcast_replace_to [task, :status, :no_form],
|
||||
target: view_model_no_form.dom_id,
|
||||
renderable: view_model_no_form
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
Reference in New Issue
Block a user