Skip to content

Commit d92c636

Browse files
authored
[dev-v5][DataGrid] width issues (#4588)
* First fixes * - Tweak col-sort-button width - Update verified files - Set table-layout:fixed when in DisplayMode table * Process review comments
1 parent 9e9a65d commit d92c636

16 files changed

Lines changed: 26 additions & 20 deletions

examples/Demo/FluentUI.Demo.Client/Documentation/Components/DataGrid/FluentDataGrid.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,8 @@ again will toggle the sort direction. When `HeaderCellAsButtonWithMenu` is true,
4545
A sort can be removed by right clicking (or by pressing <kbd>Shift</kbd> + <kbd>r</kbd>) on the header column (with exception of
4646
the default sort).
4747

48+
_The minimal width for a sortable column is 75 pixels._
49+
4850
## Row size
4951

5052
The DataGrid offers a `RowSize` parameter which allows you to use different preset row heights. The value uses the `DataGridRowSize`

src/Core/Components/DataGrid/Columns/ColumnBase.razor

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -118,9 +118,7 @@
118118

119119
@if (Sortable.HasValue ? Sortable.Value : IsSortableByDefault())
120120
{
121-
122-
// <FluentButton Appearance="ButtonAppearance.Subtle" Class="col-sort-button" Style="@($"width: calc(100% - {wdelta});")" @onclick="@(() => Grid.SortByColumnAsync(this))" aria-label="@tooltip" title="@tooltip" @oncontextmenu="@(() => Grid.RemoveSortByColumnAsync(this))">
123-
<FluentButton Appearance="ButtonAppearance.Subtle" Class="col-sort-button" Style="width: 100%;" @onclick="@(() => Grid.SortByColumnAsync(this))" aria-label="@tooltip" title="@tooltip" @oncontextmenu="@(() => Grid.RemoveSortByColumnAsync(this))">
121+
<FluentButton Appearance="ButtonAppearance.Subtle" Class="col-sort-button" @onclick="@(() => Grid.SortByColumnAsync(this))" aria-label="@tooltip" title="@tooltip" @oncontextmenu="@(() => Grid.RemoveSortByColumnAsync(this))">
124122
<div class="col-title-text" title="@tooltip">
125123
@HeaderTitleContent
126124
</div>
@@ -145,7 +143,7 @@
145143
}
146144
else
147145
{
148-
<div class="col-title" style="width: 100%;">
146+
<div class="col-title">
149147
<div class="col-title-text" title="@tooltip">
150148
@HeaderTitleContent
151149
@if (ColumnOptions is not null && Filtered.GetValueOrDefault() && Grid.ResizeType.HasValue)

src/Core/Components/DataGrid/FluentDataGrid.razor.cs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1031,6 +1031,7 @@ private string AriaSortValue(ColumnBase<TGridItem> column)
10311031
.AddStyle("border-collapse", "separate", GenerateHeader == DataGridGeneratedHeaderType.Sticky)
10321032
.AddStyle("border-spacing", "0", GenerateHeader == DataGridGeneratedHeaderType.Sticky)
10331033
.AddStyle("width", "100%", DisplayMode == DataGridDisplayMode.Table)
1034+
.AddStyle("table-layout", "fixed", DisplayMode == DataGridDisplayMode.Table)
10341035
.Build();
10351036

10361037
private string? GridClass => DefaultClassBuilder

src/Core/Components/DataGrid/FluentDataGridCell.razor.css

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -57,9 +57,10 @@
5757
}
5858

5959
.fluent-data-grid .col-sort-button {
60-
width: calc(100% - 20px);
60+
width: 100%;
6161
overflow: hidden;
6262
text-overflow: ellipsis;
63+
min-width: 75px;
6364
}
6465

6566
.fluent-data-grid .col-sort-button {
@@ -69,19 +70,23 @@
6970
.fluent-data-grid .col-justify-start .col-sort-button {
7071
justify-content: start;
7172
overflow: hidden;
72-
opacity: 1
73+
opacity: 1;
74+
min-width: 75px;
7375
}
7476

7577
.fluent-data-grid .col-justify-center .col-sort-button {
7678
justify-content: center;
7779
overflow: hidden;
78-
opacity: 1
80+
opacity: 1;
81+
min-width: 75px;
7982
}
8083

8184
.fluent-data-grid .col-justify-end .col-sort-button {
8285
justify-content: end;
8386
overflow: hidden;
84-
opacity: 1
87+
opacity: 1;
88+
min-width: 75px;
89+
8590
}
8691

8792

tests/Core/Components/DataGrid/FluentDataGridTests.FluentDataGrid_ColumnOptionsUISettings.verified.razor.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
<tr class="fluent-data-grid-row" data-row-index="0" role="row" row-type="header" blazor:onkeydown="x" blazor:onclick="x" blazor:ondblclick="5" blazor:onfocus="6">
77
<th col-index="1" class="column-header col-justify-start col-sort-asc" style="grid-column: 1; height: 32px; min-height: 40px; z-index: 5;" blazor:oncontextmenu:preventdefault="" blazor:onkeydown="x" blazor:onclick="x" blazor:onfocus="25" scope="col" aria-sort="ascending">
88
<div style="display: flex; justify-content: flex-start; padding: 0 6px; ">
9-
<div class="col-title" style="width: 100%;">
9+
<div class="col-title">
1010
<div class="col-title-text">Name</div>
1111
</div>
1212
</div>

tests/Core/Components/DataGrid/FluentDataGridTests.FluentDataGrid_ColumnResizeUISettings.verified.razor.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
<tr class="fluent-data-grid-row" data-row-index="0" role="row" row-type="header" blazor:onkeydown="x" blazor:onclick="x" blazor:ondblclick="5" blazor:onfocus="6">
77
<th col-index="1" class="column-header col-justify-start col-sort-asc" style="grid-column: 1; height: 32px; min-height: 40px; z-index: 5;" blazor:oncontextmenu:preventdefault="" blazor:onkeydown="x" blazor:onclick="x" blazor:onfocus="25" scope="col" aria-sort="ascending">
88
<div style="display: flex; justify-content: flex-start; padding: 0 6px; ">
9-
<div class="col-title" style="width: 100%;">
9+
<div class="col-title">
1010
<div class="col-title-text">Name</div>
1111
</div>
1212
</div>

tests/Core/Components/DataGrid/FluentDataGridTests.FluentDataGrid_ColumnSortUISettings.verified.razor.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
<tr class="fluent-data-grid-row" data-row-index="0" role="row" row-type="header" blazor:onkeydown="x" blazor:onclick="x" blazor:ondblclick="5" blazor:onfocus="6">
77
<th col-index="1" class="column-header col-justify-start col-sort-asc" style="grid-column: 1; height: 32px; min-height: 40px; z-index: 5;" blazor:oncontextmenu:preventdefault="" blazor:onkeydown="x" blazor:onclick="x" blazor:onfocus="25" scope="col" aria-sort="ascending">
88
<div style="display: flex; justify-content: flex-start; padding: 0 6px; ">
9-
<div class="col-title" style="width: 100%;">
9+
<div class="col-title">
1010
<div class="col-title-text">Name</div>
1111
</div>
1212
</div>

tests/Core/Components/DataGrid/FluentDataGridTests.FluentDataGrid_Default.verified.razor.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
<tr class="fluent-data-grid-row" data-row-index="0" role="row" row-type="header" blazor:onkeydown="x" blazor:onclick="x" blazor:ondblclick="5" blazor:onfocus="6">
77
<th col-index="1" class="column-header col-justify-start col-sort-asc" style="grid-column: 1; height: 32px; min-height: 40px; z-index: 5;" blazor:oncontextmenu:preventdefault="" blazor:onkeydown="x" blazor:onclick="x" blazor:onfocus="25" scope="col" aria-sort="ascending">
88
<div style="display: flex; justify-content: flex-start; padding: 0 6px; ">
9-
<div class="col-title" style="width: 100%;">
9+
<div class="col-title">
1010
<div class="col-title-text">Name</div>
1111
</div>
1212
</div>

tests/Core/Components/DataGrid/FluentDataGridTests.FluentDataGrid_IsFixed.verified.razor.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
<tr class="fluent-data-grid-row" data-row-index="0" role="row" row-type="header" blazor:onkeydown="x" blazor:onclick="x" blazor:ondblclick="5" blazor:onfocus="6">
77
<th col-index="1" class="column-header col-justify-start col-sort-asc" style="min-height: 40px; z-index: 5;" blazor:oncontextmenu:preventdefault="" blazor:onkeydown="x" blazor:onclick="x" blazor:onfocus="16" scope="col" aria-sort="ascending">
88
<div style="display: flex; justify-content: flex-start; padding: 0 6px; ">
9-
<div class="col-title" style="width: 100%;">
9+
<div class="col-title">
1010
<div class="col-title-text">Name</div>
1111
</div>
1212
</div>

tests/Core/Components/DataGrid/FluentDataGridTests.FluentDataGrid_StickyHeader.verified.razor.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
<tr class="fluent-data-grid-row" data-row-index="0" role="row" row-type="sticky-header" blazor:onkeydown="x" blazor:onclick="x" blazor:ondblclick="5" blazor:onfocus="6">
77
<th col-index="1" class="column-header col-justify-start col-sort-asc" style="grid-column: 1; height: 32px; min-height: 40px; z-index: 5;" blazor:oncontextmenu:preventdefault="" blazor:onkeydown="x" blazor:onclick="x" blazor:onfocus="25" scope="col" aria-sort="ascending">
88
<div style="display: flex; justify-content: flex-start; padding: 0 6px; ">
9-
<div class="col-title" style="width: 100%;">
9+
<div class="col-title">
1010
<div class="col-title-text">Name</div>
1111
</div>
1212
</div>

0 commit comments

Comments
 (0)