1 dojo.require('dijit.form.FilteringSelect');
2 dojo.require('dojo.data.ItemFileReadStore');
3 dojo.require('fieldmapper.IDL');
4 dojo.require('openils.PermaCrud');
5 dojo.require('openils.widget.AutoGrid');
7 function updateFieldSelector() {
8 var cls = this.attr('value');
10 var flist = fieldmapper.IDL.fmclasses[cls];
12 for(var f in flist.fields) {
13 var field = flist.fields[f];
14 if(field.virtual) continue;
15 fields.push({name:field.label, value:field.name});
17 fdocGrid.overrideEditWidgets.field.store = new dojo.data.ItemFileReadStore(
18 {data:{identifier:'value', label:'name', items:fields}});
22 var slist = fieldmapper.IDL.fmclasses;
25 fdocGrid.overrideEditWidgets.field = editFieldSelector;
26 fdocGrid.overrideEditWidgets.fm_class = editClassSelector;
27 dojo.connect(fdocGrid.overrideEditWidgets.fm_class, 'onChange', updateFieldSelector);
30 if(slist[f].label != slist[f].name) // only show tables that have an actual label
31 dlist.push({value:slist[f].name, name:slist[f].label});
33 dlist = dlist.sort(function(a, b){return (a.name < b.name) ? -1 : 1;});
35 fmClassSelector.store =
36 fdocGrid.overrideEditWidgets.fm_class.store =
37 new dojo.data.ItemFileReadStore({data:{identifier:'value', label:'name', items:dlist}});
39 fmClassSelector.startup();
40 dojo.connect(fmClassSelector, 'onChange',
42 fdocGrid.resetStore();
43 fdocGrid.loadAll({order_by:{fdoc : 'field'}}, {fm_class: this.attr('value')});
49 openils.Util.addOnLoad(load);