dojo.require('openils.widget.AutoFieldWidget');
dojo.require('openils.PermaCrud');
+dojo.require('openils.XUL');
function VLAgent(args) {
args = args || {};
{key : 'fall_through_merge_profile', cls : 'vmp'},
{key : 'existing_queue', cls : 'vbq'}
];
-
+
this.loaded = false;
+ var xulStorage = openils.XUL.localStorage();
+ var storekey = 'eg.acq.';
this.init = function() {
var self = this;
dojo.forEach(this.widgets,
function(widg) {
+
+ var cval = xulStorage.getItem(storekey + widg.key);
if (widg.cls) { // selectors
new openils.widget.AutoFieldWidget({
parentNode : dojo.byId('acq_vl:' + widg.key),
searchFilter : (widg.cls == 'vbq') ? {queue_type : 'acq'} : null,
useWriteStore : (widg.cls == 'vbq')
- }).build(function(dijit) {
- widg.dijit = dijit;
+ }).build(function(dij) {
+ widg.dijit = dij;
+ if (cval) widg.dijit.attr('value', cval);
self.attachOnChange(widg);
});
} else { // bools
widg.dijit = dijit.byId('acq_vl:' + widg.key);
if (!widg.dijit) return; // some fields optional
+ if (cval) widg.dijit.attr('value', cval);
self.attachOnChange(widg);
}
}
var values = {};
dojo.forEach(this.widgets,
function(widg) {
- if (widg.dijit)
+ if (widg.dijit) {
values[widg.key] = widg.dijit.attr('value');
+ if (values[widg.key]) {
+ xulStorage.setItem(storekey + widg.key, values[widg.key]);
+ } else {
+ xulStorage.removeItem(storekey + widg.key);
+ }
+ }
}
);
return values;