/[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 159 by dpavlin, Sat Nov 26 16:22:02 2005 UTC revision 203 by dpavlin, Fri Dec 2 23:01:25 2005 UTC
# Line 19  function load_template(template_name) { Line 19  function load_template(template_name) {
19    
20          $('template_name').value = template_name;          $('template_name').value = template_name;
21          submit_results_form();          submit_results_form();
22            return false;
23  }  }
24    
25  /*  /*
# Line 26  function load_template(template_name) { Line 27  function load_template(template_name) {
27  */  */
28  function load_results_page(page_nr) {  function load_results_page(page_nr) {
29    
30          var old_page = current_page_nr();          if (parseInt(page_nr) != page_nr) {
31                    Logger.error("load_results_page can't parseInt "+page_nr);
32                    return false;
33            }
34    
35            var old_page = get_page_nr();
36    
37            if (page_nr < 1) {
38                    Logger.error("load_results_page called with '"+page_nr+"' < 1");
39                    return false;
40            }
41    
42          Logger.info('load_results_page: '+page_nr+' (from page: '+old_page+')');          Logger.info('load_results_page: '+page_nr+' (from page: '+old_page+')');
43    
# Line 37  function load_results_page(page_nr) { Line 48  function load_results_page(page_nr) {
48    
49          $('page_nr').value = page_nr;          $('page_nr').value = page_nr;
50          submit_results_form();          submit_results_form();
51    
52            return false;
53  }  }
54    
55  function current_page_nr() {  function get_page_nr() {
56          var page_nr = parseInt( $('page_nr').value ) || 0;          var page_nr = parseInt( $('page_nr').value ) || 1;
57          return page_nr;          return page_nr;
58  }  }
59    
60    function reset_page_nr( nr ) {
61            if (! nr) nr = 1;
62            Logger.info('reset_page_nr to '+nr);
63            page_nr = nr;
64            $('page_nr').value = page_nr;
65    }
66    
67    /* syntaxtic sugar */
68    function set_page_nr(nr) {
69            return load_results_page(nr);
70    }
71    
72  function next_page() {  function next_page() {
73          load_results_page( current_page_nr() + 1 );          load_results_page( get_page_nr() + 1 );
74            return false;
75  }  }
76    
77  function prev_page() {  function prev_page() {
78          load_results_page( current_page_nr() - 1 );          load_results_page( get_page_nr() - 1 );
79            return false;
80  }  }
81    
82  /*  /*
# Line 59  function submit_results_form() { Line 86  function submit_results_form() {
86          var results_form = $('results_form');          var results_form = $('results_form');
87    
88          if (results_form) {          if (results_form) {
89                  Logger.debug('Ajax.Updater(results,/results)');                  var form_params = Form.serialize( results_form );
90    
91                    Logger.debug('Ajax.Updater(results,/results) '+form_params);
92    
93                  new Ajax.Updater( 'results', '/search/results', {                  new Ajax.Updater( 'results', '/search/results', {
94                          parameters: Form.serialize( results_form ),                          parameters: form_params,
95                          asynchronous: 1,                          asynchronous: 1,
96                          onLoading: function(request) {                          onLoading: function(request) {
97                                  show_searching();                                  show_searching();
# Line 76  function submit_results_form() { Line 105  function submit_results_form() {
105                  Logger.debug('no results_form element');                  Logger.debug('no results_form element');
106                  return undef;                  return undef;
107          }          }
108            return false;
109  }  }
110    
111  /*  /*
# Line 84  function submit_results_form() { Line 114  function submit_results_form() {
114  function show_searching() {  function show_searching() {
115          Logger.debug('show_searching');          Logger.debug('show_searching');
116          Element.show('searching');          Element.show('searching');
117          new Effect.Fade('results', { duration: 0.3 });  //      new Effect.Fade('results', { duration: 0.3 });
118            return false;
119  }  }
120    
121  function hide_searching() {  function hide_searching() {
122          Logger.debug('hide_searching');          Logger.debug('hide_searching');
123          Element.hide('searching');          Element.hide('searching');
124          //new Effect.Highlight('results');  //      new Effect.Highlight('results');
125          new Effect.Appear('results', { duration: 0.3 });  //      new Effect.Appear('results', { duration: 0.3 });
126            return false;
127  }  }
128    
129    /*
130            load record nr in some template
131    */
132    
133    function load_rec(nr, tmp_template_filename) {
134            if (! tmp_template_filename) tmp_template_filename = template_filename;
135            Logger.info('load_rec '+nr+' in '+tmp_template_filename);
136    
137            var results_form = $('results_form');
138    
139            if (results_form) {
140                    var args = '?mfn='+nr+'&template_filename='+tmp_template_filename;
141                    Logger.debug('Ajax.Updater(results,/search/record) '+args);
142    
143                    new Ajax.Updater( 'results', '/search/record'+args, {
144                            asynchronous: 1,
145                            onLoading: function(request) {
146                                    show_searching();
147                            },
148                            onLoaded: function(request) {
149                                    hide_searching();
150                            }
151                    } ) ;
152                    return false;
153            } else {
154                    Logger.debug('no results_form element');
155                    return undef;
156            }
157            return false;
158    }
159    
160    /*
161            autocompleter which isn't (a suggest box)
162            - don't just on first option on appear
163            - removed fade-in/out effect
164            - added configurable width (content width? centered?)
165            - add icon which means suggest
166    
167            hopefully, this implementation won't break when I update prototype next time :-)
168    */
169    
170    Object.extend(Object.extend(Ajax.Autocompleter.prototype, Autocompleter.Base.prototype), {
171      initialize: function(element, update, url, options) {
172              this.baseInitialize(element, update, options);
173        this.options.asynchronous  = true;
174        this.options.onComplete    = this.onComplete.bind(this);
175        this.options.defaultParams = this.options.parameters || null;
176        this.url                   = url;
177        this.ignoreReturn = true;
178    
179        this.options.onShow = function(element, update) {
180          if(!update.style.position || update.style.position=='absolute') {
181            update.style.position = 'absolute';
182            Position.clone(element, update, {setHeight: false, offsetTop: element.offsetHeight});
183          }
184          new Element.show(update);
185          Logger.debug('Ajax.Suggest.onShow');
186        };
187    
188        this.options.onHide = function(element, update) {
189            new Element.hide(update);
190            Logger.debug('Ajax.Suggest.onHide');
191        };
192      },
193    
194      getUpdatedChoices: function() {
195        entry = encodeURIComponent(this.options.paramName) + '=' +
196          encodeURIComponent(this.getToken());
197    
198        this.options.parameters = this.options.callback ?
199          this.options.callback(this.element, entry) : entry;
200    
201        if(this.options.defaultParams)
202          this.options.parameters += '&' + this.options.defaultParams;
203    
204        Logger.debug('Ajax.Suggest called '+this.url);
205        new Ajax.Request(this.url, this.options);
206      },
207    
208      onComplete: function(request) {
209        Logger.debug('Ajax.Suggest onComplete called');
210        this.updateChoices(request.responseText);
211      },
212    
213      markPrevious: function() {
214        if(this.index > 0) this.index--
215        //  else this.index = this.entryCount-1;
216      },
217    
218      markNext: function() {
219        if(this.index < this.entryCount-1) this.index++
220        //  else this.index = 0;
221      },
222    
223    });

Legend:
Removed from v.159  
changed lines
  Added in v.203

  ViewVC Help
Powered by ViewVC 1.1.26