[PLUGINS] +crayons
[lhc/web/clavette_www.git] / www / plugins / crayons / js / uploader.js.html
1 <script>
2 // activer l'uploader
3 (function($) {
4 var url = '[(#VAL{crayons_upload}|generer_url_action{id=#ENV{id_article}&type=article, true, true})]';
5
6 $('textarea.crayon-active,#uploader#ENV{id_article}')
7 .html5Uploader({
8 name: 'upss',
9 postUrl: url,
10 onClientLoadStart: function(e, file) {
11 file.mark = 'up'+Math.ceil(10000000*Math.random());
12 $('<li>lecture de '+file.name+'...</li>')
13 .addClass('loading')
14 .attr('id', file.mark)
15 .prependTo('#uploader_liste')
16 ;
17 },
18 onClientLoad: function(e, file) {
19 $('#uploader#ENV{id_article}')
20 .removeClass('hover');
21 },
22 onServerProgress: function(e,file) {
23 var percent = '';
24 if(e.lengthComputable)
25 percent = ''+Math.ceil(100*e.loaded/e.total)+'%';
26 $('#'+file.mark)
27 .html('envoi de '+file.name+' vers le serveur... '+percent);
28 },
29 onServerReadyStateChange: function(e,file) {
30 if (e.target.responseText) {
31 // traiter la reponse du serveur
32 // todo: la passer en JSON si on veut
33 $('#'+file.mark)
34 .html(e.target.responseText);
35 }
36 },
37 onServerLoad: function(e,file) {
38 $('#'+file.mark)
39 .removeClass('loading')
40 .addClass('ok');
41 },
42 })
43 .bind("dragenter dragover", function() {
44 $(this).addClass('hover');
45 $('#uploader#ENV{id_article}')
46 .removeClass('ferme');
47 })
48 .bind("dragleave", function() {
49 $(this).removeClass('hover');
50 $('#uploader#ENV{id_article}')
51 .addClass('ferme');
52 })
53 .bind("drop", function(e) {
54 $(this)
55 .removeClass('hover');
56 $('#uploader#ENV{id_article}')
57 .removeClass('ferme');
58 })
59 .addClass('uploader')
60 ;
61 $('#uploader#ENV{id_article}')
62 .hover(function() {
63 $(this).removeClass('ferme');
64 }, function() {
65 $(this).addClass('ferme');
66 });
67
68 })(cQuery);
69
70 </script>