Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
21 commits
Select commit Hold shift + click to select a range
a1c3b55
refactor(AvatarUpload): Rewrite zoom event,align the current item index.
momijijin Dec 18, 2025
60d29bb
refactor(AvatarUpload): Update unit test
momijijin Dec 18, 2025
9f8bd31
refactor(AvatarUpload): Refactor the related logic to reduce redundan…
momijijin Dec 18, 2025
285ffea
refactor(AvatarUpload): Update unit test
momijijin Dec 18, 2025
509573e
refactor(AvatarUpload): Unit test need ok uploadFile, Files search ch…
momijijin Dec 18, 2025
84f274e
refactor(AvatarUpload): Update unit test
momijijin Dec 18, 2025
7827b37
refactor(AvatarUpload): Update unit test
momijijin Dec 18, 2025
7e55079
refactor(AvatarUpload): Update unit test
momijijin Dec 18, 2025
e465835
Merge branch 'main' into momiji/avatar-upload-add-zoom-func
momijijin Dec 18, 2025
1bd9d37
Merge branch 'main' into momiji/avatar-upload-add-zoom-func
ArgoZhang Dec 19, 2025
88aaa0b
refactor: 重构代码
ArgoZhang Dec 19, 2025
f6047d7
chore: 更新编码方式
ArgoZhang Dec 19, 2025
920286c
style: 微调样式
ArgoZhang Dec 19, 2025
fedc3b8
style: 更新样式
ArgoZhang Dec 19, 2025
7212c15
Revert "refactor(AvatarUpload): Update unit test"
ArgoZhang Dec 19, 2025
757b8f0
Revert "refactor(AvatarUpload): Update unit test"
ArgoZhang Dec 19, 2025
756bd8b
Revert "refactor(AvatarUpload): Update unit test"
ArgoZhang Dec 19, 2025
81a4cc5
chore: 重构单元测试
ArgoZhang Dec 19, 2025
2f86dd6
test: 增加单元测试
ArgoZhang Dec 19, 2025
ddcd6f2
test: 更新单元测试
ArgoZhang Dec 19, 2025
7ca214f
chore: bump version 10.1.4
ArgoZhang Dec 19, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion src/BootstrapBlazor/BootstrapBlazor.csproj
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
<Project Sdk="Microsoft.NET.Sdk.Razor">

<PropertyGroup>
<Version>10.1.4-beta07</Version>
<Version>10.1.4</Version>
</PropertyGroup>

<ItemGroup>
Expand Down
7 changes: 4 additions & 3 deletions src/BootstrapBlazor/Components/Upload/AvatarUpload.razor
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
@namespace BootstrapBlazor.Components
@namespace BootstrapBlazor.Components
@typeparam TValue
@inherits UploadBase<TValue>

Expand All @@ -16,8 +16,9 @@
{
<div @key="item" class="@GetItemClassString()" id="@item.ValidateId" style="@ItemStyleString">
<Avatar Url="@item.PrevUrl" />
<div class="upload-item-actions">
<span class="upload-item-delete" @onclick="@(e => OnFileDelete(item))">
<div class="upload-item-actions" @onclick="@(() => Preview(item))">
<span class="upload-item-delete" @onclick="@(e => OnFileDelete(item))"
@onclick:stopPropagation="true">
<i class="@DeleteIcon"></i>
</span>
@if (GetShowProgress(item))
Expand Down
16 changes: 14 additions & 2 deletions src/BootstrapBlazor/Components/Upload/AvatarUpload.razor.cs
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
// Licensed to the .NET Foundation under one or more agreements.
// Licensed to the .NET Foundation under one or more agreements.
// The .NET Foundation licenses this file to you under the Apache 2.0 License
// See the LICENSE file in the project root for more information.
// Maintainer: Argo Zhang(argo@live.ca) Website: https://www.blazor.zone
Expand Down Expand Up @@ -156,12 +156,24 @@ protected override async Task TriggerOnChanged(UploadFile file)
/// <returns></returns>
public async Task Preview()
{
if(ShowPreviewList)
if (ShowPreviewList)
{
await InvokeVoidAsync("preview", PreviewerId, 0);
}
}

private async Task Preview(UploadFile file)
{
if (!string.IsNullOrEmpty(file.PrevUrl))
{
var index = Files.FindIndex(r => r.PrevUrl == file.PrevUrl);
if (index != -1)
{
await InvokeVoidAsync("preview", PreviewerId, index);
}
}
}

private IReadOnlyCollection<ValidationResult> _results = [];

/// <summary>
Expand Down
10 changes: 9 additions & 1 deletion src/BootstrapBlazor/Components/Upload/InputUpload.razor.scss
Original file line number Diff line number Diff line change
Expand Up @@ -85,7 +85,7 @@
}

.upload .upload-body.is-list .cancel-icon {
margin-left: .5rem;
margin-inline-start: .5rem;
color: var(--bs-danger);
}

Expand Down Expand Up @@ -157,6 +157,14 @@
.upload .upload-body.is-avatar .upload-item:hover .upload-item-actions .upload-item-delete {
display: block;
color: var(--bs-danger);
padding: 0.25rem;
border-radius: var(--bs-border-radius);
border: 1px solid var(--bs-danger);
}

.upload .upload-body.is-avatar .upload-item:hover .upload-item-actions .upload-item-delete:hover {
color: var(--bs-white);
background-color: var(--bs-danger);
}

.upload .upload-body.is-avatar .upload-item.is-invalid .upload-item-spin {
Expand Down
25 changes: 25 additions & 0 deletions test/UnitTest/Components/UploadAvatarTest.cs
Original file line number Diff line number Diff line change
Expand Up @@ -98,6 +98,31 @@ await cut.InvokeAsync(() => input.Instance.OnChange.InvokeAsync(new InputFileCha
});
}

[Fact]
public async Task Preview_Ok()
{
var cut = Context.Render<AvatarUpload<string>>(pb =>
{
pb.Add(a => a.DefaultFileList, new List<UploadFile>()
{
new UploadFile() { PrevUrl = "./sample/preview.jpg" }
});
});

var action = cut.Find(".upload-item-actions");
await cut.InvokeAsync(() => action.Click());

cut.Render(pb =>
{
pb.Add(a => a.DefaultFileList, new List<UploadFile>()
{
new UploadFile() { PrevUrl = "" }
});
});
action = cut.Find(".upload-item-actions");
await cut.InvokeAsync(() => action.Click());
}

[Fact]
public async Task AvatarUpload_ValidateForm_Ok()
{
Expand Down