diff options
Diffstat (limited to 'web/packs/src/javascript/archive.js')
-rw-r--r-- | web/packs/src/javascript/archive.js | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/web/packs/src/javascript/archive.js b/web/packs/src/javascript/archive.js new file mode 100644 index 0000000..088aa6b --- /dev/null +++ b/web/packs/src/javascript/archive.js @@ -0,0 +1,42 @@ + +function initDatatable(){ + if (window.ArchivesDataTables.length === 0 && $('.archives-data-table').length !== 0) { + $('.archives-data-table').each((_, element) => { + + var table = $(element).DataTable( { + "order": [[ 0, "desc" ]], + "paging": true, + "ordering": true, + "searching": true, + "info": true, + "lengthChange": false, + "language": { + "emptyTable": "Currently there are no GLSAs available. -- Start with releasing one." + }, + "columnDefs": [ + { + "targets": 'hide', + "visible": false + }], + }); + + window.ArchivesDataTables.push(table); + + // Add event listener for opening and closing details + $('#table_id tbody').on('click', 'td', function () { + var tr = $(this).closest('tr'); + var row = table.row( tr ); + Turbolinks.visit("/glsa/" + row.data()[0]); + } ); + + }); + } +} + +function destroyDatatable(){ + while (window.ArchivesDataTables.length !== 0) { + window.ArchivesDataTables.pop().destroy(); + } +} + +export default {initDatatable, destroyDatatable} |