96 lines
4.5 KiB
XML
96 lines
4.5 KiB
XML
<?xml version="1.0" encoding="utf-8" ?>
|
|
<pages:BaseContentPage xmlns="http://xamarin.com/schemas/2014/forms"
|
|
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
|
|
x:Class="Bit.App.Pages.GroupingsPage"
|
|
xmlns:pages="clr-namespace:Bit.App.Pages"
|
|
xmlns:u="clr-namespace:Bit.App.Utilities"
|
|
xmlns:controls="clr-namespace:Bit.App.Controls"
|
|
x:DataType="pages:GroupingsPageViewModel"
|
|
Title="{Binding PageTitle}"
|
|
x:Name="_page">
|
|
|
|
<ContentPage.BindingContext>
|
|
<pages:GroupingsPageViewModel />
|
|
</ContentPage.BindingContext>
|
|
|
|
<ContentPage.ToolbarItems>
|
|
<ToolbarItem Text="" Clicked="Search_Clicked" />
|
|
</ContentPage.ToolbarItems>
|
|
|
|
<ContentPage.Resources>
|
|
<ResourceDictionary>
|
|
<DataTemplate x:Key="cipherTemplate"
|
|
x:DataType="pages:GroupingsPageListItem">
|
|
<controls:CipherViewCell
|
|
Cipher="{Binding Cipher}"
|
|
ButtonCommand="{Binding BindingContext.CipherOptionsCommand, Source={x:Reference _page}}" />
|
|
</DataTemplate>
|
|
|
|
<DataTemplate x:Key="groupTemplate"
|
|
x:DataType="pages:GroupingsPageListItem">
|
|
<ViewCell>
|
|
<StackLayout Orientation="Horizontal"
|
|
StyleClass="list-row, list-row-platform">
|
|
<controls:FaLabel Text="{Binding Icon, Mode=OneWay}"
|
|
HorizontalOptions="Start"
|
|
VerticalOptions="Center"
|
|
StyleClass="list-icon" />
|
|
<Label Text="{Binding Name, Mode=OneWay}"
|
|
LineBreakMode="TailTruncation"
|
|
HorizontalOptions="StartAndExpand"
|
|
VerticalOptions="CenterAndExpand"
|
|
StyleClass="list-title"/>
|
|
<Label Text="{Binding ItemCount, Mode=OneWay}"
|
|
HorizontalOptions="End"
|
|
HorizontalTextAlignment="End"
|
|
StyleClass="list-sub"/>
|
|
</StackLayout>
|
|
</ViewCell>
|
|
</DataTemplate>
|
|
|
|
<pages:GroupingsPageListItemSelector x:Key="listItemDataTemplateSelector"
|
|
CipherTemplate="{StaticResource cipherTemplate}"
|
|
GroupTemplate="{StaticResource groupTemplate}" />
|
|
</ResourceDictionary>
|
|
</ContentPage.Resources>
|
|
<StackLayout x:Name="_mainLayout">
|
|
<StackLayout VerticalOptions="CenterAndExpand"
|
|
Padding="20, 0"
|
|
Spacing="20"
|
|
IsVisible="{Binding ShowNoData}">
|
|
<Label Text="{Binding NoDataText}"
|
|
HorizontalTextAlignment="Center"></Label>
|
|
<Button Text="{u:I18n AddAnItem}"
|
|
Command="{Binding AddCipherCommand}"
|
|
IsVisible="{Binding ShowAddCipherButton}"></Button>
|
|
</StackLayout>
|
|
<ListView x:Name="ItemsListView"
|
|
IsVisible="{Binding ShowList}"
|
|
ItemsSource="{Binding GroupedItems}"
|
|
VerticalOptions="FillAndExpand"
|
|
HasUnevenRows="true"
|
|
RefreshCommand="{Binding RefreshCommand}"
|
|
IsPullToRefreshEnabled="true"
|
|
IsRefreshing="{Binding Refreshing}"
|
|
CachingStrategy="RecycleElement"
|
|
ItemTemplate="{StaticResource listItemDataTemplateSelector}"
|
|
IsGroupingEnabled="True"
|
|
ItemSelected="RowSelected"
|
|
StyleClass="list, list-platform">
|
|
<ListView.GroupHeaderTemplate>
|
|
<DataTemplate x:DataType="pages:GroupingsPageListGroup">
|
|
<ViewCell>
|
|
<StackLayout StyleClass="list-row-header">
|
|
<Label Text="{Binding Name}"
|
|
StyleClass="list-header, list-header-platform" />
|
|
<Label Text="{Binding ItemCount}"
|
|
StyleClass="list-header-sub" />
|
|
</StackLayout>
|
|
</ViewCell>
|
|
</DataTemplate>
|
|
</ListView.GroupHeaderTemplate>
|
|
</ListView>
|
|
</StackLayout>
|
|
|
|
</pages:BaseContentPage>
|