Add reload facility with image from http://www.veryicon.com/icon/png/Internet%20...
[infodrom/phone] / phone.js
index 9b5d51d..0a2a996 100644 (file)
--- a/phone.js
+++ b/phone.js
@@ -1,6 +1,7 @@
 var menu_list = {
     'title': 'Calls',
     'items': [{'name': 'Archive', 'callback': menu_list_archive},
+              {'name': 'Edit', 'callback': menu_list_edit},
               {'name': 'Delete', 'callback': menu_list_delete},
               {'name': 'Cancel', 'type': 'hide'}]
 };
@@ -13,6 +14,12 @@ function page_init()
     fetch_archive();
 }
 
+function reload()
+{
+    fetch_incoming();
+    fetch_archive();
+}
+
 function fetch_incoming_callback(data)
 {
     var calls = document.getElementById('incoming_calls');
@@ -113,6 +120,24 @@ function play_message(event)
     event.originalTarget.className = '';
 }
 
+function save_callback(data)
+{
+    field = document.getElementById('edit_status');
+    field.innerHTML = 'Call saved';
+}
+
+function save()
+{
+    var dir = document.getElementById('edit_dir');
+    var call = document.getElementById('edit_call');
+    var name = document.getElementById('edit_name');
+    var note = document.getElementById('edit_note');
+    var params = 'dir=' + dir.value + '&call=' + call.value;
+    params += '&name=' + name.value + '&note=' + note.value;
+
+    ajax_request('save', params, save_callback);
+}
+
 function list_context(e)
 {
     var menu = document.getElementById('menu_list');
@@ -135,6 +160,28 @@ function menu_list_archive_callback(data)
     fetch_archive();
 }
 
+function menu_list_edit_callback(data)
+{
+    var fields = ['name','note','dir','call'];
+    var field;
+
+    for (var i=0; i < fields.length; i++) {
+       field = document.getElementById('edit_' + fields[i]);
+       field.value = data[fields[i]];
+    }
+
+    fields = ['name','note'];
+    for (var i=0; i < fields.length; i++) {
+       field = document.getElementById('edit_' + fields[i]);
+       field.innerHTML = data[fields[i]];
+    }
+
+    field = document.getElementById('edit_date');
+    field.innerHTML = data.date + ', ' + data.length;
+    field = document.getElementById('edit_status');
+    field.innerHTML = '';
+}
+
 function menu_list_archive(e)
 {
     if (e.target.parentNode.payload['dir'] == 'incoming')
@@ -143,6 +190,14 @@ function menu_list_archive(e)
     e.target.parentNode.style.display = 'none';
 }
 
+function menu_list_edit(e)
+{
+    var params = 'dir='+e.target.parentNode.payload['dir']+'&call='+e.target.parentNode.payload['call'];
+    ajax_request('callinfo', params, menu_list_edit_callback);
+
+    e.target.parentNode.style.display = 'none';
+}
+
 function menu_list_delete(e)
 {
     var params = 'dir='+e.target.parentNode.payload['dir']+'&call='+e.target.parentNode.payload['call'];