Skip to content

Commit 790a329

Browse files
vnbaaijdvoituron
andauthored
[dev-v5][DataGrid] Fix resize indicator height (when ResizeColumnOnAllRows is true) (#4392)
* Port #4383 to v5 * Update verified files * Remove IssueTester work. We'll do that later * Process comments --------- Co-authored-by: Denis Voituron <[email protected]>
1 parent fc2faa7 commit 790a329

16 files changed

+25
-22
lines changed

src/Core/Components/DataGrid/FluentDataGrid.razor

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -208,7 +208,8 @@
208208

209209
@if (ResizableColumns)
210210
{
211-
<div class="resize-handle"></div>
211+
var top = DisplayMode == DataGridDisplayMode.Table ? "top: 4px;" : "top: 2px;";
212+
<div class="resize-handle" style="@top"></div>
212213
}
213214
</FluentDataGridCell>
214215
}

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

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -67,7 +67,6 @@
6767

6868
.fluent-data-grid .resize-handle {
6969
position: absolute;
70-
top: 5px;
7170
right: 0;
7271
left: unset;
7372
bottom: 0;

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

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -218,8 +218,11 @@ export namespace Microsoft.FluentUI.Blazor.DataGrid {
218218
const resizedivs = header.querySelectorAll('.actual-resize-handle');
219219
resizedivs.forEach(div => div.remove());
220220

221+
// get the top of the first resize-handle
222+
const resizeTop = (header.querySelector('.resize-handle') as HTMLElement)?.offsetTop ?? 2;
223+
221224
// add a new resize div
222-
const div = createDiv(resizeHandleHeight, isRTL);
225+
const div = createDiv(resizeHandleHeight, resizeTop, isRTL);
223226
header.appendChild(div);
224227
setListeners(div, isRTL);
225228
});
@@ -302,10 +305,10 @@ export namespace Microsoft.FluentUI.Blazor.DataGrid {
302305
});
303306
}
304307

305-
function createDiv(height: number, isRTL: boolean) {
308+
function createDiv(height: number, top: number, isRTL: boolean) {
306309
const div = document.createElement('div');
307310
div.className = 'actual-resize-handle';
308-
div.style.top = '5px';
311+
div.style.top = top + 'px';
309312
div.style.position = 'absolute';
310313
div.style.cursor = 'col-resize';
311314
div.style.userSelect = 'none';

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@ public FluentDataGridCell(LibraryConfiguration configuration) : base(configurati
4646
.AddStyle("height", $"{Grid.ItemSize.ToString(CultureInfo.InvariantCulture):0}px", () => !Grid.EffectiveLoadingValue && Grid.Virtualize)
4747
.AddStyle("height", $"{((int)Grid.RowSize).ToString(CultureInfo.InvariantCulture)}px", () => !Grid.EffectiveLoadingValue && !Grid.Virtualize && !Grid.MultiLine && (Grid.Items is not null || Grid.ItemsProvider is not null) && InternalGridContext.TotalItemCount > 0)
4848
.AddStyle("height", "100%", Grid.MultiLine)
49-
.AddStyle("min-height", "44px", Owner.RowType != DataGridRowType.Default)
49+
.AddStyle("min-height", "40px", Owner.RowType != DataGridRowType.Default)
5050
.AddStyle("z-index", ZIndex.DataGridHeaderPopup.ToString(CultureInfo.InvariantCulture), CellType == DataGridCellType.ColumnHeader && Grid._columns.Count > 0 && Grid.UseMenuService)
5151
.AddStyle(Owner.Style)
5252
.Build();

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@
5151
font-weight: 600;
5252
text-align: center;
5353
position: relative;
54-
padding: 5px 1px;
54+
padding: 0px 1px;
5555
}
5656

5757
.fluent-data-grid .col-sort-button {

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
<table id="xxx" class="fluent-data-grid grid" style="grid-template-columns: 1fr;" aria-rowcount="4" blazor:onclosecolumnoptions="1" blazor:onclosecolumnresize="2" blazor:elementreference="xxx">
33
<thead>
44
<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">
5-
<th col-index="1" class="column-header col-justify-start col-sort-asc" style="grid-column: 1; min-width: 100px; height: 32px; min-height: 44px; z-index: 5;" blazor:oncontextmenu:preventdefault="" blazor:onkeydown="x" blazor:onclick="x" blazor:onfocus="25" scope="col" aria-sort="ascending">
5+
<th col-index="1" class="column-header col-justify-start col-sort-asc" style="grid-column: 1; min-width: 100px; 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">
66
<div style="display: flex; justify-content: flex-start; margin-inline-end: 5px; margin-inline-start: 5px;">
77
<div class="col-title" style="width: calc(100% - 10px);">
88
<div class="col-title-text">Name</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
@@ -2,7 +2,7 @@
22
<table id="xxx" class="fluent-data-grid grid" style="grid-template-columns: 1fr;" aria-rowcount="4" blazor:onclosecolumnoptions="1" blazor:onclosecolumnresize="2" blazor:elementreference="xxx">
33
<thead>
44
<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">
5-
<th col-index="1" class="column-header col-justify-start col-sort-asc" style="grid-column: 1; min-width: 100px; height: 32px; min-height: 44px; z-index: 5;" blazor:oncontextmenu:preventdefault="" blazor:onkeydown="x" blazor:onclick="x" blazor:onfocus="25" scope="col" aria-sort="ascending">
5+
<th col-index="1" class="column-header col-justify-start col-sort-asc" style="grid-column: 1; min-width: 100px; 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">
66
<div style="display: flex; justify-content: flex-start; margin-inline-end: 5px; margin-inline-start: 5px;">
77
<div class="col-title" style="width: calc(100% - 10px);">
88
<div class="col-title-text">Name</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
@@ -2,7 +2,7 @@
22
<table id="xxx" class="fluent-data-grid grid" style="grid-template-columns: 1fr;" aria-rowcount="4" blazor:onclosecolumnoptions="1" blazor:onclosecolumnresize="2" blazor:elementreference="xxx">
33
<thead>
44
<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">
5-
<th col-index="1" class="column-header col-justify-start col-sort-asc" style="grid-column: 1; min-width: 100px; height: 32px; min-height: 44px; z-index: 5;" blazor:oncontextmenu:preventdefault="" blazor:onkeydown="x" blazor:onclick="x" blazor:onfocus="25" scope="col" aria-sort="ascending">
5+
<th col-index="1" class="column-header col-justify-start col-sort-asc" style="grid-column: 1; min-width: 100px; 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">
66
<div style="display: flex; justify-content: flex-start; margin-inline-end: 5px; margin-inline-start: 5px;">
77
<div class="col-title" style="width: calc(100% - 10px);">
88
<div class="col-title-text">Name</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
@@ -2,7 +2,7 @@
22
<table id="xxx" class="fluent-data-grid grid" style="grid-template-columns: 1fr;" aria-rowcount="4" blazor:onclosecolumnoptions="1" blazor:onclosecolumnresize="2" blazor:elementreference="xxx">
33
<thead>
44
<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">
5-
<th col-index="1" class="column-header col-justify-start col-sort-asc" style="grid-column: 1; min-width: 100px; height: 32px; min-height: 44px; z-index: 5;" blazor:oncontextmenu:preventdefault="" blazor:onkeydown="x" blazor:onclick="x" blazor:onfocus="25" scope="col" aria-sort="ascending">
5+
<th col-index="1" class="column-header col-justify-start col-sort-asc" style="grid-column: 1; min-width: 100px; 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">
66
<div style="display: flex; justify-content: flex-start; margin-inline-end: 5px; margin-inline-start: 5px;">
77
<div class="col-title" style="width: calc(100% - 10px);">
88
<div class="col-title-text">Name</div>

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
<table id="xxx" class="fluent-data-grid grid" style="grid-template-columns: 1fr;" aria-rowcount="4" blazor:onclosecolumnoptions="1" blazor:onclosecolumnresize="2" blazor:elementreference="xxx">
33
<thead>
44
<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">
5-
<th col-index="1" class="column-header col-justify-start col-sort-asc" style="grid-column: 1; min-width: 100px; height: 32px; min-height: 44px; z-index: 5;" blazor:oncontextmenu:preventdefault="" blazor:onkeydown="x" blazor:onclick="x" blazor:onfocus="25" scope="col" aria-sort="ascending">
5+
<th col-index="1" class="column-header col-justify-start col-sort-asc" style="grid-column: 1; min-width: 100px; 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">
66
<fluent-button class="col-sort-button" style="width: calc(100% - 10px);" id="xxx" appearance="subtle" blazor:onclick="x" blazor:oncontextmenu="36">
77
<div class="col-title-text">Name</div>
88
<svg slot="end" style="width: 20px; fill: currentColor; opacity: var(--fluent-data-grid-header-opacity);" focusable="false" viewBox="0 0 20 20" aria-hidden="true" blazor:onkeydown="x" blazor:onclick="x" blazor:elementreference="xxx">

0 commit comments

Comments
 (0)