Remove envelope-related PDF viewer components
The following files have been removed as part of a significant refactor or deprecation of envelope-related PDF viewing and signature functionality: - `EnvelopeReceiverPage.razor`: A detailed PDF viewer with signature handling and interactive features. - `EnvelopeReceiverPage_DxPdfViewer.razor`: A simplified PDF viewer using the `DxPdfViewer` component. - `EnvelopeReceiverPage_DxReportViewer.razor`: A report viewer using the `DxReportViewer` component. - `EnvelopeReceiverPage_embed.razor`: A minimalistic PDF viewer using the `<embed>` HTML tag. These removals indicate a transition to a new approach for handling PDF viewing and related features or their complete deprecation.
This commit is contained in:
File diff suppressed because it is too large
Load Diff
@@ -1,114 +0,0 @@
|
|||||||
@page "/envelope/DxPdfViewer"
|
|
||||||
@rendermode InteractiveServer
|
|
||||||
@using System.IO
|
|
||||||
@using DevExpress.Blazor
|
|
||||||
@using System.Reflection
|
|
||||||
@using DevExpress.Blazor.PdfViewer
|
|
||||||
|
|
||||||
<link href="_content/DevExpress.Blazor.Themes/blazing-berry.bs5.min.css" rel="stylesheet" />
|
|
||||||
|
|
||||||
<style>
|
|
||||||
.custom-drop-zone {
|
|
||||||
padding: 0 !important;
|
|
||||||
border-style: dashed;
|
|
||||||
border-width: 2px !important;
|
|
||||||
height: 230px;
|
|
||||||
display: flex;
|
|
||||||
flex-direction: column;
|
|
||||||
align-items: center;
|
|
||||||
justify-content: center;
|
|
||||||
background-color: rgba(183, 183, 183, 0.1);
|
|
||||||
}
|
|
||||||
|
|
||||||
.custom-drop-zone.custom-drop-zone-hover {
|
|
||||||
border-style: solid;
|
|
||||||
}
|
|
||||||
|
|
||||||
.custom-drop-zone svg {
|
|
||||||
width: 42px;
|
|
||||||
height: 42px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.custom-drop-zone > *:not(#overviewDemoSelectButton) {
|
|
||||||
pointer-events: none;
|
|
||||||
}
|
|
||||||
|
|
||||||
.pdf-viewer {
|
|
||||||
height: 800px !important;
|
|
||||||
min-height: 800px !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
.pdf-viewer .dxbrv-surface-wrapper,
|
|
||||||
.pdf-viewer .dxbrv-document-surface {
|
|
||||||
height: 100% !important;
|
|
||||||
min-height: 750px !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
.pdf-viewer .dxbrv-report-preview-content {
|
|
||||||
width: auto !important;
|
|
||||||
height: auto !important;
|
|
||||||
min-width: 200px !important;
|
|
||||||
min-height: 200px !important;
|
|
||||||
}
|
|
||||||
</style>
|
|
||||||
|
|
||||||
<div id="overviewDemoDropZone" class="card custom-drop-zone rounded-3 w-100 m-0">
|
|
||||||
<span class="drop-file-icon mb-3"></span>
|
|
||||||
<span class="drop-file-label">Drag and Drop File Here</span><span class="m-1">or</span>
|
|
||||||
<DxButton Id="overviewDemoSelectButton"
|
|
||||||
CssClass="m-1"
|
|
||||||
RenderStyle="ButtonRenderStyle.Primary"
|
|
||||||
Text="Select File" />
|
|
||||||
</div>
|
|
||||||
<DxFileInput @ref="fileInput"
|
|
||||||
AcceptedFileTypes="@ALLOWED_FILE_TYPES"
|
|
||||||
AllowedFileExtensions="@ALLOWED_FILE_TYPES"
|
|
||||||
CssClass="w-100"
|
|
||||||
ExternalDropZoneCssSelector="#overviewDemoDropZone"
|
|
||||||
ExternalDropZoneDragOverCssClass="custom-drop-zone-hover"
|
|
||||||
ExternalSelectButtonCssSelector="#overviewDemoSelectButton"
|
|
||||||
FilesUploading="OnFilesUploading"
|
|
||||||
MaxFileSize="2000000">
|
|
||||||
</DxFileInput>
|
|
||||||
|
|
||||||
@if (DocumentContent != null && DocumentContent.Length > 0)
|
|
||||||
{
|
|
||||||
<div class="alert alert-success mt-3">
|
|
||||||
PDF loaded: @DocumentContent.Length bytes
|
|
||||||
</div>
|
|
||||||
<DxPdfViewer CssClass="w-100 pdf-viewer" DocumentContent="@DocumentContent" />
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
<div class="alert alert-info mt-3">
|
|
||||||
Please upload a PDF file to view it.
|
|
||||||
</div>
|
|
||||||
}
|
|
||||||
|
|
||||||
@code {
|
|
||||||
readonly List<string> ALLOWED_FILE_TYPES = new List<string> { ".pdf" };
|
|
||||||
DxFileInput fileInput;
|
|
||||||
byte[] DocumentContent { get; set; }
|
|
||||||
protected override void OnInitialized()
|
|
||||||
{
|
|
||||||
Assembly assembly = Assembly.GetExecutingAssembly();
|
|
||||||
Stream stream = assembly.GetManifestResourceStream("EnvelopeGenerator.Server.Resources.Invoice.pdf");
|
|
||||||
if (stream != null)
|
|
||||||
{
|
|
||||||
using (stream)
|
|
||||||
using (var binaryReader = new BinaryReader(stream))
|
|
||||||
DocumentContent = binaryReader.ReadBytes((int)stream.Length);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
protected async Task OnFilesUploading(FilesUploadingEventArgs args)
|
|
||||||
{
|
|
||||||
using (MemoryStream stream = new MemoryStream())
|
|
||||||
{
|
|
||||||
IFileInputSelectedFile file = args.Files[0];
|
|
||||||
await file.OpenReadStream(file.Size).CopyToAsync(stream);
|
|
||||||
DocumentContent = stream.ToArray();
|
|
||||||
await InvokeAsync(StateHasChanged);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@@ -1,50 +0,0 @@
|
|||||||
@page "/envelope/{EnvelopeKey}/DxReportViewer"
|
|
||||||
@rendermode InteractiveServer
|
|
||||||
@using XtraReport = DevExpress.XtraReports.UI.XtraReport
|
|
||||||
@using DevExpress.Blazor.Reporting
|
|
||||||
@using Microsoft.Extensions.Options
|
|
||||||
@using EnvelopeGenerator.Server.Client.Options
|
|
||||||
@using EnvelopeGenerator.Server.Client.Services
|
|
||||||
@inject InMemoryReportStorageWebExtension ReportStorage
|
|
||||||
@inject DocumentService DocumentService
|
|
||||||
@inject IOptions<ApiOptions> AppOptions
|
|
||||||
|
|
||||||
<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" />
|
|
||||||
|
|
||||||
|
|
||||||
@if (_report is not null) {
|
|
||||||
<DxReportViewer Report="_report" RootCssClasses="w-100 h-100" Zoom="1.3" />
|
|
||||||
}
|
|
||||||
|
|
||||||
@code {
|
|
||||||
[Parameter] public string EnvelopeKey { get; init; } = null!;
|
|
||||||
|
|
||||||
XtraReport? _report = null;
|
|
||||||
|
|
||||||
protected override async Task OnInitializedAsync()
|
|
||||||
{
|
|
||||||
_report = await CreateReport();
|
|
||||||
}
|
|
||||||
|
|
||||||
async Task<XtraReport> CreateReport()
|
|
||||||
{
|
|
||||||
if (AppOptions.Value.UsePredefinedReports)
|
|
||||||
{
|
|
||||||
return Client.PredefinedReports.ReportsFactory.GetReport("LargeDatasetReport");
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
|
|
||||||
var pdfBytes = await DocumentService.GetDocumentAsync(EnvelopeKey);
|
|
||||||
if (pdfBytes is null || pdfBytes.Length == 0)
|
|
||||||
throw new InvalidOperationException($"No PDF bytes found for EnvelopeKey: {EnvelopeKey}");
|
|
||||||
|
|
||||||
var report = new XtraReport();
|
|
||||||
var detail = new DevExpress.XtraReports.UI.DetailBand();
|
|
||||||
report.Bands.Add(detail);
|
|
||||||
detail.Controls.Add(new DevExpress.XtraReports.UI.XRPdfContent { Source = pdfBytes, GenerateOwnPages = true });
|
|
||||||
return report;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,124 +0,0 @@
|
|||||||
@page "/envelope/Embed"
|
|
||||||
@rendermode InteractiveServer
|
|
||||||
@using System.IO
|
|
||||||
@using DevExpress.Blazor
|
|
||||||
@using System.Reflection
|
|
||||||
|
|
||||||
<link href="_content/DevExpress.Blazor.Themes/blazing-berry.bs5.min.css" rel="stylesheet" />
|
|
||||||
|
|
||||||
<style>
|
|
||||||
.custom-drop-zone {
|
|
||||||
padding: 0 !important;
|
|
||||||
border-style: dashed;
|
|
||||||
border-width: 2px !important;
|
|
||||||
height: 230px;
|
|
||||||
display: flex;
|
|
||||||
flex-direction: column;
|
|
||||||
align-items: center;
|
|
||||||
justify-content: center;
|
|
||||||
background-color: rgba(183, 183, 183, 0.1);
|
|
||||||
}
|
|
||||||
|
|
||||||
.custom-drop-zone.custom-drop-zone-hover {
|
|
||||||
border-style: solid;
|
|
||||||
}
|
|
||||||
|
|
||||||
.custom-drop-zone svg {
|
|
||||||
width: 42px;
|
|
||||||
height: 42px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.custom-drop-zone > *:not(#overviewDemoSelectButton) {
|
|
||||||
pointer-events: none;
|
|
||||||
}
|
|
||||||
|
|
||||||
.pdf-viewer {
|
|
||||||
height: 800px !important;
|
|
||||||
min-height: 800px !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
.pdf-viewer .dxbrv-surface-wrapper,
|
|
||||||
.pdf-viewer .dxbrv-document-surface {
|
|
||||||
height: 100% !important;
|
|
||||||
min-height: 750px !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
.pdf-viewer .dxbrv-report-preview-content {
|
|
||||||
width: auto !important;
|
|
||||||
height: auto !important;
|
|
||||||
min-width: 200px !important;
|
|
||||||
min-height: 200px !important;
|
|
||||||
}
|
|
||||||
</style>
|
|
||||||
|
|
||||||
<div id="overviewDemoDropZone" class="card custom-drop-zone rounded-3 w-100 m-0">
|
|
||||||
<span class="drop-file-icon mb-3"></span>
|
|
||||||
<span class="drop-file-label">Drag and Drop File Here</span><span class="m-1">or</span>
|
|
||||||
<DxButton Id="overviewDemoSelectButton"
|
|
||||||
CssClass="m-1"
|
|
||||||
RenderStyle="ButtonRenderStyle.Primary"
|
|
||||||
Text="Select File" />
|
|
||||||
</div>
|
|
||||||
<DxFileInput @ref="fileInput"
|
|
||||||
AcceptedFileTypes="@ALLOWED_FILE_TYPES"
|
|
||||||
AllowedFileExtensions="@ALLOWED_FILE_TYPES"
|
|
||||||
CssClass="w-100"
|
|
||||||
ExternalDropZoneCssSelector="#overviewDemoDropZone"
|
|
||||||
ExternalDropZoneDragOverCssClass="custom-drop-zone-hover"
|
|
||||||
ExternalSelectButtonCssSelector="#overviewDemoSelectButton"
|
|
||||||
FilesUploading="OnFilesUploading"
|
|
||||||
MaxFileSize="2000000">
|
|
||||||
</DxFileInput>
|
|
||||||
|
|
||||||
@if (DocumentContent != null && DocumentContent.Length > 0)
|
|
||||||
{
|
|
||||||
<div class="alert alert-success mt-3">
|
|
||||||
PDF loaded: @DocumentContent.Length bytes
|
|
||||||
</div>
|
|
||||||
<embed src="@GetPdfDataUrl()" type="application/pdf" class="w-100 pdf-viewer" />
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
<div class="alert alert-info mt-3">
|
|
||||||
Please upload a PDF file to view it.
|
|
||||||
</div>
|
|
||||||
}
|
|
||||||
|
|
||||||
@code {
|
|
||||||
readonly List<string> ALLOWED_FILE_TYPES = new List<string> { ".pdf" };
|
|
||||||
DxFileInput fileInput;
|
|
||||||
byte[] DocumentContent { get; set; }
|
|
||||||
|
|
||||||
protected override void OnInitialized()
|
|
||||||
{
|
|
||||||
Assembly assembly = Assembly.GetExecutingAssembly();
|
|
||||||
Stream stream = assembly.GetManifestResourceStream("EnvelopeGenerator.Server.Resources.Invoice.pdf");
|
|
||||||
if (stream != null)
|
|
||||||
{
|
|
||||||
using (stream)
|
|
||||||
using (var binaryReader = new BinaryReader(stream))
|
|
||||||
DocumentContent = binaryReader.ReadBytes((int)stream.Length);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
protected async Task OnFilesUploading(FilesUploadingEventArgs args)
|
|
||||||
{
|
|
||||||
using (MemoryStream stream = new MemoryStream())
|
|
||||||
{
|
|
||||||
IFileInputSelectedFile file = args.Files[0];
|
|
||||||
await file.OpenReadStream(file.Size).CopyToAsync(stream);
|
|
||||||
DocumentContent = stream.ToArray();
|
|
||||||
await InvokeAsync(StateHasChanged);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
private string GetPdfDataUrl()
|
|
||||||
{
|
|
||||||
if (DocumentContent == null || DocumentContent.Length == 0)
|
|
||||||
return string.Empty;
|
|
||||||
|
|
||||||
string base64 = Convert.ToBase64String(DocumentContent);
|
|
||||||
return $"data:application/pdf;base64,{base64}#toolbar=0&navpanes=0&scrollbar=1";
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
Reference in New Issue
Block a user