undid af

0a76aa3 · gmorell · 2022-08-03 00:46

8 files +49 -67

Files changed

modified apps/room_sanctum/lib/room_sanctum_web/live/cfg_vision_live/show.ex
+10 −21
@@ -12,25 +12,20 @@ defmodule RoomSanctumWeb.VisionLive.Show do
12 12 @impl true
13 13 def handle_params(%{"id" => id}, _, socket) do
14 14 {:noreply,
15 − socket
16 − |> assign(:page_title, page_title(socket.assigns.live_action))
17 − |> assign(:vision, Configuration.get_vision!(id))
18 − |> assign(:vision_id, id)
19 − |> assign(:preview, [])
20 − |> assign(:queries, [])
21 − |> assign(:preview_mode, :basic)
15 + socket
16 + |> assign(:page_title, page_title(socket.assigns.live_action))
17 + |> assign(:vision, Configuration.get_vision!(id))
18 + |> assign(:vision_id, id)
19 + |> assign(:preview, [])
20 + |> assign(:queries, [])
21 + |> assign(:preview_mode, :basic)
22 22 }
23 23 end
24 24
25 25 def handle_info(:update, socket) do
26 26 Process.send_after(self(), :update, 15000)
27 27 %{data: data, queries: queries} = RoomSanctum.Worker.Vision.get_state(socket.assigns.vision_id)
28 − {
29 − :noreply,
30 − socket
31 − |> assign(:preview, data)
32 − |> assign(:queries, queries)
33 − }
28 + {:noreply, socket |> assign(:preview, data) |> assign(:queries, queries)}
34 29 end
35 30
36 31 defp do_toggle(state) do
@@ -41,11 +36,7 @@ defmodule RoomSanctumWeb.VisionLive.Show do
41 36 end
42 37
43 38 def handle_event("toggle-preview-mode", _params, socket) do
44 − {
45 − :noreply,
46 − socket
47 − |> assign(:preview_mode, do_toggle(socket.assigns.preview_mode))
48 − }
39 + {:noreply, socket |> assign(:preview_mode, do_toggle(socket.assigns.preview_mode))}
49 40 end
50 41
51 42 defp page_title(:show), do: "Vision Detail"
@@ -94,9 +85,7 @@ defmodule RoomSanctumWeb.VisionLive.Show do
94 85
95 86
96 87 defp get_query_data_icon(item, queries) do
97 − as_map = queries
98 − |> Enum.map(fn x -> {x.id, x} end)
99 − |> Enum.into(%{})
88 + as_map = queries |> Enum.map(fn x -> {x.id, x} end) |> Enum.into(%{})
100 89 case Map.get(as_map, item) do
101 90 nil -> ""
102 91 _val -> icon(_val.source.type)
modified apps/room_sanctum/lib/room_sanctum_web/live/cfg_vision_live/show.html.heex
+39 −46
@@ -79,55 +79,48 @@
79 79 <div class="card card-compact w-1/2 bg-base-100 shadow-xl m-2">
80 80 <div class="card-body">
81 81
82 − <div class="flex">
83 − <div class="flex-auto basis-4/5">
84 − <h3 class="card-title w-full">Preview</h3>
82 + <div class="flex">
83 + <div class="flex-auto basis-4/5">
84 + <h3 class="card-title w-full">Preview</h3>
85 + </div>
86 + <div class="flex-1 w-3/4">
87 + &nbsp;
88 + </div>
89 + <div class="flex-none w-20">
90 + <button class="btn btn-secondary btn-sm" phx-click="toggle-preview-mode"><%= @preview_mode %></button>
91 + </div>
85 92 </div>
86 − <div class="flex-1 w-3/4">
87 − &nbsp;
88 − </div>
89 − <div class="flex-none w-20">
90 − <button class="btn btn-secondary btn-sm" phx-click="toggle-preview-mode"><%= @preview_mode %></button>
91 − </div>
92 − </div>
93 93 <%= case @preview_mode do %>
94 94 <%= :basic -> %>
95 − <%= for {k, p} <- @preview do %>
96 − <div class="flex gap-2">
97 − <i class={"fas fa-fw fa-xl #{icon(k |> elem(1))}"}></i>
98 − <span class="text-secondary font-bold"><%= get_query_data(k |> elem(0), @queries, 64) %></span>
99 − </div>
100 − <%= case k do %>
101 − <%= {_, :gtfs} -> %> <.p_gtfs entries={condense(k, p) |> preview(k)}>
102 − </
103 − .p_gtfs>
104 − <%= {_, :gbfs} -> %> <.p_gbfs entries={condense(k, p) |> preview(k)}>
105 − </
106 − .p_gbfs>
107 − <%= {_, :tidal} -> %> <.p_tidal entries={condense(k, p) |> preview(k)}>
108 − </
109 − .p_tidal>
110 − <%= {_, :weather} -> %> <.p_weather entries={condense(k, p) |> preview(k)}>
111 −</.p_weather>
112 −<%= {_, :aqi} -> %> <.p_aqi entries={condense(k, p) |> preview(k)}> </.p_aqi>
113 −<%= {_, :ephem} -> %> <.p_ephem entries={condense(k, p) |> preview(k)}> </.p_ephem>
114 −<%= {_, :calendar} -> %> <.p_calendar entries={condense(k, p) |> preview(k)}> </.p_calendar>
115 −<% end %>
95 + <%= for {k, p} <- @preview do %>
96 + <div class="flex gap-2">
97 + <i class={"fas fa-fw fa-xl #{icon(k |> elem(1))}"}></i>
98 + <span class="text-secondary font-bold"><%= get_query_data(k |> elem(0), @queries, 64) %></span>
99 + </div>
100 + <%= case k do %>
101 + <%= {_, :gtfs} -> %> <.p_gtfs entries={condense(k, p) |> preview(k)}> </.p_gtfs>
102 + <%= {_, :gbfs} -> %> <.p_gbfs entries={condense(k, p) |> preview(k)}> </.p_gbfs>
103 + <%= {_, :tidal} -> %> <.p_tidal entries={condense(k, p) |> preview(k)}> </.p_tidal>
104 + <%= {_, :weather} -> %> <.p_weather entries={condense(k, p) |> preview(k)}> </.p_weather>
105 + <%= {_, :aqi} -> %> <.p_aqi entries={condense(k, p) |> preview(k)}> </.p_aqi>
106 + <%= {_, :ephem} -> %> <.p_ephem entries={condense(k, p) |> preview(k)}> </.p_ephem>
107 + <%= {_, :calendar} -> %> <.p_calendar entries={condense(k, p) |> preview(k)}> </.p_calendar>
108 + <% end %>
109 + <% end %>
110 + <%= :raw -> %>
111 + <%= for {k, p} <- @preview do %>
112 + <div class="flex">
113 + <div class="w-16">
114 + <i class={"fas fa-fw fa-2xl #{icon(k |> elem(1))}"}></i>
115 + </div>
116 + <div class="w-7/8">
117 + <span class="text-secondary font-bold"><%= get_query_data(k |> elem(0), @queries, 64) %></span>
118 + <pre><%= condense(k, p) |> Poison.encode!(pretty: true)%></pre>
119 + </div>
120 + </div>
116 121 <% end %>
117 −<%= :raw -> %>
118 −<%= for {k, p} <- @preview do %>
119 −<div class="flex">
120 − <div class="w-16">
121 − <i class={"fas fa-fw fa-2xl #{icon(k |> elem(1))}"}></i>
122 − </div>
123 − <div class="w-7/8">
124 − <span class="text-secondary font-bold"><%= get_query_data(k |> elem(0), @queries, 64) %></span>
125 − <pre><%= condense(k, p) |> Poison.encode!(pretty: true)%></pre>
126 − </div>
127 −</div>
128 −<% end %>
129 122 <% end %>
130 −</div>
131 −</div>
132 −</div>
123 + </div>
124 + </div>
125 + </div>
133 126 </div>

Parents: 4402e76