<PrimerActionPanel Title="Filter Issues"
ButtonText="Filters"
Items="@filters"
IsLinkMode="false"
OnItemSelected="HandleSelect" />
<PrimerActionPanel Title="Choose Type"
ButtonText="Type"
ShowCloseButton="false"
IsLinkMode="false"
Items="@options"
ButtonSize="ButtonSize.Small"
ButtonVariant="ButtonVariant.Danger"
OnItemSelected="OnSelect" />
<PrimerActionPanel Title="Select Multiple Types"
ButtonText="Multi"
Items="@options"
IsLinkMode="false"
ShowCloseButton="false"
MultipleSelection="true"
OnItemsSelected="HandleMultiSelect" />
Available options for ActionPanel component
Name | Description | Default Value | CSS Class |
---|---|---|---|
Title | Title displayed in the panel | "Filter" | - |
ButtonText | Button text to trigger the panel | "Filters" | - |
Items | List of selectable filter items | new List<FilterItem>() | - |
IsLinkMode | Use link navigation mode | true | - |
ShowCloseButton | Show close button inside the panel | true | - |
MultipleSelection | Allow multiple item selection | false | - |
ButtonVariant | Button style variant | Default | - |
ButtonSize | Button size | Small | - |
List<FilterItem> filters = new()
{
new() { Text = "Open issues", Link = "javascript:void(0);" },
new() { Text = "Your issues", Link = "javascript:void(0);" },
new() { Text = "Your pull requests", Link = "javascript:void(0);" },
new() { Text = "Assigned to you", Link = "javascript:void(0);" },
};
List<FilterItem> options = new()
{
new() { Text = "Option 1" },
new() { Text = "Option 2" },
new() { Text = "Option 3" }
};
void HandleSelect(FilterItem selected)
{
foreach (var item in filters)
item.IsSelected = false;
selected.IsSelected = true;
Console.WriteLine($"Selected: {selected.Text}");
}
void OnSelect(FilterItem selected)
{
Console.WriteLine($"Selected: {selected.Text}");
}
void HandleMultiSelect(List<FilterItem> selectedItems)
{
var selectedNames = string.Join(", ", selectedItems.Select(i => i.Text));
Console.WriteLine($"[Multi Selected]: {selectedNames}");
}