Skip to content

Commit 6367dd5

Browse files
committed
feat: 增加联动功能
1 parent 950e6e6 commit 6367dd5

4 files changed

Lines changed: 26 additions & 9 deletions

File tree

src/components/BootstrapBlazor.PdfReader/PdfReader.razor

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -28,12 +28,14 @@
2828
<div class="bb-view-icon bb-view-download"><i class="fa-solid fa-arrow-right-to-bracket fa-rotate-90"></i></div>
2929
<div class="bb-view-icon bb-view-print"><i class="fa-solid fa-print"></i></div>
3030
<Dropdown TValue="string" Color="Color.None" SkipValidate="true" ShowLabel="false"
31-
IsPopover="true" Icon="@MoreButtonIcon">
31+
IsPopover="false" MenuAlignment="Alignment.Right" Icon="@MoreButtonIcon">
3232
<ItemsTemplate>
33-
@if (Options.ShowTowPagesOnViewButton)
33+
@if (Options.ShowTwoPagesOnViewButton)
3434
{
35-
<div class="dropdown-item dropdown-item-pages">Two pages on view</div>
35+
<div class="dropdown-item dropdown-item-pages" @onclick="OnToggleTwoPagesOneView"><i class="@_twoPagesOneViewIcon"></i><span>Two pages on view</span></div>
36+
<Divider></Divider>
3637
}
38+
<div class="dropdown-item"><i class="fa-solid fa-fw"></i><span>Document properties</span></div>
3739
</ItemsTemplate>
3840
</Dropdown>
3941
</div>

src/components/BootstrapBlazor.PdfReader/PdfReader.razor.cs

Lines changed: 14 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,8 @@ public partial class PdfReader
4444
private uint _currentPage;
4545
private string? _url;
4646
private string? _currentScale;
47-
private bool _enableTwoPagesOnView;
47+
private bool _enableTwoPagesOneView;
48+
private string? _twoPagesOneViewIcon;
4849

4950
private readonly HashSet<string> AllowedScaleValues = ["page-actual", "page-width", "page-height", "page-fit", "auto"];
5051

@@ -89,6 +90,14 @@ private void SetCurrentScale(string value)
8990
}
9091
}
9192

93+
private void OnToggleTwoPagesOneView()
94+
{
95+
_enableTwoPagesOneView = !_enableTwoPagesOneView;
96+
Options.EnableTwoPagesOnView = _enableTwoPagesOneView;
97+
98+
_twoPagesOneViewIcon = _enableTwoPagesOneView ? "fa-solid fa-fw fa-check" : "fa-solid fa-fw";
99+
}
100+
92101
/// <summary>
93102
/// <inheritdoc/>
94103
/// </summary>
@@ -105,6 +114,7 @@ protected override void OnParametersSet()
105114
_docTitle = Path.GetFileName(Options.Url);
106115

107116
MoreButtonIcon ??= "fa-solid fa-ellipsis-vertical";
117+
_twoPagesOneViewIcon ??= "fa-solid fa-fw";
108118
}
109119

110120
/// <summary>
@@ -122,7 +132,7 @@ protected override async Task OnAfterRenderAsync(bool firstRender)
122132
_currentPage = Options.CurrentPage;
123133
_url = Options.Url;
124134
_currentScale = Options.CurrentScale;
125-
_enableTwoPagesOnView = Options.EnableTwoPagesOnView;
135+
_enableTwoPagesOneView = Options.EnableTwoPagesOnView;
126136
}
127137

128138
if (_url != Options.Url)
@@ -146,10 +156,10 @@ protected override async Task OnAfterRenderAsync(bool firstRender)
146156
_currentScale = Options.CurrentScale;
147157
await InvokeVoidAsync("scale", Id, _currentScale);
148158
}
149-
if (_enableTwoPagesOnView != Options.EnableTwoPagesOnView)
159+
if (_enableTwoPagesOneView != Options.EnableTwoPagesOnView)
150160
{
151161
_currentScale = Options.CurrentScale;
152-
await InvokeVoidAsync("setPages", Id, _enableTwoPagesOnView);
162+
await InvokeVoidAsync("setPages", Id, _enableTwoPagesOneView);
153163
}
154164
}
155165

src/components/BootstrapBlazor.PdfReader/PdfReader.razor.js

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -105,7 +105,12 @@ export function scale(id, scale) {
105105
export function setPages(id, enableTowPagesOnView) {
106106
const { el, pdfViewer } = Data.get(id);
107107
if (pdfViewer) {
108-
pdfViewer.spreadMode = 1;
108+
if (enableTowPagesOnView) {
109+
pdfViewer.spreadMode = 1;
110+
}
111+
else {
112+
pdfViewer.spreadMode = 0;
113+
}
109114
}
110115
}
111116

src/components/BootstrapBlazor.PdfReader/PdfReaderOptions.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ public class PdfReaderOptions
4242
/// <summary>
4343
/// 获得/设置 是否显示双页单视图按钮 默认 true 显示
4444
/// </summary>
45-
public bool ShowTowPagesOnViewButton { get; set; } = true;
45+
public bool ShowTwoPagesOnViewButton { get; set; } = true;
4646

4747
/// <summary>
4848
/// 获得/设置 是否启用双页单视图模式 默认 false

0 commit comments

Comments
 (0)