ZwiiCampus/core/module/course/view/usersAdd/usersAdd.js.php

65 lines
2.1 KiB
PHP
Raw Normal View History

2023-10-07 18:30:43 +02:00
/**
* This file is part of Zwii.
* For full copyright and license information, please see the LICENSE
* file that was distributed with this source code.
*
* @author Rémi Jean <remi.jean@outlook.com>
* @copyright Copyright (C) 2008-2018, Rémi Jean
* @author Frédéric Tempez <frederic.tempez@outlook.com>
* @copyright Copyright (C) 2018-2023, Frédéric Tempez
* @license CC Attribution-NonCommercial-NoDerivatives 4.0 International
* @link http://zwiicms.fr/
*/
2023-10-12 19:18:29 +02:00
$(document).ready((function () {
2023-10-12 19:37:13 +02:00
$("#courseFilterGroup, #courseFilterFirstName, #courseFilterLastName").change(function () {
2023-11-22 10:57:01 +01:00
saveCheckboxState();
$("#courseUsersFilterForm").submit();
2023-10-12 19:37:13 +02:00
});
2023-11-22 10:57:01 +01:00
var table = $('#dataTables').DataTable({
2023-10-15 14:53:20 +02:00
language: {
url: "core/vendor/datatables/french.json"
},
"columnDefs": [
{
2023-11-21 19:42:46 +01:00
target: 3,
2023-10-21 13:55:14 +02:00
orderable: false,
2023-11-21 19:42:46 +01:00
searchable: false,
}
]
2023-10-15 14:53:20 +02:00
});
2023-11-22 10:57:01 +01:00
// Handle checkbox state on DataTables draw event
table.on('draw', function () {
// Restore checkbox state from cookies or local storage
restoreCheckboxState();
});
// Function to save checkbox state
function saveCheckboxState() {
var checkboxState = [];
$('.checkboxSelect').each(function () {
checkboxState.push({
'rowIndex': $(this).closest('tr').index(),
'checked': $(this).prop('checked')
});
});
// Use cookies or local storage to store checkbox state
localStorage.setItem('checkboxState', JSON.stringify(checkboxState));
}
// Function to restore checkbox state
function restoreCheckboxState() {
var checkboxState = JSON.parse(localStorage.getItem('checkboxState')) || [];
checkboxState.forEach(function (item) {
var rowIndex = item.rowIndex;
var checked = item.checked;
// Update checkbox state based on stored information
$('#example tbody tr:eq(' + rowIndex + ') .checkboxSelect').prop('checked', checked);
});
}
2023-10-08 14:46:44 +02:00
}));