Guest User

Untitled

a guest
Jul 12th, 2012
155
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.62 KB | None | 0 0
  1. <form action="%(action)s" method="post" id="upload"><input
  2. type="hidden" name="op" value="%(op)s" /> %(id)s
  3.  
  4. <h2>Add Multiple Documents</h2>
  5. <h5>Drag and drop files from your desktop to upload many files at once to BC.</h5>
  6. <h5>You can Upload NNN MB of files at a time.</h5>
  7.  
  8. <input type="hidden" id="MAX_FILE_SIZE" name="MAX_FILE_SIZE" value="300000" />
  9.  
  10. <input type="hidden" id="fileselect" name="fileselect[]" multiple="multiple" />
  11.  
  12. <div id="holder"><span style="display: inline;"> %(drag_drop_icon)s</span><span> <h3>Drop Files Here </h3></span></div>
  13. <section id="wrapper"></section>
  14.  
  15. <style>
  16. #holder { border: 3px dashed #ccc; width: 45em; min-height: 10em; style="display: block;"}
  17. #holder.hover { border: 6px dashed #0c0; }
  18. #holder img { display: block; margin: 10px auto; }
  19. #holder p { margin: 6px; font-size: 14px; }
  20. #messages{padding: 0 10px;margin: 1em 0;border: 1px solid #999;}
  21. #filedrag{display: none;font-weight: bold;text-align: center;padding: 1em 0;margin: 1em 0;color: #555;border: 2px dashed #555;border-radius: 7px;cursor: default;}
  22. #filedrag.hover{color: #f00;border-color: #f00;border-style: solid;box-shadow: inset 0 3px 4px #888;}
  23. </style>
  24.  
  25.  
  26.  
  27. <output id="list">
  28. <div style="width: 44em; background-color: #BDBDBD; height: auto; max-height: 15em; overflow-y: scroll; padding: 10px;">
  29. No files selected
  30. </div>
  31. <br/>
  32. </output>
  33. <input type="hidden" id="hidden_old_files" />
  34. <script src="filedrag.js"></script>
  35.  
  36. <script type="text/javascript">
  37.  
  38. function handleFileSelect(evt) {
  39. evt.stopPropagation();
  40. evt.preventDefault();
  41.  
  42. var files = evt.dataTransfer.files; // FileList object.
  43.  
  44. // files is a FileList of File objects. List some properties.
  45. var output = [];
  46. output.push('<div style="width: 44em; background-color: #BDBDBD; height: auto; max-height: 15em; overflow-y: scroll; padding: 10px;">');
  47. var after_upload_count_size = [];
  48. var i = 0;
  49. file_size = 0;
  50. for (i = 0, f; f = files[i]; i++) {
  51. file_size +=f.size;
  52. }
  53. output.push( i, ' files selected, ', Math.round((file_size/1048576)*Math.pow(10,2))/Math.pow(10,2),'MB total size','<br /> Documents:<br />');
  54. after_upload_count_size.push( i, ' files selected, ', Math.round((file_size/1048576)*Math.pow(10,2))/Math.pow(10,2),'MB total size');
  55. for (var i = 0, f; f = files[i]; i++) {
  56. output.push('This is a ', escape(f.name),' (',Math.round((f.size/1048576)*Math.pow(10,2))/Math.pow(10,2), ' MB)','<br />');
  57. }
  58. output.push('</div>');
  59. if(file_size > 300000){
  60. alert('Upload too large.');
  61. return false;
  62. }
  63. document.getElementById('list').innerHTML = '' + output.join('') + '';
  64. document.getElementById('size_of_files').innerHTML = after_upload_count_size.join('');
  65. document.getElementById('hidden_old_files').innerHTML = files;
  66. if(i > 0){
  67. document.getElementById('upload_disable').disabled = false;
  68. }
  69. }
  70.  
  71. function handleDragOver(evt) {
  72. evt.stopPropagation();
  73. evt.preventDefault();
  74. evt.dataTransfer.dropEffect = 'copy'; // Explicitly show this is a copy.
  75. }
  76.  
  77. // Setup the dnd listeners.
  78. var dropZone = document.getElementById('holder');
  79. dropZone.addEventListener('dragover', handleDragOver, false);
  80. dropZone.addEventListener('drop', handleFileSelect, false);
  81. </script>
  82.  
  83.  
  84.  
  85. <div id="hello">
  86. <p>
  87. <after_upload_count_size id="size_of_files"></after_upload_count_size>
  88. </p>
  89. <p>What would you like to do after the upload complete?</p>
  90. <div id="process">
  91. %(after_upload)s
  92. </div>
  93. <button class="create_label_submit" value="ok" name="submit">Ok</button>
  94. <button class="cancel" value="cancel" name="submit">Cancel</button>
  95. </div>
  96. <script type="text/javascript">
  97.  
  98. $(document).ready(function() {
  99. $("#hello" ).dialog({
  100. autoOpen: false,
  101. show: "scale",
  102. hide: "scale",
  103. title: "What would you like to do next?",
  104. });
  105.  
  106. $( ".click_upload" ).click(function() {
  107. var process = $("#process div").size();
  108. if(process > 1){
  109. $("#hello").dialog({ modal: true });
  110. $("#hello").dialog("open", "modal", true);
  111. return false;
  112. }
  113. else{
  114. $('#upload').submit();
  115. }
  116. });
  117.  
  118. $( ".create_label_submit" ).click(function() {
  119. $("#hello").dialog('close');
  120. $(document.forms[0]).submit();
  121. });
  122. $( ".cancel" ).click(function() {
  123. $("#hello").dialog('close');
  124. $(document.forms[0]).submit();
  125. });
  126. });
  127.  
  128. </script>
  129. <button class="click_upload" value="upload" name="submit" id="upload_disable" disabled="disabled">Upload</button>
  130. <button class="cancel" value="cancel" name="submit">Cancel</button>
  131. </form>
Advertisement
Add Comment
Please, Sign In to add comment