Documents: Update documents

This commit is contained in:
2023-09-05 20:41:03 +02:00
parent b76d43a5ff
commit faaeefe6ce
5 changed files with 40 additions and 23 deletions

View File

@ -2,7 +2,6 @@
@inherits TemplatePage<Elwig.Documents.BusinessDocument> @inherits TemplatePage<Elwig.Documents.BusinessDocument>
@model Elwig.Documents.BusinessDocument @model Elwig.Documents.BusinessDocument
@{ Layout = "Document"; } @{ Layout = "Document"; }
<div class="info-wrapper"> <div class="info-wrapper">
<div class="address-wrapper"> <div class="address-wrapper">
<div class="sender"> <div class="sender">

View File

@ -2,7 +2,6 @@
@inherits TemplatePage<Elwig.Documents.BusinessLetter> @inherits TemplatePage<Elwig.Documents.BusinessLetter>
@model Elwig.Documents.BusinessLetter @model Elwig.Documents.BusinessLetter
@{ Layout = "BusinessDocument"; } @{ Layout = "BusinessDocument"; }
<p>Sehr geehrtes Mitglied,</p> <p>Sehr geehrtes Mitglied,</p>
<p>nein.</p> <p>nein.</p>
<p>Mit freundlichen Grüßen<br/>Ihre Winzergenossenschaft</p> <p>Mit freundlichen Grüßen<br/>Ihre Winzergenossenschaft</p>

View File

@ -2,7 +2,6 @@
@inherits TemplatePage<Elwig.Documents.DeliveryNote> @inherits TemplatePage<Elwig.Documents.DeliveryNote>
@model Elwig.Documents.DeliveryNote @model Elwig.Documents.DeliveryNote
@{ Layout = "BusinessDocument"; } @{ Layout = "BusinessDocument"; }
<div class="date">@Model.Location, am @($"{Model.Date:dd.MM.yyyy}")</div> <div class="date">@Model.Location, am @($"{Model.Date:dd.MM.yyyy}")</div>
<h1>@Model.Title</h1> <h1>@Model.Title</h1>
@{ @{
@ -11,24 +10,35 @@
<script> <script>
document.addEventListener("DOMContentLoaded", () => { document.addEventListener("DOMContentLoaded", () => {
const hidden = document.getElementsByClassName("hidden")[0]; const hidden = document.getElementsByClassName("hidden")[0];
const bottom = hidden.offsetTop + hidden.offsetHeight; const table = document.getElementsByClassName("delivery")[0];
const cm = bottom * 2.54 / 96 * window.devicePixelRatio; 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) { if (mm >= heightA4 - heightFooter) {
// force page break if (heightTable + 10 >= heightMain) {
const table = document.getElementsByClassName("delivery")[0]; // 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"); const p = document.createElement("p");
hr.classList.add("page-break"); p.innerText = "Siehe nächste Seite."
table.before(hr); hr.before(p);
}
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);
} }
}); });
</script> </script>

View File

@ -1,7 +1,6 @@
@using RazorLight @using RazorLight
@inherits TemplatePage<Elwig.Documents.Document> @inherits TemplatePage<Elwig.Documents.Document>
@model Elwig.Documents.Document @model Elwig.Documents.Document
<!DOCTYPE html> <!DOCTYPE html>
<html lang="de-AT"> <html lang="de-AT">
<head> <head>
@ -13,9 +12,15 @@
window.addEventListener("beforeprint", async () => { await window.PagedPolyfill.preview(); }); window.addEventListener("beforeprint", async () => { await window.PagedPolyfill.preview(); });
window.addEventListener("afterprint", () => { location.reload(); }); window.addEventListener("afterprint", () => { location.reload(); });
} }
const heightA4 = 297, widhtA4 = 210, heightFooter = 35, heightHeader = 25;
const heightMain = heightA4 - heightFooter - heightHeader;
function px2mm(px1, px2) {
return (px2 - px1 + 1) * 2.54 / 96 * window.devicePixelRatio * 10;
}
</script> </script>
<script src="@Raw(Model.DataPath)\resources\paged.polyfill.js"></script> <script src="file:///@Raw(Model.DataPath)\resources\paged.polyfill.js"></script>
<link rel="stylesheet" href="@Raw(Model.DataPath)\resources\style.css" /> <link rel="stylesheet" href="file:///@Raw(Model.DataPath)\resources\style.css"/>
</head> </head>
<body> <body>
<div class="m1"></div> <div class="m1"></div>

View File

@ -165,7 +165,7 @@ main p.comment {
} }
.pre-footer { .pre-footer {
margin: 4.23mm 0; margin: 1em 0;
font-size: 10pt; font-size: 10pt;
display: flex; display: flex;
} }
@ -327,6 +327,10 @@ hr.page-break {
break-after: page; break-after: page;
} }
tr.page-break {
break-before: page;
}
@page { @page {
size: A4; size: A4;
margin: 25mm 0 35mm 0; margin: 25mm 0 35mm 0;