Skip to content
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
Show all changes
33 commits
Select commit Hold shift + click to select a range
a113c59
Add SelectRowColumn column
dvoituron Apr 26, 2024
81177cd
Including Icons
dvoituron Apr 26, 2024
3e233e2
Update the colum name to SelectColumn and use a EventCallback
dvoituron Apr 26, 2024
ef233bc
Adding TGridItem="Person"
dvoituron Apr 26, 2024
5524506
Add SelectAllChanged
dvoituron Apr 26, 2024
fc2f225
Add a bindable SelectAll property
dvoituron Apr 26, 2024
ac38417
Remove AllSelected demo var
dvoituron Apr 26, 2024
888a78e
Merge branch 'dev' into users/datagrid/multi-select
dvoituron Apr 26, 2024
696923e
Merge branch 'dev' into users/datagrid/multi-select
vnbaaij Apr 26, 2024
4bf3bbf
Add Style
dvoituron Apr 26, 2024
0b38e8c
Fix the sample
dvoituron Apr 26, 2024
f110762
Merge branch 'users/datagrid/multi-select' of github.amrom.workers.dev-perso:micros…
dvoituron Apr 26, 2024
cbfe3c1
Add IconIndeterminate
dvoituron Apr 26, 2024
0b47a07
Replace by IEnumerable
dvoituron Apr 26, 2024
5ed9696
Add DataGridSelectMode.Single
dvoituron Apr 26, 2024
50068f9
Merge branch 'dev' into users/datagrid/multi-select
dvoituron Apr 28, 2024
c8daac0
Separated the SelectedItems and Property / OnSelect (not yet completed)
dvoituron Apr 28, 2024
fc271b7
Update
dvoituron Apr 28, 2024
1b83879
Update the 2 examples
dvoituron Apr 28, 2024
0229a57
Add Titles
dvoituron Apr 28, 2024
489af95
Add OnRowDoubleClick
dvoituron Apr 28, 2024
3c1a8ac
Add Enter key
dvoituron Apr 28, 2024
04881be
Update keys to select/unselect
dvoituron Apr 28, 2024
5c87496
Merge branch 'dev' into users/datagrid/multi-select
dvoituron Apr 28, 2024
d360e7e
Update doc
dvoituron Apr 28, 2024
323f2c3
Add first Unit Test
dvoituron Apr 29, 2024
e275763
Add Unit Tests
dvoituron Apr 29, 2024
56d3a89
Add Unit Tests for Property attribute
dvoituron Apr 29, 2024
4f3e2cc
Merge branch 'dev' into users/datagrid/multi-select
dvoituron Apr 29, 2024
cf19e3f
Add SwitchMultiToSingleSelect
dvoituron Apr 29, 2024
6473d6e
Update the doc
dvoituron Apr 29, 2024
c927720
Update Single Icons and Doc (PR comments)
dvoituron Apr 30, 2024
1ae2d38
Merge branch 'dev' into users/datagrid/multi-select
vnbaaij Apr 30, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
Add Titles
  • Loading branch information
dvoituron committed Apr 28, 2024
commit 0229a577dd999fcaf54a893a09d3fae4c412a702
Original file line number Diff line number Diff line change
Expand Up @@ -1385,16 +1385,46 @@
Gets or sets the Icon to be rendered when the row is non selected.
</summary>
</member>
<member name="P:Microsoft.FluentUI.AspNetCore.Components.SelectColumn`1.TitleUnchecked">
<summary>
Gets or sets the Icon title display as a tooltip and used with Accessibility.
The default text is "Row unselected".
</summary>
</member>
<member name="P:Microsoft.FluentUI.AspNetCore.Components.SelectColumn`1.IconChecked">
<summary>
Gets or sets the Icon to be rendered when the row is selected.
</summary>
</member>
<member name="P:Microsoft.FluentUI.AspNetCore.Components.SelectColumn`1.TitleChecked">
<summary>
Gets or sets the Icon title display as a tooltip and used with Accessibility.
The default text is "Row selected".
</summary>
</member>
<member name="P:Microsoft.FluentUI.AspNetCore.Components.SelectColumn`1.IconIndeterminate">
<summary>
Gets or sets the Icon to be rendered when some but not all rows are selected.
</summary>
</member>
<member name="P:Microsoft.FluentUI.AspNetCore.Components.SelectColumn`1.TitleAllChecked">
<summary>
Gets or sets the Icon title display as a tooltip and used with Accessibility.
The default text is "All rows are selected.".
</summary>
</member>
<member name="P:Microsoft.FluentUI.AspNetCore.Components.SelectColumn`1.TitleAllUnchecked">
<summary>
Gets or sets the Icon title display as a tooltip and used with Accessibility.
The default text is "No rows are selected.".
</summary>
</member>
<member name="P:Microsoft.FluentUI.AspNetCore.Components.SelectColumn`1.TitleAllIndeterminate">
<summary>
Gets or sets the Icon title display as a tooltip and used with Accessibility.
The default text is "Some rows are selected.".
</summary>
</member>
<member name="P:Microsoft.FluentUI.AspNetCore.Components.SelectColumn`1.OnSelect">
<summary>
Gets or sets the action to be executed when the row is selected or unselected.
Expand Down
40 changes: 40 additions & 0 deletions src/Core/Components/DataGrid/Columns/SelectColumn.cs
Original file line number Diff line number Diff line change
Expand Up @@ -71,18 +71,53 @@ public DataGridSelectMode SelectMode
[Parameter]
public required Icon IconUnchecked { get; set; } = new CoreIcons.Regular.Size20.CheckboxUnchecked().WithColor(Color.FillInverse);

/// <summary>
/// Gets or sets the Icon title display as a tooltip and used with Accessibility.
/// The default text is "Row unselected".
/// </summary>
[Parameter]
public string TitleUnchecked { get; set; } = "Row unselected";

/// <summary>
/// Gets or sets the Icon to be rendered when the row is selected.
/// </summary>
[Parameter]
public required Icon IconChecked { get; set; } = new CoreIcons.Filled.Size20.CheckboxChecked();

/// <summary>
/// Gets or sets the Icon title display as a tooltip and used with Accessibility.
/// The default text is "Row selected".
/// </summary>
[Parameter]
public string TitleChecked { get; set; } = "Row selected.";

/// <summary>
/// Gets or sets the Icon to be rendered when some but not all rows are selected.
/// </summary>
[Parameter]
public Icon? IconIndeterminate { get; set; } = new CoreIcons.Filled.Size20.CheckboxIndeterminate();

/// <summary>
/// Gets or sets the Icon title display as a tooltip and used with Accessibility.
/// The default text is "All rows are selected.".
/// </summary>
[Parameter]
public string TitleAllChecked { get; set; } = "All rows are selected.";

/// <summary>
/// Gets or sets the Icon title display as a tooltip and used with Accessibility.
/// The default text is "No rows are selected.".
/// </summary>
[Parameter]
public string TitleAllUnchecked { get; set; } = "No rows are selected.";

/// <summary>
/// Gets or sets the Icon title display as a tooltip and used with Accessibility.
/// The default text is "Some rows are selected.".
/// </summary>
[Parameter]
public string TitleAllIndeterminate { get; set; } = "Some rows are selected.";

/// <summary>
/// Gets or sets the action to be executed when the row is selected or unselected.
/// This action is required to update you data model.
Expand Down Expand Up @@ -204,6 +239,7 @@ private RenderFragment<TGridItem> GetDefaultChildContent()

builder.OpenComponent<FluentIcon<Icon>>(0);
builder.AddAttribute(1, "Value", selected ? IconChecked : IconUnchecked);
builder.AddAttribute(1, "Title", selected ? TitleChecked : TitleUnchecked);
builder.AddAttribute(2, "row-selected", selected);
builder.CloseComponent();
});
Expand All @@ -229,6 +265,10 @@ private RenderFragment GetHeaderContent()
builder.AddAttribute(1, "Value", iconAllChecked);
builder.AddAttribute(2, "all-selected", SelectAll);
builder.AddAttribute(3, "OnClick", EventCallback.Factory.Create<MouseEventArgs>(this, OnClickAllAsync));
builder.AddAttribute(4, "Style", "margin-left: 12px;");
builder.AddAttribute(5, "Title", iconAllChecked == IconIndeterminate
? TitleAllIndeterminate
: (iconAllChecked == IconChecked ? TitleAllChecked : TitleAllUnchecked));
builder.CloseComponent();
});

Expand Down