protected override void DisplayCustomPoiInfo(Object modelObject) { m_model = modelObject as ExampleApp.SearchResultModelCLI; m_tagIcon.Source = IconProvider.GetIconForTag(m_model.IconKey, m_isInKioskMode); m_closing = false; Title = m_model.Title; Country = m_model.Subtitle; ShowAll(); }
public SubMenuListItem(string json, int zIndex, bool isInKioskMode) : base(json, false, zIndex) { JObject parsed = JObject.Parse(json); JToken iconField; if (parsed.TryGetValue("icon", out iconField)) { var iconName = iconField.Value <string>(); m_icon = IconProvider.GetIconForTag(iconName, isInKioskMode); } JToken detailsField; if (parsed.TryGetValue("details", out detailsField)) { m_details = detailsField.Value <string>(); DetailVisibility = "Visible"; TitleTextColor = Colour.black; } }
public void SetSearchSection(string tag, string[] searchResults) { var groups = new List <string>(searchResults.Length); var groupsExpandable = new List <bool>(searchResults.Length); var groupToChildren = new Dictionary <string, List <string> >(); var itemsSource = new List <SearchMenuListItem>(); foreach (var str in searchResults) { var jObject = JObject.Parse(str); var item = new SearchMenuListItem(); item.Name = jObject["name"] != null ? jObject["name"].Value <string>() : string.Empty; item.Details = jObject["details"] != null ? jObject["details"].Value <string>() : string.Empty; JToken iconStringToken; var iconTagName = jObject.TryGetValue("icon", out iconStringToken) ? iconStringToken.Value <string>() : ""; item.Icon = IconProvider.GetIconForTag(iconTagName, m_isInKioskMode); itemsSource.Add(item); groups.Add(str); groupsExpandable.Add(false); if (!groupToChildren.ContainsKey(str)) { groupToChildren.Add(str, new List <string>()); } } m_resultListAdapter.SetData(itemsSource, groups, groupsExpandable, groupToChildren); m_resultsSpinner.Visibility = Visibility.Hidden; m_resultsClearButton.Visibility = Visibility.Visible; m_searchArrow.Visibility = Visibility.Visible; m_resultsSeparator.Visibility = Visibility.Visible; m_searchInFlight = false; }
protected override void DisplayCustomPoiInfo(Object modelObject) { ExampleApp.SearchResultModelCLI model = modelObject as ExampleApp.SearchResultModelCLI; YelpResultModel yelpResultModel = YelpResultModel.FromResultModel(model); var mainGrid = (Application.Current.MainWindow as MainWindow).MainGrid; var screenWidth = mainGrid.ActualWidth; m_closing = false; TitleText = model.Title; AddressText = model.Subtitle.Replace(", ", "," + Environment.NewLine); PhoneText = yelpResultModel.Phone; HumanReadableTagsText = string.Join(", ", model.HumanReadableTags); ReviewText = string.Join(Environment.NewLine, yelpResultModel.Reviews); QRCodeText = string.Format(m_qrCodeStyleText, TitleText); TagIcon = IconProvider.GetIconForTag(model.IconKey, m_isInKioskMode); PoiViewRatingCountText = yelpResultModel.ReviewCount > 0 ? yelpResultModel.ReviewCount.ToString() : string.Empty; RatingsImage.Source = null; m_contentContainer.ScrollToTop(); if (yelpResultModel.ReviewCount > 0 && !string.IsNullOrEmpty(yelpResultModel.RatingsImageUrl)) { RatingsImage.Source = new BitmapImage(ViewHelpers.MakeUriForImage(string.Format("{0}{1}.png", yelpResultModel.RatingsImageUrl, m_isInKioskMode ? "@kiosk" : ""))); } if (string.IsNullOrEmpty(yelpResultModel.ImageUrl)) { m_previewImageSpinner.Visibility = Visibility.Hidden; m_imageGradient.Visibility = Visibility.Collapsed; m_poiImageAndGradientContainer.Visibility = Visibility.Collapsed; m_detailsContainer.Height = Double.NaN; } else { m_previewImageSpinner.Visibility = Visibility.Visible; m_imageGradient.Visibility = Visibility.Visible; m_poiImageAndGradientContainer.Visibility = Visibility.Visible; m_detailsContainer.Height = m_detailsContainerHeight; } RatingCountVisibility = !string.IsNullOrEmpty(yelpResultModel.RatingsImageUrl) && yelpResultModel.ReviewCount > 0 ? Visibility.Visible : Visibility.Collapsed; Url = yelpResultModel.WebUrl; if (string.IsNullOrEmpty(ReviewText)) { m_reviewsIcon.Visibility = Visibility.Hidden; } else { m_reviewsIcon.Visibility = Visibility.Visible; } m_poiImageContainer.Visibility = Visibility.Visible; m_poiImage.Visibility = Visibility.Hidden; ShowAll(); base.DisplayCustomPoiInfo(modelObject); }
protected override void DisplayCustomPoiInfo(Object modelObject) { ExampleApp.SearchResultModelCLI model = modelObject as ExampleApp.SearchResultModelCLI; EegeoResultModel eegeoResultModel = EegeoResultModel.FromResultModel(model); m_closing = false; m_webBrowserSelected = false; m_titlesGrid.RowDefinitions[1].Height = new GridLength(1, GridUnitType.Star); m_poiImageContainer.Height = m_imageContainerHeight; bool webViewUrlIsValid = false; m_poiImageContainer.Visibility = Visibility.Visible; m_poiImage.Visibility = Visibility.Collapsed; m_poiImageDivider.Visibility = Visibility.Visible; m_contentContainer.ScrollToTop(); if (eegeoResultModel.WebViewUrl != null) { m_webBrowser.Visibility = Visibility.Hidden; m_webBrowserSelected = true; Uri hyperlink; webViewUrlIsValid = Uri.TryCreate(eegeoResultModel.WebViewUrl, UriKind.Absolute, out hyperlink) && (hyperlink.Scheme == Uri.UriSchemeHttp || hyperlink.Scheme == Uri.UriSchemeHttps); if (webViewUrlIsValid) { Uri url = new Uri(eegeoResultModel.WebViewUrl); m_webBrowser.Source = url; if (eegeoResultModel.WebViewHeight != 0) { m_webBrowserOriginalHeight = eegeoResultModel.WebViewHeight; m_poiImageContainer.Height = eegeoResultModel.WebViewHeight; if (eegeoResultModel.WebViewHeight > m_maxWebViewHeight) { m_webBrowserOriginalHeight = m_maxWebViewHeight; m_poiImageContainer.Height = m_maxWebViewHeight; } } else { m_webBrowserOriginalHeight = m_defaultWebViewHeight; m_poiImageContainer.Height = m_defaultWebViewHeight; } } else { HandleNoWebView(eegeoResultModel); } } else { HandleNoWebView(eegeoResultModel); } if (!m_webBrowserSelected) { Uri uri; if ((eegeoResultModel.ImageUrl != null || webViewUrlIsValid) && TryCreateWebLink(eegeoResultModel.ImageUrl, out uri)) { m_poiImageDivider.Visibility = Visibility.Visible; } else { m_poiImageContainer.Visibility = Visibility.Collapsed; m_poiImageDivider.Visibility = Visibility.Collapsed; } } if (eegeoResultModel.Phone != null) { PhoneText = eegeoResultModel.Phone; m_phoneDetailsContainer.Visibility = Visibility.Visible; } else { m_phoneDetailsContainer.Visibility = Visibility.Collapsed; } if (eegeoResultModel.Address != null) { AddressText = eegeoResultModel.Address.Replace(", ", Environment.NewLine); m_addressDetailsContainer.Visibility = Visibility.Visible; } else { AddressText = null; m_addressDetailsContainer.Visibility = Visibility.Collapsed; } if (eegeoResultModel.WebUrl != null) { WebAddressText = eegeoResultModel.WebUrl; m_webDetailsContainer.Visibility = Visibility.Visible; m_qrCodeContainer.Visibility = Visibility.Visible; } else { m_webDetailsContainer.Visibility = Visibility.Collapsed; m_qrCodeContainer.Visibility = Visibility.Collapsed; } if (eegeoResultModel.Facebook != null) { m_facebookIcon.Visibility = Visibility.Visible; m_facebookText = eegeoResultModel.Facebook; } else { m_facebookIcon.Visibility = Visibility.Collapsed; } if (eegeoResultModel.Twitter != null) { m_twitterIcon.Visibility = Visibility.Visible; m_twitterText = eegeoResultModel.Twitter; } else { m_twitterIcon.Visibility = Visibility.Collapsed; } if (eegeoResultModel.Email != null) { m_emailIcon.Visibility = Visibility.Visible; m_emailText = eegeoResultModel.Email; } else { m_emailIcon.Visibility = Visibility.Collapsed; } bool shouldCollapseDivider = eegeoResultModel.Facebook == null && eegeoResultModel.Twitter == null && eegeoResultModel.Email == null && eegeoResultModel.Address == null && eegeoResultModel.Phone == null && eegeoResultModel.WebUrl == null; if (shouldCollapseDivider || m_detailsDividerVisibility == Visibility.Collapsed) { m_detailsDivider.Visibility = Visibility.Collapsed; } else { m_detailsDivider.Visibility = Visibility.Visible; } if (eegeoResultModel.Facebook == null && eegeoResultModel.Twitter == null && eegeoResultModel.Email == null) { m_socialLinkIconsContainer.Visibility = Visibility.Collapsed; } else { m_socialLinkIconsContainer.Visibility = Visibility.Visible; } m_linkedInIcon.Visibility = Visibility.Collapsed; m_slackIcon.Visibility = Visibility.Collapsed; TitleText = model.Title; if (model.Subtitle != "") { SubTitleText = model.Subtitle; } else { m_titlesGrid.RowDefinitions[1].Height = new GridLength(0); } if (model.HumanReadableTags != null) { HumanReadableTagsText = string.Join(", ", model.HumanReadableTags); m_tagsDivider.Visibility = Visibility.Visible; } else { m_tagsDivider.Visibility = Visibility.Collapsed; } if (eegeoResultModel.Description != null) { DescriptionText = eegeoResultModel.Description; m_descriptionContainer.Visibility = Visibility.Visible; } else { m_descriptionContainer.Visibility = Visibility.Collapsed; } TagIcon = IconProvider.GetIconForTag(model.IconKey, m_isInKioskMode); ShowAll(); base.DisplayCustomPoiInfo(modelObject); }