Show
Ignore:
Timestamp:
04/27/08 21:32:44 (3 months ago)
Author:
djfiander
Message:

Functioning Picklist grid.
TODO: use vendor names, not indices, and hook up line item detail display

Files:
1 modified

Legend:

Unmodified
Added
Removed
  • branches/acq-experiment/Open-ILS/web/oilsweb/oilsweb/templates/oils/default/acq/picklist/view.html

    r9384 r9463  
    1212    <script type="text/javascript"> 
    1313        dojo.require("dijit.layout.SplitContainer") 
     14        dojo.require('openils.acq.Picklist'); 
     15    </script> 
     16    <script type='text/javascript'> 
     17        function getJUBTitle(rowIndex) { 
     18            data = pickListGrid.model.getRow(rowIndex); 
     19            if (!data) return ''; 
     20            return openils.acq.Picklist.find_attr(data.id, "title", "lineitem_marc_attr_definition") 
     21        } 
     22        function getJUBPrice(rowIndex) { 
     23            data = pickListGrid.model.getRow(rowIndex); 
     24            if (!data) return; 
     25            return openils.acq.Picklist.find_attr(data.id, "price", "lineitem_marc_attr_definition") 
     26        } 
    1427    </script> 
    1528</%def> 
     
    2336    <div dojoType="dijit.layout.SplitContainer" 
    2437         orientation="vertical" sizerWidth="5" 
    25          activeSizing="0" layoutAlign="client"> 
    26         <div dojoType="dijit.layout.ContentPane" sizeMin="20" sizeShare="20"> 
    27             <div id="oils-acq-picklist-grid"> </div> 
    28             <script type="text/javascript" src="${c.oils.core.media_prefix.value}/js/util/Dojo.js"></script> 
    29             <script type="text/javascript" src="${c.oils.core.media_prefix.value}/js/openils/acq/Picklist.js"></script> 
     38         activeSizing="1" layoutAlign="client"> 
     39        <div id="oils-acq.picklist-container" 
     40            dojoType="dijit.layout.ContentPane" sizeMin="20" sizeShare="20"> 
     41            <div jsid='pickListGrid' dojoType='dojox.Grid' 
     42                 id="oils-acq-picklist-grid"> </div> 
    3043            <script type="text/javascript"> 
    31                 dojo.require('openils.acq.Picklist'); 
    32                  
    33                 var cols = [ 
    34                 {name: "${_('ID')}", field: 'id'}, 
    35                 {name: "${_('Title')}", width: "50%", field: 'title'}, 
    36                 {name: "${_('Price')}", field: 'price'}, 
    37                 {name: "${_('Vendor')}", field: 'provider'}, 
    38                 {name: "${_('# of Copies')}", field: 'copies'} 
    39                 ]; 
    40                  
    41                 dojo.addOnLoad(function(){openils.acq.Picklist.loadGrid('oils-acq-picklist-grid', cols, ${c.oils.acq.picklist.value.id()})}); 
     44                dojo.require("openils.acq.Picklist"); 
     45                dojo.require('dojo.data.ItemFileWriteStore'); 
     46                var layout = [{ 
     47                    cells: [[ 
     48                        {name: "ID", field: 'id'}, 
     49                        {name: "Title", width: "50%", get:getJUBTitle}, 
     50                        {name: "Price", get:getJUBPrice}, 
     51                        {name: "Vendor", field: 'provider'}, 
     52                        {name: "# of Copies", field: 'item_count'} 
     53                    ]] 
     54                }]; 
     55 
     56                openils.acq.Picklist.createStore(${c.oils.acq.picklist.value.id()}, 
     57                    function(storeData) { 
     58                        var store = new dojo.data.ItemFileReadStore({data:storeData}); 
     59                        var model = new dojox.grid.data.DojoData(null, store, 
     60                                         {rowsPerPage:20, clientSort:true, 
     61                                          query:{id:'*'}}); 
     62                        pickListGrid.setStructure(layout); 
     63                        pickListGrid.setModel(model); 
     64                        pickListGrid.update(); 
     65                    }); 
    4266            </script> 
    4367        </div> 
    4468        <div dojoType="dijit.layout.ContentPane" sizeMin="20" 
    4569             sizeShare="80"> 
    46             <p>Hi!</p> 
    47             <div id="oils-acq-picklist-details-grid"> </div> 
     70            <script type="text/javascript"> 
     71                dojo.require("openils.acq.Lineitems"); 
     72 
     73                var li_cols = [ 
     74                {name: ('Fund'), field: 'fund'}, 
     75                {name: ('Location'), field: 'location'} 
     76                ]; 
     77 
     78                dojo.addOnLoad(function(){openils.acq.Lineitems.initGrid('oils-acq-picklist-details-grid', li_cols);}); 
     79            </script> 
     80            <div id="oils-acq-picklist-details-grid"> 
     81                <p>Copy order details go here...</p> 
     82            </div> 
    4883        </div> 
    4984    </div>