label right detail cell for attachments
This commit is contained in:
parent
2f86b5c7b0
commit
eec4be1845
|
@ -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" />
|
||||||
|
|
|
@ -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; }
|
||||||
|
}
|
||||||
|
}
|
|
@ -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();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue