Common.js: Difference between revisions
From Illustrations in German Translations of Mark Twain's Works
No edit summary |
No edit summary Tag: Reverted |
||
| Line 1: | Line 1: | ||
/* Data Tables */ | /* Data Tables */ | ||
| Line 19: | Line 4: | ||
// DataTables JS nachladen und dann initialisieren | // DataTables JS nachladen und dann initialisieren | ||
mw.loader.getScript('https://cdn.datatables.net/1.13.8/js/jquery.dataTables.min.js') | |||
.then(function() { | |||
console.log('DataTables erfolgreich geladen! Initialisiere Tabelle...'); | |||
$(document).ready(function() { | |||
$('#catalog').DataTable({ | |||
paging: true, | |||
pageLength: 100, | |||
searching: true, | |||
ordering: true, | |||
lengthMenu: [ [10, 25, 50, 100, 200, 600], [10, 25, 50, 100, 200, 600] ], | |||
order: [[1, 'asc']], | |||
language: { | |||
search: "Suche:", | |||
lengthMenu: "Show _MENU_ Entries", | |||
zeroRecords: "No Matches", | |||
info: "Page _PAGE_ of _PAGES_", | |||
infoEmpty: "Empty", | |||
infoFiltered: "(out of _MAX_ total entries)" | |||
}, | |||
initComplete: function () { | |||
// Fügt für jede Spalte ein Suchfeld hinzu | |||
this.api().columns().every(function () { | |||
var column = this; | |||
var header = $(column.header()); | |||
var columnTitle = header.text(); // Spaltentitel extrahieren | |||
var input = $('<input type="text" placeholder="' + columnTitle + ' ..." style="width: 100%; padding: 5px;"/>') | |||
.appendTo($(header).empty()) // Leert die Headerzelle und fügt das Eingabefeld ein | |||
.on('keyup change', function () { | |||
column.search(this.value).draw(); // Filtert die Spalte nach Eingabewerten | |||
}) | |||
.on('click', function(e) { | |||
e.stopPropagation(); // Verhindert, dass der Klick die Sortierung beeinflusst | |||
}); | |||
}); | |||
} | |||
}); | }); | ||
}); | }); | ||
}) | |||
.catch(function(err) { | |||
console.error('Fehler beim Laden von DataTables:', err); | |||
}); | }); | ||
// DataTables SearchBuilder + Abhängigkeiten | |||
mw.loader.load('https://cdn.datatables.net/datetime/1.5.1/js/dataTables.dateTime.min.js'); | |||
mw.loader.load('https://cdn.datatables.net/searchbuilder/1.6.0/js/dataTables.searchBuilder.min.js'); | |||
// DataTable prüfen für SearchBuilder | |||
$(document).ready(function () { | $(document).ready(function () { | ||
// Prüft, ob eine Tabelle mit der Klasse .datatable vorhanden ist | |||
$('.datatable').DataTable({ | |||
dom: 'Qlfrtip', // Q = SearchBuilder | |||
searchBuilder: true | |||
}); | |||
}); | }); | ||
Revision as of 12:47, 15 July 2025
/* Data Tables */
console.log('DataTables-Skript wird geladen...');
// DataTables JS nachladen und dann initialisieren
mw.loader.getScript('https://cdn.datatables.net/1.13.8/js/jquery.dataTables.min.js')
.then(function() {
console.log('DataTables erfolgreich geladen! Initialisiere Tabelle...');
$(document).ready(function() {
$('#catalog').DataTable({
paging: true,
pageLength: 100,
searching: true,
ordering: true,
lengthMenu: [ [10, 25, 50, 100, 200, 600], [10, 25, 50, 100, 200, 600] ],
order: [[1, 'asc']],
language: {
search: "Suche:",
lengthMenu: "Show _MENU_ Entries",
zeroRecords: "No Matches",
info: "Page _PAGE_ of _PAGES_",
infoEmpty: "Empty",
infoFiltered: "(out of _MAX_ total entries)"
},
initComplete: function () {
// Fügt für jede Spalte ein Suchfeld hinzu
this.api().columns().every(function () {
var column = this;
var header = $(column.header());
var columnTitle = header.text(); // Spaltentitel extrahieren
var input = $('<input type="text" placeholder="' + columnTitle + ' ..." style="width: 100%; padding: 5px;"/>')
.appendTo($(header).empty()) // Leert die Headerzelle und fügt das Eingabefeld ein
.on('keyup change', function () {
column.search(this.value).draw(); // Filtert die Spalte nach Eingabewerten
})
.on('click', function(e) {
e.stopPropagation(); // Verhindert, dass der Klick die Sortierung beeinflusst
});
});
}
});
});
})
.catch(function(err) {
console.error('Fehler beim Laden von DataTables:', err);
});
// DataTables SearchBuilder + Abhängigkeiten
mw.loader.load('https://cdn.datatables.net/datetime/1.5.1/js/dataTables.dateTime.min.js');
mw.loader.load('https://cdn.datatables.net/searchbuilder/1.6.0/js/dataTables.searchBuilder.min.js');
// DataTable prüfen für SearchBuilder
$(document).ready(function () {
// Prüft, ob eine Tabelle mit der Klasse .datatable vorhanden ist
$('.datatable').DataTable({
dom: 'Qlfrtip', // Q = SearchBuilder
searchBuilder: true
});
});