Skip to content

Commit b57f1c3

Browse files
committed
Merge branch 'master' into feat-hik
2 parents 4d36e18 + 3715d31 commit b57f1c3

9 files changed

Lines changed: 41 additions & 37 deletions

File tree

src/components/BootstrapBlazor.PdfReader/BootstrapBlazor.PdfReader.csproj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
<Project Sdk="Microsoft.NET.Sdk.Razor">
22

33
<PropertyGroup>
4-
<Version>10.0.9</Version>
4+
<Version>10.0.11</Version>
55
</PropertyGroup>
66

77
<PropertyGroup>

src/components/BootstrapBlazor.PdfReader/PdfReader.razor

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313
}
1414
<span class="bb-view-subject">@_docTitle</span>
1515
</div>
16-
<div class="bb-view-group bb-view-toolbar-main">
16+
<div class="bb-view-group bb-view-toolbar-main invisible">
1717
<div class="bb-view-group bb-view-group-page">
1818
<input type="text" class="bb-view-num" value="1" /><span class="bb-view-slash">/</span>
1919
<div class="bb-view-pagesCount"></div>
@@ -42,10 +42,10 @@
4242
<div class="bb-view-icon bb-view-rotate-right" title="@Localizer["RotateRight"]"><i class="fa-solid fa-fw fa-rotate-right"></i></div>
4343
</div>
4444
</div>
45-
<div class="bb-view-group bb-view-controls">
45+
<div class="bb-view-group bb-view-controls invisible">
4646
@if (ShowDownload)
4747
{
48-
<div class="bb-view-icon bb-view-download" title="@Localizer["Download"]" @onclick="OnDownload"><i class="fa-solid fa-fw fa-arrow-right-to-bracket fa-rotate-90"></i></div>
48+
<div class="bb-view-icon bb-view-download" title="@Localizer["Download"]"><i class="fa-solid fa-fw fa-arrow-right-to-bracket fa-rotate-90"></i></div>
4949
}
5050
@if (ShowPrint)
5151
{
@@ -98,7 +98,7 @@
9898
</div>
9999
</div>
100100
</div>
101-
<div class="bb-view-pdf-info">
101+
<div class="bb-view-pdf-info invisible">
102102
<div class="bb-view-pdf-backdrop"></div>
103103
<div class="bb-view-pdf-dialog">
104104
<div class="bb-view-pdf-dialog-title mb-3">@Localizer["DocumentProperties"]</div>

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

Lines changed: 0 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -121,12 +121,6 @@ public partial class PdfReader
121121
[Parameter]
122122
public string? MoreButtonIcon { get; set; }
123123

124-
/// <summary>
125-
/// 点击下载按钮回调方法 默认 null
126-
/// </summary>
127-
[Parameter]
128-
public Func<Task>? OnDownloadAsync { get; set; }
129-
130124
/// <summary>
131125
/// 正在打印回调方法 默认 null
132126
/// </summary>
@@ -272,14 +266,6 @@ protected override async Task OnAfterRenderAsync(bool firstRender)
272266
/// <returns></returns>
273267
public Task RotateRight() => InvokeVoidAsync("rotate", Id, 90);
274268

275-
private async Task OnDownload()
276-
{
277-
if (OnDownloadAsync != null)
278-
{
279-
await OnDownloadAsync();
280-
}
281-
}
282-
283269
/// <summary>
284270
/// 页面开始初始化时回调方法
285271
/// </summary>

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

Lines changed: 15 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ if (pdfjsLib != null) {
99
}
1010

1111
export async function init(id, invoke, options) {
12-
await addLink('./_content/BootstrapBlazor.PdfReader/css/pdf_viewer.css');
12+
await addLink('./_content/BootstrapBlazor.PdfReader/css/pdf_reader.css');
1313

1414
const el = document.getElementById(id);
1515
if (el === null) {
@@ -109,8 +109,6 @@ const loadPdf = async (el, invoke, options) => {
109109
}
110110

111111
const loadMetadata = (el, pdfViewer, metadata) => {
112-
console.log(metadata);
113-
114112
const filename = el.querySelector('.bb-view-pdf-dialog-filename');
115113
const docTitle = el.querySelector('.bb-view-subject');
116114
filename.textContent = docTitle.textContent;
@@ -371,6 +369,9 @@ const addEventBus = (el, pdfViewer, eventBus, invoke, options) => {
371369

372370
const addToolbarEventHandlers = (el, pdfViewer, invoke, options) => {
373371
const toolbar = el.querySelector(".bb-view-toolbar");
372+
[...el.querySelectorAll('.invisible')].forEach(i => {
373+
i.classList.remove('invisible');
374+
});
374375

375376
EventHandler.on(toolbar, "click", '.bb-view-bar', e => {
376377
const thumbnailsEl = el.querySelector(".bb-view-thumbnails");
@@ -436,6 +437,17 @@ const addToolbarEventHandlers = (el, pdfViewer, invoke, options) => {
436437
pdfViewer.spreadMode = 0;
437438
}
438439
});
440+
EventHandler.on(toolbar, "click", ".bb-view-download", e => {
441+
if (options.url) {
442+
const docTitle = el.querySelector('.bb-view-subject');
443+
const anchorElement = document.createElement('a');
444+
anchorElement.href = options.url;
445+
anchorElement.download = docTitle.textContent;
446+
anchorElement.click();
447+
anchorElement.remove();
448+
}
449+
});
450+
439451
EventHandler.on(toolbar, "click", ".dropdown-item-presentation", async e => {
440452
e.delegateTarget.classList.toggle("active");
441453

src/components/BootstrapBlazor.PdfReader/PdfReader.razor.css renamed to src/components/BootstrapBlazor.PdfReader/wwwroot/css/pdf_reader.css

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
@import url('pdf_viewer.css');
2+
13
.bb-pdf-reader {
24
--bb-pdf-view-height: 600px;
35
--bb-pdf-toolbar-height: 60px;
@@ -163,20 +165,20 @@
163165
flex-basis: 300px;
164166
}
165167

166-
::deep .bb-view-thumbnail-item {
168+
.bb-view-thumbnail-item {
167169
display: block;
168170
text-align: center;
169171
}
170172

171-
::deep .bb-view-thumbnail-item:not(:last-child) {
173+
.bb-view-thumbnail-item:not(:last-child) {
172174
margin-block-end: 1rem;
173175
}
174176

175-
::deep .bb-view-thumbnail-item.active img {
177+
.bb-view-thumbnail-item.active img {
176178
border: 2px solid #0d6efd;
177179
}
178180

179-
::deep .bb-view-thumbnail-item img {
181+
.bb-view-thumbnail-item img {
180182
width: 128px;
181183
padding: 1px;
182184
cursor: pointer;
@@ -185,13 +187,13 @@
185187
margin: 0 auto;
186188
}
187189

188-
::deep .bb-view-thumbnail-item .bb-view-thumbnail-group {
190+
.bb-view-thumbnail-item .bb-view-thumbnail-group {
189191
display: flex;
190192
flex-direction: column;
191193
justify-content: center;
192194
}
193195

194-
::deep .bb-view-thumbnail-item .bb-view-thumbnail-group label {
196+
.bb-view-thumbnail-item .bb-view-thumbnail-group label {
195197
color: #fff;
196198
}
197199

src/components/BootstrapBlazor.Vditor/BootstrapBlazor.Vditor.csproj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
<Project Sdk="Microsoft.NET.Sdk.Razor">
22

33
<PropertyGroup>
4-
<Version>10.0.1</Version>
4+
<Version>10.0.2</Version>
55
</PropertyGroup>
66

77
<PropertyGroup>

src/components/BootstrapBlazor.Vditor/Vditor.razor

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,4 +6,6 @@
66
{
77
<BootstrapLabel required="@Required" for="@Id" ShowLabelTooltip="ShowLabelTooltip" Value="@DisplayText" />
88
}
9-
<div @attributes="@AdditionalAttributes" class="@ClassString" id="@Id"></div>
9+
<div @attributes="@AdditionalAttributes" class="@ClassString" id="@Id">
10+
<div class="bb-vditor-container"></div>
11+
</div>

src/components/BootstrapBlazor.Vditor/Vditor.razor.js

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import { addLink, addScript } from '../BootstrapBlazor/modules/utility.js';
1+
import { addLink, addScript } from '../BootstrapBlazor/modules/utility.js';
22
import Data from '../BootstrapBlazor/modules/data.js';
33

44
export async function init(id, invoke, options) {
@@ -10,8 +10,9 @@ export async function init(id, invoke, options) {
1010
await addLink('./_content/BootstrapBlazor.Vditor/css/vditor.css');
1111
await addScript('./_content/BootstrapBlazor.Vditor/js/vditor.js');
1212

13+
const root = el.querySelector('.bb-vditor-container');
1314
const { options: op, value } = options;
14-
const vditor = new Vditor(id, getOptions(invoke, { ...op, value }));
15+
const vditor = new Vditor(root, getOptions(invoke, { ...op, value }));
1516

1617
Data.set(id, { el, invoke, vditor });
1718
return vditor;
@@ -35,11 +36,12 @@ const getOptions = (invoke, options) => {
3536

3637
export async function reset(id, value, options) {
3738
const md = Data.get(id);
38-
const { invoke, vditor } = md;
39+
const { el, invoke, vditor } = md;
3940
if (vditor) {
4041
vditor.destroy();
4142

42-
md.vditor = new Vditor(id, getOptions(invoke, { ...options, value }));
43+
const root = el.querySelector('.bb-vditor-container');
44+
md.vditor = new Vditor(root, getOptions(invoke, { ...options, value }));
4345
}
4446
return md.vditor;
4547
}
Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,14 @@
11
@import url('index.css');
22

3-
.bb-vditor {
3+
.bb-vditor .vditor {
44
border-radius: var(--bs-border-radius);
55
overflow: hidden;
66
}
77

8-
.bb-vditor.is-invalid {
8+
.bb-vditor.is-invalid .vditor {
99
border-color: var(--bs-danger);
1010
}
1111

12-
.bb-vditor.is-valid {
12+
.bb-vditor.is-valid .vditor {
1313
border-color: var(--bs-success);
1414
}

0 commit comments

Comments
 (0)