let methods = { refreshDisplay() { if (__MEDIAS.displayStatus === 'Grid') { __MEDIAS.methods.displayGrid() } else { __MEDIAS.methods.displayList() } }, displayGrid() { Vue.__proto__.$displayStatus = 'Grid' __MEDIAS.displayStatus = 'Grid' $(".action_wrapper .display .fa-table-list").parent().removeClass('selected'); $(".media_container .wrapper").removeClass('inline'); }, displayList() { Vue.__proto__.$displayStatus = 'List' __MEDIAS.displayStatus = 'List' $(".action_wrapper .display .fa-table-cells").parent().removeClass('selected'); $(".media_container .wrapper").addClass('inline'); } }; window.__MEDIAS = { displayStatus: 'Grid', methods: methods } $(document).ready(function () { $.ajaxSetup({ headers: { 'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content') } }); /*************************** Widget panier *****************************/ if ( $( ".panier_side_menu" ).length ) { // ---- collapse/expand panier side menu $("#menu_panier").on('click', function(event) { event.preventDefault(); $(".panier_side_menu .panier_menu").toggle(); }); } /****************************** Moteur de recherche de médias **********************************/ // ---- Initialisation du module de recherche if ($('.search_wrapper').length) { // ---- Initialisation des listes $(".filter_selector .filter_btn").on('click', function (event) { $(".filter_selector .list").not($(this).parent().find(".list")).hide(); $(this).parent().find(".list").toggle(); }); } /****************************** Liste des dossiers **********************************/ // ---- collapse/expand side menu $(".close_side_menu").on('click', function(event) { event.preventDefault(); if($(this).parents(".side_menu ").hasClass('collapse')){ $(this).parents(".side_menu ").removeClass('collapse'); $(this).find("svg").removeClass('fa-chevron-right'); $(this).find("svg").addClass('fa-chevron-left'); }else{ $(this).parents(".side_menu ").addClass('collapse'); $(this).find("svg").removeClass('fa-chevron-left'); $(this).find("svg").addClass('fa-chevron-right'); } }); // ---- affichage des dossiers on draghover $(".folder_container").on("dragover", ".dd3-content, .root_folder", function(event) { event.preventDefault(); event.stopPropagation(); $(".folder_container .dd3-content").removeClass('dragged'); $(".folder_container .root_folder").removeClass('dragged'); $(this).addClass('dragged'); }); // ---- affichage des dossiers on dragleave $(".folder_container").on("dragleave", ".dd3-content, .root_folder", function(event) { event.preventDefault(); event.stopPropagation(); $(".folder_container .dd3-content").removeClass('dragged'); $(".folder_container .root_folder").removeClass('dragged'); }); /****************************** Gestion des médias **********************************/ // ---- Mode d'affichage $(".action_wrapper .display button .fa-calendar-check").parent().addClass('selected'); $(".action_wrapper .display button").on("click", function (event) { event.preventDefault(); const button = $(this), svg = $(this).children(); if (svg.hasClass('fa-calendar-check')) { //toggle affichage des dates if (!button.hasClass('selected')) { button.addClass('selected'); $(".media_container .wrapper .date-separator").removeClass('hide'); } else { button.removeClass('selected'); $(".media_container .wrapper .date-separator").addClass('hide'); } } else { if (svg.hasClass('fa-table-cells')) { // mode mosaique if (!button.hasClass('selected')) { button.addClass('selected') methods.displayGrid() } }else{ // mode liste if (!button.hasClass('selected')) { button.addClass('selected') methods.displayList() } } } }); /****************************** Edition d'un média **********************************/ // ---- fermeture de la popup d'édition $(".form_media_close, .btn_tab_edit_cancel").on("click" , function(event) { event.preventDefault(); // ---- Stop la vidéo ou le son si présent if($(".tab_preview video").length){ $(".tab_preview video").get(0).pause() } if($(".tab_preview audio").length){ $(".tab_preview audio").get(0).pause() } }); // ---- Suppression de média en masse $('.action_delete_media').on('click',function(event){ event.preventDefault(); var medias = []; $('.media_container .imageItem').each(function (index) { if( $(this ).attr("aria-grabbed") == "true" ){ medias.push($(this ).attr("data-id")); } }); removeMedias(medias); }); // ---- gestion des onglets de la popup d'édition $("#form_media .tabbtn").on("click", function (event) { // TODO: remove this ? return; event.preventDefault(); // ---- Affiche l'onglet cliqué var tabId = $(this).attr("data-tab"); $("#form_media .tabbtn").removeClass('active'); $(this).addClass('active') $("#form_media .main_content .tab").removeClass('active'); $("#form_media .main_content .tab").eq(tabId).addClass('active'); $(".tab_edit .tab_content").scrollTop( 0 ); // on remonte la scrollbar de la tab edition // ---- Stop la vidéo ou le son si présent if($(".tab_preview video").length){ $(".tab_preview video").get(0).pause() } if($(".tab_preview audio").length){ $(".tab_preview audio").get(0).pause() } }); }); // ---- Supression de médias function removeMedias(medias){ // Si Admin if ($(window).data('CurrentUserRole') === 1){ var msg = "Êtes-vous sûr de vouloir supprimer "+medias.length+" média(s) ?
ATTENTION DES MEDIAS PEUVENT ETRE LIES AVEC ARCADIA !"; }else{ var msg = "Êtes-vous sûr de vouloir supprimer "+medias.length+" média(s) ?"; } if(medias.length == 0){ $.fancyMessage({title : "Supprimer un média", message : "Veuillez sélectionner les médias à supprimer.", type : "info"}); }else{ $.fancyConfirm({ title : "Suppression de média", message : msg, okButton : 'Supprimer', noButton : 'Annuler', callback : function (value) { if (value) { $.ajax({ url: '/ajax/remove-media', method: 'POST', dataType : 'json', data: { mediaList: medias }, success: function(result){ $.each(result, function (index, value) { $(".media_container .imageItem[data-id='"+value+"']").remove(); }); // ---- MAJ du nb de média dans le dossier var currentFolder = $(window).data('currentFolder'); if(currentFolder == 0 || currentFolder == ""){ var count = $(".folder_container .root_folder .count"); }else{ var count = $(".folder_container .dd3-item[data-id='"+currentFolder+"'] > .dd3-content .count"); } count.html(parseInt(count.html())-result.length); if(result.length != medias.length){ $.fancybox.close(); if(medias.length == 1){ $.fancyMessage({title : "Attention", message : "Ce média est lié à Arcadia. Suppression refusée. ", type : "error"}); }else{ $.fancyMessage({title : "Attention", message : "Votre sélection contient des médias liés à Arcadia. Ces médias ne seront pas supprimés.", type : "info"}); } } }, error: function(jqXHR, textStatus, errorThrown) { $.fancybox.close(); $.fancyMessage({title : "Attention", message : "Erreur lors de la suppression du média, merci d'actualiser la page.", type : "error"}); } }); } } }); } }