mirror of
https://gitlab.com/TheGamecraft/c-cms.git
synced 2026-04-21 02:39:10 -04:00
Au cas ou
This commit is contained in:
125
public/js/plugins/drive-explorer.js
vendored
Normal file
125
public/js/plugins/drive-explorer.js
vendored
Normal file
@@ -0,0 +1,125 @@
|
||||
var folderHistory = [];
|
||||
var path = '';
|
||||
var currentFolder = '';
|
||||
var folderGoBack = [];
|
||||
|
||||
function init(folder)
|
||||
{
|
||||
loadFolder(folder);
|
||||
loadHistory();
|
||||
}
|
||||
|
||||
function loadHistory() {
|
||||
$.ajax({
|
||||
type: 'GET',
|
||||
url: '/api/drive/patharray?api_token=' + api_token,
|
||||
success: function (rawpath) {
|
||||
var path = JSON.parse(rawpath);
|
||||
Object.keys(path).forEach(function (item) {
|
||||
var dir = path[item].dirname.split('/');
|
||||
folderGoBack[path[item].basename] = dir[dir.length - 1];
|
||||
});
|
||||
},
|
||||
error: function () {
|
||||
showNotification('error', 'Impossible de charger la hiérachie des dossiers', 'top', 'center')
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
function loadFolder(folder) {
|
||||
if (folder != undefined)
|
||||
{
|
||||
showLoader();
|
||||
$.ajax({
|
||||
type: 'GET',
|
||||
url: '/api/drive/folders/'+folder+'?api_token=' + api_token,
|
||||
success: function (template) {
|
||||
// Load Explorer Content
|
||||
$(".drive-explorer").html(template);
|
||||
currentFolder = folder;
|
||||
window.history.pushState("object or string", "Page Title", "/admin/drive/"+folder);
|
||||
hideLoader();
|
||||
|
||||
$('.currentDir').attr('value',folder);
|
||||
|
||||
if(currentFolder == '' || currentFolder == 'root')
|
||||
{
|
||||
$('#backbtn').prop('disabled','true');
|
||||
}
|
||||
else
|
||||
{
|
||||
$('#backbtn').removeAttr('disabled');
|
||||
}
|
||||
},
|
||||
error: function () {
|
||||
showNotification('error', 'Impossible de charger le dossier '+folder, 'top', 'center')
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
function goBack()
|
||||
{
|
||||
loadFolder(folderGoBack[currentFolder]);
|
||||
}
|
||||
|
||||
function showfile(file) {
|
||||
var fa = $('#fa-'+file);
|
||||
if(!fa.hasClass('fa-flip-vertical'))
|
||||
{
|
||||
$('#'+file).removeClass('d-none');
|
||||
fa.addClass('fa-flip-vertical');
|
||||
}
|
||||
else
|
||||
{
|
||||
$('#'+file).addClass('d-none');
|
||||
fa.removeClass('fa-flip-vertical');
|
||||
}
|
||||
}
|
||||
|
||||
function showLoader() {
|
||||
$('#loader').fadeIn(200);
|
||||
}
|
||||
|
||||
function hideLoader() {
|
||||
$('#loader').fadeOut(650);
|
||||
}
|
||||
|
||||
function deleteFile(file, folder)
|
||||
{
|
||||
swal({
|
||||
title: 'Êtes vous certain de vouloir supprimer le fichier ?',
|
||||
text: "Vous ne pourrez pas annuler cette action",
|
||||
type: 'warning',
|
||||
showCancelButton: true,
|
||||
confirmButtonColor: '#3085d6',
|
||||
cancelButtonColor: '#d33',
|
||||
confirmButtonText: 'Oui',
|
||||
cancelButtonText: 'Non'
|
||||
}).then((result) => {
|
||||
if (result.value) {
|
||||
window.location.href = '/file/delete?f='+file+'&d='+folder
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
function deleteFolder(folder)
|
||||
{
|
||||
swal({
|
||||
title: 'Êtes vous certain de vouloir supprimer le dossier ?',
|
||||
text: "Vous ne pourrez pas annuler cette action",
|
||||
type: 'warning',
|
||||
showCancelButton: true,
|
||||
confirmButtonColor: '#3085d6',
|
||||
cancelButtonColor: '#d33',
|
||||
confirmButtonText: 'Oui',
|
||||
cancelButtonText: 'Non'
|
||||
}).then((result) => {
|
||||
if (result.value) {
|
||||
window.location.href = '/folder/delete?d='+folder
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
function refreshFolder() {
|
||||
loadFolder(currentFolder);
|
||||
}
|
||||
Reference in New Issue
Block a user