Add signature panel and layout updates for ReportViewer
Enhanced `ReportViewer.razor` with a new layout structure: - Added `receiver-page-layout` with `receiver-signature-panel` and `receiver-viewer-wrapper` for better organization. - Introduced a button to export signed PDFs, conditionally enabled based on `SignatureApplied`. - Added a `DxPopup` for capturing signatures with a "Close" button. Updated `MainLayout.razor` to remove unnecessary padding from `<article>`. Refined `app.css`: - Defined styles for `receiver-page-layout`, `receiver-signature-panel`, and `receiver-viewer-wrapper` to improve layout flexibility. - Adjusted `article` to use flexbox and ensure hidden overflow.
This commit is contained in:
@@ -17,6 +17,9 @@
|
|||||||
<link href="_content/DevExpress.Blazor.Themes/blazing-berry.bs5.min.css" rel="stylesheet" />
|
<link href="_content/DevExpress.Blazor.Themes/blazing-berry.bs5.min.css" rel="stylesheet" />
|
||||||
<link href="_content/DevExpress.Blazor.Reporting.Viewer/css/dx-blazor-reporting-components.bs5.css" rel="stylesheet" />
|
<link href="_content/DevExpress.Blazor.Reporting.Viewer/css/dx-blazor-reporting-components.bs5.css" rel="stylesheet" />
|
||||||
|
|
||||||
|
<div class="receiver-page-layout">
|
||||||
|
|
||||||
|
<div class="receiver-signature-panel">
|
||||||
<div class="card m-3">
|
<div class="card m-3">
|
||||||
<div class="card-body">
|
<div class="card-body">
|
||||||
<h5 class="card-title">Unterschrift</h5>
|
<h5 class="card-title">Unterschrift</h5>
|
||||||
@@ -38,6 +41,7 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
<DxPopup @bind-Visible="SignaturePopupVisible"
|
<DxPopup @bind-Visible="SignaturePopupVisible"
|
||||||
HeaderText="Unterschrift erfassen"
|
HeaderText="Unterschrift erfassen"
|
||||||
@@ -114,9 +118,13 @@
|
|||||||
</FooterContentTemplate>
|
</FooterContentTemplate>
|
||||||
</DxPopup>
|
</DxPopup>
|
||||||
|
|
||||||
|
<div class="receiver-viewer-wrapper">
|
||||||
@if(Report is not null) {
|
@if(Report is not null) {
|
||||||
<DxReportViewer @key="ViewerKey" @ref="reportViewer" Report="Report" RootCssClasses="w-100 h-100" />
|
<DxReportViewer @key="ViewerKey" @ref="reportViewer" Report="Report" RootCssClasses="w-100 h-100" />
|
||||||
}
|
}
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
@code {
|
@code {
|
||||||
const string SignatureTabDraw = "draw";
|
const string SignatureTabDraw = "draw";
|
||||||
|
|||||||
@@ -7,7 +7,7 @@
|
|||||||
<a href="https://docs.microsoft.com/aspnet/" target="_blank">About</a>
|
<a href="https://docs.microsoft.com/aspnet/" target="_blank">About</a>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<article class="content px-4">
|
<article class="content">
|
||||||
@Body
|
@Body
|
||||||
</article>
|
</article>
|
||||||
</main>
|
</main>
|
||||||
|
|||||||
@@ -12,6 +12,28 @@ html, body {
|
|||||||
|
|
||||||
article {
|
article {
|
||||||
height: calc(100vh - 70px);
|
height: calc(100vh - 70px);
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
overflow: hidden;
|
||||||
|
padding-left: 0 !important;
|
||||||
|
padding-right: 0 !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.receiver-page-layout {
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
height: 100%;
|
||||||
|
overflow: hidden;
|
||||||
|
}
|
||||||
|
|
||||||
|
.receiver-signature-panel {
|
||||||
|
flex: 0 0 auto;
|
||||||
|
}
|
||||||
|
|
||||||
|
.receiver-viewer-wrapper {
|
||||||
|
flex: 1 1 0;
|
||||||
|
min-height: 0;
|
||||||
|
overflow: hidden;
|
||||||
}
|
}
|
||||||
|
|
||||||
.valid.modified:not([type=checkbox]) {
|
.valid.modified:not([type=checkbox]) {
|
||||||
|
|||||||
Reference in New Issue
Block a user