static Layout CreateTrackerFilter(TestCaseScreen testCaseScreen) { var trackerFilterLayout = new StackLayout { Orientation = StackOrientation.Horizontal, HorizontalOptions = LayoutOptions.Fill }; var bzSwitch = new Switch { IsToggled = true }; trackerFilterLayout.Children.Add(new Label { Text = "Bugzilla" }); trackerFilterLayout.Children.Add(bzSwitch); bzSwitch.Toggled += (sender, args) => testCaseScreen.FilterTracker(IssueTracker.Bugzilla); var ghSwitch = new Switch { IsToggled = true }; trackerFilterLayout.Children.Add(new Label { Text = "GitHub" }); trackerFilterLayout.Children.Add(ghSwitch); ghSwitch.Toggled += (sender, args) => testCaseScreen.FilterTracker(IssueTracker.Github); var noneSwitch = new Switch { IsToggled = true }; trackerFilterLayout.Children.Add(new Label { Text = "None" }); trackerFilterLayout.Children.Add(noneSwitch); noneSwitch.Toggled += (sender, args) => testCaseScreen.FilterTracker(IssueTracker.None); return(trackerFilterLayout); }
static void SearchBarOnTextChanged(object sender, TextChangedEventArgs textChangedEventArgs, TestCaseScreen cases) { var filter = textChangedEventArgs.NewTextValue; if (String.IsNullOrEmpty(filter)) { return; } cases.FilterIssues(filter); }
public static NavigationPage GetTestCases() { TestCaseScreen testCaseScreen = null; var rootLayout = new StackLayout(); var testCasesRoot = new ContentPage { Title = "Bug Repro's", Content = rootLayout }; var searchBar = new SearchBar() { MinimumHeightRequest = 42, // Need this for Android N, see https://bugzilla.xamarin.com/show_bug.cgi?id=43975 AutomationId = "SearchBarGo" }; var searchButton = new Button() { Text = "Search And Go To Issue", AutomationId = "SearchButton", Command = new Command(() => { try { if (TestCaseScreen.PageToAction.ContainsKey(searchBar.Text?.Trim())) { TestCaseScreen.PageToAction[searchBar.Text?.Trim()](); } else if (!testCaseScreen.TryToNavigateTo(searchBar.Text?.Trim())) { throw new Exception($"Unable to Navigate to {searchBar.Text}"); } } catch (Exception e) { System.Diagnostics.Debug.WriteLine(e.Message); Console.WriteLine(e.Message); } }) }; var leaveTestCasesButton = new Button { AutomationId = "GoBackToGalleriesButton", Text = "Go Back to Galleries", Command = new Command(() => testCasesRoot.Navigation.PopModalAsync()) }; rootLayout.Children.Add(leaveTestCasesButton); rootLayout.Children.Add(searchBar); rootLayout.Children.Add(searchButton); testCaseScreen = new TestCaseScreen(); rootLayout.Children.Add(CreateTrackerFilter(testCaseScreen)); rootLayout.Children.Add(testCaseScreen); searchBar.TextChanged += (sender, args) => SearchBarOnTextChanged(sender, args, testCaseScreen); var page = new NavigationPage(testCasesRoot); switch (Device.RuntimePlatform) { case Device.iOS: case Device.Android: default: page.Title = "Test Cases"; break; case Device.UWP: page.Title = "Tests"; break; } return(page); }