|
@@ -756,7 +756,6 @@
|
|
}
|
|
}
|
|
|
|
|
|
function highlightCurrentRoot(){
|
|
function highlightCurrentRoot(){
|
|
-
|
|
|
|
//Highlight the target vroot name on the side bar
|
|
//Highlight the target vroot name on the side bar
|
|
$(".vroot.active").removeClass("active");
|
|
$(".vroot.active").removeClass("active");
|
|
$(".vroot").each(function(){
|
|
$(".vroot").each(function(){
|
|
@@ -825,6 +824,7 @@
|
|
|
|
|
|
//Backup the current selected files if it is an refresh operation
|
|
//Backup the current selected files if it is an refresh operation
|
|
let selectedFiles = [];
|
|
let selectedFiles = [];
|
|
|
|
+ let currentScrollTop = JSON.parse(JSON.stringify($("#folderView").scrollTop()));
|
|
if (path == currentPath){
|
|
if (path == currentPath){
|
|
$(".fileObject.item.selected").each(function(){
|
|
$(".fileObject.item.selected").each(function(){
|
|
selectedFiles.push($(this).attr("filename"));
|
|
selectedFiles.push($(this).attr("filename"));
|
|
@@ -873,8 +873,9 @@
|
|
|
|
|
|
//Add loading screen to the folderlists and fileList
|
|
//Add loading screen to the folderlists and fileList
|
|
$("#fileList").html("");
|
|
$("#fileList").html("");
|
|
|
|
+
|
|
$("#folderList").html(`<div style="height: 100px;">
|
|
$("#folderList").html(`<div style="height: 100px;">
|
|
- <div class="ui active inverted dimmer">
|
|
|
|
|
|
+ <div class="ui active inverted dimmer" style="z-index: 95;">
|
|
<div class="ui text loader">${applocale.getString("message/loading", "Loading")}</div>
|
|
<div class="ui text loader">${applocale.getString("message/loading", "Loading")}</div>
|
|
</div>
|
|
</div>
|
|
</div>`);
|
|
</div>`);
|
|
@@ -972,6 +973,9 @@
|
|
}
|
|
}
|
|
}
|
|
}
|
|
});
|
|
});
|
|
|
|
+
|
|
|
|
+ //Restore the previous scroll position
|
|
|
|
+ $("#folderView").scrollTop(currentScrollTop);
|
|
|
|
|
|
//Perform the callback
|
|
//Perform the callback
|
|
if (callback !== undefined){
|
|
if (callback !== undefined){
|
|
@@ -1178,7 +1182,7 @@
|
|
|
|
|
|
var shareicon = "";
|
|
var shareicon = "";
|
|
if (isShared){
|
|
if (isShared){
|
|
- shareicon = `<button class="sharebtn" onclick='handleShareFilebuttonClick(event, this);' style="margin-left: 4px; height: 16px;">
|
|
|
|
|
|
+ shareicon = `<button class="sharebtn" onclick='handleShareFilebuttonClick(event, this);' style="margin-left: 0px; height: 16px;">
|
|
<i class='share alternate icon'></i>
|
|
<i class='share alternate icon'></i>
|
|
</button>`
|
|
</button>`
|
|
}
|
|
}
|
|
@@ -1220,7 +1224,7 @@
|
|
$("#fileList").append(`<div class="fileObject item" draggable="true" ondragstart="onFileObjectDragStart(this,event);" fileID="${fl + i}" filename="${filename}" filepath="${filepath}" ondblclick="openthis(this,event);" type="${fileType}" filesize="${filesize}" displaysize="${Displaysize}">
|
|
$("#fileList").append(`<div class="fileObject item" draggable="true" ondragstart="onFileObjectDragStart(this,event);" fileID="${fl + i}" filename="${filename}" filepath="${filepath}" ondblclick="openthis(this,event);" type="${fileType}" filesize="${filesize}" displaysize="${Displaysize}">
|
|
<span style="display:inline-block !important;word-break: break-all;text-overflow: ellipsis !important;overflow: hidden;" class="${textclass}">
|
|
<span style="display:inline-block !important;word-break: break-all;text-overflow: ellipsis !important;overflow: hidden;" class="${textclass}">
|
|
<i class="${icon} icon" style="margin-right:12px;"></i>
|
|
<i class="${icon} icon" style="margin-right:12px;"></i>
|
|
- ${displayName} ${shareicon}
|
|
|
|
|
|
+ <span class="filename">${displayName}</span> ${shareicon}
|
|
</span>
|
|
</span>
|
|
</div>`);
|
|
</div>`);
|
|
}else if (viewMode == "grid"){
|
|
}else if (viewMode == "grid"){
|
|
@@ -1262,9 +1266,10 @@
|
|
<div class="fileObject card" draggable="true" ondragstart="onFileObjectDragStart(this,event);" fileID="${fl + i}" filename="${filename}" filepath="${filepath}" ondblclick="openthis(this,event);" type="${fileType}" style="width:${gridSize}px; display:inline-block !important;vertical-align:top; height:20em; margin-top:0px !important; overflow:hidden;">
|
|
<div class="fileObject card" draggable="true" ondragstart="onFileObjectDragStart(this,event);" fileID="${fl + i}" filename="${filename}" filepath="${filepath}" ondblclick="openthis(this,event);" type="${fileType}" style="width:${gridSize}px; display:inline-block !important;vertical-align:top; height:20em; margin-top:0px !important; overflow:hidden;">
|
|
<div class="image" style="text-align: center !important;">
|
|
<div class="image" style="text-align: center !important;">
|
|
<img draggable="true"ondragstart="disableDrag(event);" style="height: 148px; width: 148px; display:inline-block;" src="${imagePath}">
|
|
<img draggable="true"ondragstart="disableDrag(event);" style="height: 148px; width: 148px; display:inline-block;" src="${imagePath}">
|
|
|
|
+ <div class="shareOverlay ${isShared?"visible":""}">${shareicon}</div>
|
|
</div>
|
|
</div>
|
|
<div class="content">
|
|
<div class="content">
|
|
- <div class="header ${textclass}" title="${filename}" style="text-overflow: ellipsis; font-size: 100%">${displayName} ${shareicon}</div>
|
|
|
|
|
|
+ <div class="header ${textclass}" title="${filename}" style="text-overflow: ellipsis; font-size: 100%"><span class="filename">${displayName}</span></div>
|
|
<div class="meta">
|
|
<div class="meta">
|
|
<div>${ext}</div>
|
|
<div>${ext}</div>
|
|
</div>
|
|
</div>
|
|
@@ -1292,7 +1297,7 @@
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
- let isSharedIcon = '<i class="ui grey remove icon" style="margin-left: 8px;"></i>';
|
|
|
|
|
|
+ let isSharedIcon = '<i class="ui grey remove icon" style="margin-left: 4px;"></i>';
|
|
if (isShared){
|
|
if (isShared){
|
|
isSharedIcon = shareicon;
|
|
isSharedIcon = shareicon;
|
|
}
|
|
}
|
|
@@ -1300,7 +1305,7 @@
|
|
var date = new Date(modTime * 1000);
|
|
var date = new Date(modTime * 1000);
|
|
|
|
|
|
$("#fileList").find(".fileDetailList").append(`<tr class="fileObject details" draggable="true" ondragstart="onFileObjectDragStart(this,event);" ondrop="dropToFolder(event)" ondragover="allowDrop(event)" fileID="${i}" filename="${filename}" filepath="${filepath}" ondblclick="openthis(this,event);" type="file">
|
|
$("#fileList").find(".fileDetailList").append(`<tr class="fileObject details" draggable="true" ondragstart="onFileObjectDragStart(this,event);" ondrop="dropToFolder(event)" ondragover="allowDrop(event)" fileID="${i}" filename="${filename}" filepath="${filepath}" ondblclick="openthis(this,event);" type="file">
|
|
- <td><i class="${icon} icon" style="margin-right:12px;"></i> ${filename}</td>
|
|
|
|
|
|
+ <td><i class="${icon} icon" style="margin-right:12px;"></i> <span class="filename">${filename}</span></td>
|
|
<td class="light-text">${ext}</td>
|
|
<td class="light-text">${ext}</td>
|
|
<td class="light-text">${Displaysize}</td>
|
|
<td class="light-text">${Displaysize}</td>
|
|
<td class="light-text">${date.toLocaleDateString("default") + " " + date.toLocaleTimeString("default")}</td>
|
|
<td class="light-text">${date.toLocaleDateString("default") + " " + date.toLocaleTimeString("default")}</td>
|
|
@@ -1491,6 +1496,14 @@
|
|
var lastClickedFileID = 0;
|
|
var lastClickedFileID = 0;
|
|
function bindFileObjectEvents(){
|
|
function bindFileObjectEvents(){
|
|
$(".fileObject").off("click").on("click",function(evt){
|
|
$(".fileObject").off("click").on("click",function(evt){
|
|
|
|
+ if (renameMode && $(this).find(".renameinput").length == 0){
|
|
|
|
+ exitRenameModeWithConfirm();
|
|
|
|
+ return;
|
|
|
|
+ }else if (renameMode){
|
|
|
|
+ //Stop the click event propagating to the #fileViewer on-click exit event
|
|
|
|
+ evt.stopImmediatePropagation();
|
|
|
|
+ }
|
|
|
|
+
|
|
if (!ctrlHold && isMobile && !ctrlHold){
|
|
if (!ctrlHold && isMobile && !ctrlHold){
|
|
//If on mobile, click means open (only on not muilti selection mode)
|
|
//If on mobile, click means open (only on not muilti selection mode)
|
|
evt.preventDefault();
|
|
evt.preventDefault();
|
|
@@ -1883,6 +1896,11 @@
|
|
if (pathInputMode){
|
|
if (pathInputMode){
|
|
hideManualOpenPathInput();
|
|
hideManualOpenPathInput();
|
|
}
|
|
}
|
|
|
|
+
|
|
|
|
+ if (renameMode && $(".renameinput").length > 0){
|
|
|
|
+ exitRenameModeWithConfirm();
|
|
|
|
+ return;
|
|
|
|
+ }
|
|
})
|
|
})
|
|
|
|
|
|
function checkIfParentDirExists(path){
|
|
function checkIfParentDirExists(path){
|
|
@@ -1937,7 +1955,7 @@
|
|
|
|
|
|
//=================================== FILE OPERATIONS ========================
|
|
//=================================== FILE OPERATIONS ========================
|
|
|
|
|
|
- function refreshList(){
|
|
|
|
|
|
+ function refreshList(callback){
|
|
if (searchMode == true){
|
|
if (searchMode == true){
|
|
//Refresh the search result
|
|
//Refresh the search result
|
|
if ($("#searchInput").val().length > 0){
|
|
if ($("#searchInput").val().length > 0){
|
|
@@ -1949,11 +1967,7 @@
|
|
shiftHold = false;
|
|
shiftHold = false;
|
|
ctrlHold = false;
|
|
ctrlHold = false;
|
|
updateCtrlDisplay();
|
|
updateCtrlDisplay();
|
|
- let currentScrollTop = JSON.parse(JSON.stringify($("#folderView").scrollTop()));
|
|
|
|
- listDirectory(currentPath, function(){
|
|
|
|
- //Scroll back to the original height
|
|
|
|
- $("#folderView").scrollTop(currentScrollTop);
|
|
|
|
- });
|
|
|
|
|
|
+ listDirectory(currentPath, callback);
|
|
}
|
|
}
|
|
|
|
|
|
function zipFile(){
|
|
function zipFile(){
|
|
@@ -2087,6 +2101,7 @@
|
|
}else{
|
|
}else{
|
|
//Desktop rename
|
|
//Desktop rename
|
|
let rootObject = $($(".fileObject.selected")[0]);
|
|
let rootObject = $($(".fileObject.selected")[0]);
|
|
|
|
+ $(rootObject).addClass("renaming");
|
|
let targetDOM = $(rootObject).find(".filename");
|
|
let targetDOM = $(rootObject).find(".filename");
|
|
rootObject.attr("draggable", "false");
|
|
rootObject.attr("draggable", "false");
|
|
if (viewMode == "list"){
|
|
if (viewMode == "list"){
|
|
@@ -2106,19 +2121,46 @@
|
|
|
|
|
|
let targetInputField = $(".renameinput").find("input")[0];
|
|
let targetInputField = $(".renameinput").find("input")[0];
|
|
$(targetInputField).focus();
|
|
$(targetInputField).focus();
|
|
- targetInputField.selectionStart = targetInputField.value.length;
|
|
|
|
- targetInputField.selectionEnd = targetInputField.value.length;
|
|
|
|
|
|
+ targetInputField.selectionStart = 0;
|
|
|
|
+ targetInputField.selectionEnd = targetInputField.value.lastIndexOf(".");
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
-
|
|
|
|
|
|
+ //Exit rename mode with current name in filename as new filename
|
|
|
|
+ //Activate from clicking elsewhere
|
|
|
|
+ function exitRenameModeWithConfirm(applyChange = true){
|
|
|
|
+ let renamingObject = $($(".renameinput")[0]);
|
|
|
|
+ $(".fileObject.renaming").removeClass("renaming");
|
|
|
|
+ let newname = renamingObject.find("input").val();
|
|
|
|
+ let oldname = renamingObject.attr("oldname");
|
|
|
|
+ oldname = decodeURIComponent(oldname);
|
|
|
|
+ if (oldname == newname || !applyChange){
|
|
|
|
+ //Cancel Rename, in cases where old name = new name or applyChange set to false
|
|
|
|
+ let filenameField = $(renamingObject).parent();
|
|
|
|
+ $(filenameField).html(oldname);
|
|
|
|
+ renameMode = false;
|
|
|
|
+ return;
|
|
|
|
+ }
|
|
|
|
+ confirmRename(oldname, newname);
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ //Handle enter press on rename input box
|
|
function handleInputConfirmRename(object, evt){
|
|
function handleInputConfirmRename(object, evt){
|
|
|
|
+ let filenameForbiddenCharKey = [
|
|
|
|
+ '/',
|
|
|
|
+ '<',
|
|
|
|
+ '>',
|
|
|
|
+ ':',
|
|
|
|
+ '"',
|
|
|
|
+ '\\',
|
|
|
|
+ '*'
|
|
|
|
+ ];
|
|
if (evt.keyCode == 13){
|
|
if (evt.keyCode == 13){
|
|
evt.preventDefault();
|
|
evt.preventDefault();
|
|
evt.stopImmediatePropagation();
|
|
evt.stopImmediatePropagation();
|
|
let oldname = $(object).attr("oldname").trim();
|
|
let oldname = $(object).attr("oldname").trim();
|
|
let newname = $(object).find("input").val().trim();
|
|
let newname = $(object).find("input").val().trim();
|
|
-
|
|
|
|
|
|
+ $(".fileObject.selected.renaming").removeClass("renaming");
|
|
if (oldname == newname){
|
|
if (oldname == newname){
|
|
//Cancel Rename
|
|
//Cancel Rename
|
|
let filenameField = $(object).parent();
|
|
let filenameField = $(object).parent();
|
|
@@ -2127,6 +2169,13 @@
|
|
return;
|
|
return;
|
|
}
|
|
}
|
|
confirmRename(oldname, newname);
|
|
confirmRename(oldname, newname);
|
|
|
|
+ }else if (evt.keyCode == 27){
|
|
|
|
+ //ESC key, restore to origin
|
|
|
|
+ //Exit rename mode but not apply change
|
|
|
|
+ exitRenameModeWithConfirm(false);
|
|
|
|
+ }else if (filenameForbiddenCharKey.includes(evt.key)){
|
|
|
|
+ //Show now allow popup
|
|
|
|
+ evt.preventDefault();
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
@@ -2187,7 +2236,9 @@
|
|
if (data.error !== undefined){
|
|
if (data.error !== undefined){
|
|
msgbox("red remove",applocale.getString("message/" + data.error, data.error));
|
|
msgbox("red remove",applocale.getString("message/" + data.error, data.error));
|
|
}else{
|
|
}else{
|
|
- refreshList();
|
|
|
|
|
|
+ refreshList(function(){
|
|
|
|
+ focusFileObject(newName);
|
|
|
|
+ });
|
|
msgbox("checkmark",applocale.getString("message/rename/success", "Rename suceed"));
|
|
msgbox("checkmark",applocale.getString("message/rename/success", "Rename suceed"));
|
|
}
|
|
}
|
|
hideAllPopupWindows();
|
|
hideAllPopupWindows();
|
|
@@ -2628,26 +2679,9 @@
|
|
pathWidth = $("#pre-render").width();
|
|
pathWidth = $("#pre-render").width();
|
|
counter++;
|
|
counter++;
|
|
}
|
|
}
|
|
-
|
|
|
|
|
|
+ //Render the final address into a visiable field
|
|
$("#pre-render").remove();
|
|
$("#pre-render").remove();
|
|
$(".pathDisplay").append(fullpath);
|
|
$(".pathDisplay").append(fullpath);
|
|
- /*
|
|
|
|
- if (l > 3){
|
|
|
|
- //E.g. user:/Desktop/test/boo/ => Display as user:/.../test/boo/
|
|
|
|
- $(".pathDisplay").append(`<div class="section">...</div>`);
|
|
|
|
- $(".pathDisplay").append(`<div class="divider">/</div>`);
|
|
|
|
- $(".pathDisplay").append(`<div class="section selectable" onclick="event.stopImmediatePropagation(); parentDir();">${shortenLongFoldername(pathInfo[l-2], 40)}</div>`);
|
|
|
|
- $(".pathDisplay").append(`<div class="divider">/</div>`);
|
|
|
|
- $(".pathDisplay").append(`<div class="section selectable" onclick="event.stopImmediatePropagation(); refreshList();">${shortenLongFoldername(pathInfo[l-1], 60)}</div>`);
|
|
|
|
- }else if (l == 3){
|
|
|
|
- $(".pathDisplay").append(`<div class="section selectable" onclick="event.stopImmediatePropagation(); parentDir();">${shortenLongFoldername(pathInfo[l-2], 40)}</div>`);
|
|
|
|
- $(".pathDisplay").append(`<div class="divider">/</div>`);
|
|
|
|
- $(".pathDisplay").append(`<div class="section selectable" onclick="event.stopImmediatePropagation(); refreshList();">${shortenLongFoldername(pathInfo[l-1], 60)}</div>`);
|
|
|
|
- }else if (l == 2){
|
|
|
|
- //E.g. user:/Desktop or user:/
|
|
|
|
- $(".pathDisplay").append(`<div class="section selectable" onclick="event.stopImmediatePropagation(); refreshList();">${shortenLongFoldername(pathInfo[1], 80)}</div>`);
|
|
|
|
- }
|
|
|
|
- */
|
|
|
|
|
|
|
|
//Update the manual input field as well
|
|
//Update the manual input field as well
|
|
$("#pathInputField").find("input").val(path);
|
|
$("#pathInputField").find("input").val(path);
|
|
@@ -2704,6 +2738,15 @@
|
|
if (evt !== null){
|
|
if (evt !== null){
|
|
evt.preventDefault();
|
|
evt.preventDefault();
|
|
}
|
|
}
|
|
|
|
+
|
|
|
|
+ if (renameMode && $(object).find(".renameinput").length > 0){
|
|
|
|
+ //This object is currently under rename. Ignore input
|
|
|
|
+ return;
|
|
|
|
+ }else if (renameMode){
|
|
|
|
+ //Opening another stuffs. Exit renameMode
|
|
|
|
+ exitRenameModeWithConfirm();
|
|
|
|
+ }
|
|
|
|
+
|
|
var objType = $(object).attr("type");
|
|
var objType = $(object).attr("type");
|
|
if ( objType == "file"){
|
|
if ( objType == "file"){
|
|
//Open this file. Generate the access path from filepath
|
|
//Open this file. Generate the access path from filepath
|
|
@@ -3737,6 +3780,7 @@
|
|
//Esc key
|
|
//Esc key
|
|
hideAllPopupWindows();
|
|
hideAllPopupWindows();
|
|
$(".fileObject.selected").removeClass("selected");
|
|
$(".fileObject.selected").removeClass("selected");
|
|
|
|
+
|
|
}else{
|
|
}else{
|
|
//Handle generic file search by consecutive typing
|
|
//Handle generic file search by consecutive typing
|
|
if (hotSearchTimer != null){
|
|
if (hotSearchTimer != null){
|
|
@@ -3774,6 +3818,10 @@
|
|
shiftHold = false;
|
|
shiftHold = false;
|
|
ctrlHold = false;
|
|
ctrlHold = false;
|
|
updateCtrlDisplay();
|
|
updateCtrlDisplay();
|
|
|
|
+
|
|
|
|
+ if (renameMode){
|
|
|
|
+ exitRenameModeWithConfirm();
|
|
|
|
+ }
|
|
});
|
|
});
|
|
|
|
|
|
//Check if localstorage is availble
|
|
//Check if localstorage is availble
|
|
@@ -4290,12 +4338,11 @@
|
|
if ($(this).attr("taskID") == uuid){
|
|
if ($(this).attr("taskID") == uuid){
|
|
//Update this progress bar
|
|
//Update this progress bar
|
|
$(this).find(".bar").css("width",progress + "%");
|
|
$(this).find(".bar").css("width",progress + "%");
|
|
-
|
|
|
|
|
|
+ $(this).find(".percentage").text(progress.toFixed(1) + "%");
|
|
if (progress == 100){
|
|
if (progress == 100){
|
|
//When progress = 100 and the server is not response with 200,
|
|
//When progress = 100 and the server is not response with 200,
|
|
//That means the upload has finish and server is processing the upload
|
|
//That means the upload has finish and server is processing the upload
|
|
- $(this).find(".progress").addClass("indeterminate");
|
|
|
|
-
|
|
|
|
|
|
+ $(this).find(".progress").addClass("active");
|
|
}
|
|
}
|
|
}
|
|
}
|
|
});
|
|
});
|
|
@@ -4402,10 +4449,10 @@
|
|
if ($(this).attr("taskID") == taskUUID){
|
|
if ($(this).attr("taskID") == taskUUID){
|
|
//Update this progress bar to completed
|
|
//Update this progress bar to completed
|
|
$(this).find(".bar").css("width","100%");
|
|
$(this).find(".bar").css("width","100%");
|
|
- $(this).find(".progress").attr("class","ui tiny positive progress");
|
|
|
|
|
|
+ $(this).find(".progress").attr("class", "ui tiny success progress");
|
|
$(this).find(".uploadTaskRemoveIcon").show();
|
|
$(this).find(".uploadTaskRemoveIcon").show();
|
|
$(this).addClass("ended");
|
|
$(this).addClass("ended");
|
|
-
|
|
|
|
|
|
+
|
|
$.when($(this).delay(1000).fadeOut("fast")).then(function(){
|
|
$.when($(this).delay(1000).fadeOut("fast")).then(function(){
|
|
$(this).remove();
|
|
$(this).remove();
|
|
updateUploadFileCount();
|
|
updateUploadFileCount();
|
|
@@ -4484,6 +4531,9 @@
|
|
updateUploadFileCount();
|
|
updateUploadFileCount();
|
|
}, 100);
|
|
}, 100);
|
|
}
|
|
}
|
|
|
|
+
|
|
|
|
+ //TODO: Make the upload management interface a bit better
|
|
|
|
+ //return;
|
|
|
|
|
|
//Updates 22-10-2020
|
|
//Updates 22-10-2020
|
|
//Added file upload queuing system to prevent too many request on-the-fly at the same time
|
|
//Added file upload queuing system to prevent too many request on-the-fly at the same time
|
|
@@ -4549,10 +4599,9 @@
|
|
if ($(this).attr("taskID") == taskUUID){
|
|
if ($(this).attr("taskID") == taskUUID){
|
|
//Update this progress bar to completed
|
|
//Update this progress bar to completed
|
|
$(this).find(".bar").css("width","100%");
|
|
$(this).find(".bar").css("width","100%");
|
|
- $(this).find(".progress").attr("class","ui tiny positive progress");
|
|
|
|
|
|
+ $(this).find(".progress").attr("class", "ui tiny success progress");
|
|
$(this).find(".uploadTaskRemoveIcon").show();
|
|
$(this).find(".uploadTaskRemoveIcon").show();
|
|
$(this).addClass("ended");
|
|
$(this).addClass("ended");
|
|
-
|
|
|
|
//Update 15-11-2020
|
|
//Update 15-11-2020
|
|
//Remove this taskbar after 3 seconds to prevent lags during > 2000 uploads
|
|
//Remove this taskbar after 3 seconds to prevent lags during > 2000 uploads
|
|
$.when($(this).delay(1000).fadeOut("fast")).then(function(){
|
|
$.when($(this).delay(1000).fadeOut("fast")).then(function(){
|
|
@@ -4571,7 +4620,7 @@
|
|
if ($(this).attr("taskID") == taskUUID){
|
|
if ($(this).attr("taskID") == taskUUID){
|
|
//Update this progress bar to completed
|
|
//Update this progress bar to completed
|
|
$(this).find(".bar").css("width","100%");
|
|
$(this).find(".bar").css("width","100%");
|
|
- $(this).find(".progress").attr("class","ui tiny negative progress");
|
|
|
|
|
|
+ $(this).find(".progress").attr("class", "ui tiny error progress");
|
|
$(this).find(".uploadTaskRemoveIcon").show();
|
|
$(this).find(".uploadTaskRemoveIcon").show();
|
|
$(this).addClass("ended");
|
|
$(this).addClass("ended");
|
|
}
|
|
}
|
|
@@ -4812,8 +4861,10 @@
|
|
|
|
|
|
$("#uploadProgressList").append(`<div class="uploadTask" taskID="${newuuid}">
|
|
$("#uploadProgressList").append(`<div class="uploadTask" taskID="${newuuid}">
|
|
<p style="width: calc(100% - 15px);">${filename} (${humanReadableFilesize})</p>
|
|
<p style="width: calc(100% - 15px);">${filename} (${humanReadableFilesize})</p>
|
|
- <div class="ui tiny primary progress" style="margin-top:-12px;">
|
|
|
|
- <div class="bar" style="width: 0%"></div>
|
|
|
|
|
|
+ <div class="ui small themed progress" style="margin-top:-12px;">
|
|
|
|
+ <div class="bar" style="width: 0%; min-width: 0px;">
|
|
|
|
+ <div class="progress percentage"></div>
|
|
|
|
+ </div>
|
|
</div>
|
|
</div>
|
|
<div class="uploadTaskRemoveIcon" onclick="removeThisTask(this, '${newuuid}');" style="">
|
|
<div class="uploadTaskRemoveIcon" onclick="removeThisTask(this, '${newuuid}');" style="">
|
|
<i class="remove icon"></i>
|
|
<i class="remove icon"></i>
|