mirror of
https://github.com/sourcegit-scm/sourcegit
synced 2025-05-28 15:45:00 +00:00
feature<Statistics>: add statistics for current year
This commit is contained in:
parent
90eaf484fb
commit
1ad5ff1bd8
7 changed files with 185 additions and 163 deletions
74
src/Views/Widgets/StatisticsPage.xaml
Normal file
74
src/Views/Widgets/StatisticsPage.xaml
Normal file
|
@ -0,0 +1,74 @@
|
|||
<UserControl x:Class="SourceGit.Views.Widgets.StatisticsPage"
|
||||
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
|
||||
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
|
||||
xmlns:controls="clr-namespace:SourceGit.Views.Controls"
|
||||
mc:Ignorable="d"
|
||||
d:DesignHeight="450" d:DesignWidth="800">
|
||||
<Grid>
|
||||
<Grid>
|
||||
<Grid.RowDefinitions>
|
||||
<RowDefinition Height="*"/>
|
||||
<RowDefinition Height="32"/>
|
||||
</Grid.RowDefinitions>
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="*"/>
|
||||
<ColumnDefinition Width="8"/>
|
||||
<ColumnDefinition Width="2*"/>
|
||||
</Grid.ColumnDefinitions>
|
||||
|
||||
<DataGrid
|
||||
x:Name="lstCommitters"
|
||||
Grid.Row="0" Grid.Column="0"
|
||||
Margin="0,8,0,0"
|
||||
Background="{DynamicResource Brush.Contents}"
|
||||
GridLinesVisibility="All"
|
||||
HorizontalGridLinesBrush="{DynamicResource Brush.Border0}"
|
||||
VerticalGridLinesBrush="{DynamicResource Brush.Border0}"
|
||||
VerticalScrollBarVisibility="Auto"
|
||||
HorizontalScrollBarVisibility="Disabled"
|
||||
HeadersVisibility="Column"
|
||||
RowHeight="24"
|
||||
ColumnHeaderHeight="24"
|
||||
CanUserAddRows="False"
|
||||
CanUserDeleteRows="False"
|
||||
CanUserResizeColumns="False"
|
||||
CanUserResizeRows="False"
|
||||
CanUserReorderColumns="False"
|
||||
BorderThickness="1"
|
||||
BorderBrush="{DynamicResource Brush.Border0}">
|
||||
<DataGrid.ColumnHeaderStyle>
|
||||
<Style TargetType="{x:Type DataGridColumnHeader}">
|
||||
<Setter Property="Template">
|
||||
<Setter.Value>
|
||||
<ControlTemplate TargetType="{x:Type DataGridColumnHeader}">
|
||||
<Border BorderThickness="0,0,1,1" BorderBrush="{DynamicResource Brush.Border0}" Background="{DynamicResource Brush.Window}">
|
||||
<TextBlock Text="{TemplateBinding Content}" HorizontalAlignment="Center" VerticalAlignment="Center" FontWeight="DemiBold"/>
|
||||
</Border>
|
||||
</ControlTemplate>
|
||||
</Setter.Value>
|
||||
</Setter>
|
||||
</Style>
|
||||
</DataGrid.ColumnHeaderStyle>
|
||||
|
||||
<DataGrid.Columns>
|
||||
<DataGridTextColumn Width="*" Header="{DynamicResource Text.Statistics.CommitterName}" IsReadOnly="True" Binding="{Binding .Name}" ElementStyle="{StaticResource Style.TextBlock.LineContent}"/>
|
||||
<DataGridTextColumn Width="*" Header="{DynamicResource Text.Statistics.CommitAmount}" IsReadOnly="True" Binding="{Binding .Count}" ElementStyle="{StaticResource Style.TextBlock.LineContent}"/>
|
||||
</DataGrid.Columns>
|
||||
</DataGrid>
|
||||
|
||||
<TextBlock Grid.Row="1" Grid.Column="0" x:Name="txtMemberCount" Text="Total Committers: -"/>
|
||||
|
||||
<controls:Chart
|
||||
Grid.Row="0"
|
||||
Grid.Column="2"
|
||||
Margin="8,16,0,0"
|
||||
x:Name="chartCommits"
|
||||
LineBrush="{DynamicResource Brush.FG1}"
|
||||
ChartBrush="{DynamicResource Brush.Accent1}"/>
|
||||
|
||||
<TextBlock Grid.Row="1" Grid.Column="2" x:Name="txtCommitCount" HorizontalAlignment="Right" Text="Total Commits: -"/>
|
||||
</Grid>
|
||||
</Grid>
|
||||
</UserControl>
|
24
src/Views/Widgets/StatisticsPage.xaml.cs
Normal file
24
src/Views/Widgets/StatisticsPage.xaml.cs
Normal file
|
@ -0,0 +1,24 @@
|
|||
using System.Collections.Generic;
|
||||
using System.Windows.Controls;
|
||||
|
||||
namespace SourceGit.Views.Widgets {
|
||||
/// <summary>
|
||||
/// 统计内容
|
||||
/// </summary>
|
||||
public partial class StatisticsPage : UserControl {
|
||||
|
||||
public StatisticsPage() {
|
||||
InitializeComponent();
|
||||
}
|
||||
|
||||
public void SetData(List<Models.StatisticSample> committers, List<Models.StatisticSample> commits, int totalCommits) {
|
||||
Dispatcher.Invoke(() => {
|
||||
txtMemberCount.Text = App.Text("Statistics.TotalCommitterCount", committers.Count);
|
||||
txtCommitCount.Text = App.Text("Statistics.TotalCommitsCount", totalCommits);
|
||||
|
||||
lstCommitters.ItemsSource = committers;
|
||||
chartCommits.SetData(commits);
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue