X-Git-Url: https://git.infodrom.org/?p=infodrom%2Fphone;a=blobdiff_plain;f=phone.js;h=b249880425874972e44e5f9a23d1908ff3532457;hp=0a2a9964f36be41a73d73540f7f087b5fbbc9e9e;hb=cb3e539cdc964f2cbfe1bfe2c92adbb13e946c3d;hpb=0b8c3ecbb7ea0e61a072d169a52130c87f5c4e11 diff --git a/phone.js b/phone.js index 0a2a996..b249880 100644 --- a/phone.js +++ b/phone.js @@ -20,13 +20,18 @@ function reload() fetch_archive(); } +function remove_children(obj) +{ + while (obj.childNodes.length > 0) + obj.removeChild(obj.childNodes[0]); +} + function fetch_incoming_callback(data) { var calls = document.getElementById('incoming_calls'); var div = document.getElementById('incoming'); - while (calls.childNodes.length > 0) - calls.removeChild(calls.childNodes[0]); + remove_children(calls); if (data.incoming.length > 0) { div.style.display = ''; @@ -65,8 +70,7 @@ function fetch_archive_callback(data) var calls = document.getElementById('archive_calls'); var div = document.getElementById('archive'); - while (calls.childNodes.length > 0) - calls.removeChild(calls.childNodes[0]); + remove_children(calls); if (data.archive.length > 0) { div.style.display = ''; @@ -104,6 +108,13 @@ function play_message_callback(data) var date = document.getElementById('calldate'); var note = document.getElementById('callnote'); + if (data.dir == 'messages') { + date.innerHTML = ' '; + speaker.innerHTML = 'Message ' + data.call; + note.innerHTML = ''; + return; + } + var text = data.name; if (data.number != '0') text += ' (' + data.number + ')'; speaker.innerHTML = text; @@ -196,6 +207,12 @@ function menu_list_edit(e) ajax_request('callinfo', params, menu_list_edit_callback); e.target.parentNode.style.display = 'none'; + + var edit = document.getElementById('container_edit'); + var config = document.getElementById('container_config'); + + edit.style.display = ''; + config.style.display = 'none'; } function menu_list_delete(e) @@ -205,3 +222,34 @@ function menu_list_delete(e) e.target.parentNode.style.display = 'none'; } + +function fetch_messages_callback(data) +{ + var calls = document.getElementById('internal_calls'); + + remove_children(calls); + + if (data.messages.length > 0) { + for (var i=0; i < data.messages.length; i++) { + var elem = document.createElement('li'); + + elem.innerHTML = data.messages[i].fname; + elem.payload = new Array(); + elem.payload['dir'] = 'messages'; + elem.payload['call'] = data.messages[i].fname; + elem.onclick = play_message; + calls.appendChild(elem); + } + } +} + +function toggle_messages() +{ + var edit = document.getElementById('container_edit'); + var config = document.getElementById('container_config'); + + config.style.display = ''; + edit.style.display = 'none'; + + ajax_request('messages', '', fetch_messages_callback); +}