Skip to content

Commit 7ee88fb

Browse files
committed
refactor: 减少冗余参数
1 parent f7f2a4a commit 7ee88fb

File tree

6 files changed

+57
-136
lines changed

6 files changed

+57
-136
lines changed

src/BootstrapBlazor/Components/Upload/ButtonUpload.razor

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -16,11 +16,7 @@
1616
OnGetFileFormat="@OnGetFileFormat" OnCancel="OnCancel" CancelIcon="@CancelIcon" LoadingIcon="@LoadingIcon"
1717
InvalidStatusIcon="@InvalidStatusIcon" ValidStatusIcon="@ValidStatusIcon"
1818
ShowDownloadButton="@ShowDownloadButton" DownloadIcon="@DownloadIcon" OnDownload="@OnDownload"
19-
DeleteIcon="@DeleteIcon" OnDelete="@OnFileDelete"
20-
FileIconExcel="@FileIconExcel" FileIconDocx="@FileIconDocx" FileIconPPT="@FileIconPPT"
21-
FileIconAudio="@FileIconAudio" FileIconVideo="@FileIconVideo"
22-
FileIconCode="@FileIconCode" FileIconPdf="@FileIconPdf" FileIconZip="@FileIconZip"
23-
FileIconArchive="@FileIconArchive" FileIconImage="@FileIconImage" FileIconFile="@FileIconFile">
19+
DeleteIcon="@DeleteIcon" OnDelete="@OnFileDelete">
2420
</UploadPreviewList>
2521
}
2622
<InputFile AdditionalAttributes="@GetUploadAdditionalAttributes()" OnChange="OnFileChange" />

src/BootstrapBlazor/Components/Upload/DropUpload.razor

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -54,11 +54,7 @@
5454
OnGetFileFormat="@OnGetFileFormat" OnCancel="OnCancel" CancelIcon="@CancelIcon" LoadingIcon="@LoadingIcon"
5555
InvalidStatusIcon="@InvalidStatusIcon" ValidStatusIcon="@ValidStatusIcon"
5656
ShowDownloadButton="@ShowDownloadButton" DownloadIcon="@DownloadIcon" OnDownload="@OnDownload"
57-
DeleteIcon="@DeleteIcon" OnDelete="@OnFileDelete"
58-
FileIconExcel="@FileIconExcel" FileIconDocx="@FileIconDocx" FileIconPPT="@FileIconPPT"
59-
FileIconAudio="@FileIconAudio" FileIconVideo="@FileIconVideo"
60-
FileIconCode="@FileIconCode" FileIconPdf="@FileIconPdf" FileIconZip="@FileIconZip"
61-
FileIconArchive="@FileIconArchive" FileIconImage="@FileIconImage" FileIconFile="@FileIconFile">
57+
DeleteIcon="@DeleteIcon" OnDelete="@OnFileDelete">
6258
</UploadPreviewList>
6359
}
6460
<InputFile AdditionalAttributes="@GetUploadAdditionalAttributes()" OnChange="OnFileChange"/>

src/BootstrapBlazor/Components/Upload/FileListUploadBase.cs

Lines changed: 0 additions & 78 deletions
Original file line numberDiff line numberDiff line change
@@ -53,72 +53,6 @@ public class FileListUploadBase<TValue> : UploadBase<TValue>
5353
[Parameter]
5454
public Func<UploadFile, Task>? OnCancel { get; set; }
5555

56-
/// <summary>
57-
/// 获得/设置 Excel 类型文件图标
58-
/// </summary>
59-
[Parameter]
60-
public string? FileIconExcel { get; set; }
61-
62-
/// <summary>
63-
/// 获得/设置 Excel 类型文件图标
64-
/// </summary>
65-
[Parameter]
66-
public string? FileIconDocx { get; set; }
67-
68-
/// <summary>
69-
/// 获得/设置 Excel 类型文件图标
70-
/// </summary>
71-
[Parameter]
72-
public string? FileIconPPT { get; set; }
73-
74-
/// <summary>
75-
/// 获得/设置 Excel 类型文件图标
76-
/// </summary>
77-
[Parameter]
78-
public string? FileIconAudio { get; set; }
79-
80-
/// <summary>
81-
/// 获得/设置 Excel 类型文件图标
82-
/// </summary>
83-
[Parameter]
84-
public string? FileIconVideo { get; set; }
85-
86-
/// <summary>
87-
/// 获得/设置 Excel 类型文件图标
88-
/// </summary>
89-
[Parameter]
90-
public string? FileIconCode { get; set; }
91-
92-
/// <summary>
93-
/// 获得/设置 Excel 类型文件图标
94-
/// </summary>
95-
[Parameter]
96-
public string? FileIconPdf { get; set; }
97-
98-
/// <summary>
99-
/// 获得/设置 Excel 类型文件图标
100-
/// </summary>
101-
[Parameter]
102-
public string? FileIconZip { get; set; }
103-
104-
/// <summary>
105-
/// 获得/设置 Excel 类型文件图标
106-
/// </summary>
107-
[Parameter]
108-
public string? FileIconArchive { get; set; }
109-
110-
/// <summary>
111-
/// 获得/设置 Excel 类型文件图标
112-
/// </summary>
113-
[Parameter]
114-
public string? FileIconImage { get; set; }
115-
116-
/// <summary>
117-
/// 获得/设置 Excel 类型文件图标
118-
/// </summary>
119-
[Parameter]
120-
public string? FileIconFile { get; set; }
121-
12256
/// <summary>
12357
/// <see cref="IconTheme"/> 服务实例
12458
/// </summary>
@@ -136,17 +70,5 @@ protected override void OnParametersSet()
13670
DeleteIcon ??= IconTheme.GetIconByKey(ComponentIcons.UploadDeleteIcon);
13771
DownloadIcon ??= IconTheme.GetIconByKey(ComponentIcons.UploadDownloadIcon);
13872
CancelIcon ??= IconTheme.GetIconByKey(ComponentIcons.UploadCancelIcon);
139-
140-
FileIconExcel ??= IconTheme.GetIconByKey(ComponentIcons.FileIconExcel);
141-
FileIconDocx ??= IconTheme.GetIconByKey(ComponentIcons.FileIconDocx);
142-
FileIconPPT ??= IconTheme.GetIconByKey(ComponentIcons.FileIconPPT);
143-
FileIconAudio ??= IconTheme.GetIconByKey(ComponentIcons.FileIconAudio);
144-
FileIconVideo ??= IconTheme.GetIconByKey(ComponentIcons.FileIconVideo);
145-
FileIconCode ??= IconTheme.GetIconByKey(ComponentIcons.FileIconCode);
146-
FileIconPdf ??= IconTheme.GetIconByKey(ComponentIcons.FileIconPdf);
147-
FileIconZip ??= IconTheme.GetIconByKey(ComponentIcons.FileIconZip);
148-
FileIconArchive ??= IconTheme.GetIconByKey(ComponentIcons.FileIconArchive);
149-
FileIconImage ??= IconTheme.GetIconByKey(ComponentIcons.FileIconImage);
150-
FileIconFile ??= IconTheme.GetIconByKey(ComponentIcons.FileIconFile);
15173
}
15274
}
Lines changed: 37 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -1,38 +1,41 @@
11
@namespace BootstrapBlazor.Components
22

3-
<div class="upload-body is-list">
4-
@foreach (var item in Items)
5-
{
6-
<div @key="item" class="@GetItemClassString(item)">
7-
<i class="@GetFileFormatClassString(item)"></i>
8-
<div class="upload-item-body">
9-
<span>@item.GetFileName()</span>
10-
<span>(@item.Size.ToFileSizeString())</span>
11-
</div>
12-
@if (GetShowProgress(item))
13-
{
14-
<i class="@LoadingIconString"></i>
15-
<i class="@CancelIconString" @onclick="() => OnClickCancel(item)"></i>
16-
<Progress Color="Color.Success" Height="2" Value="@item.ProgressPercent"></Progress>
17-
}
18-
else
19-
{
20-
<div class="upload-buttons">
21-
@if (item.Code == 0)
22-
{
23-
@if (ShowDownloadButton)
3+
@if (Items != null)
4+
{
5+
<div class="upload-body is-list">
6+
@foreach (var item in Items)
7+
{
8+
<div @key="item" class="@GetItemClassString(item)">
9+
<i class="@GetFileFormatClassString(item)"></i>
10+
<div class="upload-item-body">
11+
<span>@item.GetFileName()</span>
12+
<span>(@item.Size.ToFileSizeString())</span>
13+
</div>
14+
@if (GetShowProgress(item))
15+
{
16+
<i class="@LoadingIconString"></i>
17+
<i class="@CancelIconString" @onclick="() => OnClickCancel(item)"></i>
18+
<Progress Color="Color.Success" Height="2" Value="@item.ProgressPercent"></Progress>
19+
}
20+
else
21+
{
22+
<div class="upload-buttons">
23+
@if (item.Code == 0)
2424
{
25-
<i class="@DownloadIconString" @onclick="() => OnClickDownload(item)"></i>
25+
@if (ShowDownloadButton)
26+
{
27+
<i class="@DownloadIconString" @onclick="() => OnClickDownload(item)"></i>
28+
}
29+
<i class="@InvalidStatusIconString"></i>
2630
}
27-
<i class="@InvalidStatusIconString"></i>
28-
}
29-
else
30-
{
31-
<i class="@ValidStatusIconString"></i>
32-
}
33-
<i class="@DeleteIconString" @onclick:stopPropagation @onclick="@(e => OnFileDelete(item))"></i>
34-
</div>
35-
}
36-
</div>
37-
}
38-
</div>
31+
else
32+
{
33+
<i class="@ValidStatusIconString"></i>
34+
}
35+
<i class="@DeleteIconString" @onclick:stopPropagation @onclick="@(e => OnFileDelete(item))"></i>
36+
</div>
37+
}
38+
</div>
39+
}
40+
</div>
41+
}

src/BootstrapBlazor/Components/Upload/UploadPreviewList.razor.cs

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -206,11 +206,21 @@ protected override void OnParametersSet()
206206
{
207207
base.OnParametersSet();
208208

209-
Items ??= [];
210-
211209
LoadingIcon ??= IconTheme.GetIconByKey(ComponentIcons.UploadLoadingIcon);
212210
InvalidStatusIcon ??= IconTheme.GetIconByKey(ComponentIcons.UploadInvalidStatusIcon);
213211
ValidStatusIcon ??= IconTheme.GetIconByKey(ComponentIcons.UploadValidStatusIcon);
212+
213+
FileIconExcel ??= IconTheme.GetIconByKey(ComponentIcons.FileIconExcel);
214+
FileIconDocx ??= IconTheme.GetIconByKey(ComponentIcons.FileIconDocx);
215+
FileIconPPT ??= IconTheme.GetIconByKey(ComponentIcons.FileIconPPT);
216+
FileIconAudio ??= IconTheme.GetIconByKey(ComponentIcons.FileIconAudio);
217+
FileIconVideo ??= IconTheme.GetIconByKey(ComponentIcons.FileIconVideo);
218+
FileIconCode ??= IconTheme.GetIconByKey(ComponentIcons.FileIconCode);
219+
FileIconPdf ??= IconTheme.GetIconByKey(ComponentIcons.FileIconPdf);
220+
FileIconZip ??= IconTheme.GetIconByKey(ComponentIcons.FileIconZip);
221+
FileIconArchive ??= IconTheme.GetIconByKey(ComponentIcons.FileIconArchive);
222+
FileIconImage ??= IconTheme.GetIconByKey(ComponentIcons.FileIconImage);
223+
FileIconFile ??= IconTheme.GetIconByKey(ComponentIcons.FileIconFile);
214224
}
215225

216226
private async Task OnClickDownload(UploadFile item)

test/UnitTest/Components/UploadButtonTest.cs

Lines changed: 6 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -354,18 +354,6 @@ public void ButtonUpload_OnGetFileFormat_Ok()
354354
pb.Add(a => a.DownloadIcon, "fa-download");
355355
pb.Add(a => a.InvalidStatusIcon, "fa-invalid");
356356
pb.Add(a => a.ValidStatusIcon, "fa-valid");
357-
358-
pb.Add(a => a.FileIconArchive, "fa-file-text");
359-
pb.Add(a => a.FileIconExcel, "fa-file-excel");
360-
pb.Add(a => a.FileIconFile, "fa-file");
361-
pb.Add(a => a.FileIconDocx, "fa-file-word");
362-
pb.Add(a => a.FileIconPPT, "fa-file-powerpoint");
363-
pb.Add(a => a.FileIconAudio, "fa-file-audio");
364-
pb.Add(a => a.FileIconVideo, "fa-file-video");
365-
pb.Add(a => a.FileIconCode, "fa-file-code");
366-
pb.Add(a => a.FileIconPdf, "fa-file-pdf");
367-
pb.Add(a => a.FileIconImage, "fa-file-image");
368-
pb.Add(a => a.FileIconZip, "fa-file-archive");
369357
pb.Add(a => a.DefaultFileList,
370358
[
371359
new() { FileName = "1.csv" },
@@ -421,6 +409,12 @@ public void ButtonUpload_OnGetFileFormat_Ok()
421409
});
422410
});
423411
cut.Contains("fa-format-test");
412+
413+
// Empty Items
414+
cut.SetParametersAndRender(pb =>
415+
{
416+
pb.Add(a => a.DefaultFileList, null);
417+
});
424418
}
425419

426420
private class MockBrowserFile(string name = "UploadTestFile", string contentType = "text") : IBrowserFile

0 commit comments

Comments
 (0)