/[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

Annotation of /trunk/public_html/koha.js

Parent Directory Parent Directory | Revision Log Revision Log


Revision 84 - (hide annotations)
Sun Mar 29 17:48:11 2009 UTC (15 years, 1 month ago) by dpavlin
File MIME type: application/javascript
File size: 2971 byte(s)
fix removal of item
1 dpavlin 70 // Set this to something unique to this client
2    
3 dpavlin 81 function update_selected( by ) {
4     var e = $('#clear_selection');
5 dpavlin 83 var v = parseInt( e.attr('value') );
6     e.attr( 'value', v + by );
7     console.debug('selected', v);
8     return v;
9 dpavlin 81 }
10 dpavlin 72
11 dpavlin 81 function read_tag( id ) {
12     console.debug('read_tag',id);
13 dpavlin 73
14 dpavlin 81 var item = $('#item'+id);
15 dpavlin 76
16 dpavlin 81 if ( item.length > 0 ) {
17     console.error('element', id, 'allready exists', item);
18     item.addClass('in_range');
19     } else {
20 dpavlin 83 var tabindex = update_selected(+1) + 1;
21 dpavlin 81
22 dpavlin 83 $('#koha').append( '<div class="item in_range loading" id="item'+id+'" tabindex='+tabindex+'>Loading item '+id+' from Koha</div>' )
23    
24 dpavlin 78 var item = $('#item'+id);
25 dpavlin 76
26 dpavlin 81 $.ajax({
27     url: '/koha/' + id,
28     success: function(html) {
29     console.info('success',id);
30     item.html( html );
31 dpavlin 78
32 dpavlin 81 item.removeClass('loading');
33 dpavlin 76
34 dpavlin 81 item.click( function() {
35     // remove selected item
36 dpavlin 84 item.fadeOut('slow', function() {
37 dpavlin 81 console.debug('remove',id);
38 dpavlin 84 item.remove();
39     var selected = update_selected( -1 );
40     console.info('selected', selected);
41 dpavlin 81 });
42 dpavlin 78 });
43 dpavlin 81 },
44     error: function (XMLHttpRequest, textStatus, errorThrown) {
45     item.replace('Error loading: ' + testStatus);
46     item.removeClass('loading');
47     }
48     });
49     }
50     }
51    
52     function remove_tag( id ) {
53     var item = $('#item'+id);
54     if ( item.length > 0 ) {
55     console.info('item', id, 'out of range');
56     item.removeClass('in_range');
57     } else {
58     console.error('item', id, 'not found on page');
59     }
60     }
61    
62     function process(data) {
63     var a = data.split('|');
64     console.info('process', a);
65    
66     if ( a[0] == 'info' ) {
67     $('#info').html( a[1]+'<br><tt>'+a[2]+'</tt>' );
68     } else if ( a[0] == 'info-none-in-range' ) {
69     $('.in_range').removeClass('in_range');
70     $('#info').html( 'No items in reader range<br><tt>'+a[1]+'</tt>');
71     } else if ( a[0] == 'info-in-range' ) {
72     $('#info').html( 'Items in reader range: '+a[1]+'<br><tt>'+a[2]+'</tt>');
73     $('.in_range').removeClass('in_range');
74     // FIXME: refresh in_range classes?
75     var items = a[1].split(' ');
76     for ( i in items ) {
77     $('#item'+items[i]).addClass('in_range');
78 dpavlin 78 }
79 dpavlin 81 console.debug(items, 'in range');
80     } else if ( a[0] == 'read' ) {
81     read_tag( a[1] );
82     } else if ( a[0] == 'removed' ) {
83     remove_tag( a[1] );
84     } else {
85 dpavlin 84 console.error( 'unknown', a );
86 dpavlin 70 }
87     };
88    
89     $(document).ready( function() {
90    
91     var channel = 'test';
92    
93     Meteor.hostid = '409897502705';
94    
95     // Our Meteor server is on the data. subdomain
96     Meteor.host = 'data.' + location.hostname;
97     Meteor.port = 4670;
98    
99     // Call the test() function when data arrives
100     Meteor.registerEventCallback("process", process );
101    
102     console.info('Meteor connect', channel, Meteor.status );
103    
104     // Join the demo channel and get last five events, then stream
105     Meteor.joinChannel( channel, 5 );
106     Meteor.mode = 'stream';
107    
108     // Start streaming!
109     Meteor.connect();
110    
111 dpavlin 73 // clear selection
112     $('#clear_selection').click( function() {
113     $('#koha').html('No items selected');
114     $('#clear_selection').attr('value', '0');
115     console.debug('clear selection');
116     });
117 dpavlin 70
118     });

  ViewVC Help
Powered by ViewVC 1.1.26