Skip to content

Commit 901ff6f

Browse files
authored
V0.3.0 - Completed DataList MVP (#24)
* Completed GridLines for #19 * Added TabIndex to the BaseWebFormsComponent for #19 * Added AlternatingItemTemplate for #19 * Added SeparatorTemplate support for #19 * Added SeparatorTemplate for FlowLayout #19 * Added ItemStyle, AlternatingItemStyle and SeparatorStyle for #19 * Set version to '0.3.0'
1 parent 1c96a3f commit 901ff6f

28 files changed

+558
-74
lines changed

samples/AfterBlazorServerSide/Pages/ControlSamples/DataList/Index.razor

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
@page "/ControlSamples/DataList"
2+
@using static System.Drawing.Color
23

34
<h2>DataList Component homepage</h2>
45

@@ -13,6 +14,9 @@
1314
ItemType="SharedSampleObjects.Models.Widget">
1415
<HeaderTemplate>Simple Widgets</HeaderTemplate>
1516
<FooterTemplate>End of Line</FooterTemplate>
17+
<ChildContent>
18+
<ItemStyle BackColor="Wheat" />
19+
</ChildContent>
1620
<ItemTemplate>
1721
@Item.Name - @Item.Price.ToString("c")
1822
</ItemTemplate>

samples/BeforeWebForms/ControlSamples/DataList/Default.aspx

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,13 +14,14 @@
1414

1515
<asp:DataList ID="simpleDataList"
1616
runat="server"
17-
RepeatColumns="2"
17+
RepeatColumns="1"
1818
ToolTip="This is my tooltip"
1919
UseAccessibleHeader="true"
2020
Caption="This is my caption"
2121
CaptionAlign="Top"
2222
CellPadding="2"
2323
CellSpacing="3"
24+
TabIndex="1"
2425
ItemType="SharedSampleObjects.Models.Widget">
2526
<HeaderStyle CssClass="myClass" Font-Bold="true" Font-Italic="true" Font-Names="arial black" Font-Overline="true" Font-Size="X-Large" Font-Strikeout="true" Font-Underline="true" />
2627
<HeaderTemplate>
@@ -32,6 +33,10 @@
3233
<br />
3334
<%# Item.Price.ToString("c") %>
3435
</ItemTemplate>
36+
<SeparatorTemplate>Hi! I'm a separator! I keep things apart</SeparatorTemplate>
37+
<ItemStyle BackColor="Yellow" />
38+
<AlternatingItemStyle BackColor="Wheat" />
39+
<SeparatorStyle BackColor="Black" ForeColor="PapayaWhip" />
3540
</asp:DataList>
3641

3742
</asp:Content>

samples/BeforeWebForms/ControlSamples/DataList/StyleAttributes.aspx

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@
2222
BorderWidth="2px"
2323
BorderColor="Firebrick"
2424
Font-Bold="true"
25+
GridLines="Vertical"
2526
UseAccessibleHeader="true"
2627
ItemType="SharedSampleObjects.Models.Widget">
2728
<HeaderTemplate>
Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
@inherits TestComponentBase
2+
3+
4+
<Fixture Test="FirstTest">
5+
<ComponentUnderTest>
6+
<DataList Items="Widget.SimpleWidgetList"
7+
ItemType="Widget"
8+
RepeatLayout="Flow"
9+
Context="Item">
10+
<HeaderTemplate>My Widget List</HeaderTemplate>
11+
<ItemTemplate>@Item.Name</ItemTemplate>
12+
<AlternatingItemTemplate>== @Item.Name ==</AlternatingItemTemplate>
13+
</DataList>
14+
</ComponentUnderTest>
15+
</Fixture>
16+
17+
18+
@code {
19+
20+
void FirstTest(IRazorTestContext context)
21+
{
22+
23+
var cut = context.GetComponentUnderTest();
24+
25+
cut.FindAll("span").Count().ShouldBe(5);
26+
cut.FindAll("span").Skip(1).First().TextContent.ShouldBe("My Widget List");
27+
28+
cut.FindAll("span").Count(c => c.TextContent.StartsWith("== ") && c.TextContent.EndsWith(" ==")).ShouldBe(1);
29+
30+
}
31+
32+
33+
}
Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
@inherits TestComponentBase
2+
@using static System.Drawing.Color
3+
4+
5+
<Fixture Test="FirstTest">
6+
<ComponentUnderTest>
7+
<DataList Items="Widget.SimpleWidgetList"
8+
ItemType="Widget"
9+
RepeatLayout="Flow"
10+
Context="Item">
11+
<HeaderTemplate>My Widget List</HeaderTemplate>
12+
<ItemTemplate>@Item.Name</ItemTemplate>
13+
<ChildContent>
14+
<ItemStyle BackColor="Red" />
15+
</ChildContent>
16+
</DataList>
17+
</ComponentUnderTest>
18+
</Fixture>
19+
20+
21+
@code {
22+
23+
void FirstTest(IRazorTestContext context)
24+
{
25+
26+
var cut = context.GetComponentUnderTest();
27+
28+
cut.FindAll("span").Count().ShouldBe(5);
29+
cut.FindAll("span").Count(c => c.HasAttribute("style")).ShouldBe(3);
30+
31+
cut.FindAll("span").Count(c => c.HasAttribute("style") && c.GetAttribute("style").Contains("background-color")).ShouldBe(3);
32+
33+
}
34+
35+
36+
}
Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
@inherits TestComponentBase
2+
3+
4+
<Fixture Test="FirstTest">
5+
<ComponentUnderTest>
6+
<DataList Items="Widget.SimpleWidgetList"
7+
ItemType="Widget"
8+
RepeatLayout="Flow"
9+
Context="Item">
10+
<HeaderTemplate>My Widget List</HeaderTemplate>
11+
<ItemTemplate>@Item.Name</ItemTemplate>
12+
<SeparatorTemplate>====</SeparatorTemplate>
13+
</DataList>
14+
</ComponentUnderTest>
15+
</Fixture>
16+
17+
18+
@code {
19+
20+
void FirstTest(IRazorTestContext context)
21+
{
22+
23+
var cut = context.GetComponentUnderTest();
24+
25+
cut.FindAll("span").Count().ShouldBe(7);
26+
27+
cut.FindAll("span").Count(c => c.TextContent == "====").ShouldBe(2);
28+
29+
cut.FindAll("span")[3].TextContent.ShouldBe("====");
30+
cut.FindAll("span")[5].TextContent.ShouldBe("====");
31+
32+
}
33+
34+
35+
}
Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
@inherits TestComponentBase
2+
3+
4+
<Fixture Test="FirstTest">
5+
<ComponentUnderTest>
6+
<DataList Items="Widget.SimpleWidgetList"
7+
ItemType="Widget"
8+
RepeatLayout="Table"
9+
Context="Item">
10+
<HeaderTemplate>My Widget List</HeaderTemplate>
11+
<ItemTemplate>@Item.Name</ItemTemplate>
12+
<AlternatingItemTemplate>== @Item.Name ==</AlternatingItemTemplate>
13+
</DataList>
14+
</ComponentUnderTest>
15+
</Fixture>
16+
17+
18+
@code {
19+
20+
void FirstTest(IRazorTestContext context)
21+
{
22+
23+
var cut = context.GetComponentUnderTest();
24+
25+
cut.FindAll("td").Count().ShouldBe(4);
26+
27+
cut.FindAll("td").Count(c => c.TextContent.StartsWith("== ") && c.TextContent.EndsWith(" ==")).ShouldBe(1);
28+
29+
}
30+
31+
32+
}
Lines changed: 78 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,78 @@
1+
@inherits TestComponentBase
2+
@using static BlazorWebFormsComponents.Enums.GridLines
3+
4+
5+
<Fixture Test="BothTest">
6+
<ComponentUnderTest>
7+
<DataList Items="Widget.SimpleWidgetList"
8+
ItemType="Widget"
9+
RepeatLayout="Table"
10+
GridLines="Both"
11+
Context="Item">
12+
<HeaderTemplate>My Widget List</HeaderTemplate>
13+
<ItemTemplate>@Item.Name</ItemTemplate>
14+
</DataList>
15+
</ComponentUnderTest>
16+
</Fixture>
17+
18+
<Fixture Test="RowsTest">
19+
<ComponentUnderTest>
20+
<DataList Items="Widget.SimpleWidgetList"
21+
ItemType="Widget"
22+
RepeatLayout="Table"
23+
GridLines="Horizontal"
24+
Context="Item">
25+
<HeaderTemplate>My Widget List</HeaderTemplate>
26+
<ItemTemplate>@Item.Name</ItemTemplate>
27+
</DataList>
28+
</ComponentUnderTest>
29+
</Fixture>
30+
31+
<Fixture Test="ColsTest">
32+
<ComponentUnderTest>
33+
<DataList Items="Widget.SimpleWidgetList"
34+
ItemType="Widget"
35+
RepeatLayout="Table"
36+
GridLines="Vertical"
37+
Context="Item">
38+
<HeaderTemplate>My Widget List</HeaderTemplate>
39+
<ItemTemplate>@Item.Name</ItemTemplate>
40+
</DataList>
41+
</ComponentUnderTest>
42+
</Fixture>
43+
44+
45+
@code {
46+
47+
void BothTest(IRazorTestContext context)
48+
{
49+
50+
var cut = context.GetComponentUnderTest();
51+
52+
cut.Find("table").HasAttribute("rules");
53+
cut.Find("table").GetAttribute("rules").ShouldBe("both");
54+
55+
}
56+
57+
void RowsTest(IRazorTestContext context)
58+
{
59+
60+
var cut = context.GetComponentUnderTest();
61+
62+
cut.Find("table").HasAttribute("rules");
63+
cut.Find("table").GetAttribute("rules").ShouldBe("rows");
64+
65+
}
66+
67+
void ColsTest(IRazorTestContext context)
68+
{
69+
70+
var cut = context.GetComponentUnderTest();
71+
72+
cut.Find("table").HasAttribute("rules");
73+
cut.Find("table").GetAttribute("rules").ShouldBe("cols");
74+
75+
}
76+
77+
78+
}

src/BlazorWebFormsComponents.Test/DataList/TableLayout/HeaderStyle.razor

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -37,8 +37,6 @@
3737
void FirstTest(IRazorTestContext context)
3838
{
3939

40-
//context.WaitForNextRender(() => { }, TimeSpan.FromSeconds(2));
41-
4240
var cut = context.GetComponentUnderTest();
4341

4442
var theHeaderElement = cut.Find("td");
@@ -66,4 +64,4 @@
6664
}
6765

6866

69-
}
67+
}
Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
@inherits TestComponentBase
2+
@using static System.Drawing.Color
3+
4+
5+
<Fixture Test="FirstTest">
6+
<ComponentUnderTest>
7+
<DataList Items="Widget.SimpleWidgetList"
8+
ItemType="Widget"
9+
RepeatLayout="Table"
10+
Context="Item">
11+
<HeaderTemplate>My Widget List</HeaderTemplate>
12+
<ItemTemplate>@Item.Name</ItemTemplate>
13+
<ChildContent>
14+
<ItemStyle BackColor="Red" />
15+
</ChildContent>
16+
</DataList>
17+
</ComponentUnderTest>
18+
</Fixture>
19+
20+
21+
@code {
22+
23+
void FirstTest(IRazorTestContext context)
24+
{
25+
26+
var cut = context.GetComponentUnderTest();
27+
28+
cut.FindAll("td").Count().ShouldBe(4);
29+
cut.FindAll("td").Count(c => c.HasAttribute("style")).ShouldBe(3);
30+
31+
cut.FindAll("td").Count(c => c.HasAttribute("style") && c.GetAttribute("style").Contains("background-color")).ShouldBe(3);
32+
33+
}
34+
35+
36+
}
Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
@inherits TestComponentBase
2+
3+
4+
<Fixture Test="FirstTest">
5+
<ComponentUnderTest>
6+
<DataList Items="Widget.SimpleWidgetList"
7+
ItemType="Widget"
8+
RepeatLayout="Table"
9+
Context="Item">
10+
<HeaderTemplate>My Widget List</HeaderTemplate>
11+
<ItemTemplate>@Item.Name</ItemTemplate>
12+
<SeparatorTemplate>====</SeparatorTemplate>
13+
</DataList>
14+
</ComponentUnderTest>
15+
</Fixture>
16+
17+
18+
@code {
19+
20+
void FirstTest(IRazorTestContext context)
21+
{
22+
23+
var cut = context.GetComponentUnderTest();
24+
25+
cut.FindAll("td").Count().ShouldBe(6);
26+
cut.FindAll("td").Count(c => c.TextContent == "====").ShouldBe(2);
27+
28+
cut.FindAll("td")[2].TextContent.ShouldBe("====");
29+
cut.FindAll("td")[4].TextContent.ShouldBe("====");
30+
31+
}
32+
33+
34+
}

src/BlazorWebFormsComponents.Test/DataList/TableLayout/Simple.razor

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,8 @@
3131
cut.Find("table").HasAttribute("cellspacing").ShouldBeFalse();
3232
cut.Find("table").HasAttribute("cellpadding").ShouldBeFalse();
3333

34+
cut.Find("table").HasAttribute("tabindex").ShouldBeFalse();
35+
3436
}
3537

3638

0 commit comments

Comments
 (0)