Add wrapper for garnish/2 for phx event
This commit is contained in:
@ -27,6 +27,16 @@ defmodule Outlook.InternalTree do
|
|||||||
|> RawInternalBasic.partition_to_tunits()
|
|> RawInternalBasic.partition_to_tunits()
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def add_phx_click_event(tree, opts) do
|
||||||
|
phx_opts = %{
|
||||||
|
"phx-click": Keyword.get(opts, :click),
|
||||||
|
"phx-target": Keyword.get(opts, :target) |> to_string,
|
||||||
|
"phx-value-nid": fn n -> n.nid end
|
||||||
|
}
|
||||||
|
options = Map.put(%{}, Keyword.get(opts, :nodes, :elements), phx_opts)
|
||||||
|
garnish(tree, options)
|
||||||
|
end
|
||||||
|
|
||||||
def garnish(tree, options) do
|
def garnish(tree, options) do
|
||||||
options = Enum.reduce(
|
options = Enum.reduce(
|
||||||
~w(el_ids el_names tu_ids)a,
|
~w(el_ids el_names tu_ids)a,
|
||||||
|
|||||||
@ -141,8 +141,10 @@ defmodule OutlookWeb.TranslationLive.FormComponent do
|
|||||||
socket
|
socket
|
||||||
|> assign(
|
|> assign(
|
||||||
:article_tree,
|
:article_tree,
|
||||||
InternalTree.garnish(translation.article.content,
|
InternalTree.add_phx_click_event(translation.article.content,
|
||||||
%{tunits: %{phx: %{click: "select_current_tunit", target: socket.assigns.myself}}}))
|
nodes: :tunits,
|
||||||
|
click: "select_current_tunit",
|
||||||
|
target: socket.assigns.myself))
|
||||||
end
|
end
|
||||||
|
|
||||||
defp update_translation_with_current_tunit(socket, nil), do: socket
|
defp update_translation_with_current_tunit(socket, nil), do: socket
|
||||||
|
|||||||
Reference in New Issue
Block a user