diff --git a/lib/onesqlx_web/live/sql_editor_live.ex b/lib/onesqlx_web/live/sql_editor_live.ex index 0658312..16cc383 100644 --- a/lib/onesqlx_web/live/sql_editor_live.ex +++ b/lib/onesqlx_web/live/sql_editor_live.ex @@ -256,6 +256,15 @@ defmodule OnesqlxWeb.SqlEditorLive do title="Click to copy" > {format_cell(cell)} + + +
{@viewing_cell}
+ + """ end @@ -400,7 +427,8 @@ defmodule OnesqlxWeb.SqlEditorLive do tab_order: [tab.id], tab_counter: 1, show_save_modal?: false, - save_form: nil + save_form: nil, + viewing_cell: nil ) |> stream(:history, []) @@ -711,6 +739,14 @@ defmodule OnesqlxWeb.SqlEditorLive do end end + def handle_event("view_cell", %{"text" => text}, socket) do + {:noreply, assign(socket, viewing_cell: text)} + end + + def handle_event("close_cell_view", _params, socket) do + {:noreply, assign(socket, viewing_cell: nil)} + end + # -- Handle Async ------------------------------------------------------------ @impl true @@ -1019,6 +1055,12 @@ defmodule OnesqlxWeb.SqlEditorLive do defp format_cell(value) when is_number(value), do: to_string(value) defp format_cell(value), do: inspect(value) + defp truncated?(value) when is_binary(value), do: String.length(value) > 500 + defp truncated?(_), do: false + + defp raw_cell(value) when is_binary(value), do: value + defp raw_cell(value), do: inspect(value) + defp sort_rows(rows, nil, _direction), do: rows defp sort_rows(rows, column, direction) do