| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337 |
- <?xml version="1.0" encoding="utf-8" ?>
- <mobile:MobilePage xmlns:local="clr-namespace:PRS.Mobile" xmlns="http://xamarin.com/schemas/2014/forms"
- xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
- xmlns:mobile="clr-namespace:InABox.Mobile;assembly=InABox.Mobile.Shared"
- xmlns:views="http://xamarin.com/schemas/2020/toolkit"
- xmlns:ui="clr-namespace:XF.Material.Forms.UI;assembly=XF.Material"
- x:Class="PRS.Mobile.StockLocationSelectionPage"
- Title="Select Location"
- x:DataType="local:StockLocationSelectionViewModel"
- >
-
- <mobile:MobilePage.BindingContext>
- <local:StockLocationSelectionViewModel x:Name="_viewmodel" />
- </mobile:MobilePage.BindingContext>
-
- <mobile:MobilePage.Resources>
- <mobile:StringWithDefaultValueConverter x:Key="WarehouseConverter" Default="(All Warehouses)" />
- <mobile:StringWithDefaultValueConverter x:Key="AreaConverter" Default="(All Areas)" />
- <mobile:BooleanToGridLengthConverter x:Key="MultiSelectColumnWidth" TrueValue="*" FalseValue="0.0" />
- <mobile:BoolToIntegerConverter x:Key="AddColumnConverter" TrueValue="1" FalseValue="0"/>
- <mobile:StringWithDefaultValueConverter x:Key="JobNumberConverter" Default="--"/>
- <mobile:BooleanToColorConverter x:Key="CurrentStockTakesConverter" TrueColor="Yellow" FalseColor="{StaticResource Theme.Background}" />
- <local:StockLocationLastStockTakeConverter x:Key="LastStockTakeConverter" x:Name="_lastStockTakeConverter" />
- <local:StockLocationStockTakeStatusConverter x:Key="StockTakeStatusConverter" x:Name="_stockTakeStatusConverter" />
- <local:StockLocationStockTakeColorConverter x:Key="StockTakeColorConverter" x:Name="_stockTakeColorConverter" />
-
- <mobile:BooleanToBooleanConverter x:Key="NotTrue" Invert="True" />
- <mobile:BooleanMatcher x:Key="MatchAll" Type="All" Value="True" />
- <DataTemplate x:Key="LocationTemplate" x:DataType="local:StockLocationShell">
- <ViewCell>
- <mobile:MobileCard
- IsClickable="True"
- Clicked="Location_Selected"
- BackgroundColor="{Binding ., Converter={StaticResource StockTakeColorConverter}}"
- HeightRequest="40"
- Margin="0,0,0,5"
- Padding="4">
- <mobile:MobileCard.Content>
- <Grid RowSpacing="5">
- <Grid.RowDefinitions>
- <RowDefinition Height="*"/>
- <RowDefinition Height="Auto" />
- </Grid.RowDefinitions>
- <Grid.ColumnDefinitions>
- <ColumnDefinition Width="Auto"/>
- <ColumnDefinition Width="100"/>
- <ColumnDefinition Width="*" />
- <ColumnDefinition Width="100"/>
- </Grid.ColumnDefinitions>
-
- <Image
- Grid.Row="0"
- Grid.RowSpan="2"
- Grid.Column="0"
- Source="notification"
- Margin="0,0,5,0"
- Aspect="AspectFit"
- VerticalOptions="Center"
- HorizontalOptions="Center"
- IsVisible="{Binding ., Converter={StaticResource StockTakeStatusConverter}}"/>
-
- <views:DockLayout
- Grid.Row="0"
- Grid.Column="1"
- Grid.ColumnSpan="3"
- HorizontalOptions="Fill">
- <Label
- views:DockLayout.Dock="Left"
- Text="{Binding Code}"
- FontSize="Micro"
- TextColor="{StaticResource Theme.OnBackground}"
- VerticalTextAlignment="Center"/>
- <Label
- views:DockLayout.Dock="Left"
- Text=" : "
- FontSize="Micro"
- TextColor="{StaticResource Theme.OnBackground}"
- VerticalTextAlignment="Center"/>
- <Label
- views:DockLayout.Dock="Left"
- Text="{Binding Description}"
- FontSize="Micro"
- TextColor="{StaticResource Theme.OnBackground}"
- VerticalTextAlignment="Center"/>
-
- <Label
- views:DockLayout.Dock="Left"
- Text="{Binding ., Converter={StaticResource LastStockTakeConverter}}"
- FontSize="Micro"
- TextColor="{StaticResource Theme.OnBackground}"
- HorizontalTextAlignment="End"
- VerticalTextAlignment="Center"
- />
- </views:DockLayout>
-
- <Label
- Grid.Row="1"
- Grid.Column="1"
- Text="{Binding JobNumber, Converter={StaticResource JobNumberConverter}, StringFormat='Job : {0}'}"
- FontSize="Micro"
- TextColor="{StaticResource Theme.OnBackground}"
- HorizontalTextAlignment="Start"
- VerticalTextAlignment="Center"
- />
-
- <views:DockLayout
- Grid.Row="1"
- Grid.Column="2"
- HorizontalOptions="Center">
- <Label
- views:DockLayout.Dock="Right"
- Text="{Binding AreaCode}"
- FontSize="Micro"
- TextColor="{StaticResource Theme.OnBackground}"
- VerticalTextAlignment="Center"/>
- <Label
- views:DockLayout.Dock="Right"
- Text=" / "
- FontSize="Micro"
- TextColor="{StaticResource Theme.OnBackground}"
- VerticalTextAlignment="Center"/>
- <Label
- views:DockLayout.Dock="Right"
- Text="{Binding WarehouseCode}"
- FontSize="Micro"
- TextColor="{StaticResource Theme.OnBackground}"
- VerticalTextAlignment="Center"/>
- </views:DockLayout>
-
- <Label
- Grid.Row="1"
- Grid.Column="3"
- Text="{Binding Holdings, StringFormat='Items : {0}'}"
- FontSize="Micro"
- TextColor="{StaticResource Theme.OnBackground}"
- HorizontalTextAlignment="End"
- VerticalTextAlignment="Center"/>
-
- </Grid>
- </mobile:MobileCard.Content>
- </mobile:MobileCard>
- </ViewCell>
- </DataTemplate>
- </mobile:MobilePage.Resources>
-
- <mobile:MobilePage.PrimaryMenu>
- <mobile:MobileMenuButton x:Name="OK" Image="tick" Clicked="OK_OnClicked" IsVisible="{Binding MultiSelect}"/>
- <mobile:MobileMenuButton Image="plus" Clicked="AddLocation_Clicked">
- <mobile:MobileMenuButton.IsVisible>
- <MultiBinding Converter="{StaticResource MatchAll}">
- <Binding Path="MultiSelect" Converter="{StaticResource NotTrue}"/>
- <Binding Path="AddVisible" />
- </MultiBinding>
- </mobile:MobileMenuButton.IsVisible>
- </mobile:MobileMenuButton>
- </mobile:MobilePage.PrimaryMenu>
-
- <mobile:MobilePage.PageContent>
- <views:DockLayout>
-
- <mobile:MobileTabStrip
- x:Name="_tabStrip"
- views:DockLayout.Dock="Bottom"
- SelectionChanged="_tabStrip_OnSelectionChanged"
- Margin="5,0,5,0">
- <mobile:MobileTabStrip.Items>
- <mobile:MobileTabStripItem Text="Favourites" />
- <mobile:MobileTabStripItem Text="All" />
- </mobile:MobileTabStrip.Items>
- </mobile:MobileTabStrip>
-
- <Grid
- Padding="5"
- RowSpacing="5"
- ColumnSpacing="0"
- views:DockLayout.Dock="Top">
-
- <Grid.ColumnDefinitions>
- <ColumnDefinition Width="*"/>
- <ColumnDefinition Width="{Binding MultiSelect, Converter={StaticResource MultiSelectColumnWidth}}"/>
- </Grid.ColumnDefinitions>
-
- <Grid.RowDefinitions>
- <RowDefinition Height="*"/>
- </Grid.RowDefinitions>
-
- <mobile:MobilePageStack
- x:Name="_pageStack"
- Grid.Row="0"
- Grid.Column="0">
- <mobile:MobilePageStack.Items>
-
- <mobile:MobilePageStackItem x:Name="Favourites">
- <mobile:MobilePageStackItem.Content>
-
- <mobile:MobileListView
- x:Name="_favourites"
- views:DockLayout.Dock="Top"
- Margin="0,5,0,0"
- ItemsSource="{Binding Favourites}"
- PullToRefresh="{Binding PullToRefresh}"
- ShowRecordCount="{Binding PullToRefresh}"
- LastUpdated="{Binding LastUpdated}"
- ItemTemplate="{StaticResource LocationTemplate}"
- RefreshRequested="MobileListView_OnRefreshRequested">
- </mobile:MobileListView>
-
- </mobile:MobilePageStackItem.Content>
- </mobile:MobilePageStackItem>
-
- <mobile:MobilePageStackItem x:Name="All">
- <mobile:MobilePageStackItem.Content>
- <views:DockLayout>
-
- <mobile:MobileButton
- x:Name="Warehouse"
- views:DockLayout.Dock="Top"
- Text="{Binding Warehouse.Description, Converter={StaticResource WarehouseConverter}}"
- Clicked="Warehouse_Clicked"/>
-
- <mobile:MobileButton
- x:Name="Area"
- views:DockLayout.Dock="Top"
- Margin="0,5,0,0"
- Text="{Binding Area.Description, Converter={StaticResource AreaConverter}}"
- Clicked="Area_Clicked"/>
-
- <Grid
- views:DockLayout.Dock="Top"
- Margin="0,5,0,0"
- HeightRequest="{Binding Source={x:Reference Warehouse}, Path=Height}"
- ColumnSpacing="0">
- <Grid.ColumnDefinitions>
- <ColumnDefinition Width="*"/>
- <ColumnDefinition Width="Auto"/>
- </Grid.ColumnDefinitions>
-
- <mobile:MobileCard
- Grid.Column="0"
- BackgroundColor="{Binding Source={x:Reference Search}, Path=BackgroundColor}"
- Padding="10,1">
- <mobile:MobileEntry
- x:Name="Search"
- TextChanged="Search_OnTextChanged"
- Placeholder="Search..." />
- </mobile:MobileCard>
-
- <mobile:MobileCard
- Grid.Column="1"
- Margin="5,0,0,0"
- IsVisible="{Binding DisplayStockTakeInfo}"
- BackgroundColor="{Binding CurrentStockTakesOnly, Converter={StaticResource CurrentStockTakesConverter}}"
- IsClickable="True"
- Clicked="CurrentStockTakes_Clicked"
- WidthRequest="{Binding Source={x:Reference Warehouse}, Path=Height}">
- <Image
- Source="notification"
- Margin="2"
- Aspect="AspectFit"
- VerticalOptions="Center"
- HorizontalOptions="Center"/>
- </mobile:MobileCard>
-
- </Grid>
-
- <mobile:MobileListView
- x:Name="_locations"
- views:DockLayout.Dock="Top"
- Margin="0,5,0,0"
- ItemsSource="{Binding Locations}"
- ItemTemplate="{StaticResource LocationTemplate}"
- PullToRefresh="{Binding PullToRefresh, Mode=TwoWay}"
- ShowRecordCount="{Binding PullToRefresh, Mode=TwoWay}"
- LastUpdated="{Binding LastUpdated, Mode=TwoWay}"
- RefreshRequested="MobileListView_OnRefreshRequested">
- </mobile:MobileListView>
-
- </views:DockLayout>
- </mobile:MobilePageStackItem.Content>
- </mobile:MobilePageStackItem>
-
- </mobile:MobilePageStack.Items>
- </mobile:MobilePageStack>
-
- <mobile:MobileMenuButton
- Grid.Row="0"
- Grid.Column="{Binding MultiSelect, Converter={StaticResource AddColumnConverter}}"
- Image="plus"
- HeightRequest="40"
- WidthRequest="40"
- Margin="0,0,10,10"
- VerticalOptions="End"
- HorizontalOptions="End"
- Clicked="AddLocation_Clicked">
- <mobile:MobileMenuButton.IsVisible>
- <MultiBinding Converter="{StaticResource MatchAll}">
- <Binding Path="MultiSelect"/>
- <Binding Path="AddVisible" />
- </MultiBinding>
- </mobile:MobileMenuButton.IsVisible>
- </mobile:MobileMenuButton>
-
- <views:DockLayout
- Grid.Row="0"
- Grid.Column="1"
- IsVisible="{Binding MultiSelect}"
- Margin="5,0,0,0">
-
- <mobile:MobileCard
- views:DockLayout.Dock="Top"
- BackgroundColor="{StaticResource Theme.Background}"
- HeightRequest="30">
- <Label
- Text="Selected"
- TextColor="{StaticResource Theme.OnBackground}"
- FontSize="Small"
- FontAttributes="Bold"
- HorizontalTextAlignment="Center"
- VerticalTextAlignment="Center" />
- </mobile:MobileCard>
-
- <mobile:MobileListView
- views:DockLayout.Dock="Top"
- Margin="0,5,0,5"
- ItemsSource="{Binding Selected}"
- ItemTemplate="{StaticResource LocationTemplate}"
- />
-
- </views:DockLayout>
-
- </Grid>
- </views:DockLayout>
- </mobile:MobilePage.PageContent>
- </mobile:MobilePage>
|