KanbanList.xaml 12 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <mobile:MobilePage
  3. xmlns="http://xamarin.com/schemas/2014/forms"
  4. xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
  5. xmlns:local="clr-namespace:PRS.Mobile;assembly=PRS.Mobile"
  6. xmlns:ui="clr-namespace:XF.Material.Forms.UI;assembly=XF.Material"
  7. xmlns:mobile="clr-namespace:InABox.Mobile;assembly=InABox.Mobile.Shared"
  8. x:Class="PRS.Mobile.KanbanList">
  9. <mobile:MobilePage.Resources>
  10. <local:KanbanBackgroundColorConverter x:Key="KanbanBackgroundColorConverter"/>
  11. <local:KanbanForegroundColorConverter x:Key="KanbanForegroundColorConverter"/>
  12. <mobile:IntToBooleanConverter x:Key="IntToBooleanConverter"/>
  13. <mobile:ShellSelectedConverter x:Key="ShellSelectedConverter"/>
  14. </mobile:MobilePage.Resources>
  15. <mobile:MobilePage.BindingContext>
  16. <local:KanbanListViewModel x:Name="_viewmodel" />
  17. </mobile:MobilePage.BindingContext>
  18. <mobile:MobilePage.PrimaryMenu>
  19. <!-- <mobile:MobileMenuButton -->
  20. <!-- Grid.Row="2" -->
  21. <!-- Grid.Column="1" -->
  22. <!-- x:Name="_addtask" -->
  23. <!-- IsVisible="True" -->
  24. <!-- Image="plus" -->
  25. <!-- HeightRequest="50" -->
  26. <!-- WidthRequest="50" -->
  27. <!-- HorizontalOptions="End" -->
  28. <!-- VerticalOptions="End" -->
  29. <!-- Clicked="_addtask_OnClicked" /> -->
  30. <mobile:MobileMenuButton
  31. x:Name="_addtask"
  32. Image="plus"
  33. Clicked="_addtask_OnClicked" />
  34. </mobile:MobilePage.PrimaryMenu>
  35. <mobile:MobilePage.PageContent>
  36. <Grid RowSpacing="5" Margin="5" ColumnSpacing="5">
  37. <Grid.RowDefinitions>
  38. <RowDefinition Height="Auto"/>
  39. <RowDefinition Height="*"/>
  40. <RowDefinition Height="Auto"/>
  41. </Grid.RowDefinitions>
  42. <Grid.ColumnDefinitions>
  43. <ColumnDefinition Width="*"/>
  44. <ColumnDefinition Width="Auto"/>
  45. </Grid.ColumnDefinitions>
  46. <mobile:MobileSearchBar
  47. x:Name="_search"
  48. Grid.Row="0"
  49. Grid.Column="0"
  50. Grid.ColumnSpan="2"
  51. PlaceHolder="Search"
  52. TextChanged="_search_OnTextChanged"
  53. TextSize="10"/>
  54. <mobile:MobileCollectionView
  55. x:Name="_tasks"
  56. Grid.Row="1"
  57. Grid.Column="0"
  58. Grid.ColumnSpan="2"
  59. PullToRefresh="True"
  60. RefreshRequested="_tasks_OnRefresh"
  61. HasUnevenRows="True"
  62. ShowRecordCount="True">
  63. <mobile:MobileCollectionView.ItemTemplate>
  64. <DataTemplate x:DataType="local:IKanbanShell">
  65. <mobile:MobileCard
  66. HorizontalOptions="FillAndExpand"
  67. BackgroundColor="{Binding ., Converter={StaticResource KanbanBackgroundColorConverter}}"
  68. Padding="2,2,5,5"
  69. IsClickable="True"
  70. Clicked="Kanban_Clicked">
  71. <Grid
  72. RowSpacing="0"
  73. ColumnSpacing="0"
  74. HorizontalOptions="Fill">
  75. <Grid.RowDefinitions>
  76. <RowDefinition Height="Auto"/>
  77. <RowDefinition Height="Auto"/>
  78. <RowDefinition Height="Auto"/>
  79. </Grid.RowDefinitions>
  80. <Grid.ColumnDefinitions>
  81. <ColumnDefinition Width="Auto"/>
  82. <ColumnDefinition Width="Auto"/>
  83. <ColumnDefinition Width="*"/>
  84. <ColumnDefinition Width="Auto"/>
  85. </Grid.ColumnDefinitions>
  86. <mobile:MobileCheckBox
  87. Grid.Row="0"
  88. Grid.Column="0"
  89. IsChecked="{Binding ., Converter={StaticResource ShellSelectedConverter}}"
  90. VerticalOptions="Center"
  91. Changed="CheckBox_Changed"
  92. />
  93. <ui:MaterialLabel
  94. Grid.Row="0"
  95. Grid.Column="1"
  96. Text="{Binding Number}"
  97. TextColor="{Binding ., Converter={StaticResource KanbanForegroundColorConverter}}"
  98. TypeScale="Subtitle2"
  99. HorizontalOptions="Fill"
  100. HorizontalTextAlignment="Center"
  101. VerticalOptions="Center"
  102. VerticalTextAlignment="Center"
  103. LineBreakMode="NoWrap"
  104. LineHeight="1.0"
  105. Margin="0"
  106. />
  107. <ui:MaterialLabel
  108. Grid.Row="0"
  109. Grid.Column="2"
  110. Grid.ColumnSpan="2"
  111. Text="{Binding Title}"
  112. TextColor="{Binding ., Converter={StaticResource KanbanForegroundColorConverter}}"
  113. TypeScale="Subtitle2"
  114. HorizontalOptions="Fill"
  115. HorizontalTextAlignment="Start"
  116. VerticalOptions="Center"
  117. VerticalTextAlignment="Center"
  118. LineHeight="1.0"
  119. LineBreakMode="TailTruncation"
  120. MaxLines="1"
  121. Margin="5,0,0,0"
  122. />
  123. <Image
  124. Grid.Row="0"
  125. Grid.Column="3"
  126. Source="paperclip"
  127. HeightRequest="20"
  128. WidthRequest="20"
  129. VerticalOptions="Center"
  130. HorizontalOptions="End"
  131. IsVisible="{Binding Attachments, Converter={StaticResource IntToBooleanConverter}}"
  132. />
  133. <ui:MaterialLabel
  134. Grid.Row="1"
  135. Grid.Column="0"
  136. Grid.ColumnSpan="4"
  137. Text="{Binding Summary}"
  138. TextColor="{Binding ., Converter={StaticResource KanbanForegroundColorConverter}}"
  139. TypeScale="Body2"
  140. HorizontalOptions="Fill"
  141. HorizontalTextAlignment="Start"
  142. VerticalOptions="Fill"
  143. VerticalTextAlignment="Start"
  144. LineBreakMode="WordWrap"
  145. LineHeight="1.0"
  146. MaxLines="10"
  147. Margin="5,0,0,5"
  148. />
  149. <ui:MaterialLabel
  150. Grid.Row="2"
  151. Grid.Column="0"
  152. Grid.ColumnSpan="3"
  153. Text="{Binding EmployeeName}"
  154. TextColor="{Binding ., Converter={StaticResource KanbanForegroundColorConverter}}"
  155. TypeScale="Caption"
  156. FontAttributes="Italic"
  157. HorizontalOptions="Fill"
  158. HorizontalTextAlignment="Start"
  159. VerticalOptions="Fill"
  160. VerticalTextAlignment="Center"
  161. LineBreakMode="TailTruncation"
  162. LineHeight="1.0"
  163. Margin="5,0,0,0"
  164. />
  165. <ui:MaterialLabel
  166. Grid.Row="2"
  167. Grid.Column="3"
  168. Text="{Binding DueDate, StringFormat='{}{0:dd MMM yy}'}"
  169. TextColor="{Binding ., Converter={StaticResource KanbanForegroundColorConverter}}"
  170. TypeScale="Caption"
  171. FontAttributes="Italic"
  172. HorizontalOptions="Fill"
  173. HorizontalTextAlignment="End"
  174. VerticalOptions="Fill"
  175. VerticalTextAlignment="Center"
  176. LineBreakMode="NoWrap"
  177. LineHeight="1.0"
  178. Margin="0">
  179. <ui:MaterialLabel.Triggers>
  180. <DataTrigger TargetType="ui:MaterialLabel" Binding="{Binding Category}" Value="Complete">
  181. <Setter Property="Text" Value="{Binding Completed, StringFormat='{}{0:dd MMM yy}'}" />
  182. </DataTrigger>
  183. </ui:MaterialLabel.Triggers>
  184. </ui:MaterialLabel>
  185. </Grid>
  186. </mobile:MobileCard>
  187. </DataTemplate>
  188. </mobile:MobileCollectionView.ItemTemplate>
  189. </mobile:MobileCollectionView>
  190. <mobile:MobileTabStrip
  191. x:Name="_tabStrip"
  192. Grid.Row="2"
  193. Grid.Column="0"
  194. SelectionChanged="_tabStrip_OnSelectionChanged">
  195. <mobile:MobileTabStrip.Items>
  196. <mobile:MobileTabStripItem Text="New"/>
  197. <mobile:MobileTabStripItem Text="Current"/>
  198. <mobile:MobileTabStripItem Text="Waiting"/>
  199. <mobile:MobileTabStripItem Text="Done"/>
  200. </mobile:MobileTabStrip.Items>
  201. </mobile:MobileTabStrip>
  202. <mobile:MobileCard
  203. Grid.Row="2"
  204. Grid.Column="1"
  205. Background="Silver">
  206. <mobile:MobileMenuButton
  207. x:Name="_selectionmenu"
  208. IsVisible="True"
  209. Image="lines"
  210. Position="AlignTopLeft"
  211. Appearing="_selectionmenu_OnAppearing"
  212. >
  213. <mobile:MobileMenuButton.Items>
  214. <mobile:MobileMenuItem x:Name="_reassign" Text="Reassign Task" Clicked="_reassign_OnClicked"/>
  215. <mobile:MobileMenuItem x:Name="_setstatus" Text="Change Status" Clicked="_setstatus_OnClicked"/>
  216. <mobile:MobileMenuSeparator x:Name="_separator"/>
  217. <mobile:MobileMenuItem x:Name="_selectAll" Text="Select All" Clicked="_selectAll_OnClicked" />
  218. <mobile:MobileMenuItem x:Name="_selectNone" Text="Select None" IsVisible="False" Clicked="_selectNone_OnClicked" />
  219. </mobile:MobileMenuButton.Items>
  220. </mobile:MobileMenuButton>
  221. </mobile:MobileCard>
  222. </Grid>
  223. </mobile:MobilePage.PageContent>
  224. </mobile:MobilePage>