Skip to content

Commit 5f5caa3

Browse files
committed
feat: 完善 EnableThumbnails 功能
1 parent 8879f15 commit 5f5caa3

3 files changed

Lines changed: 28 additions & 8 deletions

File tree

src/components/BootstrapBlazor.PdfReader/PdfReader.razor

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,10 @@
77
{
88
<div class="bb-view-toolbar">
99
<div class="bb-view-title">
10-
<div class="bb-view-icon bb-view-bar" title="@Localizer["ToggleSidebar"]"><i class="fa-solid fa-bars"></i></div>
10+
@if (EnableThumbnails)
11+
{
12+
<div class="bb-view-icon bb-view-bar" title="@Localizer["ToggleSidebar"]"><i class="fa-solid fa-bars"></i></div>
13+
}
1114
<span class="bb-view-subject">@_docTitle</span>
1215
</div>
1316
<div class="@ViewBodyString">

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

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -145,6 +145,7 @@ public partial class PdfReader
145145
private string? _currentScale;
146146
private string? _dropdownItemCheckIcon;
147147
private string? _dropdownItemDefaultIcon;
148+
private bool _enableThumbnails = true;
148149

149150
private string CurrentPageString
150151
{
@@ -218,6 +219,7 @@ protected override async Task OnAfterRenderAsync(bool firstRender)
218219
_currentPage = CurrentPage;
219220
_url = Url;
220221
_currentScale = CurrentScale;
222+
_enableThumbnails = EnableThumbnails;
221223
}
222224

223225
if (_url != Url)
@@ -241,6 +243,14 @@ protected override async Task OnAfterRenderAsync(bool firstRender)
241243
_currentScale = CurrentScale;
242244
await InvokeVoidAsync("scale", Id, _currentScale);
243245
}
246+
if (_enableThumbnails != EnableThumbnails)
247+
{
248+
_enableThumbnails = EnableThumbnails;
249+
if (_enableThumbnails)
250+
{
251+
await InvokeVoidAsync("resetThumbnails", Id);
252+
}
253+
}
244254
}
245255

246256
/// <summary>

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

Lines changed: 14 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -79,6 +79,13 @@ export function scale(id, scale) {
7979
}
8080
}
8181

82+
export function resetThumbnails(id) {
83+
const { el, pdfViewer } = Data.get(id);
84+
if (pdfViewer) {
85+
resetThumbnailsView(el, pdfViewer);
86+
}
87+
}
88+
8289
const addEventListener = (el, pdfViewer, eventBus, invoke, options) => {
8390
eventBus.on("pagesinit", async () => {
8491
if (options.fitMode) {
@@ -139,7 +146,7 @@ const addEventListener = (el, pdfViewer, eventBus, invoke, options) => {
139146
pageNumberEl.value = page;
140147
}
141148

142-
if (options.enableThumbnails) {
149+
if (options.enableThumbnails || false) {
143150
const thumbnailsContainer = el.querySelector(".bb-view-thumbnails");
144151
if (thumbnailsContainer) {
145152
const active = thumbnailsContainer.querySelector('.active');
@@ -179,9 +186,9 @@ const addEventListener = (el, pdfViewer, eventBus, invoke, options) => {
179186
EventHandler.on(minus, "click", e => updateScale(pdfViewer, e.target, -1));
180187
EventHandler.on(plus, "click", e => updateScale(pdfViewer, e.target, 1));
181188

182-
const thumbnailsToggle = el.querySelector(".bb-view-bar");
183-
if (thumbnailsToggle) {
184-
EventHandler.on(thumbnailsToggle, "click", e => {
189+
const titleEl = el.querySelector(".bb-view-title");
190+
if (titleEl) {
191+
EventHandler.on(titleEl, "click", '.bb-view-bar', e => {
185192
const thumbnailsEl = el.querySelector(".bb-view-thumbnails");
186193
thumbnailsEl.classList.toggle("show");
187194
});
@@ -314,9 +321,9 @@ export function dispose(id) {
314321
EventHandler.off(towPagesOneView, "click");
315322
}
316323

317-
const thumbnailsToggle = el.querySelector(".bb-view-bar");
318-
if (thumbnailsToggle) {
319-
EventHandler.off(thumbnailsToggle, "click");
324+
const titleEl = el.querySelector(".bb-view-title");
325+
if (titleEl) {
326+
EventHandler.off(titleEl, "click");
320327
}
321328

322329
const thumbnailsContainer = el.querySelector(".bb-view-thumbnails");

0 commit comments

Comments
 (0)