NotificationList.xaml 9.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209
  1. <?xml version="1.0" encoding="utf-8" ?>
  2. <mobile:MobilePage xmlns:local="clr-namespace:PRS.Mobile" xmlns="http://xamarin.com/schemas/2014/forms"
  3. xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
  4. xmlns:mobile="clr-namespace:InABox.Mobile;assembly=InABox.Mobile.Shared"
  5. x:Class="PRS.Mobile.NotificationList"
  6. Title="Notifications">
  7. <mobile:MobilePage.Resources>
  8. <mobile:IntToBooleanConverter x:Key="IntToBooleanConverter"/>
  9. <local:NotificationTypeConverter x:Key="NotificationTypeConverter"/>
  10. <mobile:ShellSelectedConverter x:Key="ShellSelectedConverter"/>
  11. </mobile:MobilePage.Resources>
  12. <mobile:MobilePage.PrimaryMenu>
  13. <mobile:MobileMenuButton
  14. x:Name="_newmessage"
  15. Image="plus"
  16. Clicked="_newmessage_OnClicked"/>
  17. </mobile:MobilePage.PrimaryMenu>
  18. <mobile:MobilePage.PageContent>
  19. <Grid Margin="5">
  20. <Grid.RowDefinitions>
  21. <RowDefinition Height="Auto"/>
  22. <RowDefinition Height="*"/>
  23. <RowDefinition Height="Auto"/>
  24. </Grid.RowDefinitions>
  25. <Grid.ColumnDefinitions>
  26. <ColumnDefinition Width="*"/>
  27. <ColumnDefinition Width="Auto"/>
  28. </Grid.ColumnDefinitions>
  29. <mobile:MobileSearchBar
  30. x:Name="_search"
  31. Grid.Row="0"
  32. Grid.Column="0"
  33. Grid.ColumnSpan="2"
  34. TextChanged="_search_Changed"/>
  35. <mobile:MobileCollectionView
  36. x:Name="_notifications"
  37. Grid.Row="1"
  38. Grid.Column="0"
  39. Grid.ColumnSpan="2"
  40. PullToRefresh="True"
  41. RefreshRequested="_notifications_RefreshRequested"
  42. HasUnevenRows="False"
  43. ShowRecordCount="True">
  44. <mobile:MobileCollectionView.ItemTemplate>
  45. <DataTemplate x:DataType="local:NotificationShell">
  46. <Frame
  47. Padding="2"
  48. BorderColor="Gray"
  49. CornerRadius="5"
  50. HasShadow="False"
  51. VerticalOptions="StartAndExpand"
  52. HeightRequest="100"
  53. BackgroundColor="White">
  54. <Frame.GestureRecognizers>
  55. <TapGestureRecognizer Tapped="_notification_Tapped" />
  56. </Frame.GestureRecognizers>
  57. <Grid
  58. RowSpacing="0"
  59. ColumnSpacing="0"
  60. VerticalOptions="StartAndExpand">
  61. <Grid.RowDefinitions>
  62. <RowDefinition Height="Auto"/>
  63. <RowDefinition Height="*"/>
  64. <RowDefinition Height="Auto"/>
  65. </Grid.RowDefinitions>
  66. <Grid.ColumnDefinitions>
  67. <ColumnDefinition Width="Auto"/>
  68. <ColumnDefinition Width="*"/>
  69. <ColumnDefinition Width="Auto"/>
  70. <ColumnDefinition Width="Auto"/>
  71. </Grid.ColumnDefinitions>
  72. <mobile:MobileCheckBox
  73. Grid.Row="0"
  74. Grid.Column="0"
  75. IsChecked="{Binding ., Converter={StaticResource ShellSelectedConverter}}"
  76. VerticalOptions="Center"
  77. Changed="Selected_Changed"
  78. />
  79. <Label
  80. Grid.Row="0"
  81. Grid.Column="1"
  82. Grid.ColumnSpan="2"
  83. LineBreakMode="WordWrap"
  84. MaxLines="2"
  85. Text="{Binding Title}"
  86. VerticalOptions="Center"
  87. VerticalTextAlignment="Center"
  88. FontAttributes="Bold"
  89. FontSize="Small"
  90. TextColor="Black"/>
  91. <Image
  92. Grid.Row="0"
  93. Grid.Column="3"
  94. WidthRequest="30"
  95. HeightRequest="30"
  96. Aspect="AspectFit"
  97. Source="{Binding EntityType, Converter={StaticResource NotificationTypeConverter}}"
  98. IsVisible="true"
  99. Margin="2"
  100. VerticalOptions="Start"
  101. HorizontalOptions="Center"/>
  102. <Label
  103. Grid.Row="1"
  104. Grid.Column="0"
  105. Grid.ColumnSpan="4"
  106. LineBreakMode="WordWrap"
  107. Text="{Binding Description}"
  108. MaxLines="3"
  109. Margin="5,0"
  110. FontSize="Small"
  111. FontAttributes="Italic"
  112. TextColor="Black"/>
  113. <Label
  114. Grid.Row="2"
  115. Grid.Column="0"
  116. Grid.ColumnSpan="2"
  117. VerticalOptions="Center"
  118. HorizontalTextAlignment="Start"
  119. Text="{Binding Sender}"
  120. Margin="5,0"
  121. FontSize="Micro"
  122. TextColor="Black"/>
  123. <Label
  124. Grid.Row="2"
  125. Grid.Column="2"
  126. Grid.ColumnSpan="2"
  127. Text="{Binding Created, StringFormat='{}{0:dd MMM yy}'}"
  128. FontSize="Micro"
  129. VerticalOptions="Center"
  130. Margin="5,0"
  131. HorizontalTextAlignment="End"
  132. TextColor="Black"/>
  133. </Grid>
  134. </Frame>
  135. </DataTemplate>
  136. </mobile:MobileCollectionView.ItemTemplate>
  137. </mobile:MobileCollectionView>
  138. <mobile:MobileTabStrip
  139. x:Name="_view"
  140. Grid.Row="2"
  141. Grid.Column="0"
  142. SelectionChanged="_view_OnSelectionChanged">
  143. <mobile:MobileTabStrip.Items>
  144. <mobile:MobileTabStripItem Text="Unread" />
  145. <mobile:MobileTabStripItem Text="History" />
  146. </mobile:MobileTabStrip.Items>
  147. </mobile:MobileTabStrip>
  148. <mobile:MobileCard
  149. BackgroundColor="Silver"
  150. Grid.Row="2"
  151. Grid.Column="1">
  152. <mobile:MobileMenuButton
  153. x:Name="_options"
  154. Image="lines"
  155. Appearing="_options_OnAppearing"
  156. Position="AlignTopLeft">
  157. <mobile:MobileMenuButton.Items>
  158. <mobile:MobileMenuItem
  159. x:Name="_markAsRead"
  160. Text="Mark As Read"
  161. Clicked="_markAsRead_Clicked" />
  162. <mobile:MobileMenuItem
  163. x:Name="_markAsUnread"
  164. Text="Mark As Unread"
  165. IsVisible="False"
  166. Clicked="_markAsUnread_Clicked" />
  167. <mobile:MobileMenuSeparator
  168. x:Name="_separator"/>
  169. <mobile:MobileMenuItem
  170. x:Name="_selectAll"
  171. Text="Select All"
  172. Clicked="_selectAll_Clicked" />
  173. <mobile:MobileMenuItem
  174. x:Name="_selectNone"
  175. Text="Select None"
  176. IsVisible="False"
  177. Clicked="_selectNone_Clicked" />
  178. </mobile:MobileMenuButton.Items>
  179. </mobile:MobileMenuButton>
  180. </mobile:MobileCard>
  181. </Grid>
  182. </mobile:MobilePage.PageContent>
  183. </mobile:MobilePage>