public AnswersDetailsPage(QuestionsAnswers answers)
        {
            InitializeComponent();
            Xamarin.Forms.PlatformConfiguration.iOSSpecific.Page.SetUseSafeArea(this, true);
            this.answers   = answers;
            BindingContext = new AnswersDetailsViewModel(answers);

            formsWebView.OnContentLoaded += delegate(object sender, EventArgs e)
            {
                RefreshAnswers();
            };

            formsWebView.AddLocalCallback("reload", async delegate(string obj)
            {
                if (formsWebView.LoadStatus == LoadMoreStatus.StausDefault || formsWebView.LoadStatus == LoadMoreStatus.StausError || formsWebView.LoadStatus == LoadMoreStatus.StausFail)
                {
                    var questionsComments = JsonConvert.SerializeObject(await ViewModel.ReloadCommentsAsync());
                    await formsWebView.InjectJavascriptAsync("updateComments(" + questionsComments + ");");
                }
            });
            formsWebView.AddLocalCallback("editItem", delegate(string id)
            {
                var questionsAnswers = ViewModel.AnswersComments.Where(n => n.CommentID == int.Parse(id)).FirstOrDefault();
                Device.BeginInvokeOnMainThread(async() =>
                {
                    var page = new AnswersCommentPopupPage(answers, new Action <AnswersComments>(OnResult), questionsAnswers);
                    await Navigation.PushPopupAsync(page);
                });
            });
            formsWebView.AddLocalCallback("deleteItem", async delegate(string id)
            {
                var result = await ViewModel.DeleteAnswersCommentsAsync(int.Parse(id));
                await formsWebView.InjectJavascriptAsync("deleteComment(" + id + "," + result.ToString().ToLower() + ");");
            });
        }
Exemple #2
0
 public AnswersCommentPopupPage(QuestionsAnswers answers, Action <AnswersComment> result, AnswersComment answersComment = null)
 {
     this.answers        = answers;
     this.result         = result;
     this.answersComment = answersComment;
     InitializeComponent();
     BindingContext = new AnswersDetailsViewModel(answers);
     if (answersComment != null)
     {
         this.Comment.Text = answersComment.Content;
     }
     this.Comment.Focus();
 }
Exemple #3
0
 public AnswersCommentPopupPage(QuestionsAnswers answers, Action <AnswersComments> result, AnswersComments answersComment = null)
 {
     InitializeComponent();
     Xamarin.Forms.PlatformConfiguration.iOSSpecific.Page.SetUseSafeArea(this, true);
     this.answers        = answers;
     this.result         = result;
     this.answersComment = answersComment;
     BindingContext      = new AnswersDetailsViewModel(answers);
     if (answersComment != null)
     {
         this.Comment.Text = answersComment.Content;
     }
     this.Comment.Focus();
     ViewModel.IsBusy = false;
 }
 public AnswersDetailsPage(QuestionsAnswers answers)
 {
     this.answers = answers;
     InitializeComponent();
     BindingContext = new AnswersDetailsViewModel(answers);
 }