1 dojo.require('dijit.layout.TabContainer');
2 dojo.require('dijit.form.FilteringSelect');
3 dojo.require('dijit.form.TextBox');
4 dojo.require('dojo.data.ItemFileReadStore');
5 dojo.require('openils.widget.AutoGrid');
6 dojo.require('openils.Util');
7 dojo.require('openils.PermaCrud');
8 dojo.require('openils.widget.Textarea');
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 openils.widget.Textarea.width = '600px';
17 openils.widget.Textarea.height = '600px';
18 edGrid.overrideEditWidgetClass.template = 'openils.widget.Textarea';
19 dojo.connect(eventDefTabs,'selectChild', tabLoader);
22 var loadedTabs = {'tab-atevdef' : true};
23 function tabLoader(child) {
24 if(loadedTabs[child.id]) return;
25 loadedTabs[child.id] = true;
29 tepGrid.loadAll({order_by:{atevparam : 'event_def'}});
32 thGrid.loadAll({order_by:{ath : 'key'}});
35 teeGrid.loadAll({order_by:{atenv : 'event_def'}});
38 trGrid.loadAll({order_by:{atreact : 'module'}});
41 tvGrid.loadAll({order_by:{atval : 'module'}});
49 function loadTestTab() {
50 var pcrud = new openils.PermaCrud();
51 var hooks = pcrud.search('ath', {core_type : 'circ'});
53 circTestHookSelector.store = new dojo.data.ItemFileReadStore({data : ath.toStoreData(hooks, 'key', {identifier:'key'})});
54 circTestHookSelector.searchAttr = 'key';
55 circTestHookSelector.startup();
57 var defs = pcrud.search('atevdef', {hook : hooks.map(function(i){return i.key()})});
58 var defData = atevdef.toStoreData(defs);
59 circTestDefSelector.store = new dojo.data.ItemFileReadStore({data : defData});
60 circTestDefSelector.searchAttr = 'name';
61 circTestDefSelector.startup();
63 dojo.connect(circTestHookSelector, 'onChange',
65 circTestDefSelector.query = {hook : this.attr('value')};
71 function eventDefGetter(rowIdx, item) {
73 var def = this.grid.store.getValue(item, 'event_def');
74 return getDefName(def);
77 function getDefName(def) {
79 if(typeof def != 'object') {
80 edGrid.store.fetchItemByIdentity({
82 onItem : function(item) { def = new fieldmapper.atevdef().fromStoreItem(item); }
86 return dojo.string.substitute(
87 localeStrings.EVENT_DEF_LABEL, [
88 fieldmapper.aou.findOrgUnit(def.owner()).shortname(),
94 function evtTestCirc() {
95 var def = circTestDefSelector.attr('value');
96 var barcode = circTestBarcode.attr('value');
97 if(!(def && barcode)) return;
99 progressDialog.show();
101 function handleResponse(r) {
102 var evt = openils.Util.readResponse(r);
103 progressDialog.hide();
104 if(evt && evt != '0') {
105 var output = evt.template_output();
106 if(!output) output = evt.error_output();
107 var pre = document.createElement('pre');
108 pre.innerHTML = output.data();
109 openils.Util.appendClear('test-event-output', pre);
110 openils.Util.show('test-event-output');
114 fieldmapper.standardRequest(
115 ['open-ils.circ', 'open-ils.circ.trigger_event_by_def_and_barcode.fire'],
117 params: [openils.User.authtoken, def, barcode],
118 oncomplete: handleResponse
123 openils.Util.addOnLoad(loadEventDef);