redesign for mulituser
change validation concept (client and server) using entities
This commit is contained in:
111
public/js/tab_activities.js
Normal file
111
public/js/tab_activities.js
Normal file
@@ -0,0 +1,111 @@
|
||||
var activitydata;
|
||||
var colomnspez = columns;
|
||||
|
||||
function loadActivityData(){
|
||||
document.activities.setMessage("Loading Data");
|
||||
const form = document.querySelector("#getData");
|
||||
let formData = new FormData(form);
|
||||
// formData.append('start', document.getElementById("datum_start").value);
|
||||
// formData.append('end', document.getElementById("datum_ende").value);
|
||||
// formData.append('source', document.getElementById("source").value);
|
||||
fetch("/getActivitiesData", { method: "POST",headers: {"X-Requested-With": "XMLHttpRequest"}, body: formData })
|
||||
.then(response => {
|
||||
let status = response.statusText;
|
||||
if (!response.ok) {
|
||||
throw "HTTP error: " + response.status + "; " + status;
|
||||
} else
|
||||
return response.json();
|
||||
})
|
||||
.then(data => {
|
||||
if (document.activities.hasRows){
|
||||
document.activities.data.data.splice(0,document.activities.data.data.length);
|
||||
document.activities.hasRows = false;
|
||||
}
|
||||
//document.activities.insert({data:data});
|
||||
document.activities.insert({data:data.map(item => [item.id,item.datum,item.receiver,item.source,item.amount,item.validate])});
|
||||
document.activities.update(true);
|
||||
})
|
||||
.catch(err => {
|
||||
document.activities.setMessage(err);
|
||||
});
|
||||
}
|
||||
|
||||
function createDtActivities(){
|
||||
document.activities = new simpleDatatables.DataTable("#activities", {
|
||||
searchable: true,
|
||||
paging: false,
|
||||
classes: {
|
||||
active: "active",
|
||||
disabled: "disabled",
|
||||
table: "table table-striped table-sm",
|
||||
},
|
||||
data: {
|
||||
headings: ["","Datum","Empfänger",,"Quelle","Betrag","draft"],
|
||||
data: activitydata,
|
||||
},
|
||||
rowRender: (row, tr, _index) => {
|
||||
//tr.childNodes[1].childNodes[0].attributes.href = `editBill/${row.cells[0].data}`;
|
||||
tr.childNodes[1].attributes.onclick = `location.href='editBill/${row.cells[0].data}'`;
|
||||
if(row.cells[5].data == true){
|
||||
tr.attributes.class = 'text-bg-warning';
|
||||
}
|
||||
// $(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",
|
||||
},{
|
||||
select:1,
|
||||
type: 'date',
|
||||
format: 'dd.mm.yyyy',
|
||||
cellClass:"dt-datum",
|
||||
sortable: true,
|
||||
sort: "desc",
|
||||
},{
|
||||
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
|
||||
},{
|
||||
select:5,
|
||||
type: 'boolean',
|
||||
hidden:true,
|
||||
}
|
||||
|
||||
],
|
||||
template: (options, dom) => `<div class='${options.classes.top}'>
|
||||
<div class='float-start'>
|
||||
<a class="btn btn-sm btn-secondary" href="newBill">Neue Rechnung</a>
|
||||
<a class="btn btn-sm btn-secondary" href="newTransfer">Neuer 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>`
|
||||
});
|
||||
loadActivityData();
|
||||
}
|
||||
|
||||
document.addEventListener("DOMContentLoaded", function(event) {
|
||||
createDtActivities();
|
||||
});
|
||||
Reference in New Issue
Block a user