mirror of
https://gitlab.com/TheGamecraft/c-cms.git
synced 2026-04-21 10:49:10 -04:00
File Explorer update + Permission update
This commit is contained in:
77
public/js/plugins/drive-explorer.js
vendored
77
public/js/plugins/drive-explorer.js
vendored
@@ -1,8 +1,9 @@
|
||||
var folderHistory = [];
|
||||
var folderHistory = false;
|
||||
var path = '';
|
||||
var currentFolder = '';
|
||||
var folderGoBack = [];
|
||||
|
||||
var permissionModalHtml = null;
|
||||
var progressBar = 0;
|
||||
function init(folder)
|
||||
{
|
||||
loadFolder(folder);
|
||||
@@ -10,18 +11,32 @@ function init(folder)
|
||||
}
|
||||
|
||||
function loadHistory() {
|
||||
updateProgressBar(progressBar+5);
|
||||
let btnBack = $('#backbtn');
|
||||
btnBack.prop('disabled','true');
|
||||
$.ajax({
|
||||
type: 'GET',
|
||||
url: '/api/drive/patharray?api_token=' + api_token,
|
||||
success: function (rawpath) {
|
||||
updateProgressBar(progressBar+30);
|
||||
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];
|
||||
});
|
||||
folderHistory = true;
|
||||
updateProgressBar(progressBar+10);
|
||||
if(!currentFolder == '' || !currentFolder == 'root')
|
||||
{
|
||||
btnBack.removeAttr('disabled');
|
||||
}
|
||||
updateProgressBar(progressBar+5);
|
||||
},
|
||||
error: function () {
|
||||
showNotification('error', 'Impossible de charger la hiérachie des dossiers', 'top', 'center')
|
||||
if (folderHistory)
|
||||
{
|
||||
showNotification('error', 'Impossible de charger la hiérachie des dossiers', 'top', 'center')
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
@@ -30,26 +45,35 @@ function loadFolder(folder) {
|
||||
if (folder != undefined)
|
||||
{
|
||||
showLoader();
|
||||
updateProgressBar(progressBar+5);
|
||||
$.ajax({
|
||||
type: 'GET',
|
||||
url: '/api/drive/folders/'+folder+'?api_token=' + api_token,
|
||||
success: function (template) {
|
||||
// Load Explorer Content
|
||||
updateProgressBar(progressBar+30);
|
||||
$(".drive-explorer").html(template);
|
||||
currentFolder = folder;
|
||||
window.history.pushState("object or string", "Page Title", "/admin/drive/"+folder);
|
||||
updateProgressBar(progressBar+5);
|
||||
hideLoader();
|
||||
|
||||
$('.currentDir').attr('value',folder);
|
||||
|
||||
if(currentFolder == '' || currentFolder == 'root')
|
||||
if (folderHistory)
|
||||
{
|
||||
$('#backbtn').prop('disabled','true');
|
||||
}
|
||||
else
|
||||
{
|
||||
$('#backbtn').removeAttr('disabled');
|
||||
if((currentFolder == '' || currentFolder == 'root'))
|
||||
{
|
||||
$('#backbtn').prop('disabled','true');
|
||||
}
|
||||
else
|
||||
{
|
||||
console.log('wtf');
|
||||
console.log(folderGoBack);
|
||||
$('#backbtn').removeAttr('disabled');
|
||||
}
|
||||
}
|
||||
updateProgressBar(progressBar+10);
|
||||
},
|
||||
error: function () {
|
||||
showNotification('error', 'Impossible de charger le dossier '+folder, 'top', 'center')
|
||||
@@ -123,3 +147,38 @@ function deleteFolder(folder)
|
||||
function refreshFolder() {
|
||||
loadFolder(currentFolder);
|
||||
}
|
||||
|
||||
function editPermission(folder,subject,id)
|
||||
{
|
||||
$('#permissionModal').on('hidden.bs.modal', function (e) {
|
||||
$('#permissionModalHtml').html(permissionModalHtml);
|
||||
});
|
||||
|
||||
$.ajax({
|
||||
type: 'GET',
|
||||
url: '/api/drive/'+folder+'/permission/'+subject+'/'+id+'?api_token=' + api_token,
|
||||
success: function (modal) {
|
||||
permissionModalHtml = $('#permissionModalHtml').html();
|
||||
$('#permissionModalHtml').html(modal);
|
||||
$('#permissionModal').modal('show');
|
||||
},
|
||||
error: function () {
|
||||
showNotification('error', 'Impossible de charger le dossier '+folder, 'top', 'center')
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
function updateProgressBar(value)
|
||||
{
|
||||
progressBar = value;
|
||||
let bar = $('#progress-bar');
|
||||
bar.css('width',value+"%");
|
||||
if (progressBar >= 100)
|
||||
{
|
||||
$('.progress').fadeOut(1500);
|
||||
}
|
||||
else
|
||||
{
|
||||
$('.progress').fadeIn(650);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user