public SearchList()
 {
     Search.Placeholder  = "Name...";
     Search.TextChanged += Search_TextChanged;
     BindingContext      = this;
     ResultsList.SetBinding <SearchList>(ListView.ItemsSourceProperty, x => x.Results);
     ResultsList.ItemSelected += (sender, args) => ItemSelectedCommand.Execute(args.SelectedItem);
     _httpClient.BaseAddress   = UriSource;
     ResultsList.ItemTemplate  = new DataTemplate(() =>
     {
         var viewCell = new ViewCell();
         var name     = new Label {
             Margin = new Thickness(15, 0), LineBreakMode = LineBreakMode.TailTruncation
         };
         name.SetBinding <SearchListSelectItem>(Label.TextProperty, x => x.Name);
         viewCell.View = name;
         return(viewCell);
     });
     Content = new StackLayout
     {
         Children =
         {
             Search,
             ResultsList
         }
     };
 }
Exemple #2
0
        public HkLiskView()
        {
            InitializeComponent();

            imgSortBy.Text      = sortDescendingPath;
            imgSortBy.IsVisible = false;
            //gridHeader.IsVisible = false;
            txtSearchBar.IsVisible = false;

            // this delegate invoked when listview details item is tapped
            OnListViewItemSelected = (object args) =>
            {
                if (ItemSelectedCommand != null)
                {
                    if (ItemSelectedCommand.CanExecute(args))
                    {
                        ItemSelectedCommand.Execute(args);
                    }
                }
            };

            //// this delegate invoked when grouped listview header is tapped
            OnStemmonsListViewGroupHeaderTapped = (object args) =>
            {
                if (GroupHeaderCommand.CanExecute(args))
                {
                    GroupHeaderCommand.Execute(args);
                }
            };
        }
Exemple #3
0
        private void OnItemTapped(object sender, ItemTappedEventArgs e)
        {
            if (e.Item != null && ItemSelectedCommand != null && ItemSelectedCommand.CanExecute(e.Item))
            {
                ItemSelectedCommand.Execute(e.Item);
            }

            SelectedItem = null;
        }
Exemple #4
0
 private void ListView_ItemSelected(object sender, SelectedItemChangedEventArgs e)
 {
     ListView.SelectedItem = null;
     if (ItemSelectedCommand != null && ItemSelectedCommand.CanExecute(e.SelectedItem))
     {
         ItemSelectedCommand.Execute(e.SelectedItem);
     }
     ItemSelected?.Invoke(this, e.SelectedItem);
     Close_Tapped(this, null);
 }
        private void OnItemSelected(object sender, SelectedItemChangedEventArgs e)
        {
            var item = e.SelectedItem;

            if (item != null && ItemSelectedCommand != null && ItemSelectedCommand.CanExecute(item))
            {
                ItemSelectedCommand.Execute(e.SelectedItem);
            }

            SelectedItem = null;
        }
Exemple #6
0
        private void Repopulate()
        {
            Children.Clear();
            if (ItemsSource == null)
            {
                return;
            }

            // build our own internal command so that we can respond to selected events
            // correctly even if the command was set after the items were rendered
            var selectedCommand = new Command <object>(o =>
            {
                if (ItemSelectedCommand != null && ItemSelectedCommand.CanExecute(o))
                {
                    ItemSelectedCommand.Execute(o);
                }
            });

            View child;

            foreach (var item in ItemsSource)
            {
                if (ItemTemplate != null)
                {
                    child = ItemTemplate.CreateContent() as View;
                    if (child == null)
                    {
                        continue;
                    }
                    child.BindingContext = item;
                }
                else if (!string.IsNullOrEmpty(DisplayMember))
                {
                    child = new Label {
                        BindingContext = item, TextColor = TextColor, HeightRequest = ItemHeightRequest
                    };
                    child.SetBinding(Label.TextProperty, DisplayMember);
                }
                else
                {
                    child = new Label {
                        Text = item.ToString(), TextColor = TextColor, HeightRequest = ItemHeightRequest
                    };
                }

                // add an internal tapped handler
                var itemTapped = new TapGestureRecognizer {
                    Command = selectedCommand, CommandParameter = item
                };
                child.GestureRecognizers.Add(itemTapped);

                Children.Add(child);
            }
        }
        private void InfiniteListView_ItemSelected(object sender, SelectedItemChangedEventArgs e)
        {
            if (e.SelectedItem == null)
            {
                // Ignore item deselected events
                return;
            }

            if (ItemSelectedCommand != null && ItemSelectedCommand.CanExecute(null))
            {
                ItemSelectedCommand.Execute(e.SelectedItem);
            }
        }
        private void Handle_ItemTapped(object sender, ItemTappedEventArgs e)
        {
            if (sender == null)
            {
                return;
            }

            Tapped?.Invoke(this, e);

            if (ItemSelectedCommand != null && ItemSelectedCommand.CanExecute(e.Item))
            {
                ItemSelectedCommand?.Execute(e.Item);
            }
        }
        private void ExtendedListView_ItemSelected(object sender, SelectedItemChangedEventArgs e)
        {
            try
            {
                var param = ItemSelectedCommandParameter ?? e.SelectedItem;

                if (ItemSelectedCommand != null && ItemSelectedCommand.CanExecute(param))
                {
                    ItemSelectedCommand.Execute(param);
                }
            }
            catch (Exception ex)
            {
                Debug.WriteLine(ex.Message);
            }
        }
Exemple #10
0
 protected override void OnSelectionChanged(SelectionChangedEventArgs e)
 {
     if ((SelectedItem != null) && (ItemSelectedCommand != null) &&
         ItemSelectedCommand.CanExecute(ItemSelectedCommandParameter))
     {
         try
         {
             ItemSelectedCommand.Execute(ItemSelectedCommandParameter);
         }
         catch (Exception ex)
         {
             MessageBox.Show(ex.Message);
         }
     }
     base.OnSelectionChanged(e);
 }
Exemple #11
0
        private void ListViewItemSelected(object sender, SelectedItemChangedEventArgs e)
        {
            if (e.SelectedItem != null)
            {
                if (Device.RuntimePlatform == Device.UWP)
                {
                    // To fix UWP Xamarin Forms crash issue when opening some of case items
                    lstStemmons.ItemsSource = null;
                    lstStemmons.ItemsSource = ItemsSource;
                }

                ItemSelectedCommand?.Execute(e.SelectedItem);
                ((ListView)sender).SelectedItem = null;
            }

            lstStemmons.SelectedItem = null;
        }
Exemple #12
0
        private async void MessageCenterSubmitAsync(RecorderViewModel arg1, PredictionData data)
        {
            Device.BeginInvokeOnMainThread(async() =>
            {
                if (data == null)
                {
                    await Application.Current.MainPage.DisplayAlert("Error", "No data returned. Please record your command again or contact support", "Cancel", "ok");
                }


                if (data.ClassId.Trim() == "Back or Go back" && data.Probability > 70.0)
                {
                    await Application.Current.MainPage.Navigation.PopAsync();
                }
                else if (data.ClassId.Trim() == "item 1 or 1" && data.Probability > 70.0)
                {
                    ItemSelectedCommand.Execute(Products[0]);
                }
                else if (data.ClassId.Trim() == "Item 2 or 2" && data.Probability > 70.0)
                {
                    ItemSelectedCommand.Execute(Products[1]);
                }
                else if (data.ClassId.Trim() == "Item 3 or 3" && data.Probability > 70.0)
                {
                    ItemSelectedCommand.Execute(Products[2]);
                }
                else if (data.ClassId.Trim() == "Item 4 or 4" && data.Probability > 70.0)
                {
                    ItemSelectedCommand.Execute(Products[3]);
                }
                else if (data.ClassId.Trim() == "Item 5 or 5" && data.Probability > 70.0)
                {
                    ItemSelectedCommand.Execute(Products[4]);
                }
                else if (data.ClassId.Trim() == "Open Cart" && data.Probability > 70.0)
                {
                    CardItemCommand.Execute(null);
                }
                else
                {
                    await Application.Current.MainPage.DisplayAlert("Error", "Please record your command again. Recording is not clear enough", "Cancel", "ok");
                }
            });
        }
        private void XListView_ItemSelected(object sender, SelectedItemChangedEventArgs e)
        {
            var listView = sender as ListView;

            if (listView != null)
            {
                if (ItemSelectedCommand != null)
                {
                    if (listView.SelectedItem != null)
                    {
                        ItemSelectedCommand.Execute(listView.SelectedItem);
                        if (ResetSelection)
                        {
                            listView.SelectedItem = null;
                        }
                    }
                }
            }
        }
Exemple #14
0
 public override void SubscribeModel()
 {
     model.DayTableModels.ObserveAddChanged()
     .Subscribe(x =>
     {
         MainGroupListViewModel sameTitleViewModel = DayTableViewModels.FirstOrDefault(y => y.Title == x.Station);
         if (sameTitleViewModel != null)
         {
             sameTitleViewModel.Add(new DayTableViewModel(x));
         }
         else
         {
             DayTableViewModels.Add(new MainGroupListViewModel(x.Station)
             {
                 new DayTableViewModel(x)
             });
         }
     })
     .AddTo(Disposables);
     model.DayTableModels.ObserveResetChanged()
     .Subscribe(x => DayTableViewModels.Clear())
     .AddTo(Disposables);
     model.ObserveProperty(x => x.IsLoading)
     .Subscribe(x => isLoading.Value = x)
     .AddTo(Disposables);
     Observable.FromEventPattern <ErrorEventArgs>(h => model.ErrorOccurred += h, h => model.ErrorOccurred -= h)
     .Select(x => x.EventArgs)
     .Subscribe(x => ShowAlertCommand.Execute(x.Message))
     .AddTo(Disposables);
     LoadCommand.Subscribe(async _ => await model.LoadAsync())
     .AddTo(Disposables);
     LoadIfEmptyCommand.Subscribe(async _ => await model.LoadIfEmptyAsync())
     .AddTo(Disposables);
     ItemSelectedCommand.Subscribe(x => PushDayTableViewCommand.Execute(x.Clone()))
     .AddTo(Disposables);
     ItemAppearingCommand.Subscribe(x => x.SubscribeModel())
     .AddTo(Disposables);
     ItemDisappearingCommand.Subscribe(x => x.UnSubscribeModel())
     .AddTo(Disposables);
 }
Exemple #15
0
        void OnEvent(object sender, object eventArgs)
        {
            if (Command == null && ItemSelectedCommand == null)
            {
                return;
            }

            object resolvedParameter;

            if (CommandParameter != null)
            {
                resolvedParameter = CommandParameter;
            }
            else if (Converter != null)
            {
                resolvedParameter = Converter.Convert(eventArgs, typeof(object), null, null);
            }
            else
            {
                resolvedParameter = eventArgs;
            }

            if (ItemSelectedCommand != null)
            {
                var e = (SelectedItemChangedEventArgs)eventArgs;
                if (e.SelectedItem != null)
                {
                    if (ItemSelectedCommand.CanExecute(e.SelectedItem))
                    {
                        ItemSelectedCommand.Execute(e.SelectedItem);
                    }
                }
            }
            else if (Command.CanExecute(resolvedParameter))
            {
                Command.Execute(resolvedParameter);
            }
        }
Exemple #16
0
 public void Dispose()
 {
     ItemSelectedCommand.Dispose();
     Population.Dispose();
     IsMultipleSelection.Dispose();
 }
Exemple #17
0
 public CustomListView()
 {
     ItemTapped += (s, e) => ItemSelectedCommand?.Execute(e.Item);
 }
        public void LoadCalender()
        {
            CalenderViewControl = new Grid()
            {
                BackgroundColor   = Color.Gray,
                ColumnSpacing     = 2,
                RowSpacing        = 2,
                HorizontalOptions = LayoutOptions.FillAndExpand,
            };

            string[] monthNames   = System.Globalization.CultureInfo.CurrentCulture.DateTimeFormat.MonthNames;
            var      curMonthName = monthNames[CurrentMonth - 1];

            var rightSwipe = new Image()
            {
                Source = "Right.png", HeightRequest = 30, WidthRequest = 30, BackgroundColor = Color.White
            };
            var leftSwipe = new Image()
            {
                Source = "Left.png", HeightRequest = 30, WidthRequest = 30, BackgroundColor = Color.White,
            };

            TapGestureRecognizer rightTap = new TapGestureRecognizer();

            rightTap.Tapped += Gi_SwipeLeft;
            rightSwipe.GestureRecognizers.Add(rightTap);

            TapGestureRecognizer leftTap = new TapGestureRecognizer();

            leftTap.Tapped += Gi_SwipeRight;
            leftSwipe.GestureRecognizers.Add(leftTap);

            CalenderViewControl.Children.Add(leftSwipe, 0, 0);

            var monthLabel = new Label()
            {
                Text = curMonthName.ToString() + " " + CurrentYear.ToString(), HorizontalOptions = LayoutOptions.Center, VerticalOptions = LayoutOptions.CenterAndExpand,
            };
            var stack = new StackLayout()
            {
                BackgroundColor = Color.White, HorizontalOptions = LayoutOptions.FillAndExpand, VerticalOptions = LayoutOptions.FillAndExpand
            };

            stack.Children.Add(monthLabel);
            CalenderViewControl.Children.Add(stack, 1, 0);
            Grid.SetColumnSpan(stack, 5);

            CalenderViewControl.Children.Add(rightSwipe, 6, 0);

            var weekDay = new Label()
            {
                Text = "Sun", TextColor = Color.Red, HorizontalOptions = LayoutOptions.Center, VerticalOptions = LayoutOptions.Center,
            };

            stack = new StackLayout()
            {
                BackgroundColor = Color.White, HorizontalOptions = LayoutOptions.FillAndExpand, VerticalOptions = LayoutOptions.FillAndExpand
            };
            stack.Children.Add(weekDay);
            CalenderViewControl.Children.Add(stack, 0, 1);

            weekDay = new Label()
            {
                Text = "Mon", HorizontalOptions = LayoutOptions.Center, VerticalOptions = LayoutOptions.Center,
            };
            stack = new StackLayout()
            {
                BackgroundColor = Color.White, HorizontalOptions = LayoutOptions.FillAndExpand, VerticalOptions = LayoutOptions.FillAndExpand
            };
            stack.Children.Add(weekDay);
            CalenderViewControl.Children.Add(stack, 1, 1);

            weekDay = new Label()
            {
                Text = "Tue", HorizontalOptions = LayoutOptions.Center, VerticalOptions = LayoutOptions.Center,
            };
            stack = new StackLayout()
            {
                BackgroundColor = Color.White, HorizontalOptions = LayoutOptions.FillAndExpand, VerticalOptions = LayoutOptions.FillAndExpand
            };
            stack.Children.Add(weekDay);
            CalenderViewControl.Children.Add(stack, 2, 1);

            weekDay = new Label()
            {
                Text = "Wed", HorizontalOptions = LayoutOptions.Center, VerticalOptions = LayoutOptions.Center,
            };
            stack = new StackLayout()
            {
                BackgroundColor = Color.White, HorizontalOptions = LayoutOptions.FillAndExpand, VerticalOptions = LayoutOptions.FillAndExpand
            };
            stack.Children.Add(weekDay);
            CalenderViewControl.Children.Add(stack, 3, 1);

            weekDay = new Label()
            {
                Text = "Thu", HorizontalOptions = LayoutOptions.Center, VerticalOptions = LayoutOptions.Center,
            };
            stack = new StackLayout()
            {
                BackgroundColor = Color.White, HorizontalOptions = LayoutOptions.FillAndExpand, VerticalOptions = LayoutOptions.FillAndExpand
            };
            stack.Children.Add(weekDay);
            CalenderViewControl.Children.Add(stack, 4, 1);

            weekDay = new Label()
            {
                Text = "Fri", HorizontalOptions = LayoutOptions.Center, VerticalOptions = LayoutOptions.Center,
            };
            stack = new StackLayout()
            {
                BackgroundColor = Color.White, HorizontalOptions = LayoutOptions.FillAndExpand, VerticalOptions = LayoutOptions.FillAndExpand
            };
            stack.Children.Add(weekDay);
            CalenderViewControl.Children.Add(stack, 5, 1);

            weekDay = new Label()
            {
                Text = "Sat", HorizontalOptions = LayoutOptions.Center, VerticalOptions = LayoutOptions.Center,
            };
            stack = new StackLayout()
            {
                BackgroundColor = Color.White, HorizontalOptions = LayoutOptions.FillAndExpand, VerticalOptions = LayoutOptions.FillAndExpand
            };
            stack.Children.Add(weekDay);
            CalenderViewControl.Children.Add(stack, 6, 1);

            CurrentDay = (CurrentMonth == DateTime.Now.Month && CurrentYear == DateTime.Now.Year) ? DateTime.Now.Day : 0;
            var startDaytoPrintInCalender = -1;

            switch (CurrentDayOfTheWeek)
            {
            case DayOfWeek.Sunday:
                startDaytoPrintInCalender = 0;
                break;

            case DayOfWeek.Monday:
                startDaytoPrintInCalender = 1;
                break;

            case DayOfWeek.Tuesday:
                startDaytoPrintInCalender = 2;
                break;

            case DayOfWeek.Wednesday:
                startDaytoPrintInCalender = 3;
                break;

            case DayOfWeek.Thursday:
                startDaytoPrintInCalender = 4;
                break;

            case DayOfWeek.Friday:
                startDaytoPrintInCalender = 5;
                break;

            case DayOfWeek.Saturday:
                startDaytoPrintInCalender = 6;
                break;

            default:
                startDaytoPrintInCalender = -1;
                break;
            }

            Label dateLabel        = null;
            Frame frame            = null;
            bool  startDaySelected = false;
            int   day = 1;

            for (int i = 2; i < 8; i++)
            {
                for (int j = 0; j < 7; j++)
                {
                    if (!startDaySelected)
                    {
                        if (j >= startDaytoPrintInCalender)
                        {
                            startDaySelected = true;
                        }
                    }
                    else
                    {
                        day++;
                    }

                    if (day > CurrentNoOfDaysInAMonth && j == 0)
                    {
                        break;
                    }

                    frame = new Frame()
                    {
                        HasShadow = false, Padding = 0, BackgroundColor = CurrentDay == day ? Color.Gray : Color.Transparent, HorizontalOptions = LayoutOptions.FillAndExpand, VerticalOptions = LayoutOptions.FillAndExpand
                    };
                    dateLabel = new Label()
                    {
                        Text = startDaySelected && day <= CurrentNoOfDaysInAMonth ? (day).ToString() : string.Empty, TextColor = j == 0 ? Color.Red : Color.Default, FontSize = 18, FontAttributes = FontAttributes.Bold, VerticalOptions = LayoutOptions.CenterAndExpand, HorizontalOptions = LayoutOptions.CenterAndExpand
                    };
                    frame.Content = dateLabel;

                    stack = new StackLayout()
                    {
                        BackgroundColor = CurrentDay == day?Color.FromHex("bf3122") : Color.White, HorizontalOptions = LayoutOptions.FillAndExpand, VerticalOptions = LayoutOptions.FillAndExpand
                    };
                    stack.Children.Add(dateLabel);

                    if (startDaySelected && day <= CurrentNoOfDaysInAMonth)
                    {
                        TapGestureRecognizer dateTap = new TapGestureRecognizer();
                        var dateTime = new DateTime(CurrentYear, CurrentMonth, day);
                        //dateTap.SetBinding(TapGestureRecognizer.CommandProperty, "DateSelected");
                        dateTap.Tapped += (sender, e) => {
                            if (ItemSelectedCommand != null && ItemSelectedCommand.CanExecute(null))
                            {
                                ItemSelectedCommand.Execute(dateTime);
                            }
                        };


                        dateTap.CommandParameter = dateTime;
                        stack.GestureRecognizers.Add(dateTap);
                    }

                    CalenderViewControl.Children.Add(stack, j, i);
                }
            }
            gi.Content   = CalenderViewControl;
            this.Content = gi;
        }
 private void ProcessItemSelected()
 {
     ItemSelectedCommand?.Execute(this);
 }