Add move functionality
[infodrom/phone] / phone.js
index 8400960..9f3a25e 100644 (file)
--- a/phone.js
+++ b/phone.js
@@ -1,7 +1,8 @@
 var menu_list = {
-    'title': 'Calls',
+    'title': 'Call',
     'items': [{'name': 'Archive', 'callback': menu_list_archive},
               {'name': 'Edit', 'callback': menu_list_edit},
+              {'name': 'Move', 'callback': menu_list_move},
               {'name': 'Delete', 'callback': menu_list_delete},
               {'name': 'Cancel', 'type': 'hide'}]
 };
@@ -14,6 +15,9 @@ function page_init()
     frame.src = '';
     fetch_incoming();
     fetch_archive();
+
+    var move = document.getElementById('container_move');
+    move.style.display = 'none';
 }
 
 function reload()
@@ -156,6 +160,24 @@ function save()
     ajax_request('save', params, save_callback);
 }
 
+function move_callback(data)
+{
+    var move = document.getElementById('container_move');
+    move.style.display = 'none';
+    fetch_incoming();
+}
+
+function move()
+{
+    var call = document.getElementById('move_call');
+    var fname = document.getElementById('move_fname');
+    var note = document.getElementById('move_note');
+    var params = 'call=' + call.value;
+    params += '&fname=' + fname.value + '&note=' + note.value;
+
+    ajax_request('move', params, move_callback);
+}
+
 function list_context(e)
 {
     var target = e.target;
@@ -228,6 +250,21 @@ function menu_list_edit(e)
     config.style.display = 'none';
 }
 
+function menu_list_move(e)
+{
+    var move = document.getElementById('container_move');
+    var details = document.getElementById('move_details');
+    var fname = document.getElementById('move_fname');
+    var call = document.getElementById('move_call');
+    move.style.display = '';
+    details.innerHTML = e.target.parentNode.payload['row'].innerHTML;
+    fname.value = e.target.parentNode.payload['call'];
+    call.value = e.target.parentNode.payload['call'];
+
+    e.target.parentNode.style.display = 'none';
+    e.target.parentNode.payload['row'].style.backgroundColor = '';
+}
+
 function menu_list_delete(e)
 {
     var params = 'dir='+e.target.parentNode.payload['dir']+'&call='+e.target.parentNode.payload['call'];