|
@@ -28,10 +28,10 @@
|
|
|
<div id="navibar" class="navibar">
|
|
|
<!-- File Opr Group-->
|
|
|
<div class="btnGroup" style="display:inline-block;">
|
|
|
- <button class="fileOprBtn" title="Open" onclick="openViaButton();"><img class="opricon" src="img/opr/open.svg"><p class="oprtxt" locale="fileopr/Open">Open</p></button>
|
|
|
- <button class="fileOprBtn" title="Copy" onclick="copy();"><img class="opricon" src="img/opr/copy.svg"><p class="oprtxt" locale="fileopr/Copy">Copy</p></button>
|
|
|
- <button class="fileOprBtn" title="Paste" onclick="paste();"><img class="opricon" src="img/opr/paste.svg"><p class="oprtxt" locale="fileopr/Paste">Paste</p></button>
|
|
|
- <div class="fileoprGroupDivider" style="display: inline-block; vertical-align: top;">
|
|
|
+ <button class="fileOprBtn desktopOnly" title="Open" onclick="openViaButton();"><img class="opricon" src="img/opr/open.svg"><p class="oprtxt" locale="fileopr/Open">Open</p></button>
|
|
|
+ <button class="fileOprBtn desktopOnly" title="Copy" onclick="copy();"><img class="opricon" src="img/opr/copy.svg"><p class="oprtxt" locale="fileopr/Copy">Copy</p></button>
|
|
|
+ <button class="fileOprBtn desktopOnly" title="Paste" onclick="paste();"><img class="opricon" src="img/opr/paste.svg"><p class="oprtxt" locale="fileopr/Paste">Paste</p></button>
|
|
|
+ <div class="fileoprGroupDivider desktopOnly" style="display: inline-block; vertical-align: top;">
|
|
|
<button class="fileoprSmallBtn" title="Open with" onclick="openWith();"><i class="external icon"></i> <span locale="fileopr/Open with">Open With</span></button><br>
|
|
|
<button class="fileoprSmallBtn" title="Cut" onclick="cut();"><i class="blue cut icon"></i> <span locale="fileopr/Cut">Cut</span></button><br>
|
|
|
<button class="fileoprSmallBtn" title="Rename" onclick="rename();"><i class="teal i cursor icon"></i> <span locale="fileopr/Rename">Rename</span></button>
|
|
@@ -41,21 +41,24 @@
|
|
|
<button class="fileOprBtn" title="Download" onclick="downloadFile();"><img class="opricon" src="img/opr/download.svg"><p class="oprtxt" locale="fileopr/Download">Download</p></button>
|
|
|
<div class="fileoprGroupDivider" style="display: inline-block; vertical-align: top; height: 80px;"></div>
|
|
|
<button class="twolines fileOprBtn" title="New Folder" onclick="newFolder();"><img class="opricon" src="img/opr/new_folder.svg"><p class="oprtxt" locale="fileopr/New Folder">New<br>Folder</p></button>
|
|
|
- <div class="fileoprGroupDivider" style="display: inline-block; vertical-align: top;">
|
|
|
+ <div class="fileoprGroupDivider desktopOnly" style="display: inline-block; vertical-align: top;">
|
|
|
<button class="fileoprSmallBtn" title="New File" onclick="newfile();"><i class="file outline icon"></i> <span locale="fileopr/New File">New File</span></button><br>
|
|
|
<button class="fileoprSmallBtn" title="Create Zip" onclick="zipFile();"><i class="brown zip file icon"></i> <span locale="fileopr/Create Zip">Create Zip</span></button><br>
|
|
|
<button class="fileoprSmallBtn" title="Unzip Here" onclick="unzipHere();"><i class="inbox icon"></i> <span locale="fileopr/Unzip Here">Unzip Here</span></button><br>
|
|
|
</div>
|
|
|
- <div class="fileoprGroupDivider" style="display: inline-block; vertical-align: top;">
|
|
|
+ <div class="fileoprGroupDivider desktopOnly" style="display: inline-block; vertical-align: top;">
|
|
|
<button class="fileoprSmallBtn" title="Refresh" onclick="refreshList();"><i class="green refresh icon"></i> <span locale="fileopr/Refresh">Refresh</span></button><br>
|
|
|
<button class="fileoprSmallBtn" title="Home" onclick="openHomeDir();"><i class="home icon"></i> <span locale="fileopr/Home">Home</span></button><br>
|
|
|
<button class="fileoprSmallBtn" title="File Info" onclick="showFileProperties();"><i class="blue info circle icon"></i> <span locale="fileopr/File Info">File Info</span></button><br>
|
|
|
</div>
|
|
|
- <button class="fileOprBtn" title="Delete" onclick="deleteFile();"><img class="opricon" src="img/opr/delete.svg"><p class="oprtxt" locale="fileopr/Delete">Delete</p></button>
|
|
|
+ <button class="fileOprBtn desktopOnly" title="Delete" onclick="deleteFile();"><img class="opricon" src="img/opr/delete.svg"><p class="oprtxt" locale="fileopr/Delete">Delete</p></button>
|
|
|
<button class="fileOprBtn" title="Share File" onclick="shareFile();"><img class="opricon" src="img/opr/share.svg"><p class="oprtxt" locale="fileopr/Share">Share</p></button>
|
|
|
<div class="fileoprGroupDivider" style="display: inline-block; vertical-align: top; height: 80px;"></div>
|
|
|
+ <button class="mobileOnly mobileFileOprMenu" onclick="toggleMobileSidebar(true);">
|
|
|
+ <i class="ui large bars icon"></i>
|
|
|
+ </button>
|
|
|
<div style="display: inline-block; vertical-align: top;">
|
|
|
- <select id="sortingMethodSelector" title="Sorting Method" class="ui basic borderless mini dropdown" onchange="updateSortingMethods();" autocomplete="off">
|
|
|
+ <select id="sortingMethodSelector" title="Sorting Method" class="ui basic borderless mini dropdown" onchange="updateSortingMethods();" autocomplete="off" style="min-width: 10em;">
|
|
|
<option value="default" locale="menu/sort/asc">Ascending</option>
|
|
|
<option value="reverse" locale="menu/sort/desc">Descending</option>
|
|
|
<option value="smallToLarge" locale="menu/sort/small">Smallest</option>
|
|
@@ -73,7 +76,29 @@
|
|
|
<button class="ui icon tiny button videmode" mode="details" title="Detail View" onclick="changeViewMode(this);"><i class="list ul icon"></i></button>
|
|
|
<div class="fileoprGroupDivider" style="display: inline-block; height: 30px; vertical-align: bottom; margin-left: -0.2em; padding-right: 0.4em;"></div>
|
|
|
<button id="togglePropertiesViewBtn" class="ui icon tiny button videmode propbar" title="Show Properties" onclick="togglePropertiesView(this);"><i class="columns icon"></i></button>
|
|
|
- </div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+
|
|
|
+ <!-- Mobile Navi-bar -->
|
|
|
+ <div id="mobileNaviBar" class="ui right fixed vertical menu" style="display:;">
|
|
|
+ <div class="mobileFileOprMenuToggle" onclick="toggleMobileSidebar(false);">
|
|
|
+ <i class="large chevron right icon"></i>
|
|
|
+ </div>
|
|
|
+ <!-- Sorting Mode Selector-->
|
|
|
+ <div id="mobileSortDropdown">
|
|
|
+
|
|
|
+ </div>
|
|
|
+ <!-- File Operation Buttons -->
|
|
|
+ <div class="fileOprBtnMobile" title="Open" onclick="openViaButton();"><img class="opricon" src="img/opr/open.svg"><p class="oprtxt" locale="fileopr/Open">Open</p></div>
|
|
|
+ <div class="fileOprBtnMobile" title="Copy" onclick="copy();"><img class="opricon" src="img/opr/copy.svg"><p class="oprtxt" locale="fileopr/Copy">Copy</p></div>
|
|
|
+ <div class="fileOprBtnMobile" title="Paste" onclick="paste();"><img class="opricon" src="img/opr/paste.svg"><p class="oprtxt" locale="fileopr/Paste">Paste</p></div>
|
|
|
+ <div class="fileOprBtnMobile" title="Delete" onclick="deleteFile();"><img class="opricon" src="img/opr/delete.svg"><p class="oprtxt" locale="fileopr/Delete">Delete</p></div>
|
|
|
+ <button class="fileoprSmallBtnMobile" title="New File" onclick="newfile();"><i class="file outline icon"></i> <span locale="fileopr/New File">New File</span></button><br>
|
|
|
+ <button class="fileoprSmallBtnMobile" title="Create Zip" onclick="zipFile();"><i class="brown zip file icon"></i> <span locale="fileopr/Create Zip">Create Zip</span></button><br>
|
|
|
+ <button class="fileoprSmallBtnMobile" title="Unzip Here" onclick="unzipHere();"><i class="inbox icon"></i> <span locale="fileopr/Unzip Here">Unzip Here</span></button><br>
|
|
|
+ <button class="fileoprSmallBtnMobile" title="Refresh" onclick="refreshList();"><i class="green refresh icon"></i> <span locale="fileopr/Refresh">Refresh</span></button><br>
|
|
|
+ <button class="fileoprSmallBtnMobile" title="Home" onclick="openHomeDir();"><i class="home icon"></i> <span locale="fileopr/Home">Home</span></button><br>
|
|
|
+ <button class="fileoprSmallBtnMobile" title="File Info" onclick="showFileProperties();"><i class="blue info circle icon"></i> <span locale="fileopr/File Info">File Info</span></button><br>
|
|
|
</div>
|
|
|
<br>
|
|
|
<!-- Directoy navigations -->
|
|
@@ -555,7 +580,7 @@
|
|
|
|
|
|
//Browser detection
|
|
|
//TODO: REMOVE DEBUG
|
|
|
- let isMobile = window.mobilecheck();
|
|
|
+ let isMobile = true; //window.mobilecheck();
|
|
|
let isChromium = window.chrome;
|
|
|
let isChrome = /Chrome/.test(navigator.userAgent) && /Google Inc/.test(navigator.vendor);
|
|
|
let isSafari = /^((?!chrome|android).)*safari/i.test(navigator.userAgent);
|
|
@@ -606,6 +631,9 @@
|
|
|
$(".viewportBtns").addClass("mobile");
|
|
|
$(".addressBar").append($(".viewportBtns"));
|
|
|
|
|
|
+ //Move the sorting dropdown to sidebar
|
|
|
+ $("#mobileSortDropdown").append($("#sortingMethodSelector"));
|
|
|
+
|
|
|
$(".desktopOnly").hide();
|
|
|
$(".mobileOnly").show();
|
|
|
}else{
|
|
@@ -1612,7 +1640,20 @@
|
|
|
var defaultTopPost =evt.pageY + "px";
|
|
|
|
|
|
if (evt.pageX > window.innerWidth / 2){
|
|
|
- defaultLeftPost = evt.pageX - $("#contextmenu").width() + "px";
|
|
|
+ defaultLeftPost = evt.pageX - $("#contextmenu").width();
|
|
|
+
|
|
|
+ if (defaultLeftPost < 0){
|
|
|
+ //over the left boundary
|
|
|
+ defaultLeftPost = 0;
|
|
|
+ }
|
|
|
+ defaultLeftPost = defaultLeftPost + "px";
|
|
|
+ }else{
|
|
|
+
|
|
|
+ if (evt.pageX + $("#contextmenu").width() > window.innerWidth){
|
|
|
+ //Over the right boundary
|
|
|
+ defaultLeftPost = window.innerWidth - $("#contextmenu").width();
|
|
|
+ defaultLeftPost = defaultLeftPost + "px";
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
if (evt.pageY > window.innerHeight / 2){
|
|
@@ -1631,8 +1672,7 @@
|
|
|
defaultTopPost = defaultTopPost + "px"
|
|
|
}
|
|
|
}
|
|
|
- console.log(defaultLeftPost, defaultTopPost);
|
|
|
-
|
|
|
+
|
|
|
$("#contextmenu").css({
|
|
|
left: defaultLeftPost,
|
|
|
top: defaultTopPost
|
|
@@ -1930,6 +1970,8 @@
|
|
|
|
|
|
function showEditCurrentPathInput(e){
|
|
|
e.preventDefault();
|
|
|
+ e.stopImmediatePropagation();
|
|
|
+ pathInputMode = true;
|
|
|
$("#pathInputField").find("input").val(currentPath);
|
|
|
$("#editPathBtn").hide();
|
|
|
if (isMobile){
|
|
@@ -1941,7 +1983,7 @@
|
|
|
}
|
|
|
$("#pathInputField").show();
|
|
|
$("#pathInputField").find("input").focus();
|
|
|
- pathInputMode = true;
|
|
|
+
|
|
|
}
|
|
|
|
|
|
function handleOpenPathKeydown(e){
|
|
@@ -3507,7 +3549,7 @@
|
|
|
toggleSidebar(false);
|
|
|
}
|
|
|
|
|
|
- if (isMobile){
|
|
|
+ if (isMobile && !pathInputMode){
|
|
|
refreshList();
|
|
|
}
|
|
|
|
|
@@ -3515,7 +3557,10 @@
|
|
|
resizeShareIframe()
|
|
|
|
|
|
//Resize the path display content
|
|
|
- updatePathDisplay(currentPath);
|
|
|
+ if (!pathInputMode){
|
|
|
+ updatePathDisplay(currentPath);
|
|
|
+ }
|
|
|
+
|
|
|
});
|
|
|
|
|
|
function handleShareFilebuttonClick(event, object){
|
|
@@ -3647,10 +3692,25 @@
|
|
|
$("#shareFileEmbedded").attr("src", "");
|
|
|
}
|
|
|
|
|
|
+ function toggleMobileSidebar(show=undefined){
|
|
|
+ if(show == true){
|
|
|
+ $("#mobileNaviBar").stop().finish().transition("slide left in");
|
|
|
+ }else if (show == false){
|
|
|
+ $("#mobileNaviBar").stop().finish().transition("slide left out");
|
|
|
+ }else{
|
|
|
+ $("#mobileNaviBar").toggle();
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
function toggleSidebar(useAnimation=true){
|
|
|
//Fixing desktop bugs on showing the sidebar
|
|
|
if (isMobile){
|
|
|
- $("#directorySidebar").stop().finish().toggle();
|
|
|
+ if (sideBarShown){
|
|
|
+ $("#directorySidebar").hide();
|
|
|
+ }else{
|
|
|
+ $("#directorySidebar").show();
|
|
|
+ }
|
|
|
+
|
|
|
}else{
|
|
|
if (sideBarShown){
|
|
|
$("#directorySidebar").stop().finish().transition("slide right out", function(){
|
|
@@ -3737,19 +3797,19 @@
|
|
|
|
|
|
function toggleDarkTheme(){
|
|
|
if ($(".darkTheme").length > 0){
|
|
|
- //Set To
|
|
|
+ //Set To whiteTheme
|
|
|
$("body").removeClass("darkTheme").addClass("whiteTheme");
|
|
|
currentTheme = "whiteTheme";
|
|
|
$("#darkthemebtn").attr("class","moon icon");
|
|
|
$("#darkthemebtn").parent().addClass("inverted");
|
|
|
$(".dropdown").removeClass("inverted");
|
|
|
setPreference("file_explorer/theme","whiteTheme");
|
|
|
+ $("#mobileNaviBar").removeClass("inverted");
|
|
|
|
|
|
//If in vdi mode, update desktop's listMenu as well
|
|
|
if (ao_module_virtualDesktop){
|
|
|
parent.initTheme("whiteTheme");
|
|
|
}
|
|
|
-
|
|
|
}else{
|
|
|
//Set to DarkTheme
|
|
|
$("body").removeClass("whiteTheme").addClass("darkTheme");
|
|
@@ -3758,6 +3818,7 @@
|
|
|
$("#darkthemebtn").parent().removeClass("inverted");
|
|
|
$(".dropdown").addClass("inverted");
|
|
|
setPreference("file_explorer/theme","darkTheme");
|
|
|
+ $("#mobileNaviBar").addClass("inverted");
|
|
|
|
|
|
//If in vdi mode, update desktop's listMenu as well
|
|
|
if (ao_module_virtualDesktop){
|
|
@@ -4951,9 +5012,9 @@
|
|
|
if (isMobile){
|
|
|
//Change color of the navibar based on selection mode
|
|
|
if (ctrlHold){
|
|
|
- $("#navibar").css("border-bottom","2px solid #6c06ba");
|
|
|
+ $("#navibar").addClass("ctrl");
|
|
|
}else{
|
|
|
- $("#navibar").css("border-bottom","2px solid #34b7eb");
|
|
|
+ $("#navibar").removeClass("ctrl");
|
|
|
}
|
|
|
}
|
|
|
}
|