1 dojo.require('dijit.layout.TabContainer');
2 dojo.require('dijit.form.Textarea');
3 dojo.require('dijit.form.FilteringSelect');
4 dojo.require('dijit.form.TextBox');
5 dojo.require('dojo.data.ItemFileReadStore');
6 dojo.require('openils.widget.AutoGrid');
7 dojo.require('openils.Util');
8 dojo.require('openils.PermaCrud');
9 dojo.require('openils.widget.ProgressDialog');
10 dojo.requireLocalization('openils.conify', 'conify');
12 var localeStrings = dojo.i18n.getLocalization('openils.conify', 'conify');
14 function loadEventDef() {
15 edGrid.loadAll({order_by:{atevdef : 'hook'}});
16 edGrid.overrideEditWidgetClass.template = 'dijit.form.Textarea';
17 dojo.connect(eventDefTabs,'selectChild', tabLoader);
20 var loadedTabs = {'tab-atevdef' : true};
21 function tabLoader(child) {
22 if(loadedTabs[child.id]) return;
23 loadedTabs[child.id] = true;
26 tepGrid.loadAll({order_by:{atevparam : 'event_def'}});
29 thGrid.loadAll({order_by:{ath : 'key'}});
32 teeGrid.loadAll({order_by:{atenv : 'event_def'}});
35 trGrid.loadAll({order_by:{atreact : 'module'}});
38 tvGrid.loadAll({order_by:{atval : 'module'}});
46 function loadTestTab() {
47 var pcrud = new openils.PermaCrud();
48 var hooks = pcrud.search('ath', {core_type : 'circ'});
50 circTestHookSelector.store = new dojo.data.ItemFileReadStore({data : ath.toStoreData(hooks, 'key', {identifier:'key'})});
51 circTestHookSelector.searchAttr = 'key';
52 circTestHookSelector.startup();
54 var defs = pcrud.search('atevdef', {hook : hooks.map(function(i){return i.key()})});
55 var defData = atevdef.toStoreData(defs);
56 circTestDefSelector.store = new dojo.data.ItemFileReadStore({data : defData});
57 circTestDefSelector.searchAttr = 'name';
58 circTestDefSelector.startup();
60 dojo.connect(circTestHookSelector, 'onChange',
62 circTestDefSelector.query = {hook : this.attr('value')};
68 function eventDefGetter(rowIdx, item) {
70 var def = this.grid.store.getValue(item, 'event_def');
71 return getDefName(def);
74 function getDefName(def) {
76 if(typeof def != 'object') {
77 edGrid.store.fetchItemByIdentity({
79 onItem : function(item) { def = new fieldmapper.atevdef().fromStoreItem(item); }
83 return dojo.string.substitute(
84 localeStrings.EVENT_DEF_LABEL, [
85 fieldmapper.aou.findOrgUnit(def.owner()).shortname(),
91 function evtTestCirc() {
92 var def = circTestDefSelector.attr('value');
93 var barcode = circTestBarcode.attr('value');
94 if(!(def && barcode)) return;
96 progressDialog.show();
98 function handleResponse(r) {
99 var evt = openils.Util.readResponse(r);
100 progressDialog.hide();
101 if(evt && evt != '0') {
102 var output = evt.template_output();
103 if(!output) output = evt.error_output();
104 var pre = document.createElement('pre');
105 pre.innerHTML = output.data();
106 openils.Util.appendClear('test-event-output', pre);
107 openils.Util.show('test-event-output');
111 fieldmapper.standardRequest(
112 ['open-ils.circ', 'open-ils.circ.trigger_event_by_def_and_barcode.fire'],
114 params: [openils.User.authtoken, def, barcode],
115 oncomplete: handleResponse
120 openils.Util.addOnLoad(loadEventDef);