/[webpac2]/Webpacus/root/js/search.js
This is repository of my old source code which isn't updated any more. Go to git.rot13.org for current projects!
ViewVC logotype

Diff of /Webpacus/root/js/search.js

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 324 by dpavlin, Sun Dec 25 23:32:04 2005 UTC revision 329 by dpavlin, Tue Dec 27 21:36:42 2005 UTC
# Line 188  function load_rec(record_uri, tmp_templa Line 188  function load_rec(record_uri, tmp_templa
188    
189  function checkbox_click() {  function checkbox_click() {
190          if (search_active) return false;          if (search_active) return false;
         submit_results_form();  
191          Logger.debug('checkbox_click');          Logger.debug('checkbox_click');
192            submit_results_form();
193          return true;          return true;
194  }  }
195    
196    /* toggle or select checkbox with value toggle */
197    
198    function checkbox_toggle( name, val ) {
199            return checkbox_magic( name, val, 0 );
200    }
201    
202    function checkbox_single( name, val ) {
203            return checkbox_magic( name, val, 1 );
204    }
205    
206    function checkbox_magic( name, val, single ) {
207    
208            Logger.info('checkbox_magic('+name+','+val+','+single+')');
209    
210            var form = $('results_form');
211            var inputs = form.getElementsByTagName('input');
212    
213            for (var i = 0; i < inputs.length; i++) {
214                    var input = inputs[i];
215                    if (input.type != 'checkbox') continue;
216                    if (single) {
217                            input.checked = false;
218                    }
219                    if (input.name != name || input.value != val) continue;
220                    Logger.debug('toggle '+input.name+'='+input.value+' '+input.checked);
221                    input.checked = ! input.checked;
222                    if (! single) {
223                            submit_results_form();
224                            return false;
225                    }
226            }
227            submit_results_form();
228            return false;
229    }
230    
231    /* reset form fields in _reset hidden field to nothing */
232    
233    function reset_form() {
234            Logger.info('reset '+$F('_reset'));
235    
236            var names = new Array();
237            names = $F('_reset').split(',');
238            for(var i = 0; i < names.length; i++) {
239                    Logger.debug('reset '+i+': '+names[i]);
240                    $(names[i]).value='';
241            }
242    
243            var t=$('search_table');
244            var max_p = t.rows.length;
245            for(var i = 0; i < attr_rows.length; i++) {
246                    var p = attr_rows[i];
247                    if (p != -1) {
248                            if (p < max_p) {
249                                    Logger.debug('delete row '+p);
250                                    t.deleteRow( p );
251                            } else {
252                                    Logger.error('skipping invalid delete row '+p);
253                            }
254                    }
255            }
256    
257            attr_rows = new Array();
258    
259            return false;
260    }
261    
262  /* helper function for [% search($display, $search, $delimiter) %] */  /* helper function for [% search($display, $search, $delimiter) %] */
263    
264  function search_via_link(attr, val, template) {  function search_via_link(attr, val, template) {
265    
266          if (! template) template = $('template_name').value;          if (! template) template = $('template_name').value;
267          Logger.info('search called from link for '+attr+'='+val+' in '+template);          Logger.info('search called from link for '+attr+'='+val+' in '+template);
268            save_search(attr, val);
269    
270          new WebPAC.Updater( 'results',          $('template_name').value = template;
271                  '/search/results?'+attr+'='+val+'&_template='+template, {          submit_results_form();
                         asynchronous: 1,  
                         onLoading: function(request) {  
                                 show_searching();  
                         },  
                         onLoaded: function(request) {  
                                 save_search(attr, val);  
                                 hide_searching();  
                         }  
                 }  
         );  
272    
273          return false;          return false;
274  }  }
# Line 228  function save_search( attr, val ) { Line 285  function save_search( attr, val ) {
285                  Logger.error("can't find search_table");                  Logger.error("can't find search_table");
286                  return undef;                  return undef;
287          }          }
288          Logger.debug('reset results_form');          reset_form();
289          Form.reset('results_form');  
290            var form = $('results_form');
291            var inputs = form.getElementsByTagName('input');
292    
293            for (var i = 0; i < inputs.length; i++) {
294                    var input = inputs[i];
295                    if (input.name != attr) continue;
296                    Logger.debug('found '+name+'='+input.value);
297                    input.value = unescape( val );
298                    return false;
299            }
300    
301          var t_row_nr = t.rows.length;          var t_row_nr = t.rows.length;
302          var tr = t.insertRow( t_row_nr );          var tr = t.insertRow( t_row_nr );

Legend:
Removed from v.324  
changed lines
  Added in v.329

  ViewVC Help
Powered by ViewVC 1.1.26