You've already forked filebrowser
mirror of
https://github.com/filebrowser/filebrowser.git
synced 2025-11-26 14:25:26 +08:00
separate js by files
This commit is contained in:
150
assets/src/js/browse.js
Normal file
150
assets/src/js/browse.js
Normal file
@@ -0,0 +1,150 @@
|
||||
$(document).on('page:browse', function() {
|
||||
$("body").off('click', '.delete').on('click', '.delete', function(event) {
|
||||
event.preventDefault();
|
||||
button = $(this);
|
||||
|
||||
$.ajax({
|
||||
type: 'DELETE',
|
||||
url: button.data("file")
|
||||
}).done(function(data) {
|
||||
button.parent().parent().fadeOut();
|
||||
notification({
|
||||
text: button.data("message"),
|
||||
type: 'success',
|
||||
timeout: 5000
|
||||
});
|
||||
}).fail(function(data) {
|
||||
notification({
|
||||
text: 'Something went wrong.',
|
||||
type: 'error'
|
||||
});
|
||||
console.log(data);
|
||||
});
|
||||
|
||||
return false;
|
||||
});
|
||||
|
||||
$('.new').click(function(event) {
|
||||
event.preventDefault();
|
||||
|
||||
if ($(this).data("opened")) {
|
||||
$('#new-file').fadeOut(200);
|
||||
$(this).data("opened", false);
|
||||
} else {
|
||||
$('#new-file').fadeIn(200);
|
||||
$(this).data("opened", true);
|
||||
}
|
||||
|
||||
return false;
|
||||
});
|
||||
|
||||
$('#new-file').on('keypress', 'input', function(event) {
|
||||
if (event.keyCode == 13) {
|
||||
event.preventDefault();
|
||||
var value = $(this).val(),
|
||||
splited = value.split(":"),
|
||||
filename = "",
|
||||
archetype = "";
|
||||
|
||||
if (value == "") {
|
||||
notification({
|
||||
text: "You have to write something. If you want to close the box, click the button again.",
|
||||
type: 'warning',
|
||||
timeout: 5000
|
||||
});
|
||||
|
||||
return false;
|
||||
} else if (splited.length == 1) {
|
||||
filename = value;
|
||||
} else if (splited.length == 2) {
|
||||
filename = splited[0];
|
||||
archetype = splited[1];
|
||||
} else {
|
||||
notification({
|
||||
text: "Hmm... I don't understand you. Try writing something like 'name[:archetype]'.",
|
||||
type: 'error'
|
||||
});
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
var content = '{"filename": "' + filename + '", "archetype": "' + archetype + '"}';
|
||||
|
||||
$.ajax({
|
||||
type: 'POST',
|
||||
url: window.location.pathname,
|
||||
data: content,
|
||||
dataType: 'json',
|
||||
encode: true,
|
||||
}).done(function(data) {
|
||||
notification({
|
||||
text: "File created successfully.",
|
||||
type: 'success',
|
||||
timeout: 5000
|
||||
});
|
||||
|
||||
$.pjax({
|
||||
url: window.location.pathname.replace("browse", "edit") + filename,
|
||||
container: '#content'
|
||||
})
|
||||
}).fail(function(data) {
|
||||
// error types
|
||||
notification({
|
||||
text: 'Something went wrong.',
|
||||
type: 'error'
|
||||
});
|
||||
console.log(data);
|
||||
});
|
||||
|
||||
return false;
|
||||
}
|
||||
});
|
||||
|
||||
$("#upload").click(function(event) {
|
||||
event.preventDefault();
|
||||
$('.actions input[type="file"]').click();
|
||||
return false;
|
||||
});
|
||||
|
||||
$('input[type="file"]').on('change', function(event) {
|
||||
event.preventDefault();
|
||||
files = event.target.files;
|
||||
|
||||
// Create a formdata object and add the files
|
||||
var data = new FormData();
|
||||
$.each(files, function(key, value) {
|
||||
data.append(key, value);
|
||||
});
|
||||
|
||||
$.ajax({
|
||||
url: window.location.pathname,
|
||||
type: 'POST',
|
||||
data: data,
|
||||
cache: false,
|
||||
dataType: 'json',
|
||||
headers: {
|
||||
'X-Upload': 'true',
|
||||
},
|
||||
processData: false,
|
||||
contentType: false,
|
||||
}).done(function(data) {
|
||||
notification({
|
||||
text: "File(s) uploaded successfully.",
|
||||
type: 'success',
|
||||
timeout: 5000
|
||||
});
|
||||
|
||||
$.pjax({
|
||||
url: window.location.pathname,
|
||||
container: '#content'
|
||||
})
|
||||
}).fail(function(data) {
|
||||
notification({
|
||||
text: 'Something went wrong.',
|
||||
type: 'error'
|
||||
});
|
||||
console.log(data);
|
||||
});
|
||||
return false;
|
||||
});
|
||||
});
|
||||
Reference in New Issue
Block a user