production/Vue/includes/scripts-footer.php
2026-03-12 08:22:49 +00:00

162 lines
5.5 KiB
PHP

<script src="Bootstrap/js/jquery.min.js"></script>
<script src="Bootstrap/js/jquery-ui.js"></script>
<script src="Bootstrap/js/timer.jquery.js"></script>
<script src="Bootstrap/vendor/bootstrap/js/bootstrap.bundle.min.js"></script>
<script src="https://cdn.datatables.net/1.13.6/js/jquery.dataTables.min.js"></script>
<script src="https://cdn.datatables.net/1.13.6/js/dataTables.bootstrap5.min.js"></script>
<script src="https://cdn.datatables.net/buttons/2.4.1/js/dataTables.buttons.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jszip/3.10.1/jszip.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/pdfmake/0.1.53/pdfmake.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/pdfmake/0.1.53/vfs_fonts.js"></script>
<script src="https://cdn.datatables.net/buttons/2.4.1/js/buttons.html5.min.js"></script>
<script src="Bootstrap_new/js/select2.min.js"></script>
<script src="Bootstrap_new/select/js/bootstrap-select.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/toastr.js/latest/toastr.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/sweetalert2@11.14.1/dist/sweetalert2.all.min.js"></script>
<script src="Bootstrap/vendor/apexcharts/apexcharts.min.js"></script>
<script src="Bootstrap/vendor/chart.js/chart.umd.js"></script>
<script src="Bootstrap/vendor/echarts/echarts.min.js"></script>
<script src="Bootstrap/js/main.js"></script>
<?php if (est_anglophone()): ?>
<script src="Js/datepicker-eng.js"></script>
<?php else: ?>
<script src="Js/datepicker-fr.js"></script>
<?php endif; ?>
<script src="<?= $_SESSION['dossierSociete'] . '/Js/societe.js' ?>"></script>
<script src="Js/fonctions.js?ver=<?= defined('APP_VERSION') ? APP_VERSION : date('YmdHi') ?>"></script>
<script src="Js/html2pdf.js"></script>
<!-- ===== Conteneur AJAX gabarit ===== -->
<div id="div_ajaxgabarit"></div>
<!-- ===== Initialisation applicative ===== -->
<script type="text/javascript">
/* Rafraîchissement du gabarit */
raffraichier_gabarit();
/* Timer messagerie (60s) */
$(document).ready(function () {
/* --- Panneau contexte : Drawer animé --- */
$('#barre_laterale_d').hide();
$('#showSideNav').hide(); // Masqué jusqu'au scroll ou action
// Afficher le bouton déclencheur après un court délai
setTimeout(function () {
$('#showSideNav').fadeIn(300);
}, 800);
// Ouverture du panneau
$('#showSideNav').on('click', function () {
$('#barre_laterale_d').stop(true).show('slide', { direction: 'right' }, 350);
$(this).fadeOut(150);
});
// Fermeture du panneau
$('#hideSideNav').on('click', function () {
$('#barre_laterale_d').stop(true).hide('slide', { direction: 'right' }, 350, function () {
$('#showSideNav').fadeIn(200);
});
});
// Fermeture en cliquant en dehors du panneau
$(document).on('click', function (e) {
if ($('#barre_laterale_d').is(':visible') &&
!$(e.target).closest('#barre_laterale_d, #showSideNav').length) {
$('#barre_laterale_d').stop(true).hide('slide', { direction: 'right' }, 300, function () {
$('#showSideNav').fadeIn(200);
});
}
});
/* --- Timer messagerie --- */
$('#timer').timer({
duration: '60s',
callback: function () {
raffraichier_messagerie();
},
repeat: true
});
/* --- Select2 global --- */
if ($.fn.select2) {
$('select.select2, .select-field').each(function () {
$(this).select2({ theme: 'bootstrap-5', width: '100%' });
});
}
/* --- Bootstrap Select global (Version Corrigée) --- */
if ($.fn.selectpicker) {
// On n'utilise plus 'refresh' à l'aveugle sur tout ce qui bouge
// On laisse les fonctions spécifiques gérer leurs propres instances
$('.selectpicker').each(function() {
if (!$(this).parent().hasClass('bootstrap-select')) {
$(this).selectpicker();
}
});
}
/* --- Sidebar toggle ---
* On désactive le listener natif de main.js (Bootstrap template) en
* clonant le nœud DOM, ce qui supprime tous ses event listeners,
* puis on rebranche notre propre logique.
*/
(function () {
var $btn = $('.toggle-sidebar-btn');
if (!$btn.length) return;
// Cloner pour vider les listeners attachés par main.js
var $clone = $btn.clone(false);
$btn.replaceWith($clone);
$clone.on('click', function () {
var isMobile = $(window).width() < 1200;
if (isMobile) {
// Mobile : slide complet via classe CSS
$('#sidebar').toggleClass('sidebar-mobile-open');
} else {
// Desktop : basculer entre plein / icônes seules
$('body').toggleClass('toggle-sidebar');
// Forcer la fermeture des sous-menus collapse ouverts
if ($('body').hasClass('toggle-sidebar')) {
$('#sidebar .nav-content.show').collapse('hide');
}
}
});
})();
/* --- Highlight ligne active DataTable au clic --- */
$(document).on('click', '.table tbody tr', function () {
$(this).closest('tbody').find('tr').removeClass('row-selected');
$(this).addClass('row-selected');
});
/* --- Toastr config globale --- */
if (typeof toastr !== 'undefined') {
toastr.options = {
positionClass: 'toast-top-right',
timeOut: 4000,
closeButton: true,
progressBar: true,
preventDuplicates: true,
newestOnTop: true
};
}
}); // end document.ready
</script>
</body>
</html>