/[meteor]/trunk/public_html/koha.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 /trunk/public_html/koha.js

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

revision 70 by dpavlin, Sat Mar 28 03:45:31 2009 UTC revision 83 by dpavlin, Sun Mar 29 10:52:20 2009 UTC
# Line 1  Line 1 
1  // Set this to something unique to this client  // Set this to something unique to this client
2    
3    function update_selected( by ) {
4            var e = $('#clear_selection');
5            var v = parseInt( e.attr('value') );
6            e.attr( 'value', v + by );
7            console.debug('selected', v);
8            return v;
9    }
10    
11    function read_tag( id ) {
12            console.debug('read_tag',id);
13    
14            var item = $('#item'+id);
15    
16            if ( item.length > 0 ) {
17                    console.error('element', id, 'allready exists', item);
18                    item.addClass('in_range');
19            } else {
20                    var tabindex = update_selected(+1) + 1;
21    
22                    $('#koha').append( '<div class="item in_range loading" id="item'+id+'" tabindex='+tabindex+'>Loading item '+id+' from Koha</div>' )
23    
24                    var item = $('#item'+id);
25    
26                    $.ajax({
27                            url: '/koha/' + id,
28                            success: function(html) {
29                                    console.info('success',id);
30                                    item.html( html );
31    
32                                    item.removeClass('loading');
33    
34                                    item.click( function() {
35                                            // remove selected item
36                                            this.fadeOut('slow', function() {
37                                                    console.debug('remove',id);
38                                                    update_selection( -1 );
39                                                    this.remove();
40                                            });
41                                    });
42                            },
43                            error: function (XMLHttpRequest, textStatus, errorThrown) {
44                                    item.replace('Error loading: ' + testStatus);
45                                    item.removeClass('loading');
46                            }
47                    });
48            }
49    }
50    
51    function remove_tag( id ) {
52            var item = $('#item'+id);
53            if ( item.length > 0 ) {
54                    console.info('item', id, 'out of range');
55                    item.removeClass('in_range');
56            } else {
57                    console.error('item', id, 'not found on page');
58            }
59    }
60    
61  function process(data) {  function process(data) {
62          var a = data.split('|');          var a = data.split('|');
63          console.info('process', a);          console.info('process', a);
64          $('#test').html( a[1] );  
65          if ( a[0] > 0 ) {          if ( a[0] == 'info' ) {
66                  $('#koha')                  $('#info').html( a[1]+'<br><tt>'+a[2]+'</tt>' );
67                  .html( 'Loading item '+a[0]+' from Koha' )          } else if ( a[0] == 'info-none-in-range' ) {
68                  .load( '/koha/' + a[0] )                  $('.in_range').removeClass('in_range');
69                  ;                  $('#info').html( 'No items in reader range<br><tt>'+a[1]+'</tt>');
70          } else if ( a[0] < 0 ) {          } else if ( a[0] == 'info-in-range' ) {
71                  $('#koha').html( '--' );                  $('#info').html( 'Items in reader range: '+a[1]+'<br><tt>'+a[2]+'</tt>');
72                    $('.in_range').removeClass('in_range');
73                    // FIXME: refresh in_range classes?
74                    var items = a[1].split(' ');
75                    for ( i in items ) {
76                            $('#item'+items[i]).addClass('in_range');
77                    }
78                    console.debug(items, 'in range');
79            } else if ( a[0] == 'read' ) {
80                    read_tag( a[1] );
81            } else if ( a[0] == 'removed' ) {
82                    remove_tag( a[1] );
83            } else {
84                    console.error( 'unknown', cmd, id );
85          }          }
86  };  };
87    
# Line 36  $(document).ready( function() { Line 107  $(document).ready( function() {
107          // Start streaming!          // Start streaming!
108          Meteor.connect();          Meteor.connect();
109    
110            // clear selection
111            $('#clear_selection').click( function() {
112                    $('#koha').html('No items selected');
113                    $('#clear_selection').attr('value', '0');
114                    console.debug('clear selection');
115            });
116    
117  });  });

Legend:
Removed from v.70  
changed lines
  Added in v.83

  ViewVC Help
Powered by ViewVC 1.1.26