Finish e-mail sending; clickable tags
This commit is contained in:
@@ -47,25 +47,22 @@ document.querySelector("div.tagbox span").onkeydown = function(ev) {
|
||||
}
|
||||
} else if(ev.keyCode == 40) {
|
||||
ev.preventDefault()
|
||||
var sel = document.querySelector("div.autocomplete > div.tag.selected")
|
||||
if(sel) {
|
||||
sel.classList.toggle("selected")
|
||||
sel = sel.nextElementSibling
|
||||
} else {
|
||||
sel = document.querySelectorAll("div.autocomplete > div.tag")[0]
|
||||
}
|
||||
if(sel) sel.classList.toggle("selected")
|
||||
var alltags = Array.from(document.querySelectorAll("div.autocomplete div.tag"))
|
||||
var sel = alltags.findIndex(function(x) { return x.classList.contains("selected") })
|
||||
if(sel != -1) alltags[sel].classList.toggle("selected")
|
||||
sel = (sel + 1) % alltags.length
|
||||
alltags[sel].classList.toggle("selected")
|
||||
} else if(ev.keyCode == 38) {
|
||||
ev.preventDefault()
|
||||
var sel = document.querySelector("div.autocomplete > div.tag.selected")
|
||||
if(sel) {
|
||||
sel.classList.toggle("selected")
|
||||
sel = sel.previousElementSibling
|
||||
var alltags = Array.from(document.querySelectorAll("div.autocomplete div.tag"))
|
||||
var sel = alltags.findIndex(function(x) { return x.classList.contains("selected") })
|
||||
if(sel != -1) {
|
||||
alltags[sel].classList.toggle("selected")
|
||||
sel = (sel + alltags.length - 1) % alltags.length
|
||||
} else {
|
||||
var asdf = document.querySelectorAll("div.autocomplete > div.tag")
|
||||
sel = asdf[asdf.length - 1]
|
||||
sel = alltags.length - 1
|
||||
}
|
||||
if(sel) sel.classList.toggle("selected")
|
||||
alltags[sel].classList.toggle("selected")
|
||||
} else if(ev.keyCode == 8 && !document.querySelector("div.tagbox span").innerText.length) {
|
||||
ev.preventDefault()
|
||||
|
||||
@@ -96,7 +93,16 @@ document.querySelector("div.tagbox span").oninput = function(ev) {
|
||||
ac.innerText = "No such tags found"
|
||||
} else {
|
||||
ajax.responseText.split("\n").slice(0, -1).forEach(function(line) {
|
||||
ac.insertBefore(createtag(line.split(",")[1], line.split(",")[2], line.split(",")[0]), null)
|
||||
var tag = createtag(line.split(",")[1], line.split(",")[2], line.split(",")[0])
|
||||
tag.onclick = function() {
|
||||
var sel = document.querySelector("div.tag.selected")
|
||||
if(sel) sel.classList.toggle("selected")
|
||||
this.classList.toggle("selected")
|
||||
var span = document.querySelector("div.tagbox span")
|
||||
span.focus()
|
||||
span.dispatchEvent(new KeyboardEvent('keydown', {bubbles: true, cancelable: true, keyCode: 13}))
|
||||
}
|
||||
ac.insertBefore(tag, null)
|
||||
})
|
||||
|
||||
if(UnknownTagsMode) {
|
||||
|
||||
Reference in New Issue
Block a user