[PLUGINS] +crayons
[lhc/web/clavette_www.git] / www / plugins / crayons / js / uploader.js.html
diff --git a/www/plugins/crayons/js/uploader.js.html b/www/plugins/crayons/js/uploader.js.html
new file mode 100644 (file)
index 0000000..5bcca93
--- /dev/null
@@ -0,0 +1,70 @@
+<script>\r
+// activer l'uploader\r
+(function($) {\r
+       var url = '[(#VAL{crayons_upload}|generer_url_action{id=#ENV{id_article}&type=article, true, true})]';\r
+\r
+       $('textarea.crayon-active,#uploader#ENV{id_article}')\r
+       .html5Uploader({\r
+               name: 'upss',\r
+               postUrl: url,\r
+               onClientLoadStart: function(e, file) {\r
+                       file.mark = 'up'+Math.ceil(10000000*Math.random());\r
+                       $('<li>lecture de '+file.name+'...</li>')\r
+                       .addClass('loading')\r
+                       .attr('id', file.mark)\r
+                       .prependTo('#uploader_liste')\r
+                       ;\r
+               },\r
+               onClientLoad: function(e, file) {\r
+                       $('#uploader#ENV{id_article}')\r
+                       .removeClass('hover');\r
+               },\r
+               onServerProgress: function(e,file) {\r
+                       var percent = '';\r
+                       if(e.lengthComputable)\r
+                               percent = ''+Math.ceil(100*e.loaded/e.total)+'%';\r
+                       $('#'+file.mark)\r
+                       .html('envoi de '+file.name+' vers le serveur... '+percent);\r
+               },\r
+               onServerReadyStateChange: function(e,file) {\r
+                       if (e.target.responseText) {\r
+                               // traiter la reponse du serveur\r
+                               // todo: la passer en JSON si on veut\r
+                               $('#'+file.mark)\r
+                               .html(e.target.responseText);\r
+                       }\r
+               },\r
+               onServerLoad: function(e,file) {\r
+                       $('#'+file.mark)\r
+                       .removeClass('loading')\r
+                       .addClass('ok');\r
+               },\r
+       })\r
+       .bind("dragenter dragover", function() {\r
+               $(this).addClass('hover');\r
+               $('#uploader#ENV{id_article}')\r
+               .removeClass('ferme');\r
+       })\r
+       .bind("dragleave", function() {\r
+               $(this).removeClass('hover');\r
+               $('#uploader#ENV{id_article}')\r
+               .addClass('ferme');\r
+       })\r
+       .bind("drop", function(e) {\r
+               $(this)\r
+               .removeClass('hover');\r
+               $('#uploader#ENV{id_article}')\r
+               .removeClass('ferme');\r
+       })\r
+       .addClass('uploader')\r
+       ;\r
+       $('#uploader#ENV{id_article}')\r
+       .hover(function() {\r
+               $(this).removeClass('ferme');\r
+       }, function() {\r
+               $(this).addClass('ferme');\r
+       });\r
+\r
+})(cQuery);\r
+\r
+</script>
\ No newline at end of file