/[webpac2]/Webpacus/root/js/webpac.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/webpac.js

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

revision 275 by dpavlin, Sat Dec 17 03:20:19 2005 UTC revision 323 by dpavlin, Sun Dec 25 23:32:01 2005 UTC
# Line 1  Line 1 
 // WebPAC AJAX API  
 //  
 // Documented in this code only, I'm afraid. Beware of dragons!  
 // Dobrica Pavlinusic dpavlin(at)rot13(dot)org 2005-11-22  
   
 /*  
         load another template  
 */  
 function load_template(template_name) {  
   
         var old_template = $('template_name').value;  
   
         Logger.info('load_template: '+template_name+' (old: '+old_template+')');  
   
         if (template_name == old_template) {  
                 Logger.error('why reload same template?');  
                 return false;  
         }  
   
         $('template_name').value = template_name;  
         submit_results_form();  
         return false;  
 }  
   
1  /*  /*
2          pager          WebPAC AJAX class
3  */  */
 function load_results_page(page_nr) {  
   
         if (parseInt(page_nr) != page_nr) {  
                 Logger.error("load_results_page can't parseInt "+page_nr);  
                 return false;  
         }  
   
         var old_page = get_page_nr();  
   
         if (page_nr < 1) {  
                 Logger.error("load_results_page called with '"+page_nr+"' < 1");  
                 return false;  
         }  
   
         Logger.info('load_results_page: '+page_nr+' (from page: '+old_page+')');  
   
         if (page_nr == old_page) {  
                 Logger.error('why reload same page?');  
                 return false;  
         }  
   
         $('page_nr').value = page_nr;  
         submit_results_form();  
   
         return false;  
 }  
   
 function get_page_nr() {  
         var page_nr = parseInt( $('page_nr').value ) || 1;  
         return page_nr;  
 }  
   
 function reset_page_nr( nr ) {  
         if (! nr) nr = 1;  
         Logger.info('reset_page_nr to '+nr);  
         page_nr = nr;  
         $('page_nr').value = page_nr;  
 }  
   
 /* syntaxtic sugar */  
 function set_page_nr(nr) {  
         return load_results_page(nr);  
 }  
   
 function next_page() {  
         load_results_page( get_page_nr() + 1 );  
         return false;  
 }  
   
 function prev_page() {  
         load_results_page( get_page_nr() - 1 );  
         return false;  
 }  
   
 /* toggle visibility and replace text with something else */  
 function toggleLinkAndElement ( link, elementID, text ) {  
   
         if ( link.innerHTML != text ) {  
                 // change link text  
                 link.oldInnerHTML = link.innerHTML;  
                 link.innerHTML = text;      
         } else {  
                 // change it back  
                 link.innerHTML = link.oldInnerHTML;  
         }  
   
         Logger.debug('toggleLinkAndElement '+elementID+': '+Element.visible( elementID )+' text: '+text);  
   
         Element.toggle( elementID );  
   
         // why is this needed, Firefox 1.5?  
         if (Element.visible( elementID )) $( elementID ).style.display = 'block';  
   
         return false;  
 }  
   
   
 /*  
         submit results form using AJAX  
 */  
 function submit_results_form() {  
         var results_form = $('results_form');  
   
         if (results_form) {  
                 var form_params = Form.serialize( results_form );  
   
                 Logger.debug('Ajax.Updater(results,/results/ajax) '+form_params);  
   
                 new Ajax.Updater( 'results', '/search/results/ajax', {  
                         parameters: form_params,  
                         asynchronous: 1,  
                         onLoading: function(request) {  
                                 show_searching();  
                         },  
                         onLoaded: function(request) {  
                                 hide_searching();  
                         }  
                 } ) ;  
                 return false;  
         } else {  
                 Logger.debug('no results_form element');  
                 return undef;  
         }  
         return false;  
 }  
   
 /*  
         helper functions for submit_results_form()  
 */  
 function show_searching() {  
         Logger.debug('show_searching');  
         Element.show('searching');  
 //      new Effect.Fade('results', { duration: 0.3 });  
         return false;  
 }  
   
 function hide_searching() {  
         Logger.debug('hide_searching');  
         Element.hide('searching');  
 //      new Effect.Highlight('results');  
 //      new Effect.Appear('results', { duration: 0.3 });  
         return false;  
 }  
   
 /*  
         load record nr in some template  
 */  
   
 function load_rec(record_uri, tmp_template_filename) {  
         if (! tmp_template_filename) tmp_template_filename = template_filename;  
         Logger.info('load_rec '+record_uri+' in '+tmp_template_filename);  
   
         var results_form = $('results_form');  
   
         if (results_form) {  
                 var args = '?record_uri='+record_uri+'&template_filename='+tmp_template_filename;  
                 Logger.debug('Ajax.Updater(results,/search/record) '+args);  
   
                 new Ajax.Updater( 'results', '/search/record'+args, {  
                         asynchronous: 1,  
                         onLoading: function(request) {  
                                 show_searching();  
                         },  
                         onLoaded: function(request) {  
                                 hide_searching();  
                         }  
                 } ) ;  
                 return false;  
         } else {  
                 Logger.debug('no results_form element');  
                 return undef;  
         }  
         return false;  
 }  
4    
5  var WebPAC = { };  var WebPAC = { };
6    
# Line 223  Object.extend(Object.extend(WebPAC.Sugge Line 45  Object.extend(Object.extend(WebPAC.Sugge
45    },    },
46    
47    getUpdatedChoices: function() {    getUpdatedChoices: function() {
48      entry = encodeURIComponent(this.options.paramName) + '=' +      var entry = encodeURIComponent(this.options.paramName) + '=' +
49        encodeURIComponent(this.getToken());        encodeURIComponent(this.getToken());
50    
51      this.options.parameters = this.options.callback ?      this.options.parameters = this.options.callback ?
# Line 262  Logger.debug('Created WebPAC.Updater Cla Line 84  Logger.debug('Created WebPAC.Updater Cla
84  Object.extend(WebPAC.Updater.prototype, {  Object.extend(WebPAC.Updater.prototype, {
85    initialize: function(container, url, options) {    initialize: function(container, url, options) {
86      Logger.debug('WebPAC.Updater initialize '+container+','+url+','+options);      Logger.debug('WebPAC.Updater initialize '+container+','+url+','+options);
87      url += '/ajax';      if (url.indexOf('/ajax') == -1) {
88          var pos = url.indexOf('?');
89          if (pos == -1) {
90            url += '/ajax';
91          } else {
92            url = url.substring(0,pos) + '/ajax' + url.substring(pos);
93          }
94          Logger.debug('added /ajax to '+url+' pos:'+pos);
95        }
96        Logger.info('using AJAX to update "'+container+'" from '+url);
97      this.updater = new Ajax.Updater(container, url, options);      this.updater = new Ajax.Updater(container, url, options);
     $('_ajax').value = 1;  
     if ($('_ajax').value) Logger.info("using AJAX");  
98    }    }
99  });  });
100    

Legend:
Removed from v.275  
changed lines
  Added in v.323

  ViewVC Help
Powered by ViewVC 1.1.26