Support setting value of checkboxes
[misc/kostenrechnung] / lib / functions.js
index 07af498..274483d 100644 (file)
@@ -34,6 +34,10 @@ function set_value(id, value)
     if (!obj) return;
 
     if (obj.nodeName.toLowerCase() == 'input'
+       && obj.type.toLowerCase() == 'checkbox')
+       if (value) obj.checked = true;
+       else obj.checked = false;
+    else if (obj.nodeName.toLowerCase() == 'input'
        || obj.nodeName.toLowerCase() == 'textarea')
        obj.value = value;
     else if (obj.nodeName.toLowerCase() == 'span')
@@ -52,12 +56,21 @@ function form_save(obj)
     return false;
 }
 
+/*
+ * Table functions
+ */
 function details_callback(data)
 {
     for (var id in data)
        set_value('detail_'+id, data[id]);
 }
 
+function fetch_callback(data)
+{
+    for (var id in data)
+       set_value('edit_'+id, data[id]);
+}
+
 /*
  * Rico functions
  */
@@ -73,12 +86,12 @@ function gridDrillDown(e)
     var value = cell.innerHTML;
 
     if (document.getElementById('details')) {
-       var params = 'mask=' + grid.tableId.substr(5) + '&id=' + value;
+       var params = 'source=' + grid.tableId.substr(5) + '&id=' + value;
        ajax_request('details', params, details_callback);
     }
 
     if (document.getElementById('form_edit')) {
-       var params = 'mask=' + grid.tableId.substr(5) + '&id=' + value;
-       ajax_request('fetch', params, false);
+       var params = 'source=' + grid.tableId.substr(5) + '&id=' + value;
+       ajax_request('fetch', params, fetch_callback);
     }
 }