1 dump('entering patron/search_form.js\n');
3 if (typeof patron == 'undefined') patron = {};
4 patron.search_form = function (params) {
6 JSAN.use('util.error'); this.error = new util.error();
7 JSAN.use('util.network'); this.network = new util.network();
11 patron.search_form.prototype = {
13 'init' : function( params ) {
17 JSAN.use('OpenILS.data'); this.OpenILS = {};
18 obj.OpenILS.data = new OpenILS.data(); obj.OpenILS.data.init({'via':'stash'});
20 JSAN.use('util.controller'); obj.controller = new util.controller();
26 function() { alert('Not Yet Implemented'); }
28 'cmd_patron_search_submit' : [
34 'cmd_patron_search_clear' : [
36 function() { obj.controller.render(); }
42 if (params.query&¶ms.query.family_name) {
43 e.setAttribute('value',params.query.family_name);
44 e.value = params.query.family_name;
51 'first_given_name' : [
55 if (params.query&¶ms.query.first_given_name) {
56 e.setAttribute('value',params.query.first_given_name);
57 e.value = params.query.first_given_name;
64 'second_given_name' : [
68 if (params.query&¶ms.query.second_given_name) {
69 e.setAttribute('value',params.query.second_given_name);
70 e.value = params.query.second_given_name;
81 if (params.query&¶ms.query.email) {
82 e.setAttribute('value',params.query.email);
83 e.value = params.query.email;
94 if (params.query&¶ms.query.phone) {
95 e.setAttribute('value',params.query.phone);
96 e.value = params.query.phone;
107 if (params.query&¶ms.query.ident) {
108 e.setAttribute('value',params.query.ident);
109 e.value = params.query.ident;
110 } else if (params.query&¶ms.query.ident_value) {
111 e.setAttribute('value',params.query.ident_value);
112 e.value = params.query.ident_value;
113 } else if (params.query&¶ms.query.ident_value2) {
114 e.setAttribute('value',params.query.ident_value2);
115 e.value = params.query.ident_value2;
126 if (params.query&¶ms.query.street1) {
127 e.setAttribute('value',params.query.street1);
128 e.value = params.query.street1;
139 if (params.query&¶ms.query.street2) {
140 e.setAttribute('value',params.query.street2);
141 e.value = params.query.street2;
152 if (params.query&¶ms.query.city) {
153 e.setAttribute('value',params.query.city);
154 e.value = params.query.city;
165 if (params.query&¶ms.query.state) {
166 e.setAttribute('value',params.query.state);
167 e.value = params.query.state;
178 if (params.query&¶ms.query.post_code) {
179 e.setAttribute('value',params.query.post_code);
180 e.value = params.query.post_code;
187 'inactive' : [ ['render'], function(e) { return function() {}; } ],
192 obj.controller.render();
193 var nl = document.getElementsByTagName('textbox');
194 for (var i = 0; i < nl.length; i++) {
195 nl[i].addEventListener('keypress',function(ev){
196 if (ev.target.tagName != 'textbox') return;
197 if (ev.keyCode == 13 /* enter */ || ev.keyCode == 77 /* enter on a mac */) setTimeout( function() { obj.submit(); }, 0);
200 document.getElementById('family_name').focus();
204 'on_submit' : function(q) {
205 var msg = 'Query = ' + q;
206 this.error.sdump('D_PATRON', msg);
209 'submit' : function() {
212 for (var i = 0; i < obj.controller.render_list.length; i++) {
213 var id = obj.controller.render_list[i][0];
214 var node = document.getElementById(id);
215 if (node && node.value != '') {
217 // Responsible for own ? or &
221 if (id == 'inactive') {
222 query += id + '=' + window.escape(node.getAttribute('value'));
223 obj.error.sdump('D_DEBUG','id = ' + id + ' value = ' + node.getAttribute('value') + '\n');
225 var value = node.value.replace(/^\s+/,'').replace(/[\\\s]+$/,'');
226 value = value.replace(/\d/g,'');
227 value = value.replace(/[^\w\s]/g,'');
229 query += id + '=' + window.escape(value);
230 obj.error.sdump('D_DEBUG','id = ' + id + ' value = ' + value + '\n');
235 if (typeof obj.on_submit == 'function') {
236 obj.on_submit(query);
238 if (typeof window.xulG == 'object'
239 && typeof window.xulG.on_submit == 'function') {
240 obj.error.sdump('D_PATRON','patron.search_form: Calling external .on_submit()\n');
241 window.xulG.on_submit(query);
243 obj.error.sdump('D_PATRON','patron.search_form: No external .on_query()\n');
249 dump('exiting patron/search_form.js\n');