public virtual void RaisePreviousPageEvent(object sender, NavigateArgs e) { var handler = PreviousPageEventHandler; if (handler != null) { handler(this, e); } }
public override void ProcessNavigateArgs(NavigateArgs args) { DBs = WorkloadSetupInfo.GetValue <ObservableCollection <IOraDB> >(WorkloadSetupKeys.DBS); WorkLoads = new ObservableCollection <string>() { "Swingbench", "Aroltp" }; }
private void PreviousViewModel(IPageViewModel current, NavigateArgs e) { int current_index = PageViewModels.FindIndex(vm => vm == current); if (current_index != 0) { PageViewModels[current_index - 1].ProcessNavigateArgs(e); CurrentPageViewModel = PageViewModels[current_index - 1]; } }
private void NextViewModel(IPageViewModel current, NavigateArgs e) { if (current.CanSwitchPage) { int current_index = PageViewModels.FindIndex(vm => vm == current); if (current_index + 1 != PageViewModels.Count) { PageViewModels[current_index + 1].ProcessNavigateArgs(e); CurrentPageViewModel = PageViewModels[current_index + 1]; } } }
public override void ProcessNavigateArgs(NavigateArgs args) { ClusterItems = WorkloadSetupInfo.GetValue <ObservableCollection <ICluster> >(WorkloadSetupKeys.CLUSTERS); foreach (var cluster in ClusterItems) { var cluster_nodes = CollectNodesFromCluster(cluster.ClusterName); if (cluster.Machines == null) { cluster.Machines = new List <IMachineInfo>(); } foreach (IMachineInfo m in cluster_nodes) { cluster.Machines.Add(m); } } }
private void Data_OnNavigate(Type senderType, NavigateArgs args) { if (this != args.Panel) { return; } if (senderType == typeof(UcChannelsStatus)) { var channelArgs = (ChannelsStatusArgs)args; switch (channelArgs.WhatShow) { case ChannelShowAs.OneChannelPage: CreateAndPlaceToPage(typeof(UcOneChannelStatus)); break; case ChannelShowAs.ChannelControllersPage: CreateAndPlaceToPage(typeof(UcControllersStatus)); break; } } else if (senderType == typeof(UcControllersStatus)) { var controllerArgs = (ControllersStatusArgs)args; switch (controllerArgs.WhatShow) { case ControllerShowAs.OneChannelPage: CreateAndPlaceToPage(typeof(UcOneChannelStatus)); break; case ControllerShowAs.OneControllerPage: CreateAndPlaceToPage(typeof(UcOneControllerStatus)); break; } } else if (senderType == typeof(UcTreeNavigator)) { var navigatorArgs = (NavigateTreeArgs)args; switch (navigatorArgs.NodeName) { case "ndStations": CreateAndPlaceToPage(typeof(UcStationsStatus)); break; case "ndChannels": CreateAndPlaceToPage(typeof(UcChannelsStatus)); break; case "ndControllers": CreateAndPlaceToPage(typeof(UcControllersStatus)); break; } } else if (senderType == typeof(UcFillingPage)) { var fillingPage = (UcFillingPage)CreateAndPlaceToPage(typeof(UcFillingPage)); fillingPage.OnRiserSelected += fillingPage_OnRiserSelected; } else if (senderType == typeof(UcWorklogPage)) { CreateAndPlaceToPage(typeof(UcWorklogPage)); } else if (senderType == typeof(UcSwitchlogPage)) { CreateAndPlaceToPage(typeof(UcSwitchlogPage)); } else if (senderType == typeof(UcChangelogPage)) { CreateAndPlaceToPage(typeof(UcChangelogPage)); } else if (senderType == typeof(UcTrendPage)) { CreateAndPlaceToPage(typeof(UcTrendPage)); } else if (senderType == typeof(UcFillinglogPage)) { CreateAndPlaceToPage(typeof(UcFillinglogPage)); } }
public override void ProcessNavigateArgs(NavigateArgs args) { }
public virtual void ProcessNavigateArgs(NavigateArgs args) { }
public void HanldePreviousPageEvent(object sender, NavigateArgs e) { IPageViewModel vm = sender as IPageViewModel; PreviousViewModel(vm, e); }
public void HanldeNextPageEvent(object sender, NavigateArgs e) { IPageViewModel vm = sender as IPageViewModel; NextViewModel(vm, e); }
protected override async Task NavigateAsync(NavigateArgs args, NavigateResult result) { // Download robots.txt and sitemap.xml if (args.IsFileName("/", out string fileNameRoot)) { if (fileNameRoot == "robots.txt") { var robots = string.Format("Sitemap: {0}sitemap.xml", args.RequestUrlHost); result.Data = Encoding.UTF8.GetBytes(robots); return; } if (fileNameRoot == "sitemap.xml") { var rowList = (await Data.Query <ContentSitemap>().QueryExecuteAsync()); rowList = rowList.OrderBy(item => item.NavigatePath).ThenBy(item => item.FileName).ToList(); // In memory sort var sitemap = new StringBuilder(); sitemap.Append("<?xml version=\"1.0\" encoding=\"UTF-8\"?>"); sitemap.Append("<urlset xmlns=\"http://www.sitemaps.org/schemas/sitemap/0.9\" xmlns:image=\"http://www.google.com/schemas/sitemap-image/1.1\">"); for (int i = 0; i < rowList.Count; i++) { var row = rowList[i]; if (row.NavigatePath != null) // Not a group { sitemap.Append("<url>"); var loc = string.Format("{0}{1}", args.RequestUrlHost, row.NavigatePath?.Substring(1)); sitemap.Append("<loc>" + loc + "</loc>"); var navigatePath = row.NavigatePath; while (i < rowList.Count && (row = rowList[i]).FileName != null && row.NavigatePath == navigatePath) { // See also: https://developers.google.com/search/docs/advanced/sitemaps/image-sitemaps sitemap.Append("<image:image>"); sitemap.Append($"<image:loc>{ args.RequestUrlHost + row.FileName.Substring(1) }</image:loc>"); sitemap.Append("</image:image>"); i += 1; } if (row.SitemapDate is DateTime sitemapDate) { var lastmod = sitemapDate.ToString("yyyy-MM-dd"); sitemap.Append("<lastmod>"); sitemap.Append(lastmod); sitemap.Append("</lastmod>"); } sitemap.Append("</url>"); } } sitemap.Append("</urlset>"); result.Data = Encoding.UTF8.GetBytes(sitemap.ToString()); return; } if (fileNameRoot == "ads.txt" && args.ConfigCustom is JsonElement jsonElement && jsonElement.TryGetProperty("GoogleAdsTxt", out var googleAdsTxt)) { result.Data = Encoding.UTF8.GetBytes(googleAdsTxt.GetString()); return; } } // Download file (assets) if (args.IsFileName("/assets/", out string fileName)) { var row = (await Data.Query <StorageFile>().Where(item => item.FileName == fileName).QueryExecuteAsync()).SingleOrDefault(); if (row != null) { result.Data = row.Data; if (args.HttpQuery.ContainsKey("imageThumbnail")) { result.Data = row.DataImageThumbnail; } return; } } // Download File (feedback) if (args.IsFileName("/feedback/", out var fileNameFeedback)) { if (Guid.TryParse(fileNameFeedback, out var name)) { var row = (await Data.Query <Feedback>().Where(item => item.Name == name).QueryExecuteAsync()).SingleOrDefault(); if (row != null) { result.Data = row.AttachmentData; return; } } } // Request session deserialize result.IsSession = true; }
protected override async Task NavigateSessionAsync(NavigateArgs args, NavigateSessionResult result) { if (args.IsFileName("/", out string fileNameRoot)) { if (fileNameRoot == "log.csv") { result.Data = File.ReadAllBytes(UtilFramework.FileNameLog); return; } } var row = PageMain.GridNavigate.RowList.SingleOrDefault(item => item.NavigatePath == args.NavigatePath); if (row != null) { if (PageMain.GridNavigate.RowSelect != row) { PageMain.GridNavigate.RowSelect = row; } if (row.IsContent) { string name = row.Name; var content = (await Data.Query <Content>().Where(item => item.Name == name).QueryExecuteAsync()).FirstOrDefault(); if (content != null) { PageMain.Content.ComponentListClear(); await new PageContent(PageMain.Content, content).InitAsync(); return; } } else { var pageType = Type.GetType("Application.Doc." + row.PageTypeName); if (pageType?.IsSubclassOf(typeof(Page)) == true) { if (PageMain.Content.List.FirstOrDefault()?.GetType() != pageType) { PageMain.Content.ComponentListClear(); var page = (Page)Activator.CreateInstance(pageType, new object[] { PageMain.Content }); await page.InitAsync(); return; } } } } // Redirect trailing slash if (!args.NavigatePath.EndsWith("/")) { row = PageMain.GridNavigate.RowList.SingleOrDefault(item => item.NavigatePath == args.NavigatePath + "/"); if (row != null) { result.RedirectPath = args.NavigatePath + "/"; return; } } // Page not found PageMain.Content.ComponentListClear(); await new PageNotFound(PageMain.Content).InitAsync(); result.IsPageNotFound = true; }