private static GistItemViewModel CreateGistItemViewModel(GistModel gist, Action<GistItemViewModel> action) { var owner = (gist.Owner == null) ? "Anonymous" : gist.Owner.Login; var description = string.IsNullOrEmpty(gist.Description) ? "Gist " + gist.Id : gist.Description; var imageUrl = (gist.Owner == null) ? null : gist.Owner.AvatarUrl; return new GistItemViewModel(owner, imageUrl, description, gist.UpdatedAt, action); }
protected async virtual void Save() { if (_model.Files.Count == 0) { MonoTouch.Utilities.ShowAlert("No Files", "You cannot create a Gist without atleast one file"); return; } try { GistModel newGist = null; _model.Public = _public.Value; await this.DoWorkAsync("Saving...", async() => { newGist = (await Application.Client.ExecuteAsync(Application.Client.AuthenticatedUser.Gists.CreateGist(_model))).Data; }); if (Created != null && newGist != null) { Created(newGist); } //Dismiss me! NavigationController.PopViewControllerAnimated(true); } catch (Exception e) { MonoTouch.Utilities.ShowAlert("Unable to Save!", e.Message); } }
private static string GetGistTitle(GistModel gist) { var title = (gist.Owner == null) ? "Anonymous" : gist.Owner.Login; if (gist.Files.Count > 0) title = gist.Files.First().Key; return title; }
public EditGistController(GistModel gist) : base(true) { Title = "Edit Gist"; Style = UITableViewStyle.Grouped; _originalGist = gist; NavigationItem.LeftBarButtonItem = new UIBarButtonItem(NavigationButton.Create(Images.Buttons.Cancel, Discard)); NavigationItem.RightBarButtonItem = new UIBarButtonItem(NavigationButton.Create(Images.Buttons.Save, Save)); _model = new GistEditModel(); _model.Description = gist.Description; _model.Files = new Dictionary <string, GistEditModel.File>(); if (gist.Files != null) { foreach (var f in gist.Files) { _model.Files.Add(f.Key, new GistEditModel.File() { Content = f.Value.Content }); } } }
public EditGistController(GistModel gist) : base(true) { Title = "Edit Gist"; Style = UITableViewStyle.Grouped; _originalGist = gist; NavigationItem.LeftBarButtonItem = new UIBarButtonItem(Theme.CurrentTheme.CancelButton, UIBarButtonItemStyle.Plain, (s, e) => Discard()); NavigationItem.RightBarButtonItem = new UIBarButtonItem(Theme.CurrentTheme.SaveButton, UIBarButtonItemStyle.Plain, (s, e) => Save()); _model = new GistEditModel(); _model.Description = gist.Description; _model.Files = new Dictionary <string, GistEditModel.File>(); if (gist.Files != null) { foreach (var f in gist.Files) { _model.Files.Add(f.Key, new GistEditModel.File() { Content = f.Value.Content }); } } }
protected override Element CreateElement(GistModel x) { var element = CreateGistElement(x); element.Tapped += () => NavigationController.PushViewController(new GistInfoController(x.Id), true); return(element); }
private static GistItemViewModel CreateGistItemViewModel(GistModel gist, Action <GistItemViewModel> action) { var owner = (gist.Owner == null) ? "Anonymous" : gist.Owner.Login; var description = string.IsNullOrEmpty(gist.Description) ? "Gist " + gist.Id : gist.Description; var imageUrl = (gist.Owner == null) ? null : gist.Owner.AvatarUrl; return(new GistItemViewModel(owner, imageUrl, description, gist.UpdatedAt, action)); }
public void RenderGist(GistModel model) { _shareButton.Enabled = _userButton.Enabled = model != null; var root = new RootElement(Title) { UnevenRows = true }; var sec = new Section(); _header.Subtitle = "Updated " + model.UpdatedAt.ToDaysAgo(); var str = string.IsNullOrEmpty(model.Description) ? "Gist " + model.Id : model.Description; var d = new NameTimeStringElement() { Time = model.UpdatedAt.ToDaysAgo(), String = str, Image = Theme.CurrentTheme.AnonymousUserImage, BackgroundColor = UIColor.White, UseBackgroundColor = true, }; //Sometimes there's no user! d.Name = (model.User == null) ? "Anonymous" : model.User.Login; d.ImageUri = (model.User == null) ? null : new Uri(model.User.AvatarUrl); sec.Add(d); var sec2 = new Section(); foreach (var file in model.Files.Keys) { var sse = new StyledStringElement(file, model.Files[file].Size + " bytes", UITableViewCellStyle.Subtitle) { Accessory = MonoTouch.UIKit.UITableViewCellAccessory.DisclosureIndicator, LineBreakMode = MonoTouch.UIKit.UILineBreakMode.TailTruncation, Lines = 1 }; var fileSaved = file; var gistFileModel = model.Files[fileSaved]; if (string.Equals(gistFileModel.Language, "markdown", StringComparison.OrdinalIgnoreCase)) { sse.Tapped += () => NavigationController.PushViewController(new GistViewableFileController(gistFileModel, ViewModel.Gist.HtmlUrl), true); } else { sse.Tapped += () => NavigationController.PushViewController(new GistFileViewController(gistFileModel, ViewModel.Gist.HtmlUrl), true); } sec2.Add(sse); } _header.SetNeedsDisplay(); root.Add(new [] { sec, sec2 }); Root = root; }
private static GistItemViewModel CreateGistItemViewModel(GistModel gist, Action <GistItemViewModel> action) { var title = (gist.Owner == null) ? "Anonymous" : gist.Owner.Login; var description = string.IsNullOrEmpty(gist.Description) ? "Gist " + gist.Id : gist.Description; var imageUrl = (gist.Owner == null) ? null : gist.Owner.AvatarUrl; if (gist.Files.Count > 0) { title = gist.Files.First().Key; } return(new GistItemViewModel(title, imageUrl, description, gist.UpdatedAt, action)); }
private GistItemViewModel CreateGistItemViewModel(GistModel gist) { var title = GetGistTitle(gist); var description = string.IsNullOrEmpty(gist.Description) ? "Gist " + gist.Id : gist.Description; var imageUrl = (gist.Owner == null) ? null : gist.Owner.AvatarUrl; return new GistItemViewModel(title, imageUrl, description, gist.UpdatedAt, _ => { var vm = this.CreateViewModel<GistViewModel>(); vm.Id = gist.Id; vm.Gist = gist; NavigateTo(vm); }); }
private GistItemViewModel CreateGistItemViewModel(GistModel gist) { var title = (gist.Owner == null) ? "Anonymous" : gist.Owner.Login; var description = string.IsNullOrEmpty(gist.Description) ? "Gist " + gist.Id : gist.Description; var imageUrl = (gist.Owner == null) ? null : gist.Owner.AvatarUrl; if (gist.Files.Count > 0) title = gist.Files.First().Key; return new GistItemViewModel(title, imageUrl, description, gist.UpdatedAt, _ => { var vm = this.CreateViewModel<GistViewModel>(); vm.Id = gist.Id; vm.Gist = gist; NavigateTo(vm); }); }
public EditGistController(GistModel gist) : base(true) { Title = "Edit Gist"; Style = UITableViewStyle.Grouped; _originalGist = gist; NavigationItem.LeftBarButtonItem = new UIBarButtonItem (NavigationButton.Create(Images.Buttons.Cancel, Discard)); NavigationItem.RightBarButtonItem = new UIBarButtonItem(NavigationButton.Create(Images.Buttons.Save, Save)); _model = new GistEditModel(); _model.Description = gist.Description; _model.Files = new Dictionary<string, GistEditModel.File>(); if (gist.Files != null) foreach (var f in gist.Files) _model.Files.Add(f.Key, new GistEditModel.File() { Content = f.Value.Content }); }
public EditGistController(GistModel gist) : base(true) { Title = "Edit Gist"; Style = UITableViewStyle.Grouped; _originalGist = gist; NavigationItem.LeftBarButtonItem = new UIBarButtonItem (Theme.CurrentTheme.CancelButton, UIBarButtonItemStyle.Plain, (s, e) => Discard()); NavigationItem.RightBarButtonItem = new UIBarButtonItem(Theme.CurrentTheme.SaveButton, UIBarButtonItemStyle.Plain, (s, e) => Save()); _model = new GistEditModel(); _model.Description = gist.Description; _model.Files = new Dictionary<string, GistEditModel.File>(); if (gist.Files != null) foreach (var f in gist.Files) _model.Files.Add(f.Key, new GistEditModel.File() { Content = f.Value.Content }); }
public GistViewModel(GistModel gist, IGistClientService gistClientService, IAsyncOperationStatusManager asyncOperationStatusManager, IErrorHandler errorHandler) : this(gist.Name, gistClientService, asyncOperationStatusManager, errorHandler) { Gist = gist; Description = gist.Description; Public = gist.IsPublic; Url = gist.Url; var files = new List <GistFileViewModel>(gist.Files.Count); foreach (var file in gist.Files) { var gistFileViewModel = new GistFileViewModel(file, this, gistClientService, asyncOperationStatusManager, errorHandler); gistFileViewModel.History.AddRange(gist.History.Select(h => new GistHistoryEntryViewModel(h, gistFileViewModel))); files.Add(gistFileViewModel); } Files.AddRange(files); History.AddRange(gist.History.Select(h => new GistHistoryEntryViewModel(h, this))); History.First().IsCheckedOut = true; }
private GistItemViewModel CreateGistItemViewModel(GistModel gist) { var title = (gist.Owner == null) ? "Anonymous" : gist.Owner.Login; var description = string.IsNullOrEmpty(gist.Description) ? "Gist " + gist.Id : gist.Description; var imageUrl = (gist.Owner == null) ? null : gist.Owner.AvatarUrl; if (gist.Files.Count > 0) { title = gist.Files.First().Key; } return(new GistItemViewModel(title, imageUrl, description, gist.UpdatedAt, _ => { var vm = this.CreateViewModel <GistViewModel>(); vm.Id = gist.Id; vm.Gist = gist; NavigateTo(vm); })); }
public EditGistController(GistModel gist) : base(UITableViewStyle.Grouped, true) { Title = "Edit Gist"; _originalGist = gist; _model = new GistEditModel(); _model.Description = gist.Description; _model.Files = new Dictionary <string, GistEditModel.File>(); if (gist.Files != null) { foreach (var f in gist.Files) { _model.Files.Add(f.Key, new GistEditModel.File() { Content = f.Value.Content }); } } }
public GistAddMessage(object sender, GistModel gist) : base(sender) { Gist = gist; }
public GistAddMessage(object sender, GistModel gist) : base(sender) { Gist = gist; }
public GistDetailElement(GistModel gist, bool full = false) : base(string.Empty) { _gist = gist; _full = full; }
public GistDetailElement(GistModel gist, bool full = false) : base(string.Empty) { _gist = gist; _full = full; }
public GistViewController(GistModel model) : this(model.Id) { //Controller.Model.Gist = model; }
public GistElement(GistModel gist, Action action) { _gist = gist; _action = action; _title = _gist.Files?.Select(x => x.Key).FirstOrDefault() ?? "Gist #" + _gist.Id; }
public GistElement(GistModel gist, Action action) { _gist = gist; _action = action; _title = _gist.Files?.Select(x => x.Key).FirstOrDefault() ?? "Gist #" + _gist.Id; }
protected override Element CreateElement(GistModel x) { var element = CreateGistElement(x); element.Tapped += () => NavigationController.PushViewController(new GistInfoController(x.Id) { Model = x }, true); return element; }