diff --git a/src/BootstrapBlazor.Server/BootstrapBlazor.Server.csproj b/src/BootstrapBlazor.Server/BootstrapBlazor.Server.csproj index b6df196d4ec..5531a858643 100644 --- a/src/BootstrapBlazor.Server/BootstrapBlazor.Server.csproj +++ b/src/BootstrapBlazor.Server/BootstrapBlazor.Server.csproj @@ -58,7 +58,7 @@ - + diff --git a/src/BootstrapBlazor.Server/Components/Samples/PdfViewers.razor b/src/BootstrapBlazor.Server/Components/Samples/PdfViewers.razor index 62e6dc9327c..728bd0d3b4d 100644 --- a/src/BootstrapBlazor.Server/Components/Samples/PdfViewers.razor +++ b/src/BootstrapBlazor.Server/Components/Samples/PdfViewers.razor @@ -8,5 +8,6 @@ - + diff --git a/src/BootstrapBlazor.Server/Components/Samples/PdfViewers.razor.cs b/src/BootstrapBlazor.Server/Components/Samples/PdfViewers.razor.cs index 46ab8a6b4f3..8468a0b2a24 100644 --- a/src/BootstrapBlazor.Server/Components/Samples/PdfViewers.razor.cs +++ b/src/BootstrapBlazor.Server/Components/Samples/PdfViewers.razor.cs @@ -12,257 +12,10 @@ namespace BootstrapBlazor.Server.Components.Samples; /// public partial class PdfViewers { - [NotNull] - PdfReader? AdvancedPdfReader { get; set; } + [Inject, NotNull] + private ToastService? ToastService { get; set; } - [DisplayName("流模式")] - private bool StreamMode { get; set; } + private Task OnLoaded() => ToastService.Success("Pdf Viewer", Localizer["PdfViewerToastSuccessfulContent"]); - [DisplayName("禁用复制/打印/下载")] - private bool ReadOnly { get; set; } - - [DisplayName("水印内容")] - private string Watermark { get; set; } = "www.blazor.zone"; - - private EnumZoomMode Zoom { get; set; } = EnumZoomMode.PageHeight; - - private EnumPageMode PageMode { get; set; } = EnumPageMode.None; - - [DisplayName("搜索")] - private string? Search { get; set; } = "Performance"; - - private int Page { get; set; } = 3; - - private async Task ApplyZoom() - { - Zoom = Zoom switch - { - EnumZoomMode.Auto => EnumZoomMode.PageActual, - EnumZoomMode.PageActual => EnumZoomMode.PageFit, - EnumZoomMode.PageFit => EnumZoomMode.PageWidth, - EnumZoomMode.PageWidth => EnumZoomMode.PageHeight, - EnumZoomMode.PageHeight => EnumZoomMode.Zoom75, - EnumZoomMode.Zoom75 => EnumZoomMode.Zoom50, - EnumZoomMode.Zoom50 => EnumZoomMode.Zoom25, - EnumZoomMode.Zoom25 => EnumZoomMode.Zoom200, - _ => EnumZoomMode.Auto - }; - await Refresh(); - } - - private async Task ApplyPageMode() - { - PageMode = PageMode switch - { - EnumPageMode.Thumbs => EnumPageMode.Outline, - EnumPageMode.Outline => EnumPageMode.Attachments, - EnumPageMode.Attachments => EnumPageMode.Layers, - EnumPageMode.Layers => EnumPageMode.None, - _ => EnumPageMode.Thumbs - }; - await Refresh(); - } - - async Task Refresh() - { - if (AdvancedPdfReader != null) - await AdvancedPdfReader.Refresh(Search, Page, PageMode, Zoom, ReadOnly, Watermark); - } - - private async Task ApplyPage() - { - Search = null; - await Refresh(); - } - - private async Task ApplyPagePrevious() - { - Page--; - Search = null; - await Refresh(); - } - - private async Task ApplyPageNext() - { - Page++; - Search = null; - await Refresh(); - } - - private Task ApplySearch() => Refresh(); - - private Task Clear() - { - Search = string.Empty; - StateHasChanged(); - return Task.CompletedTask; - } - - /// - /// GetAttributes - /// - /// - protected AttributeItem[] GetAttributes() => - [ - new() - { - Name = "Filename", - Description = Localizer["AttributesPdfReaderFilename"], - Type = "string?", - ValueList = "-", - DefaultValue = "-" - }, - new() - { - Name = "StreamMode", - Description = Localizer["AttributesPdfReaderStreamMode"], - Type = "bool", - ValueList = "-", - DefaultValue = "false" - }, - new() - { - Name = "Width", - Description = Localizer["AttributesPdfReaderWidth"], - Type = "string", - ValueList = "-", - DefaultValue = "100%" - }, - new() - { - Name = "Height", - Description = Localizer["AttributesPdfReaderHeight"], - Type = "string", - ValueList = "-", - DefaultValue = "700px" - }, - new() - { - Name = "StyleString", - Description = Localizer["AttributesPdfReaderStyleString"], - Type = "string", - ValueList = "-", - DefaultValue = "-" - }, - new() - { - Name = "Page", - Description = Localizer["AttributesPdfReaderPage"], - Type = "int", - ValueList = "-", - DefaultValue = "1" - }, - new() - { - Name = "PageMode", - Description = Localizer["AttributesPdfReaderPageMode"], - Type = "EnumPageMode", - ValueList = "-", - DefaultValue = "Thumbs" - }, - new() - { - Name = "Zoom", - Description = Localizer["AttributesPdfReaderZoom"], - Type = "EnumZoomMode", - ValueList = "-", - DefaultValue = "Auto" - }, - new() - { - Name = "Search", - Description = Localizer["AttributesPdfReaderSearch"], - Type = "string?", - ValueList = "-", - DefaultValue = "-" - }, - new() - { - Name = "Refresh()", - Description = Localizer["AttributesPdfReaderRefresh"], - Type = "Task", - ValueList = "-", - DefaultValue = "-" - }, - new() - { - Name = "NavigateToPage(int page)", - Description = Localizer["AttributesPdfReaderNavigateToPage"], - Type = "Task", - ValueList = "-", - DefaultValue = "-" - }, - new() - { - Name = "Refresh(int page)", - Description = Localizer["AttributesPdfReaderRefreshPage"], - Type = "Task", - ValueList = "-", - DefaultValue = "-" - }, - new() - { - Name = "Refresh(string? search, int? page, EnumPageMode? pageMode, EnumZoomMode? zoom)", - Description = Localizer["AttributesPdfReaderRefreshComponent"], - Type = "Task", - ValueList = "-", - DefaultValue = "-" - }, - new() - { - Name = "Stream", - Description = Localizer["AttributesPdfReaderStream"], - Type = "Stream?", - ValueList = "-", - DefaultValue = "-" - }, - new() - { - Name = "ViewerBase", - Description = Localizer["AttributesPdfReaderViewerBase"], - Type = "string", - ValueList = "-", - DefaultValue = Localizer["AttributesPdfReaderViewerBaseDefaultValue"], - }, - new() - { - Name = "NavPanels", - Description = Localizer["AttributesPdfReaderNavPanels"], - Type = "bool", - ValueList = "-", - DefaultValue = "true" - }, - new() - { - Name = "Toolbar", - Description = Localizer["AttributesPdfReaderToolbar"], - Type = "bool", - ValueList = "-", - DefaultValue = "true" - }, - new() - { - Name = "StatusBar", - Description = Localizer["AttributesPdfReaderStatusBar"], - Type = "bool", - ValueList = "-", - DefaultValue = "true" - }, - new() - { - Name = "Debug", - Description = Localizer["AttributesPdfReaderDebug"], - Type = "bool", - ValueList = "-", - DefaultValue = "false" - }, - new() - { - Name = nameof(PdfReader.LocalFileName), - Description = Localizer[nameof(PdfReader.LocalFileName)], - Type = "string", - ValueList = " — ", - DefaultValue = " — " - } - ]; + private Task NotSupportCallback() => ToastService.Error("PdfViewer", Localizer["PdfViewerToastNotSupportContent"]); } diff --git a/src/BootstrapBlazor.Server/Locales/en-US.json b/src/BootstrapBlazor.Server/Locales/en-US.json index d1a7503a59d..1c9e97242e3 100644 --- a/src/BootstrapBlazor.Server/Locales/en-US.json +++ b/src/BootstrapBlazor.Server/Locales/en-US.json @@ -6161,7 +6161,9 @@ "PdfViewerTitle": "PDFViewer", "PdfViewerDescription": "Open the PDF file in the component to read its contents", "PdfViewerNormalTitle": "Basic usage", - "PdfViewerNormalIntro": "Load a PDF file by setting the Url parameter" + "PdfViewerNormalIntro": "Load a PDF file by setting the Url parameter", + "PdfViewerToastSuccessfulContent": "PDF document loaded successfully.", + "PdfViewerToastNotSupportContent": "The browser does not support inline viewing of PDF files." }, "BootstrapBlazor.Server.Components.Samples.VideoPlayers": { "VideoPlayersTitle": "VideoPlayer", diff --git a/src/BootstrapBlazor.Server/Locales/zh-CN.json b/src/BootstrapBlazor.Server/Locales/zh-CN.json index ddfd7c4f8bb..7cc46ac3d67 100644 --- a/src/BootstrapBlazor.Server/Locales/zh-CN.json +++ b/src/BootstrapBlazor.Server/Locales/zh-CN.json @@ -6161,7 +6161,9 @@ "PdfViewerTitle": "PDFViewer PDF 阅读器", "PdfViewerDescription": "在组件中打开 Pdf 文件阅读其内容", "PdfViewerNormalTitle": "基础用法", - "PdfViewerNormalIntro": "通过设置 Url 参数加载 Pdf 文件" + "PdfViewerNormalIntro": "通过设置 Url 参数加载 Pdf 文件", + "PdfViewerToastSuccessfulContent": "PDF 文档加载成功", + "PdfViewerToastNotSupportContent": "当前浏览器不支持 Pdf 文档预览功能" }, "BootstrapBlazor.Server.Components.Samples.VideoPlayers": { "VideoPlayersTitle": "VideoPlayer 视频播放器",