Пример #1
0
        public void RenderComments()
        {
            var comments = ViewModel.Comments
                           .Where(x => !string.IsNullOrEmpty(x.Content))
                           .Select(x => new CommentViewModel(x.AuthorInfo.Username, ViewModel.ConvertToMarkdown(x.Content), x.UtcCreatedOn.Humanize(), x.AuthorInfo.Avatar));

            _commentsElement.LoadContent(new CommentsRazorView {
                Model = comments.ToList()
            }.GenerateString());
            InvokeOnMainThread(RenderIssue);
        }
Пример #2
0
        public void RenderComments()
        {
            var comments = ViewModel.Comments.Select(x => new {
                avatarUrl  = x.User.AvatarUrl,
                login      = x.User.Login,
                updated_at = x.CreatedAt.ToDaysAgo(),
                body       = ViewModel.ConvertToMarkdown(x.Body)
            });
            var data = new RestSharp.Serializers.JsonSerializer().Serialize(comments.ToList());

            Web.EvaluateJavascript("var a = " + data + "; setComments(a);");
        }
Пример #3
0
        public void RenderComments()
        {
            var comments = ViewModel.Comments
                           .Select(x => new Comment(x.User.AvatarUrl, x.User.Login, ViewModel.ConvertToMarkdown(x.Body), x.CreatedAt))
                           .Concat(ViewModel.Events.Select(x => new Comment(x.Actor.AvatarUrl, x.Actor.Login, CreateEventBody(x.Event, x.CommitId), x.CreatedAt)))
                           .Where(x => !string.IsNullOrEmpty(x.Body))
                           .OrderBy(x => x.Date)
                           .ToList();
            var commentModel = new CommentsModel(comments, (int)UIFont.PreferredSubheadline.PointSize);
            var razorView    = new CommentsWebView {
                Model = commentModel
            };
            var html = razorView.GenerateString();

            InvokeOnMainThread(() => {
                _commentsElement.SetValue(!comments.Any() ? null : html);
                Render();
            });
        }
Пример #4
0
        private IEnumerable <CommentModel> CreateCommentList()
        {
            var items = ViewModel.Comments.Select(x => new CommentModel
            {
                AvatarUrl = x.User.AvatarUrl,
                Login     = x.User.Login,
                CreatedAt = x.CreatedAt,
                Body      = ViewModel.ConvertToMarkdown(x.Body)
            })
                        .Concat(ViewModel.Events.Select(x => new CommentModel
            {
                AvatarUrl = x.Actor.AvatarUrl,
                Login     = x.Actor.Login,
                CreatedAt = x.CreatedAt,
                Body      = CreateEventBody(x.Event, x.CommitId)
            })
                                .Where(x => !string.IsNullOrEmpty(x.Body)));

            return(items.OrderBy(x => x.CreatedAt));
        }
Пример #5
0
        public void RenderComments()
        {
            var comments = ViewModel.Comments.Where(x => !string.IsNullOrEmpty(x.Content)).Select(x => new {
                avatarUrl  = x.AuthorInfo.Avatar,
                login      = x.AuthorInfo.Username,
                created_at = x.UtcCreatedOn.ToDaysAgo(),
                body       = ViewModel.ConvertToMarkdown(x.Content)
            });

            var s    = Cirrious.CrossCore.Mvx.Resolve <CodeFramework.Core.Services.IJsonSerializationService>();
            var data = s.Serialize(comments);

            InvokeOnMainThread(() => {
                _commentsElement.Value = data;
                if (_commentsElement.GetImmediateRootElement() == null)
                {
                    RenderIssue();
                }
            });
        }