can drag files up using breadcrumbs

This commit is contained in:
BanceDev 2024-10-04 17:09:27 -04:00
parent 9a12a7e816
commit 39095a1fd9
2 changed files with 11 additions and 10 deletions

View file

@ -38,11 +38,10 @@ function hideMovingProgress() {
$('#movingOverlay').css('display', 'none');
}
function moveFile(fileName, folderName) {
console.log(fileName);
console.log(folderName);
function moveFile(fileName, folderName, dragBack) {
$('#moveCurrentPath').val(fileName.slice(1));
$('#moveNewPath').val(folderName + fileName);
fileName = fileName.split('/').pop();
$('#moveNewPath').val(folderName + '/' +fileName);
$('#moveFileForm').submit();
}

View file

@ -1,13 +1,13 @@
<script>
function moveFileToFolder(event, folderName) {
function moveFileToFolder(event, folderName, dragBack) {
event.preventDefault();
event.stopPropagation();
const fullUrl = event.dataTransfer.getData('text/uri-list');
const url = new URL(fullUrl);
const relativeUrl = url.pathname;
let relativeUrl = url.pathname;
moveFile(relativeUrl, folderName);
moveFile(relativeUrl, folderName, dragBack);
}
</script>
@ -32,14 +32,16 @@ function moveFileToFolder(event, folderName) {
<% if params[:dir].nil? || params[:dir].empty? || params[:dir] == '/' %>
Home
<% else %>
<a href="/dashboard">Home</a>
<a href="/dashboard" ondrop="moveFileToFolder(event, '', true)" ondragover="event.preventDefault()">Home</a>
<% end %>
<% if @dir %>
<% dir_array = @dir.split '/' %>
<% dir_array.each_with_index do |dir,i| %>
<% if i+1 < dir_array.length %>
<a href="/dashboard?dir=<%= Rack::Utils.escape dir_array[1..i].join('/') %>"><%= dir %></a> <i class="fa fa-angle-right"></i>
<a href="/dashboard?dir=<%= Rack::Utils.escape dir_array[1..i].join('/') %>"
ondrop="moveFileToFolder(event, '<%= dir_array[1..i].join('/') %>', true)"
ondragover="event.preventDefault()"><%= dir %></a> <i class="fa fa-angle-right"></i>
<% else %>
<%= dir %>
<% end %>
@ -71,7 +73,7 @@ function moveFileToFolder(event, folderName) {
<div class="overlay"></div>
</div>
<% elsif file[:is_directory] %>
<div class="html-thumbnail folder fileimagehover" ondrop="moveFileToFolder(event, '<%= file[:path] %>')" ondragover="event.preventDefault()">
<div class="html-thumbnail folder fileimagehover" ondrop="moveFileToFolder(event, '<%= file[:path] %>', false)" ondragover="event.preventDefault()">
<div class="folder-icon"></div>
<div class="overlay"></div>
</div>