larshei

larshei

Push_event from components

What I want to achieve

I am currently building a small frontend displaying a JavaScript based map, with markers for positions of assets. The map itself is a Component.

There are basically just two pages:

  1. An overview page listing all assets
  2. A detail page per asset.

I can update the map using push_event/3, what works well on the details page:
There are two events, add_asset and update_asset.
On mounting the liveview, the asset is added to the map.
When new data comes (in my case in a handle_info), the asset position is updated.

I would like to add a map to the overview page, listing all assets positions.

What I tried to achieve this

As there already is a function to add an assets position to the map, I thought I’d just use that.
The overview page renders a bunch of Components, of which one is the map.
The other components are simply list entries, one per asset. All components are stateless.
I tried to push_event/3 an add_asset event from each components update() callback.

Expected behaviour
I would have expected each asset to be added to the map.

Actual behaviour
Nothing is added.
Each attempt to add an asset should trigger a console.log(), but nothing is logged.

Question
Seems like the events are never actually pushed out to browser.
Does pushing events from within a components update() function not work?
Or maybe, do these occur before the socket connection is established?

First Post!

tomkonidas

tomkonidas

When you push_event/3 your are pushing an event to the client to be consumed by hooks. So you would have to have a JS hook that would catch that event to send back to the backend.

Are these 2 pages different live views? (i.e. Listing.Index and Listing.Show)

Are you mounting the live_component in each view?

Can you paste some code so we can maybe see a little whats going on?

Your JS hooks, LiveView(s) and your component would be sufficient

Where Next?

Popular in Questions Top

sergio
In Ruby, I can go: User.find_by(email: "foobar@email.com").update(email: "hello@email.com") How can I do something similar in Elixir? ...
New
chrisalley
ExUnit now has describe blocks which is a welcome addition coming from RSpec. In the docs, it states that nested hierarchies of describe ...
New
Patoshizzle
After calling mix ecto.create I get this error: 17:00:32.162 [error] GenServer #PID<0.412.0> terminating ** (Postgrex.Error) FATAL...
New
shahryarjb
Hello, I have map which I want to convert it to string like this: the map: %{last_name: "tavakkoli", name: "shahryar"} the string I ne...
New
shahryarjb
Hello, I get Persian date from my client and convert it to normal calendar like this: def jalali_string_to_miladi_english_number(persi...
New
fireproofsocks
Forgive me if this is obvious, but how does one delete a database record WITHOUT selecting it first? Ecto.Repo — Ecto v3.14.0 has exampl...
New
LegitStack
I’m trying to make a websocket server in Phoenix or raw Elixir. I heard about gun, I think I could use cowboy, but since I’m not that sma...
New
beno
I will often find my self writing things similar to: case some_value do nil -> something() "" -> something() _ -> somethi...
New
sergio_101
I am VERY much an elixir newbie. I have taken one elixir course and one phoenix course on Udemy. During that course, I saw the instructor...
New
vonH
In asking this question I am more interested about the expressiveness of the language itself and less concerned about the availability of...
New

Other popular topics Top

sen
Hi All, I set a environment variables in dev.exs , like below code. when i start server, how can i set the ${enable} value? thanks. d...
New
senggen
Erlang/OTP 25 [erts-13.2.2] [source] [64-bit] [smp:8:8] [ds:8:8:10] [async-threads:1] 15:22:35.803 [error] gen_event {lager_file_backend...
New
New
9mm
I am constructing a JSON object (map) and I need to conditionally set a field. I’m trying to write proper elixir-way code… and I’m at a l...
New
gshaw
What is the idiomatic way of matching for not nil in Elixir? E.g., First way: defp halt_if_not_signed_in(conn, signed_in_account) when...
New
aesmail
Hello guys, I have finally made it. I created an admin interface for a framework. It’s been on my todo list for years and with the curre...
New
sergio_101
I am VERY much an elixir newbie. I have taken one elixir course and one phoenix course on Udemy. During that course, I saw the instructor...
New
dblack
I’ve got an issue with an app and I’ve no idea of how to troubleshoot it. I’m hoping someone here might have seen something similar. I p...
New
boundedvariable
I am going through the kafka architecture. All the features what the kafka is providing are already in Erlang. I would like hear your opi...
New
joaquinalcerro
Hi there, I am working with Ecto-Postgresql and I need to call all of the records from a specific table but the table has 40,000 records...
New

We're in Beta

About us Mission Statement