Skip to content

Commit 7c65010

Browse files
authored
feat(TableRowContext): add RenderMode parameter (#4596)
* feat: add RenderMode on TableRowContext * test: 更新单元测试 * test: 增加单元测试覆盖率
1 parent 2f6350b commit 7c65010

File tree

3 files changed

+15
-9
lines changed

3 files changed

+15
-9
lines changed

src/BootstrapBlazor/Components/Table/Table.razor

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -226,7 +226,7 @@
226226
if (RowTemplate != null)
227227
{
228228
var columns = GetVisibleColumns();
229-
@RowTemplate(new(item, columns))
229+
@RowTemplate(new(item, columns, ActiveRenderMode))
230230
}
231231
else
232232
{
@@ -259,7 +259,7 @@
259259
@if (RowContentTemplate != null)
260260
{
261261
var columns = GetVisibleColumns();
262-
@RowContentTemplate(new(item, columns))
262+
@RowContentTemplate(new(item, columns, ActiveRenderMode))
263263
}
264264
else
265265
{
@@ -393,7 +393,7 @@
393393
if (RowTemplate != null)
394394
{
395395
var columns = GetVisibleColumns();
396-
@RowTemplate(new(item, columns))
396+
@RowTemplate(new(item, columns, ActiveRenderMode))
397397
}
398398
else
399399
{
@@ -728,7 +728,7 @@
728728
@if (RowContentTemplate != null)
729729
{
730730
var columns = GetVisibleColumns();
731-
@RowContentTemplate(new (item, columns));
731+
@RowContentTemplate(new (item, columns, ActiveRenderMode));
732732
}
733733
else
734734
{

src/BootstrapBlazor/Components/Table/TableRowContext.cs

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,8 +10,14 @@ namespace BootstrapBlazor.Components;
1010
/// </summary>
1111
/// <param name="model"></param>
1212
/// <param name="columns"></param>
13-
public class TableRowContext<TItem>(TItem model, IEnumerable<ITableColumn> columns)
13+
/// <param name="renderMode"></param>
14+
public class TableRowContext<TItem>(TItem model, IEnumerable<ITableColumn> columns, TableRenderMode renderMode)
1415
{
16+
/// <summary>
17+
/// 获得/设置 当前渲染模式
18+
/// </summary>
19+
public TableRenderMode RenderMode { get; } = renderMode;
20+
1521
/// <summary>
1622
/// 获得/设置 行数据实例
1723
/// </summary>
@@ -21,5 +27,5 @@ public class TableRowContext<TItem>(TItem model, IEnumerable<ITableColumn> colum
2127
/// <summary>
2228
/// 获得/设置 当前绑定字段数据实例
2329
/// </summary>
24-
public IEnumerable<ITableColumn> Columns => columns;
30+
public IEnumerable<ITableColumn> Columns { get; } = columns;
2531
}

test/UnitTest/Components/TableTest.cs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7575,7 +7575,7 @@ public void TableColumnContext_Exception()
75757575
[Fact]
75767576
public void TableRowContext_Exception()
75777577
{
7578-
Assert.Throws<ArgumentNullException>(() => new TableRowContext<Foo?>(null, [new InternalTableColumn("Name", typeof(string))]));
7578+
Assert.Throws<ArgumentNullException>(() => new TableRowContext<Foo?>(null, [new InternalTableColumn("Name", typeof(string))], TableRenderMode.Table));
75797579
}
75807580

75817581
[Fact]
@@ -8104,7 +8104,7 @@ public void RowContentTemplate_Ok(TableRenderMode mode)
81048104
});
81058105
pb.Add(a => a.RowContentTemplate, context => builder =>
81068106
{
8107-
builder.OpenElement(0, "div");
8107+
builder.OpenElement(0, context.RenderMode == TableRenderMode.CardView ? "div" : "tr");
81088108
builder.AddContent(1, $"template-{context.Row.Name}");
81098109
builder.CloseElement();
81108110

@@ -8141,7 +8141,7 @@ public void RowTemplate_Ok(TableRenderMode mode)
81418141
});
81428142
pb.Add(a => a.RowTemplate, context => builder =>
81438143
{
8144-
builder.OpenElement(0, mode == TableRenderMode.CardView ? "div" : "tr");
8144+
builder.OpenElement(0, context.RenderMode == TableRenderMode.CardView ? "div" : "tr");
81458145
builder.AddContent(1, new MarkupString(mode == TableRenderMode.CardView ? $"<div>template-{context.Row.Name}</div>" : $"<td>template-{context.Row.Name}</td>"));
81468146
builder.CloseElement();
81478147

0 commit comments

Comments
 (0)