Documents: Update documents
This commit is contained in:
@ -2,7 +2,6 @@
|
||||
@inherits TemplatePage<Elwig.Documents.DeliveryNote>
|
||||
@model Elwig.Documents.DeliveryNote
|
||||
@{ Layout = "BusinessDocument"; }
|
||||
|
||||
<div class="date">@Model.Location, am @($"{Model.Date:dd.MM.yyyy}")</div>
|
||||
<h1>@Model.Title</h1>
|
||||
@{
|
||||
@ -11,24 +10,35 @@
|
||||
<script>
|
||||
document.addEventListener("DOMContentLoaded", () => {
|
||||
const hidden = document.getElementsByClassName("hidden")[0];
|
||||
const bottom = hidden.offsetTop + hidden.offsetHeight;
|
||||
const cm = bottom * 2.54 / 96 * window.devicePixelRatio;
|
||||
const table = document.getElementsByClassName("delivery")[0];
|
||||
const stats = document.getElementById("delivery-stats");
|
||||
const mm = px2mm(0, hidden.offsetTop + hidden.offsetHeight);
|
||||
const heightTable = px2mm(table.offsetTop, hidden.offsetTop + hidden.offsetHeight);
|
||||
|
||||
if (cm > 25.75) {
|
||||
// force page break
|
||||
const table = document.getElementsByClassName("delivery")[0];
|
||||
if (mm >= heightA4 - heightFooter) {
|
||||
if (heightTable + 10 >= heightMain) {
|
||||
// force page break in table
|
||||
const tblOff = px2mm(0, table.offsetTop);
|
||||
let last = null;
|
||||
for (const tr of table.getElementsByTagName("tr")) {
|
||||
if (!tr.classList.contains("main")) continue;
|
||||
const mm2 = tblOff + px2mm(0, tr.offsetTop);
|
||||
if (mm2 >= heightA4 - heightFooter) {
|
||||
last.classList.add("page-break");
|
||||
break;
|
||||
}
|
||||
last = tr;
|
||||
}
|
||||
} else {
|
||||
// force page break
|
||||
const hr = document.createElement("hr");
|
||||
hr.classList.add("page-break");
|
||||
table.before(hr);
|
||||
|
||||
const hr = document.createElement("hr");
|
||||
hr.classList.add("page-break");
|
||||
table.before(hr);
|
||||
|
||||
const stats = document.getElementById("delivery-stats");
|
||||
stats.getElementsByTagName("table")[0].classList.add("expanded");
|
||||
hr.before(stats);
|
||||
|
||||
const p = document.createElement("p");
|
||||
p.innerText = "Siehe nächste Seite."
|
||||
stats.before(p);
|
||||
const p = document.createElement("p");
|
||||
p.innerText = "Siehe nächste Seite."
|
||||
hr.before(p);
|
||||
}
|
||||
}
|
||||
});
|
||||
</script>
|
||||
|
Reference in New Issue
Block a user