Difference between revisions of "Widget:Multi upload"
From cm2.liecourt.com
(Created page with "<div id="imgTest" class="upload-preview"></div> <label for="files" class="attachment"><i class="fa fa-paperclip"></i><input type="file" id="files" name="files[]" class="d-non...") |
m (Reverted edits by Maintenance script (talk) to last revision by Merel) (Tag: Rollback) |
||
| (6 intermediate revisions by 3 users not shown) | |||
| Line 1: | Line 1: | ||
| + | <noinclude>{{Managed | ||
| + | |Version=1.0 | ||
| + | |Version notes=1.0 - First managed version | ||
| + | |Short description= | ||
| + | }} | ||
| + | |||
| + | This is the '''Widget:Multi upload''' page. It should be called in the following format: | ||
| + | |||
| + | <pre> | ||
| + | {{#widget:Multi upload }} | ||
| + | </pre> | ||
| + | |||
| + | </noinclude><includeonly> | ||
<div id="imgTest" class="upload-preview"></div> | <div id="imgTest" class="upload-preview"></div> | ||
| − | <label for="files" class="attachment"><i class="fa fa-paperclip"></i><input type="file" id="files" name="files[]" class="d-none" multiple /></label>< | + | <label for="files" class="attachment"><i class="fa fa-paperclip"></i><input type="file" id="files" name="files[]" class="d-none" multiple /></label><script> |
| + | |||
| + | function uuidv4() { | ||
| + | return ([1e7]+-1e3+-4e3+-8e3+-1e11).replace(/[018]/g, c => | ||
| + | (c ^ crypto.getRandomValues(new Uint8Array(1))[0] & 15 >> c / 4).toString(16) | ||
| + | ); | ||
| + | } | ||
| + | |||
| + | var uuid = uuidv4(); | ||
var filedate = Date.now(); | var filedate = Date.now(); | ||
| Line 10: | Line 31: | ||
function uploadFiles(evt){ | function uploadFiles(evt){ | ||
| + | evt.classList.add('pending'); | ||
| + | evt.disabled = true; | ||
var files = document.getElementById('files').files; | var files = document.getElementById('files').files; | ||
var proms = []; | var proms = []; | ||
| Line 21: | Line 44: | ||
console.log(values); | console.log(values); | ||
console.log('done'); | console.log('done'); | ||
| − | + | var codeid = document.createElement('input'); | |
| + | codeid.setAttribute('type','hidden') | ||
| + | codeid.setAttribute('name','uuid') | ||
| + | codeid.setAttribute('value', uuid) | ||
| + | document.getElementById('files').closest('form').appendChild(codeid) | ||
| + | submitRealField() | ||
}); | }); | ||
| Line 66: | Line 94: | ||
var filesSelected = document.getElementById("files").files; | var filesSelected = document.getElementById("files").files; | ||
if (filesSelected.length > 0) { | if (filesSelected.length > 0) { | ||
| − | + | document.getElementById("imgTest").innerHTML = ''; | |
for(i = 0; i < filesSelected.length; ++i){ | for(i = 0; i < filesSelected.length; ++i){ | ||
| Line 97: | Line 125: | ||
function editFilePage(file){ | function editFilePage(file){ | ||
| + | |||
| + | |||
| + | <!--{if (isset($edit) && $edit!="")}--> | ||
| + | |||
| − | var newWikitextEdit = '{{File for case|Case file= | + | |
| + | uuid = '<!--{$id}-->'; | ||
| + | |||
| + | <!--{/if}--> | ||
| + | |||
| + | var newWikitextEdit = '{{File for case|Case file='+uuid+'|File uploaded by=User:'+mw.user.getName()+'|type='+file.substr( file.length -3 )+'}}'; | ||
| Line 116: | Line 153: | ||
document.getElementById('files').addEventListener('change', handleFileSelect, false); //is a <input type="file" id="files" name="files[]" multiple /> | document.getElementById('files').addEventListener('change', handleFileSelect, false); //is a <input type="file" id="files" name="files[]" multiple /> | ||
| − | |||
</script> | </script> | ||
| + | |||
| + | </includeonly> | ||
Latest revision as of 12:37, 24 February 2022
This is the Widget:Multi upload page. It should be called in the following format:
{{#widget:Multi upload }}