diff --git a/lib/js/manage.js b/lib/js/manage.js index 3b6b667..72e95ab 100644 --- a/lib/js/manage.js +++ b/lib/js/manage.js @@ -13,8 +13,28 @@ function insertNewURL() { document.getElementById ( 'responsetext' ).innerHTML = "" }, 1500 ); var div = document.createElement ( 'div' ); - div.innerHTML = response [ 'last_insert' ] + " | " + url; - document.getElementById ( "urllist" ).appendChild ( div ); + div.classList.add ( "urlContainer" ); + div.appendChild ( document.createElement ( 'text' ) ); + div.appendChild ( document.createElement ( 'div' ) ); + div.childNodes [ 1 ].classList.add ( "urlId" ); + div.childNodes [ 1 ].innerHTML = response [ 'last_insert' ]; + div.appendChild ( document.createElement ( 'text' ) ); + div.appendChild ( document.createElement ( 'input' ) ); + div.childNodes [ 3 ].type = 'text'; + div.childNodes [ 3 ].classList.add ( "urlLink" ); + div.childNodes [ 3 ].setAttribute ( 'value', url ); + div.appendChild ( document.createElement ( 'text' ) ); + div.appendChild ( document.createElement ( 'div' ) ); + div.childNodes [ 5 ].classList.add ( "urlControl" ); + div.childNodes [ 5 ].setAttribute ( 'style', "display: none;" ); + div.childNodes [ 5 ].appendChild ( document.createElement ( 'text' ) ); + div.childNodes [ 5 ].appendChild ( document.createElement ( 'button' ) ); + div.childNodes [ 5 ].childNodes [ 1 ].innerHTML = ""; + div.childNodes [ 5 ].appendChild ( document.createElement ( 'text' ) ); + div.childNodes [ 5 ].appendChild ( document.createElement ( 'button' ) ); + div.childNodes [ 5 ].childNodes [ 3 ].innerHTML = ""; + makeURLEditable ( div.childNodes [ 3 ] ); + document.getElementsByClassName ( "urlList" ) [ 0 ].appendChild ( div ); document.getElementById ( "form-url" ).value = ""; } else { @@ -24,9 +44,6 @@ function insertNewURL() { }, 1500 ); } } - else { - console.log ( 'Server communication error: ' + xhr.statusText ); - } } else { document.getElementById ( "responsetext" ).innerHTML = response [ 'error_message' ]; @@ -75,20 +92,23 @@ function editURL(node) { data.append('url_id', url_id); xhr.send( data ); } +function makeURLEditable ( node ) { + node.onclick = function() { + var oldText = this.value; + this.parentNode.childNodes[5].style.display = ""; + this.parentNode.childNodes[5].childNodes[1].onclick = function() { + editURL(this.parentNode.parentNode); + this.parentNode.style.display = "none"; + } + this.parentNode.childNodes[5].childNodes[3].onclick = function() { + this.parentNode.parentNode.childNodes[3].value = oldText; + this.parentNode.style.display = "none"; + }; + } +} (function(){ var URLs = document.getElementsByClassName("urlLink"); for(i=0;i