label right detail cell for attachments

This commit is contained in:
Kyle Spearrin 2017-07-13 00:02:37 -04:00
parent 2f86b5c7b0
commit eec4be1845
3 changed files with 64 additions and 7 deletions

View File

@ -68,6 +68,7 @@
<Compile Include="Controls\ExtendedButton.cs" /> <Compile Include="Controls\ExtendedButton.cs" />
<Compile Include="Controls\ExtendedNavigationPage.cs" /> <Compile Include="Controls\ExtendedNavigationPage.cs" />
<Compile Include="Controls\ExtendedContentPage.cs" /> <Compile Include="Controls\ExtendedContentPage.cs" />
<Compile Include="Controls\LabeledRightDetailCell.cs" />
<Compile Include="Controls\MemoryContentView.cs" /> <Compile Include="Controls\MemoryContentView.cs" />
<Compile Include="Controls\StepperCell.cs" /> <Compile Include="Controls\StepperCell.cs" />
<Compile Include="Controls\ExtendedTableView.cs" /> <Compile Include="Controls\ExtendedTableView.cs" />

View File

@ -0,0 +1,54 @@
using FFImageLoading.Forms;
using Xamarin.Forms;
namespace Bit.App.Controls
{
public class LabeledRightDetailCell : ExtendedViewCell
{
public LabeledRightDetailCell()
{
Label = new Label
{
LineBreakMode = LineBreakMode.TailTruncation,
FontSize = Device.GetNamedSize(NamedSize.Medium, typeof(Label)),
HorizontalOptions = LayoutOptions.StartAndExpand,
};
Detail = new Label
{
FontSize = Device.GetNamedSize(NamedSize.Small, typeof(Label)),
LineBreakMode = LineBreakMode.TailTruncation,
Style = (Style)Application.Current.Resources["text-muted"],
HorizontalOptions = LayoutOptions.End,
VerticalOptions = LayoutOptions.Center
};
Icon = new CachedImage
{
WidthRequest = 16,
HeightRequest = 16,
HorizontalOptions = LayoutOptions.End,
VerticalOptions = LayoutOptions.Center,
Margin = new Thickness(5, 0, 0, 0)
};
var stackLayout = new StackLayout
{
Orientation = StackOrientation.Horizontal,
Padding = new Thickness(15, 10),
Children = { Label, Detail, Icon }
};
if(Device.RuntimePlatform == Device.Android)
{
Label.TextColor = Color.Black;
}
View = stackLayout;
}
public Label Label { get; private set; }
public Label Detail { get; private set; }
public CachedImage Icon { get; private set; }
}
}

View File

@ -261,21 +261,23 @@ namespace Bit.App.Pages
} }
} }
public class AttachmentViewCell : ExtendedTextCell public class AttachmentViewCell : LabeledRightDetailCell
{ {
Action _clicked; private readonly Action _tapped;
public AttachmentViewCell(VaultViewLoginPageModel.Attachment attachment, Action clickedAction) public AttachmentViewCell(VaultViewLoginPageModel.Attachment attachment, Action tappedAction)
{ {
_clicked = clickedAction; _tapped = tappedAction;
Text = attachment.Name; Label.Text = attachment.Name;
Tapped += AttachmentViewCell_Tapped; Detail.Text = attachment.Size;
Icon.Source = "user"; // TODO: download icon
BackgroundColor = Color.White; BackgroundColor = Color.White;
Tapped += AttachmentViewCell_Tapped;
} }
private void AttachmentViewCell_Tapped(object sender, EventArgs e) private void AttachmentViewCell_Tapped(object sender, EventArgs e)
{ {
_clicked?.Invoke(); _tapped?.Invoke();
} }
} }
} }