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); }