complete basic report page

This commit is contained in:
2022-03-09 17:26:56 +08:00
parent abffc0627e
commit fde8931dbd
12 changed files with 503 additions and 48 deletions

View File

@ -41,6 +41,7 @@
<ContentPage.Resources>
<ui:NegativeConverter x:Key="negativeConverter"/>
<ui:MoneyConverter x:Key="moneyConverter" Absolute="True"/>
<ui:MoneyConverter x:Key="moneyRawConverter"/>
<ui:BalanceColorConverter x:Key="colorConverter"/>
<ui:TimeConverter x:Key="timeConverter" IncludeDate="True"/>
<ui:IconConverter x:Key="iconConverter"/>
@ -59,52 +60,89 @@
</Style>
</ContentPage.Resources>
<ScrollView x:Name="scroller">
<StackLayout>
<Label Text="{r:Text TrackingChart}" Style="{StaticResource titleLabel}"/>
<chart:ChartView HeightRequest="240" Chart="{Binding Chart}"
IsVisible="{Binding NoResultChart, Converter={StaticResource negativeConverter}}"/>
<Label Text="{r:Text NoResult}" Style="{StaticResource promptLabel}"
IsVisible="{Binding NoResultChart}"/>
<Grid>
<ScrollView x:Name="scroller">
<StackLayout>
<Grid Margin="0, 10, 0, 0" Padding="8" ColumnSpacing="8" ColumnDefinitions="*, Auto" HeightRequest="24"
BackgroundColor="{DynamicResource PromptBackgroundColor}">
<StackLayout Grid.Column="1" Orientation="Horizontal" Spacing="6">
<Label Text="{r:Text Income}" TextColor="{DynamicResource GreenColor}"
VerticalOptions="Center" FontSize="12"/>
<Label Text="{Binding Income, Converter={StaticResource moneyConverter}}"
TextColor="{DynamicResource TextColor}"
VerticalOptions="Center" FontSize="12"/>
<Label Text="{r:Text Spending}" TextColor="{DynamicResource RedColor}"
VerticalOptions="Center" FontSize="12" Margin="10, 0, 0, 0"/>
<Label Text="{Binding Spending, Converter={StaticResource moneyConverter}}"
TextColor="{DynamicResource TextColor}"
VerticalOptions="Center" FontSize="12"/>
<Label Text="{r:Text Balance}"
VerticalOptions="Center" FontSize="12" Margin="10, 0, 0, 0"/>
<Label Text="{Binding Balance, Converter={StaticResource moneyRawConverter}}"
TextColor="{DynamicResource TextColor}"
VerticalOptions="Center" FontSize="12"/>
</StackLayout>
</Grid>
<Label Text="{r:Text TrackingChart}" Style="{StaticResource titleLabel}"/>
<chart:ChartView HeightRequest="240" Chart="{Binding Chart}"
IsVisible="{Binding NoResultChart, Converter={StaticResource negativeConverter}}"/>
<Label Text="{r:Text NoResult}" Style="{StaticResource promptLabel}"
IsVisible="{Binding NoResultChart}"/>
<Label Text="{r:Text CategoryRank}" Style="{StaticResource titleLabel}"/>
<chart:ChartView HeightRequest="240" Chart="{Binding CategoryChart}"
IsVisible="{Binding NoResultCategoryChart, Converter={StaticResource negativeConverter}}"/>
<Label Text="{r:Text NoResult}" Style="{StaticResource promptLabel}"
IsVisible="{Binding NoResultCategoryChart}"/>
<Label Text="{r:Text CategoryRank}" Style="{StaticResource titleLabel}"/>
<chart:ChartView HeightRequest="240" Chart="{Binding CategoryChart}"
IsVisible="{Binding NoResultCategoryChart, Converter={StaticResource negativeConverter}}"/>
<Label Text="{r:Text NoResult}" Style="{StaticResource promptLabel}"
IsVisible="{Binding NoResultCategoryChart}"/>
<Label Text="{r:Text Top10}" Style="{StaticResource titleLabel}"/>
<ui:GroupStackLayout IsVisible="{Binding NoResultTopBills, Converter={StaticResource negativeConverter}}"
ItemsSource="{Binding TopBills}" RowHeight="50">
<Label Text="{r:Text Top10}" Style="{StaticResource titleLabel}"/>
<ui:GroupStackLayout IsVisible="{Binding NoResultTopBills, Converter={StaticResource negativeConverter}}"
ItemsSource="{Binding TopBills}" RowHeight="50">
<ui:GroupStackLayout.ItemTemplate>
<DataTemplate x:DataType="v:UIBill">
<Grid Padding="20, 0" ColumnSpacing="10"
ColumnDefinitions="Auto, *, Auto" RowDefinitions="Auto, Auto">
<Grid.GestureRecognizers>
<TapGestureRecognizer Command="{Binding EditBilling, Source={x:Reference rankPage}}"
CommandParameter="{Binding .}"/>
</Grid.GestureRecognizers>
<ui:TintImage Source="{Binding Icon, Converter={StaticResource iconConverter}}"
WidthRequest="26" HeightRequest="20" VerticalOptions="Center"/>
<Label Grid.Column="1" Text="{Binding Name}" TextColor="{DynamicResource TextColor}"
VerticalOptions="Center"
FontSize="Default" FontAttributes="Bold"/>
<Label Grid.Column="2" Text="{Binding Amount, Converter={StaticResource moneyConverter}}"
TextColor="{Binding Amount, Converter={StaticResource colorConverter}}"
VerticalOptions="Center"/>
<StackLayout Grid.Row="1" Grid.Column="1" Spacing="6" Orientation="Horizontal">
<Label Text="{Binding DateCreation, Converter={StaticResource timeConverter}}"
FontSize="10" TextColor="{DynamicResource SecondaryTextColor}"/>
<Label Text="{Binding Wallet}"
FontSize="10" TextColor="{DynamicResource SecondaryTextColor}"/>
</StackLayout>
</Grid>
</DataTemplate>
</ui:GroupStackLayout.ItemTemplate>
</ui:GroupStackLayout>
<Label Text="{r:Text NoResult}" Style="{StaticResource promptLabel}"
IsVisible="{Binding NoResultTopBills}"/>
</StackLayout>
</ScrollView>
<ui:GroupStackLayout.ItemTemplate>
<DataTemplate x:DataType="v:UIBill">
<Grid Padding="20, 0" ColumnSpacing="10"
ColumnDefinitions="Auto, *, Auto" RowDefinitions="Auto, Auto">
<Grid.GestureRecognizers>
<TapGestureRecognizer Command="{Binding EditBilling, Source={x:Reference rankPage}}"
CommandParameter="{Binding .}"/>
</Grid.GestureRecognizers>
<ui:TintImage Source="{Binding Icon, Converter={StaticResource iconConverter}}"
WidthRequest="26" HeightRequest="20" VerticalOptions="Center"/>
<Label Grid.Column="1" Text="{Binding Name}" TextColor="{DynamicResource TextColor}"
VerticalOptions="Center"
FontSize="Default" FontAttributes="Bold"/>
<Label Grid.Column="2" Text="{Binding Amount, Converter={StaticResource moneyConverter}}"
TextColor="{Binding Amount, Converter={StaticResource colorConverter}}"
VerticalOptions="Center"/>
<StackLayout Grid.Row="1" Grid.Column="1" Spacing="6" Orientation="Horizontal">
<Label Text="{Binding DateCreation, Converter={StaticResource timeConverter}}"
FontSize="10" TextColor="{DynamicResource SecondaryTextColor}"/>
<Label Text="{Binding Wallet}"
FontSize="10" TextColor="{DynamicResource SecondaryTextColor}"/>
</StackLayout>
</Grid>
</DataTemplate>
</ui:GroupStackLayout.ItemTemplate>
</ui:GroupStackLayout>
<Label Text="{r:Text NoResult}" Style="{StaticResource promptLabel}"
IsVisible="{Binding NoResultTopBills}"/>
</StackLayout>
</ScrollView>
<ui:BlurryPanel x:Name="panelFilter" VerticalOptions="Start" Opacity="0"
BackgroundColor="{DynamicResource WindowBackgroundColor}"
HeightRequest="{Binding Height, Source={x:Reference gridFilter}}"/>
<Grid x:Name="gridFilter" VerticalOptions="Start" Opacity="0" Padding="10">
<ui:SegmentedControl Margin="6, 6, 6, 3" VerticalOptions="Center"
SelectedSegmentIndex="{Binding SegmentType, Mode=TwoWay}"
SelectedTextColor="{DynamicResource TextColor}"
TintColor="{DynamicResource PromptBackgroundColor}">
<ui:SegmentedControl.Children>
<ui:SegmentedControlOption Text="{r:Text Spending}"/>
<ui:SegmentedControlOption Text="{r:Text Income}"/>
</ui:SegmentedControl.Children>
</ui:SegmentedControl>
</Grid>
</Grid>
</ui:BillingPage>