hostname.js 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. define([], function () {
  2. return function () {
  3. var refreshFunction
  4. var input = document.createElement("input")
  5. input.addEventListener("input", function () {
  6. if (refreshFunction)
  7. refreshFunction()
  8. })
  9. var value = document.createElement("strong")
  10. value.classList.add("input")
  11. updateValue()
  12. function updateValue() {
  13. value.textContent = input.value
  14. }
  15. function run(d) {
  16. return d.nodeinfo.hostname.toLowerCase().includes(input.value.toLowerCase())
  17. }
  18. function setRefresh(f) {
  19. refreshFunction = f
  20. }
  21. function render(el) {
  22. var label = document.createElement("label")
  23. label.textContent = "Hostname"
  24. el.appendChild(label)
  25. el.appendChild(document.createTextNode(" "))
  26. el.appendChild(value)
  27. el.onclick = function () {
  28. el.removeChild(value)
  29. el.appendChild(input)
  30. input.focus()
  31. }
  32. input.onblur = blur
  33. input.onkeypress = function (e) {
  34. if (e.keyCode === 13)
  35. input.blur()
  36. }
  37. function blur() {
  38. updateValue()
  39. el.removeChild(input)
  40. el.appendChild(value)
  41. }
  42. }
  43. return { run: run,
  44. setRefresh: setRefresh,
  45. render: render
  46. }
  47. }
  48. })