91 lines
3.9 KiB
JavaScript
91 lines
3.9 KiB
JavaScript
var scheduleddata;
|
|
var columnspez = columns;
|
|
columnspez.splice(3, 0, { title: "Quelle",orderable:false, data: "source",className:"dt-source" });
|
|
|
|
function loadScheduledData(){
|
|
document.scheduled.setMessage("Loading Data");
|
|
fetch("/getScheduledData", { method: "GET",headers: {"X-Requested-With": "XMLHttpRequest"},})
|
|
.then(response => response.json())
|
|
.then(data => {
|
|
if (document.scheduled.hasRows){
|
|
document.scheduled.data.data.splice(0,document.scheduled.data.data.length);
|
|
document.scheduled.hasRows = false;
|
|
}
|
|
//document.scheduled.insert({data:data});
|
|
document.scheduled.insert({data:data.map(item => [item.id,item.datum,item.receiver,item.source,item.amount])});
|
|
document.scheduled.update(true);
|
|
});
|
|
}
|
|
|
|
function createDtScheduledBookings(){
|
|
document.scheduled = new simpleDatatables.DataTable("#scheduled", {
|
|
searchable: true,
|
|
paging: false,
|
|
classes: {
|
|
active: "active",
|
|
disabled: "disabled",
|
|
table: "table table-striped table-sm",
|
|
},
|
|
data: {
|
|
headings: ["","Datum","Empfänger","Quelle","Betrag"],
|
|
data: scheduleddata,
|
|
},
|
|
rowRender: (row, tr, _index) => {
|
|
//tr.childNodes[1].childNodes[0].attributes.href = `editBill/${row.cells[0].data}`;
|
|
tr.childNodes[1].attributes.onclick = `location.href='editScheduled/${row.cells[0].data}'`;
|
|
|
|
// $(row).addClass('text-bg-warning');
|
|
// tr.childNodes[2].attributes.onclick = `collapseDetails(this, ${_index})`;
|
|
},
|
|
columns: [
|
|
{
|
|
select:0,
|
|
render: (data, _cell, _dataIndex, _cellIndex) => { return `<a data-bs-toggle="modal" role="button" data-bs-id="${data}" data-bs-target="#mymodalDelete" ><i class="fa-solid fa-trash"></a>` },
|
|
cellClass: "datatable-icon",
|
|
type: "number",
|
|
sort: "desc",
|
|
},{
|
|
select:1,
|
|
type: 'date',
|
|
format: 'dd.mm.yyyy',
|
|
cellClass:"dt-datum",
|
|
sortable: true,
|
|
},{
|
|
select:2,
|
|
type: 'string',
|
|
cellClass:"dt-receiver",
|
|
// render: (data, _cell, _dataIndex, _cellIndex) => { return `<a onclick="collapseDetails(this,document.bookings)">${data}</a>` },
|
|
|
|
},{
|
|
select:3,
|
|
type: 'string',
|
|
cellClass:"dt-source",
|
|
// render: (data, _cell, _dataIndex, _cellIndex) => { return `<a onclick="collapseDetails(this,document.bookings)">${data}</a>` },
|
|
|
|
},{
|
|
select:4,
|
|
type: 'number',
|
|
headerClass: "dt-amount",
|
|
cellClass:"dt-amount",
|
|
render: renderAmount
|
|
}
|
|
],
|
|
template: (options, dom) => `<div class='${options.classes.top}'>
|
|
<div class='float-start'>
|
|
<a class="btn btn-sm btn-secondary" href="newScheduled">Neue Auto Rechnung</a>
|
|
<a class="btn btn-sm btn-secondary" href="newScheduledTransfer">Neuer Auto Transfer</a>
|
|
</div>
|
|
<div class='${options.classes.search} float-end'>
|
|
<input class='${options.classes.input}' placeholder='Search' type='search' title='${options.labels.searchTitle}'${dom.id ? ` aria-controls="${dom.id}"` : ""}>
|
|
</div>
|
|
</div>
|
|
<div class='${options.classes.container}'${options.scrollY.length ? ` style='height: ${options.scrollY}; overflow-Y: auto;'` : ""}></div>
|
|
<div class='${options.classes.bottom}'>
|
|
</div>`
|
|
});
|
|
loadScheduledData();
|
|
}
|
|
|
|
document.addEventListener("DOMContentLoaded", function(event) {
|
|
createDtScheduledBookings();
|
|
}) |