first phone number normalization

This commit is contained in:
Thelonius Kort
2020-07-13 20:02:16 +02:00
parent 7e5d8ebc2c
commit 52ae841f13

View File

@ -18,21 +18,30 @@ defmodule ClipWeb.BoardLive do
{:ok, assign(socket, snippet: "")}
end
@impl true
def handle_event("normalize", _, %{"snippet" => snippet} = socket) do
defp normalize(pnumber, local_pref \\ "0351", country_pref \\ "0049") do
pnumber
|> String.replace(~r/^\s*\+/, "00")
|> String.replace(~r/\D/, "")
|> String.replace(~r/^00+/, "00")
|> String.replace(~r/^(?=[1-9])/, local_pref)
|> String.replace(~r/^0(?=[1-9])/, country_pref)
end
Phoenix.PubSub.broadcast(Clip.PubSub, "everybody", {:snippet_pasted, %{"snippet" => snippet}})
@impl true
def handle_event("normalize", _, %{assigns: %{snippet: snippet}} = socket) do
norm_snipp = normalize(snippet)
Phoenix.PubSub.broadcast(Clip.PubSub, "everybody", {:snippet_pasted, %{snippet: norm_snipp}})
{:noreply, assign(socket, snippet: snippet)}
end
@impl true
def handle_event("paste", %{"snippet" => snippet}, socket) do
Phoenix.PubSub.broadcast(Clip.PubSub, "everybody", {:snippet_pasted, %{"snippet" => snippet}})
Phoenix.PubSub.broadcast(Clip.PubSub, "everybody", {:snippet_pasted, %{snippet: snippet}})
{:noreply, assign(socket, snippet: snippet)}
end
@impl true
def handle_info({:snippet_pasted, %{"snippet" => snippet}}, socket) do
def handle_info({:snippet_pasted, %{snippet: snippet}}, socket) do
{:noreply, assign(socket, snippet: snippet)}
end
end