protected override async void OnNavigatedTo(NavigationEventArgs e)
        {
            Messenger.Default.Send(new GlobalHelper.SetHeaderTextMessageType {
                PageName = "Repository"
            });
            ReleaseBodyTextPanel.Visibility = Visibility.Collapsed;

            await ViewModel.Load(e.Parameter);

            MainPivot.SelectedItem     = MainPivot.Items[0];
            ReadmeLoadingRing.IsActive = true;
            if (ViewModel.Repository != null)
            {
                String ReadmeHTML = await RepositoryUtility.GetReadmeHTMLForRepository(ViewModel.Repository.Id);

                if (!string.IsNullOrWhiteSpace(ReadmeHTML))
                {
                    ReadmeWebView.NavigateToString("<html><head> <link rel =\"stylesheet\" href =\"ms-appx-web:///Assets/css/github-markdown.css\" type =\"text/css\" media =\"screen\" /> </head> <body> " + ReadmeHTML + " </body></html> ");
                }
                else
                {
                    ViewModel.NoReadme         = true;
                    ReadmeLoadingRing.IsActive = false;
                }
            }
        }
        private async void WebView_NavigationCompleted(WebView sender, WebViewNavigationCompletedEventArgs args)
        {
            /*  We are running a Javascript function that will make all links in the WebView open in an external browser
             *  instead of within the WebView itself.
             */
            await ReadmeWebView.InvokeScriptAsync("eval", new[]
            {
                @"(function()
                {
                    var body = document.getElementsByTagName('body')[0];
                    var hyperlinks = document.getElementsByTagName('a');
                    for(var i = 0; i < hyperlinks.length; i++)
                    {
                        hyperlinks[i].setAttribute('target', '_blank');
                    }
                })()"
            });

            ReadmeLoadingRing.IsActive = false;
        }
Exemple #3
0
        protected async override void OnNavigatedTo(NavigationEventArgs e)
        {
            Messenger.Default.Send(new GlobalHelper.SetHeaderTextMessageType {
                PageName = "Repository"
            });

            await ViewModel.Load(e.Parameter);

            FindName("LanguageText");
            FindName("DescriptionText");
            FindName("calendarSymbol");
            FindName("createdText");
            FindName("createdDateText");
            FindName("editSymbol");
            FindName("editText");
            FindName("updatedDateText");
            FindName("issueSymbol");
            FindName("issueText");
            FindName("issueCount");
            FindName("sizeSymbol");
            FindName("sizeText");
            FindName("sizeCount");
            FindName("sizeUnitText");

            ReadmeWebView.Visibility = Visibility.Collapsed;
            if (SettingsService.Get <bool>(SettingsKeys.ShowReadme))
            {
                ReadmeLoadingRing.IsActive = true;
                // Manually set the user agent to get the full desktop site
                String             userAgent          = "Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.2; ARM; Trident/7.0; Touch; rv:11.0; WPDesktop) like Gecko";
                HttpRequestMessage httpRequestMessage = new HttpRequestMessage(HttpMethod.Post, new Uri(ViewModel.Repository.HtmlUrl));
                httpRequestMessage.Headers.Append("User-Agent", userAgent);
                ReadmeWebView.NavigateWithHttpRequestMessage(httpRequestMessage);
            }
            else
            {
                ReadmeLoadingRing.IsActive = false;
            }
        }