more normalization and copy button
This commit is contained in:
@ -20,10 +20,7 @@ import {LiveSocket} from "phoenix_live_view"
|
|||||||
let Hooks = {}
|
let Hooks = {}
|
||||||
Hooks.SnippetInput = {
|
Hooks.SnippetInput = {
|
||||||
updated(){
|
updated(){
|
||||||
// + cursor reposition logic
|
|
||||||
// console.log(['dings', this.el.dataset])
|
|
||||||
this.el.value = this.el.dataset.updatedVal
|
this.el.value = this.el.dataset.updatedVal
|
||||||
// this.el.select()
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -41,3 +38,13 @@ liveSocket.connect()
|
|||||||
// >> liveSocket.enableDebug()
|
// >> liveSocket.enableDebug()
|
||||||
// >> liveSocket.enableLatencySim(1000)
|
// >> liveSocket.enableLatencySim(1000)
|
||||||
window.liveSocket = liveSocket
|
window.liveSocket = liveSocket
|
||||||
|
|
||||||
|
document.querySelector("button[id='copy-button']").onclick = function(){
|
||||||
|
var ta = document.querySelector("textarea[name='snippet']")
|
||||||
|
var start = ta.selectionStart
|
||||||
|
var end = ta.selectionEnd
|
||||||
|
ta.select()
|
||||||
|
document.execCommand("copy");
|
||||||
|
ta.selectionStart = start
|
||||||
|
ta.selectionEnd = end
|
||||||
|
}
|
||||||
|
|||||||
@ -13,11 +13,12 @@ defmodule Clip.Board do
|
|||||||
end
|
end
|
||||||
|
|
||||||
def normalize(pnumber, local_pref \\ "0351", country_pref \\ "0049") do
|
def normalize(pnumber, local_pref \\ "0351", country_pref \\ "0049") do
|
||||||
pnumber
|
outp = pnumber
|
||||||
|> String.replace(~r/^\s*\+/, "00")
|
|> String.replace(~r/^\s*\+/, "00")
|
||||||
|> String.replace(~r/\D/, "")
|
|> String.replace(~r/\D/, "")
|
||||||
|> String.replace(~r/^00+/, "00")
|
|> String.replace(~r/^00+/, "00")
|
||||||
|> String.replace(~r/^(?=[1-9])/, local_pref)
|
|> String.replace(~r/^(?=[1-9])/, local_pref)
|
||||||
|> String.replace(~r/^0(?=[1-9])/, country_pref)
|
|> String.replace(~r/^0(?=[1-9])/, country_pref)
|
||||||
|
"0#{outp}#"
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
@ -10,8 +10,8 @@ defmodule ClipWeb.BoardLive do
|
|||||||
<form phx-change="paste">
|
<form phx-change="paste">
|
||||||
<textarea type="text" name="snippet" data-updated-val="<%= @snippet %>" phx-hook="SnippetInput" autocomplete="off"><%= @snippet %></textarea>
|
<textarea type="text" name="snippet" data-updated-val="<%= @snippet %>" phx-hook="SnippetInput" autocomplete="off"><%= @snippet %></textarea>
|
||||||
</form>
|
</form>
|
||||||
Current content: <%= @snippet %><br>
|
<!-- Current content: < %= @snippet %><br> -->
|
||||||
<button phx-click="normalize">-> 004930112</button>
|
<button phx-click="normalize">+4930112 -> 0004930112#</button> <button id="copy-button">copy</button>
|
||||||
"""
|
"""
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user