| 17 | | /* define the layout columns */ |
| 18 | | var cols = [ |
| 19 | | {name: '${_("ID")}', field: 'id'}, |
| 20 | | {name: '${_("Name")}', field: "name"}, |
| 21 | | {name: '${_("Owner")}', field: "owner"}, |
| 22 | | {name: '${_("Currency Type")}', field: "currency_type"} |
| 23 | | ]; |
| | 23 | function loadProviderGrid() { |
| | 24 | openils.User.getBySession(); |
| 25 | | /* build the provider grid on page load */ |
| 26 | | dojo.addOnLoad(function(){openils.acq.Provider.loadGrid('oils-acq-provider-grid', cols)}); |
| | 26 | /** define how the primary grid is rendered */ |
| | 27 | |
| | 28 | function getOrgInfo(rowIndex) { |
| | 29 | data = providerListGrid.model.getRow(rowIndex); |
| | 30 | if(!data) return; |
| | 31 | return fieldmapper.aou.findOrgUnit(data.owner).shortname(); |
| | 32 | } |
| | 33 | |
| | 34 | function getName(rowIndex) { |
| | 35 | data = providerListGrid.model.getRow(rowIndex); |
| | 36 | if(!data) return; |
| | 37 | return '<a href="${c.oils.acq.prefix.value}/provider/view/'+data.id+'">'+data.name+'</a>'; |
| | 38 | } |
| | 39 | |
| | 40 | var gridStructure = [{ |
| | 41 | cells : [[ |
| | 42 | {name: '${_("ID")}', field: 'id'}, |
| | 43 | {name: '${_("Name")}', get:getName, width:'auto'}, |
| | 44 | {name: '${_("Owner")}', get:getOrgInfo}, |
| | 45 | {name: '${_("Currency Type")}', field: "currency_type"} |
| | 46 | ]] |
| | 47 | }]; |
| | 48 | |
| | 49 | openils.acq.Provider.createStore( |
| | 50 | function(storeData) { |
| | 51 | var store = new dojo.data.ItemFileReadStore({data:storeData}); |
| | 52 | var model = new dojox.grid.data.DojoData(null, store, |
| | 53 | {rowsPerPage: 20, clientSort: true, query:{id:'*'}}); |
| | 54 | providerListGrid.setStructure(gridStructure); |
| | 55 | providerListGrid.setModel(model); |
| | 56 | providerListGrid.update(); |
| | 57 | } |
| | 58 | ); |
| | 59 | } |
| | 60 | |
| | 61 | dojo.addOnLoad(loadProviderGrid); |