Allow root page paths (rather than specifying a magic "home" string). More UX improvements to FileManager and Pager.

This commit is contained in:
Shaun Walker
2021-10-01 11:28:48 -04:00
parent 3e789e0642
commit aeb599867c
9 changed files with 99 additions and 59 deletions

View File

@ -298,10 +298,14 @@ Oqtane.Interop = {
return files;
},
uploadFiles: function (posturl, folder, id) {
var files = document.getElementById(id + 'FileInput').files;
var fileinput = document.getElementById(id + 'FileInput');
var files = fileinput.files;
var progressinfo = document.getElementById(id + 'ProgressInfo');
var progressbar = document.getElementById(id + 'ProgressBar');
progressinfo.setAttribute("style", "display: inline;");
progressbar.setAttribute("style", "width: 200px; display: inline;");
for (var i = 0; i < files.length; i++) {
var FileChunk = [];
var file = files[i];
@ -311,8 +315,6 @@ Oqtane.Interop = {
var EndPos = BufferChunkSize;
var Size = file.size;
progressbar.setAttribute("style", "width:100%; visibility: visible;");
while (FileStreamPos < Size) {
FileChunk.push(file.slice(FileStreamPos, EndPos));
FileStreamPos = EndPos;
@ -332,21 +334,22 @@ Oqtane.Interop = {
var request = new XMLHttpRequest();
request.open('POST', posturl, true);
request.upload.onloadstart = function (e) {
progressbar.value = 0;
progressinfo.innerHTML = file.name + ' 0%';
progressbar.value = 0;
};
request.upload.onprogress = function (e) {
var percent = Math.ceil((e.loaded / e.total) * 100);
progressbar.value = (percent / 100);
progressinfo.innerHTML = file.name + '[' + PartCount + '] ' + percent + '%';
progressbar.value = (percent / 100);
};
request.upload.onloadend = function (e) {
progressbar.value = 1;
progressinfo.innerHTML = file.name + ' 100%';
progressbar.value = 1;
};
request.send(data);
}
}
fileinput.value = '';
},
refreshBrowser: function (reload, wait) {
setInterval(function () {
@ -360,5 +363,11 @@ Oqtane.Interop = {
},
formValid: function (formRef) {
return formRef.checkValidity();
},
setElementAttribute: function (id, attribute, value) {
var element = document.getElementById(id);
if (element !== null) {
element.setAttribute(attribute, value);
}
}
};