mirror of
https://github.com/neocities/neocities.git
synced 2025-04-24 17:22:35 +02:00
last minute fixes and cleanups
This commit is contained in:
parent
a91041ae61
commit
1cb99d7706
4 changed files with 12 additions and 104 deletions
|
@ -1,99 +1,6 @@
|
||||||
if(localStorage && localStorage.getItem('viewType') == 'list')
|
if(localStorage && localStorage.getItem('viewType') == 'list')
|
||||||
$('#filesDisplay').addClass('list-view')
|
$('#filesDisplay').addClass('list-view')
|
||||||
|
|
||||||
function uploadFileFromButton() {
|
|
||||||
var form = $('#uploadFilesButtonForm')[0];
|
|
||||||
var dirValue = $('#dir').val();
|
|
||||||
var formData = new FormData();
|
|
||||||
|
|
||||||
// Append other form data
|
|
||||||
formData.append('csrf_token', $(form).find('input[name="csrf_token"]').val());
|
|
||||||
formData.append('from_button', $(form).find('input[name="from_button"]').val());
|
|
||||||
formData.append('dir', dirValue);
|
|
||||||
|
|
||||||
uploadFilesCount = 0
|
|
||||||
// Append files with modified filenames
|
|
||||||
$.each($('#uploadFiles')[0].files, function(i, file) {
|
|
||||||
var modifiedFileName = dirValue + '/' + file.name;
|
|
||||||
formData.append(modifiedFileName, file);
|
|
||||||
uploadFilesCount++;
|
|
||||||
});
|
|
||||||
|
|
||||||
alertClear();
|
|
||||||
|
|
||||||
$.ajax({
|
|
||||||
url: '/api/upload',
|
|
||||||
type: 'POST',
|
|
||||||
data: formData,
|
|
||||||
contentType: false, // This is required for FormData
|
|
||||||
processData: false, // This is required for FormData
|
|
||||||
success: function(data) {
|
|
||||||
alertType('success');
|
|
||||||
alertAdd(uploadFilesCount+' files uploaded successfully.');
|
|
||||||
reloadDashboardFiles();
|
|
||||||
},
|
|
||||||
error: function(xhr, status, error) {
|
|
||||||
var responseBody = JSON.parse(xhr.responseText);
|
|
||||||
alertType('error');
|
|
||||||
alertAdd(responseBody.message);
|
|
||||||
reloadDashboardFiles();
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
$('#uploadFiles').change(function() {
|
|
||||||
$('#uploadFilesButtonForm').submit();
|
|
||||||
});
|
|
||||||
|
|
||||||
var uploadForm = $('#uploadFilesButtonForm')[0];
|
|
||||||
var deleteForm = $('#deleteFilenameForm')[0];
|
|
||||||
|
|
||||||
function moveFileToFolder(event) {
|
|
||||||
var link = event.dataTransfer.getData("Text");
|
|
||||||
if(link) link = link.trim();
|
|
||||||
if(!link || link.startsWith('https://neocities.org/dashboard')) return;
|
|
||||||
event.preventDefault();
|
|
||||||
var name = link.split('.neocities.org/').slice(1).join('.neocities.org/');
|
|
||||||
var oReq = new XMLHttpRequest();
|
|
||||||
oReq.open("GET", "/site_files/download/" + name, true);
|
|
||||||
oReq.responseType = "arraybuffer";
|
|
||||||
|
|
||||||
$('#movingOverlay').css('display', 'block')
|
|
||||||
|
|
||||||
oReq.onload = function() {
|
|
||||||
var newFile = new File([oReq.response], name);
|
|
||||||
var dataTransfer = new DataTransfer();
|
|
||||||
var currentFolder = new URL(location.href).searchParams.get('dir');
|
|
||||||
if(!currentFolder) currentFolder = '';
|
|
||||||
else currentFolder = currentFolder + '/';
|
|
||||||
|
|
||||||
dataTransfer.items.add(newFile);
|
|
||||||
$('#uploadFilesButtonForm > input[name="dir"]')[0].value = currentFolder + event.target.parentElement.parentElement.getElementsByClassName('title')[0].innerText.trim();
|
|
||||||
$('#uploadFiles')[0].files = dataTransfer.files;
|
|
||||||
$.ajax({
|
|
||||||
type: uploadForm.method,
|
|
||||||
url: uploadForm.action,
|
|
||||||
data: new FormData(uploadForm),
|
|
||||||
processData: false,
|
|
||||||
contentType: false,
|
|
||||||
success: function() {
|
|
||||||
let csrf = $('#uploadFilesButtonForm > input[name="csrf_token"]')[0].value;
|
|
||||||
var dReq = new XMLHttpRequest();
|
|
||||||
dReq.open(deleteForm.method, deleteForm.action, true);
|
|
||||||
dReq.onload = function() {
|
|
||||||
location.reload()
|
|
||||||
}
|
|
||||||
dReq.setRequestHeader("content-type", 'application/x-www-form-urlencoded');
|
|
||||||
dReq.send("csrf_token=" + encodeURIComponent(csrf) + "&filename=" + name.replace(/\s/g, '+'));
|
|
||||||
},
|
|
||||||
error: function() {
|
|
||||||
location.reload()
|
|
||||||
}
|
|
||||||
});
|
|
||||||
};
|
|
||||||
oReq.send();
|
|
||||||
}
|
|
||||||
|
|
||||||
function confirmFileRename(path) {
|
function confirmFileRename(path) {
|
||||||
$('#renamePathInput').val(path);
|
$('#renamePathInput').val(path);
|
||||||
$('#renameNewPathInput').val(path);
|
$('#renameNewPathInput').val(path);
|
||||||
|
@ -183,8 +90,7 @@ function reInitDashboardFiles() {
|
||||||
uploadMultiple: false,
|
uploadMultiple: false,
|
||||||
parallelUploads: 1,
|
parallelUploads: 1,
|
||||||
maxFilesize: 104857600, // 100MB
|
maxFilesize: 104857600, // 100MB
|
||||||
clickable: false,
|
clickable: document.getElementById('uploadButton'),
|
||||||
|
|
||||||
init: function() {
|
init: function() {
|
||||||
this.on("processing", function(file) {
|
this.on("processing", function(file) {
|
||||||
var dir = $('#uploads input[name="dir"]').val();
|
var dir = $('#uploads input[name="dir"]').val();
|
||||||
|
@ -233,10 +139,15 @@ function reInitDashboardFiles() {
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
document.getElementById('uploadButton').addEventListener('click', function(event) {
|
||||||
|
event.preventDefault();
|
||||||
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
function reloadDashboardFiles() {
|
function reloadDashboardFiles() {
|
||||||
$.get('/dashboard/files?dir='+encodeURIComponent($("#dir").val()), function(data) {
|
var dir = $('#uploads input[name="dir"]').val();
|
||||||
|
$.get('/dashboard/files?dir='+encodeURIComponent(dir), function(data) {
|
||||||
$('#filesDisplay').html(data);
|
$('#filesDisplay').html(data);
|
||||||
reInitDashboardFiles();
|
reInitDashboardFiles();
|
||||||
});
|
});
|
||||||
|
@ -244,6 +155,3 @@ function reloadDashboardFiles() {
|
||||||
|
|
||||||
// for first time load
|
// for first time load
|
||||||
reInitDashboardFiles();
|
reInitDashboardFiles();
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -370,7 +370,7 @@
|
||||||
font-style: italic;
|
font-style: italic;
|
||||||
margin-left: auto;
|
margin-left: auto;
|
||||||
margin-right: auto;
|
margin-right: auto;
|
||||||
width: 400px;
|
width: 90%;
|
||||||
margin-top: 14%;
|
margin-top: 14%;
|
||||||
padding: 25px 40px 28px 40px;
|
padding: 25px 40px 28px 40px;
|
||||||
-webkit-box-shadow: 1px 1px 21px 5px rgba(50, 50, 50, 0.5);
|
-webkit-box-shadow: 1px 1px 21px 5px rgba(50, 50, 50, 0.5);
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
<div class="uploading">
|
<div class="uploading">
|
||||||
<p>Uploading, please wait...</p>
|
<p>Uploading, please wait...</p>
|
||||||
<p id="uploadFileName"></p>
|
<p id="uploadFileName"></p>
|
||||||
<div id="progressBar" class="progress-bar" style="display: none"><div id="uploadingProgress" class="progress" style="width: 0%"></div></div>
|
<!-- <div id="progressBar" class="progress-bar" style="display: none"><div id="uploadingProgress" class="progress" style="width: 0%"></div></div> -->
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div id="movingOverlay" class="uploading-overlay" style="display: none">
|
<div id="movingOverlay" class="uploading-overlay" style="display: none">
|
||||||
|
@ -36,14 +36,14 @@
|
||||||
<div class="actions">
|
<div class="actions">
|
||||||
<a href="#createFile" class="btn-Action" data-toggle="modal"><i class="fa fa-file"></i> New File</a>
|
<a href="#createFile" class="btn-Action" data-toggle="modal"><i class="fa fa-file"></i> New File</a>
|
||||||
<a href="#createDir" class="btn-Action" data-toggle="modal"><i class="fa fa-folder"></i> New Folder</a>
|
<a href="#createDir" class="btn-Action" data-toggle="modal"><i class="fa fa-folder"></i> New Folder</a>
|
||||||
<a href="#" class="btn-Action" onclick="clickUploadFiles(); return false"><i class="fa fa-arrow-circle-up"></i> Upload</a>
|
<a href="#" id="uploadButton" class="btn-Action"><i class="fa fa-arrow-circle-up"></i> Upload</a>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="list">
|
<div class="list">
|
||||||
<form action="/site_files/upload" class="dropzone" id="uploads">
|
<form action="/site_files/upload" class="dropzone" id="uploads">
|
||||||
<div class="dz-message" style="display: none"></div>
|
<div class="dz-message" style="display: none"></div>
|
||||||
<input name="csrf_token" type="hidden" value="<%= csrf_token %>">
|
<input name="csrf_token" type="hidden" value="<%= csrf_token %>">
|
||||||
<input name="dir" type="hidden" value="<%= @dir %>">
|
<input name="dir" type="hidden" value="<%= @dir %>" id="dir">
|
||||||
<div class="upload-Boundary with-instruction">
|
<div class="upload-Boundary with-instruction">
|
||||||
<% @file_list.each do |file| %>
|
<% @file_list.each do |file| %>
|
||||||
<div class="file filehover">
|
<div class="file filehover">
|
||||||
|
|
|
@ -102,7 +102,7 @@
|
||||||
<h3 id="renameModalLabel">Rename / Move</h3>
|
<h3 id="renameModalLabel">Rename / Move</h3>
|
||||||
</div>
|
</div>
|
||||||
<div class="modal-body">
|
<div class="modal-body">
|
||||||
<input id="renameNewPathInput" name="new_path" type="text">
|
<input id="renameNewPathInput" name="new_path" type="text" style="width: 100%">
|
||||||
<p>Note: We will automatically scrub any characters not matching: a-z A-Z 0-9 _ - .</p>
|
<p>Note: We will automatically scrub any characters not matching: a-z A-Z 0-9 _ - .</p>
|
||||||
</div>
|
</div>
|
||||||
<div class="modal-footer">
|
<div class="modal-footer">
|
||||||
|
|
Loading…
Add table
Reference in a new issue