gilbertosj
Problem creating button with drab
I need some help creating a trigger … with the “drab”
can you help me?
scenarios is that:
He calls this drab:
html
<li class="nav-item"><a drab="click:test_start('test')" class="nav-link"><i class="nav-link"></i><span class="nav-link-text">start</span></a></li>
He calls this drab:
defhandler click:test_start(socket, sender, name_project) do
user = socket.assigns.current_user.username
user_id = socket.assigns.current_user.id
query_password = from [p] in "test", select: p.password_project, where: p.name == ^name_project and p.user_id == ^user_id
query_languagecode = from [p] in "test", select: p.languagecode, where: p.name == ^name_project and p.user_id == ^user_id
passwd = Repo.one(query_password_project)
languagecode = Repo.one(query_languagecode)
databasedb = "#{name_project}"
TestWeb.CustomController.create_function1(user, passwd)
TestWeb.CustomController.create_function2(user, passwd)
TestWeb.CustomController.create_function3(user, passwd)
TestWeb.CustomController.create_function4(user, passwd)
IO.puts("start!")
end
problem is …
If the person clicks on this drab, and then immediately “refresh” the page, he cancels this function entirely.
Currently I need this drab to continue running even if the client refresh the page.
Would it be possible to do that?
Most Liked Responses
egze
Sorry no specific examples. But do read up on DynamicSupervisor. Try to write a GenServer that can be started dynamically with some params (like user_id for example). Play with it in the IEx and make sure you understand how to start the process and find it later by params.
Then once you got that - do the same in Drab. In the onload callback, locate or start your GenServer like you did in IEx. Now your GenServer will survive reload of page/Drab.
Edit
I think you’d start your GenServer in the click:test_start callback. Or maybe a Task will also be fine here.








