1 if(!dojo._hasResource['openils.widget.AutoGrid']) {
2 dojo.provide('openils.widget.AutoGrid');
3 dojo.require('dojox.grid.DataGrid');
4 dojo.require('openils.widget.AutoWidget');
5 dojo.require('openils.widget.AutoFieldWidget');
6 dojo.require('openils.Util');
9 'openils.widget.AutoGrid',
10 [dojox.grid.DataGrid, openils.widget.AutoWidget],
12 startup : function() {
13 this.inherited(arguments);
15 var existing = (this.structure && this.structure[0].cells[0]) ?
16 this.structure[0].cells[0] : [];
18 for(var f in this.sortedFieldList) {
19 var field = this.sortedFieldList[f];
20 if(!field || field.virtual) continue;
21 var entry = existing.filter(function(i){return (i.field == field.name)})[0];
22 if(entry) entry.name = field.label;
23 else entry = {field:field.name, name:field.label};
26 entry.get = openils.widget.AutoGrid.defaultGetter
28 this.setStructure([{cells: [fields]}]);
29 this.setStore(this.buildAutoStore());
33 openils.widget.AutoGrid.markupFactory = dojox.grid.DataGrid.markupFactory;
35 openils.widget.AutoGrid.defaultGetter = function(rowIndex, item) {
37 var val = this.grid.store.getValue(item, this.field);
38 var autoWidget = new openils.widget.AutoFieldWidget({
39 fmClass: this.grid.fmClass,
43 return autoWidget.getDisplayString();