From cfbfe4b4bc3260efe4586d94819fe3fdf685ed47 Mon Sep 17 00:00:00 2001 From: Joey Schulze Date: Wed, 20 Jan 2010 15:07:19 +0100 Subject: [PATCH] Small framework for providing details --- lib/functions.js | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/lib/functions.js b/lib/functions.js index 3a69024..07af498 100644 --- a/lib/functions.js +++ b/lib/functions.js @@ -28,6 +28,22 @@ function ajax_request(func,params,oncomplete) req.send(params); } +function set_value(id, value) +{ + var obj = document.getElementById(id); + if (!obj) return; + + if (obj.nodeName.toLowerCase() == 'input' + || obj.nodeName.toLowerCase() == 'textarea') + obj.value = value; + else if (obj.nodeName.toLowerCase() == 'span') + obj.innerHTML = value; + else if (obj.nodeName.toLowerCase() == 'select') + for (var i=0; i < obj.options.length; i++) + if (obj.options[i].value == value) + obj.selectedIndex = i; +} + /* * Form functions */ @@ -36,6 +52,12 @@ function form_save(obj) return false; } +function details_callback(data) +{ + for (var id in data) + set_value('detail_'+id, data[id]); +} + /* * Rico functions */ @@ -50,6 +72,11 @@ function gridDrillDown(e) if (!cell) return; var value = cell.innerHTML; + if (document.getElementById('details')) { + var params = 'mask=' + 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); -- 2.20.1