protected Element CreateElement(RepositoryDetailedModel repo) { var description = ViewModel.ShowRepositoryDescription ? repo.Description : string.Empty; var sse = new RepositoryElement(repo.Name, repo.FollowersCount, repo.ForkCount, description, repo.Owner, new Uri(repo.LargeLogo(64))) { ShowOwner = ViewModel.ShowRepositoryOwner }; sse.Tapped += () => ViewModel.GoToRepositoryCommand.Execute(repo); return sse; }
public override void ViewDidLoad() { base.ViewDidLoad(); _hud = new Hud(View); var vm = (RepositoriesExploreViewModel)ViewModel; var search = (UISearchBar)TableView.TableHeaderView; var set = this.CreateBindingSet<RepositoriesExploreView, RepositoriesExploreViewModel>(); set.Bind(search).For(x => x.Text).To(x => x.SearchText); set.Apply(); search.SearchButtonClicked += (sender, e) => { search.ResignFirstResponder(); vm.SearchCommand.Execute(null); }; vm.Bind(x => x.IsSearching, x => { if (x) _hud.Show("Searching..."); else _hud.Hide(); }); BindCollection(vm.Repositories, repo => { var description = vm.ShowRepositoryDescription ? repo.Description : string.Empty; var imageUrl = new Uri(repo.Logo); var sse = new RepositoryElement(repo.Name, repo.FollowersCount, repo.ForkCount, description, repo.Owner, imageUrl) { ShowOwner = true }; sse.Tapped += () => vm.GoToRepositoryCommand.Execute(repo); return sse; }); }
public override void ViewDidLoad() { base.ViewDidLoad(); var vm = (RepositoriesExploreViewModel)ViewModel; var search = (UISearchBar)TableView.TableHeaderView; var set = this.CreateBindingSet<RepositoriesExploreView, RepositoriesExploreViewModel>(); set.Bind(search).For(x => x.Text).To(x => x.SearchText); set.Apply(); search.SearchButtonClicked += (sender, e) => { search.ResignFirstResponder(); vm.SearchCommand.Execute(null); }; BindCollection(vm.Repositories, repo => { var description = vm.ShowRepositoryDescription ? repo.Description : string.Empty; var imageUrl = repo.Fork ? Images.GitHubRepoForkUrl : Images.GitHubRepoUrl; var sse = new RepositoryElement(repo.Name, repo.StargazersCount, repo.ForksCount, description, repo.Owner.Login, imageUrl) { ShowOwner = true }; sse.Tapped += () => vm.GoToRepositoryCommand.Execute(repo); return sse; }); }
protected Element CreateElement(RepositoryModel repo) { var description = ViewModel.ShowRepositoryDescription ? repo.Description : string.Empty; var imageUrl = repo.Fork ? Images.GitHubRepoForkUrl : Images.GitHubRepoUrl; var sse = new RepositoryElement(repo.Name, repo.Watchers, repo.Forks, description, repo.Owner.Login, imageUrl) { ShowOwner = ViewModel.ShowRepositoryOwner }; sse.Tapped += () => ViewModel.GoToRepositoryCommand.Execute(repo); return sse; }
public override void ViewDidLoad() { base.ViewDidLoad(); var vm = (RepositoriesTrendingViewModel)ViewModel; BindCollection(vm.Repositories, repo => { var description = vm.ShowRepositoryDescription ? repo.Description : string.Empty; var imageUrl = Images.GitHubRepoUrl; var sse = new RepositoryElement(repo.Name, repo.Stars, repo.Forks, description, repo.Owner, imageUrl) { ShowOwner = true }; sse.Tapped += () => vm.GoToRepositoryCommand.Execute(repo); return sse; }); var button = new UIBarButtonItem("Time", UIBarButtonItemStyle.Plain, (s, e) => { var index = vm.SelectedTime == null ? 0 : vm.Times.ToList().IndexOf(vm.SelectedTime); if (index < 0) index = 0; new PickerAlert(vm.Times.Select(x => x.Name).ToArray(), index, x => { var selectedTime = vm.Times.ElementAtOrDefault(x); if (selectedTime != null) vm.SelectedTime = selectedTime; }).Show(); }); var button2 = new UIBarButtonItem("Language", UIBarButtonItemStyle.Plain, (s, e) => { var index = vm.SelectedLanguage == null ? 0 : vm.Languages.ToList().IndexOf(vm.SelectedLanguage); if (index < 0) index = 0; new PickerAlert(vm.Languages.Select(x => x.Name).ToArray(), index, x => { var selectedlanguage = vm.Languages.ElementAtOrDefault(x); if (selectedlanguage != null) vm.SelectedLanguage = selectedlanguage; }).Show(); }); vm.Bind(x => x.SelectedTime, x => button.Title = x.Name, true); vm.Bind(x => x.SelectedLanguage, x => button2.Title = x.Name, true); ToolbarItems = new UIBarButtonItem[] { new UIBarButtonItem(UIBarButtonSystemItem.FlexibleSpace), button2, new UIBarButtonItem(UIBarButtonSystemItem.FlexibleSpace), button, new UIBarButtonItem(UIBarButtonSystemItem.FlexibleSpace) }; }