RequisitionItemEditor.xaml 4.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <mobile:MobilePage 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. xmlns:local="clr-namespace:PRS.Mobile;assembly=PRS.Mobile"
  6. xmlns:views="http://xamarin.com/schemas/2020/toolkit"
  7. x:Class="PRS.Mobile.RequisitionItemEditor"
  8. Title="Edit Site Requi Item">
  9. <mobile:MobilePage.BindingContext>
  10. <local:RequisitionItemEditorViewModel x:Name="_viewModel" />
  11. </mobile:MobilePage.BindingContext>
  12. <mobile:MobilePage.Resources>
  13. <local:ReqisitionItemEditorProductConverter x:Key="ProductConverter" />
  14. <mobile:GuidToBooleanConverter x:Key="ImageEnabled" EmptyValue="True" />
  15. <mobile:ByteArrayToImageSourceConverter x:Key="ImageConverter" BlankIfEmpty="True"/>
  16. <mobile:BooleanMatcher x:Key="Either" Type="Any"/>
  17. <mobile:BooleanToBooleanConverter x:Key="NotTrue" Invert="True" />
  18. </mobile:MobilePage.Resources>
  19. <mobile:MobilePage.PrimaryMenu>
  20. <mobile:MobileMenuButton Image="tick" Clicked="SaveItem_Clicked" />
  21. </mobile:MobilePage.PrimaryMenu>
  22. <mobile:MobilePage.PageContent>
  23. <Grid Margin="5" RowSpacing="5">
  24. <Grid.RowDefinitions>
  25. <RowDefinition Height="Auto"/>
  26. <RowDefinition Height="200"/>
  27. <RowDefinition Height="Auto"/>
  28. <RowDefinition Height="*"/>
  29. <RowDefinition Height="Auto"/>
  30. </Grid.RowDefinitions>
  31. <Grid
  32. Grid.Row="0"
  33. ColumnSpacing="0">
  34. <Grid.ColumnDefinitions>
  35. <ColumnDefinition Width="*"/>
  36. <ColumnDefinition Width="Auto" />
  37. </Grid.ColumnDefinitions>
  38. <mobile:MobileButton
  39. Grid.Column="0"
  40. Text="{Binding Product, Converter={StaticResource ProductConverter}}"
  41. Clicked="_selectProduct_OnClicked"/>
  42. <mobile:MobileButton
  43. Grid.Column="1"
  44. Text="Clear"
  45. Margin="5,0,0,0"
  46. WidthRequest="60"
  47. IsVisible="{Binding HasProduct}"
  48. Clicked="_clearProduct_OnClicked"/>
  49. </Grid>
  50. <mobile:MobileCard
  51. Grid.Row="1">
  52. <mobile:MobileEditor
  53. Text="{Binding Description}"/>
  54. </mobile:MobileCard>
  55. <views:DockLayout
  56. Grid.Row="2">
  57. <mobile:MobileMenuButton
  58. views:DockLayout.Dock="Left"
  59. Image="minus"
  60. Clicked="Minus_Clicked"/>
  61. <mobile:MobileMenuButton
  62. views:DockLayout.Dock="Right"
  63. Image="plus"
  64. Clicked="Plus_Clicked"/>
  65. <mobile:MobileCard
  66. views:DockLayout.Dock="Left">
  67. <mobile:MobileEntry
  68. Placeholder="Enter Qty"
  69. HorizontalTextAlignment="Center"
  70. VerticalTextAlignment="Center"
  71. Text="{Binding Quantity, Mode=TwoWay}"/>
  72. </mobile:MobileCard>
  73. </views:DockLayout>
  74. <mobile:MobileCard
  75. Grid.Row="3">
  76. <Image
  77. Source="{Binding Image, Converter={StaticResource ImageConverter}}"
  78. Margin="5"/>
  79. </mobile:MobileCard>
  80. <mobile:MobileMenuButton
  81. Grid.Row="3"
  82. HorizontalOptions="End"
  83. VerticalOptions="End"
  84. Margin="10"
  85. HeightRequest="40"
  86. WidthRequest="40"
  87. Image="camera">
  88. <mobile:MobileMenuButton.IsVisible>
  89. <MultiBinding Converter="{StaticResource Either}">
  90. <Binding Path="HasProduct" Converter="{StaticResource NotTrue}"/>
  91. <Binding Path="HasProductImage" Converter="{StaticResource NotTrue}"/>
  92. </MultiBinding>
  93. </mobile:MobileMenuButton.IsVisible>
  94. <mobile:MobileMenuButton.Items>
  95. <mobile:MobileMenuItem Text="Take Picture" Clicked="TakePicture_Clicked" />
  96. <mobile:MobileMenuItem Text="Choose from Library" Clicked="SelectImage_Clicked" />
  97. </mobile:MobileMenuButton.Items>
  98. </mobile:MobileMenuButton>
  99. </Grid>
  100. </mobile:MobilePage.PageContent>
  101. </mobile:MobilePage>