--- /dev/null
+if(!dojo._hasResource["openils.widget.FundSelector"]){
+ dojo._hasResource["openils.widget.FundSelector"] = true;
+ dojo.provide("openils.widget.FundSelector");
+
+ dojo.require("dojox.grid.editors");
+
+ /**
+ * This widget provides a specific selector for selecting
+ * a fund.
+ */
+
+ dojo.declare("openils.widget.FundSelector", dojox.grid.editors.Select, {
+
+ constructor: function(inCell) {
+ console.dir(this);
+ this.store = this.store || this.cell.store;
+ this.identifier = this.identifier || this.cell.identifier || "id";
+ this.name = this.name || this.cell.name || "name";
+ this.options = openils.widget.FundSelector.fundNames;
+ this.values = openils.widget.FundSelector.fundCodes;
+ }
+ });
+
+ openils.widget.FundSelector.fundNames = [];
+ openils.widget.FundSelector.fundCodes = [];
+
+ fieldmapper.standardRequest(
+ ['open-ils.acq', 'open-ils.acq.fund.org.retrieve'],
+ {
+ async: true,
+ params: [openils.User.authtoken, null, {flesh_summary:1}],
+ oncomplete: function (r) {
+ var msg;
+
+ while (msg = r.recv()) {
+ var f = msg.content();
+ openils.widget.FundSelector.fundNames.push(f.name());
+ openils.widget.FundSelector.fundCodes.push(f.id());
+ }
+ }
+ }
+ );
+}
<div jsid='pickListGrid' dojoType='dojox.Grid'
id="oils-acq-picklist-grid"> </div>
<script type="text/javascript" src="/js/dojo/openils/acq/Lineitems.js"></script>
+ <script type="text/javascript" src="/js/dojo/openils/widget/FundSelector.js"></script>
<script type="text/javascript">
dojo.require("openils.acq.Picklist");
-// dojo.require("openils.acq.Lineitems");
+ dojo.require("openils.acq.Lineitems");
+// dojo.require("openils.widget.FundSelector");
dojo.require('dojo.data.ItemFileReadStore');
var picklistLayout = [{
var lineitemLayout = [{ cells: [[
{name:"ID", field:"id"},
- {name:"Fund", get:getLIDFundName},
+ {name:"Fund", field:"fund",
+ editor: openils.widget.FundSelector,
+ get:getLIDFundName},
{name:"Location", get:getLIDLibName} ]] }];
openils.acq.Picklist.createStore(${c.oils.acq.picklist.value.id()},