
Prior implementation of grid assumed all fields were defined as properties of the top object with no nesting. The update facilitates use of nested objects. Signed-off-by: Adam King <rak@linux.vnet.ibm.com> --- ui/js/src/kimchi.grid.js | 22 +++++++++++++++++++--- 1 file changed, 19 insertions(+), 3 deletions(-) diff --git a/ui/js/src/kimchi.grid.js b/ui/js/src/kimchi.grid.js index 540f1ba..b8346ea 100644 --- a/ui/js/src/kimchi.grid.js +++ b/ui/js/src/kimchi.grid.js @@ -161,6 +161,23 @@ kimchi.widget.Grid = function(params) { var maskNode = $('.grid-mask', gridNode); maskNode.css('top', captionHeight + 'px'); + var getValue = function(name, obj) { + var result=undefined; + if(!Array.isArray(name)) { + name=kimchi.form.parseFormName(name); + } + if(name.length!=0) { + var tmpName=name.shift(); + if(obj[tmpName]!=undefined) { + result=obj[tmpName]; + } + if(name.length!=0) { + result=getValue(name,obj[tmpName]); + } + } + return(result); + }; + var fillBody = function(container, fields, data) { var tbody = ($('tbody', container).length && $('tbody', container)) || $('<tbody></tbody>').appendTo(container); @@ -168,13 +185,12 @@ kimchi.widget.Grid = function(params) { $.each(data, function(i, row) { var rowNode = $('<tr></tr>').appendTo(tbody); $.each(fields, function(fi, field) { - var fieldName = field['name']; - var value = (row[fieldName]==null) ? '' : row[fieldName]; + var value = getValue(field['name'], row); $('<td><div class="cell-text-wrapper"' + (field['makeTitle'] === true ? ' title="' + value + '"' : '' - ) + '>' + value + '</div></td>' + ) + '>' + value.toString() + '</div></td>' ).appendTo(rowNode); }); }); -- 1.8.1.4