public Add_Controls ( System.Web.UI.WebControls.PlaceHolder MainPlaceHolder, |
||
MainPlaceHolder | System.Web.UI.WebControls.PlaceHolder | Main place holder ( "mainPlaceHolder" ) in the itemNavForm form, widely used throughout the application |
Tracer | Trace object keeps a list of each method executed and important milestones in rendering | |
return | void |
/// <summary> Add controls to the placeholder below the search box </summary> /// <param name="MainPlaceHolder"> Placeholder into which to place controls to be rendered</param> /// <param name="Tracer"> Trace object keeps a list of each method executed and important milestones in rendering</param> /// <remarks> This adds the results from the dataset into the space below the search box.<br /><br /> /// This creates and uses a <see cref="PagedResults_HtmlSubwriter"/> to write the results. </remarks> public override void Add_Secondary_Controls(PlaceHolder MainPlaceHolder, Custom_Tracer Tracer) { if (Tracer != null) { Tracer.Add_Trace("DataSet_Browse_Info_AggregationViewer.Add_Secondary_Controls", "Adding HTML"); } writeResult = new PagedResults_HtmlSubwriter(RequestSpecificValues) { Browse_Title = RequestSpecificValues.Browse_Object.Label }; writeResult.Add_Controls(MainPlaceHolder, Tracer); //if ( resultsStatistics.Total_Items > 0) //{ // Literal literal = new Literal // { // Text = "<div class=\"sbkPrsw_ResultsNavBar\">" + Environment.NewLine + " " + writeResult.Buttons + "" + Environment.NewLine + " " + writeResult.Showing_Text + Environment.NewLine + "</div>" + Environment.NewLine + "<br />" + Environment.NewLine // }; // MainPlaceHolder.Controls.Add(literal); //} }
/// <summary> Add controls to the placeholder below the search box </summary> /// <param name="placeHolder"> Placeholder into which to place controls to be rendered</param> /// <param name="Tracer"> Trace object keeps a list of each method executed and important milestones in rendering</param> /// <remarks> This adds the results from the dataset into the space below the search box.<br /><br /> /// This creates and uses a <see cref="PagedResults_HtmlSubwriter"/> to write the results. </remarks> public override void Add_Secondary_Controls(PlaceHolder placeHolder, Custom_Tracer Tracer) { if (Tracer != null) { Tracer.Add_Trace("DataSet_Browse_Info_AggregationViewer.Add_Secondary_Controls", "Adding HTML"); } writeResult = new PagedResults_HtmlSubwriter(resultsStatistics, pagedResults, codeManager, translator, itemList, currentUser, currentMode, Tracer) { Skin = htmlSkin, Mode = currentMode, Hierarchy_Object = currentCollection, Browse_Title = browseObject.Get_Label(currentMode.Language) }; writeResult.Add_Controls(placeHolder, Tracer); if ( resultsStatistics.Total_Items > 0) { Literal literal = new Literal { Text ="<div class=\"SobekResultsNavBar\">" + Environment.NewLine + " " + writeResult.Buttons +"" + Environment.NewLine + " " + writeResult.Showing_Text + Environment.NewLine + "</div>" + Environment.NewLine + "<br />" + Environment.NewLine }; placeHolder.Controls.Add(literal); } }
/// <summary> Add controls directly to the form in the main control area placeholder </summary> /// <param name="MainPlaceHolder"> Main place holder to which all main controls are added </param> /// <param name="Tracer"> Trace object keeps a list of each method executed and important milestones in rendering</param> /// <remarks> The <see cref="PagedResults_HtmlSubwriter"/> class is instantiated and adds controls to the placeholder here </remarks> public override void Add_Controls(PlaceHolder MainPlaceHolder, Custom_Tracer Tracer) { Tracer.Add_Trace("Folder_Mgmt_MySobekViewer.Add_Controls", String.Empty); // If this is submitted items, don't show the folders string redirect_url = String.Empty; if ( properFolderName != "Submitted Items") { // Determine the redirect RequestSpecificValues.Current_Mode.My_Sobek_SubMode = "XXXXXXXXXXXXXXXXXX"; Result_Display_Type_Enum currentDisplayType = RequestSpecificValues.Current_Mode.Result_Display_Type; RequestSpecificValues.Current_Mode.Result_Display_Type = Result_Display_Type_Enum.Bookshelf; redirect_url = UrlWriterHelper.Redirect_URL(RequestSpecificValues.Current_Mode); RequestSpecificValues.Current_Mode.My_Sobek_SubMode = String.Empty; RequestSpecificValues.Current_Mode.My_Sobek_Type = My_Sobek_Type_Enum.Saved_Searches; string saved_search_url = UrlWriterHelper.Redirect_URL(RequestSpecificValues.Current_Mode); RequestSpecificValues.Current_Mode.Mode = Display_Mode_Enum.Aggregation; RequestSpecificValues.Current_Mode.Aggregation_Type = Aggregation_Type_Enum.Home; RequestSpecificValues.Current_Mode.Home_Type = Home_Type_Enum.Personalized; RequestSpecificValues.Current_Mode.Aggregation = String.Empty; string personalized_home = UrlWriterHelper.Redirect_URL(RequestSpecificValues.Current_Mode); RequestSpecificValues.Current_Mode.Mode = Display_Mode_Enum.My_Sobek; RequestSpecificValues.Current_Mode.My_Sobek_Type = My_Sobek_Type_Enum.Folder_Management; RequestSpecificValues.Current_Mode.My_Sobek_SubMode = properFolderName; RequestSpecificValues.Current_Mode.Result_Display_Type = currentDisplayType; // Build the tree view object and tree view nodes now TreeView treeView1 = new TreeView { CssClass = "tree", EnableClientScript = true, PopulateNodesFromClient = false, ShowLines = false }; treeView1.NodeStyle.NodeSpacing = new Unit(2); treeView1.NodeStyle.CssClass = "TreeNode"; // Add the root my bookshelves node TreeNode rootNode = new TreeNode { Text = " <a title=\"Manage my library\" href=\"" + redirect_url.Replace("XXXXXXXXXXXXXXXXXX", String.Empty) + "\">My Library (Manage my bookshelves)</a>", ImageUrl = Static_Resources_Gateway.Bookshelf_Img, SelectAction = TreeNodeSelectAction.None }; treeView1.Nodes.Add(rootNode); // Add the personalized home page TreeNode homeNode = new TreeNode { Text = " <a title=\"View my collections home page\" href=\"" + personalized_home + "\">My Collections Home</a>", SelectAction = TreeNodeSelectAction.None, ImageUrl = Static_Resources_Gateway.Home_Folder_Gif }; rootNode.ChildNodes.Add(homeNode); // Add the saved searches node TreeNode savedSearchesNode = new TreeNode { Text =" <a title=\"View my saved searches\" href=\"" + saved_search_url + "\">My Saved Searches</a>", SelectAction = TreeNodeSelectAction.None, ImageUrl = Static_Resources_Gateway.Saved_Searches_Img }; rootNode.ChildNodes.Add(savedSearchesNode); // StringBuilder literalBuilder = new StringBuilder(); List<TreeNode> selectedNodes = new List<TreeNode>(); foreach (User_Folder thisFolder in RequestSpecificValues.Current_User.Folders) { if (thisFolder.Folder_Name != "Submitted Items") { TreeNode folderNode = new TreeNode { Text =" <a href=\"" + redirect_url.Replace("XXXXXXXXXXXXXXXXXX", thisFolder.Folder_Name_Encoded) + "\">" + thisFolder.Folder_Name + "</a>" }; if (thisFolder.Folder_Name == properFolderName) { selectedNodes.Add(folderNode); if (thisFolder.IsPublic) { folderNode.ImageUrl = Static_Resources_Gateway.Open_Folder_Public_Jpg; folderNode.ImageToolTip = "Public folder"; } else { folderNode.ImageUrl = Static_Resources_Gateway.Open_Folder_Jpg; } folderNode.Text = " <span class=\"Selected_TreeNode_Text\">" + thisFolder.Folder_Name + "</span>"; folderNode.SelectAction = TreeNodeSelectAction.None; } else { if (thisFolder.IsPublic) { folderNode.ImageUrl = Static_Resources_Gateway.Closed_Folder_Public_Jpg; folderNode.ImageToolTip = "Public folder"; } else { folderNode.ImageUrl = Static_Resources_Gateway.Closed_Folder_Jpg; } folderNode.Text = " <a href=\"" + redirect_url.Replace("XXXXXXXXXXXXXXXXXX", thisFolder.Folder_Name_Encoded) + "\">" + thisFolder.Folder_Name + "</a>"; } rootNode.ChildNodes.Add(folderNode); // Add all the children nodes as well add_children_nodes(folderNode, thisFolder, properFolderName, redirect_url, selectedNodes); } } // Collapse the treeview treeView1.CollapseAll(); if (selectedNodes.Count > 0) { TreeNode selectedNodeExpander = selectedNodes[0]; while (selectedNodeExpander.Parent != null) { (selectedNodeExpander.Parent).Expand(); selectedNodeExpander = selectedNodeExpander.Parent; } } else { rootNode.Expand(); } MainPlaceHolder.Controls.Add(treeView1); } if (RequestSpecificValues.Current_Mode.My_Sobek_SubMode.Length > 0) { if ( RequestSpecificValues.Results_Statistics.Total_Titles == 0) { Literal literal = new Literal(); string folder_name = RequestSpecificValues.Current_User.Folder_Name(RequestSpecificValues.Current_Mode.My_Sobek_SubMode); RequestSpecificValues.Current_Mode.My_Sobek_SubMode = String.Empty; if (folder_name.Length == 0) { UrlWriterHelper.Redirect(RequestSpecificValues.Current_Mode); return; } if (properFolderName != "Submitted Items") literal.Text = "<br /><br /><h1>" + folder_name + "</h1><br /><br /><div class=\"SobekHomeText\" ><center><b>This bookshelf is currently empty</b></center><br /><br /><br /></div></div>"; else literal.Text = "<h1>" + folder_name + "</h1><br /><br /><div class=\"SobekHomeText\" ><center><b>This bookshelf is currently empty</b></center><br /><br /><br /></div></div>"; MainPlaceHolder.Controls.Add(literal); } else { writeResult = new PagedResults_HtmlSubwriter(RequestSpecificValues, RequestSpecificValues.Results_Statistics, RequestSpecificValues.Paged_Results) { Browse_Title = properFolderName, Outer_Form_Name = "itemNavForm" }; if (properFolderName != "Submitted Items") writeResult.Include_Bookshelf_View = true; // Add some space and then the view type selection box StringBuilder view_type_selection_builder = new StringBuilder( 2000); if (properFolderName != "Submitted Items") view_type_selection_builder.AppendLine("<br /><br />"); StringWriter writer = new StringWriter(view_type_selection_builder); writeResult.Write_HTML(writer, Tracer); Literal view_type_selection_literal = new Literal {Text = view_type_selection_builder.ToString()}; MainPlaceHolder.Controls.Add(view_type_selection_literal); // Now, add the results controls as well writeResult.Add_Controls(MainPlaceHolder, Tracer); // Close the div Literal final_literal = new Literal {Text = "<br />\n"}; MainPlaceHolder.Controls.Add(final_literal); } //if (( pagedResults != null ) && ( pagedResults.Count > 0)) //{ // Literal literal = new Literal(); // literal.Text = "<div class=\"sbkPrsw_ResultsNavBar\">" + Environment.NewLine + " " + writeResult.Buttons + Environment.NewLine + " " + writeResult.Showing_Text + Environment.NewLine + "</div>" + Environment.NewLine + "<br />" + Environment.NewLine; // MainPlaceHolder.Controls.Add(literal); //} } else { // Add the folder management piece here StringBuilder bookshelfManageBuilder = new StringBuilder(); bookshelfManageBuilder.AppendLine("<br /><br />\n<h1>Manage My Bookshelves</h1>\n<div class=\"SobekHomeText\" >"); bookshelfManageBuilder.AppendLine(" <blockquote>"); bookshelfManageBuilder.AppendLine(" <table width=\"630px\">"); bookshelfManageBuilder.AppendLine(" <tr valign=\"middle\">"); bookshelfManageBuilder.AppendLine(" <td align=\"left\" width=\"30px\"><a href=\"?\" id=\"new_bookshelf_link\" name=\"new_bookshelf_link\" onclick=\"return open_new_bookshelf_folder();\" title=\"Click to add a new bookshelf\" ><img title=\"Click to add a new bookshelf\" src=\"" + Static_Resources_Gateway.New_Folder_Jpg + "\" /></a><td>"); bookshelfManageBuilder.AppendLine(" <td align=\"left\"><a href=\"?\" id=\"new_bookshelf_link\" name=\"new_bookshelf_link\" onclick=\"return open_new_bookshelf_folder();\" title=\"Click to add a new bookshelf\" >Add New Bookshelf</a><td>"); bookshelfManageBuilder.AppendLine(" <td align=\"right\" width=\"40px\"><a href=\"?\" id=\"refresh_bookshelf_link\" name=\"refresh_bookshelf_link\" onclick=\"return refresh_bookshelves();\" title=\"Refresh bookshelf list\" ><img title=\"Refresh bookshelf list\" src=\"" + Static_Resources_Gateway.Refresh_Folder_Jpg + "\" /></a><td>"); bookshelfManageBuilder.AppendLine(" <td align=\"left\" width=\"150px\"><a href=\"?\" id=\"refresh_bookshelf_link\" name=\"refresh_bookshelf_link\" onclick=\"return refresh_bookshelves();\" title=\"Refresh bookshelf list\" >Refresh Bookshelves</a><td>"); bookshelfManageBuilder.AppendLine(" </tr>"); bookshelfManageBuilder.AppendLine(" </table>"); bookshelfManageBuilder.AppendLine(" <br /><br />"); bookshelfManageBuilder.AppendLine(" <table border=\"0px\" cellspacing=\"0px\" class=\"statsTable\">"); bookshelfManageBuilder.AppendLine(" <tr align=\"left\" bgcolor=\"#0022a7\" >"); bookshelfManageBuilder.AppendLine(" <th width=\"210px\" align=\"left\"><span style=\"color: White\"> ACTIONS</span></th>"); bookshelfManageBuilder.AppendLine(" <th width=\"40px\" align=\"left\"> </th>"); bookshelfManageBuilder.AppendLine(" <th width=\"380px\" align=\"left\"><span style=\"color: White\">BOOKSHELF NAME</span></th>"); bookshelfManageBuilder.AppendLine(" </tr>"); bookshelfManageBuilder.AppendLine(" <tr><td bgcolor=\"#e7e7e7\" colspan=\"3\"></td></tr>"); // Write the data for each interface int folder_number = 1; foreach ( User_Folder thisFolder in RequestSpecificValues.Current_User.All_Folders ) { if (thisFolder.Folder_Name != "Submitted Items") { // Build the action links bookshelfManageBuilder.AppendLine(" <tr align=\"left\" valign=\"center\" >"); bookshelfManageBuilder.Append(" <td class=\"SobekFolderActionLink\" >( "); if (thisFolder.Child_Count == 0) { if (RequestSpecificValues.Current_User.All_Folders.Count == 1) { bookshelfManageBuilder.Append("<a title=\"Click to delete this bookshelf\" id=\"DELETE_" + folder_number + "\" href=\"" + RequestSpecificValues.Current_Mode.Base_URL + "l/technical/javascriptrequired\" onclick=\"alert('You cannot delete your last bookshelf');return false;\">delete</a> | "); } else { bookshelfManageBuilder.Append("<a title=\"Click to delete this bookshelf\" id=\"DELETE_" + folder_number + "\" href=\"" + RequestSpecificValues.Current_Mode.Base_URL + "l/technical/javascriptrequired\" onclick=\"return delete_folder('" + thisFolder.Folder_ID + "');\">delete</a> | "); } } else { bookshelfManageBuilder.Append("<a title=\"Click to delete this bookshelf\" id=\"DELETE_" + folder_number + "\" href=\"" + RequestSpecificValues.Current_Mode.Base_URL + "l/technical/javascriptrequired\" onclick=\"alert('You cannot delete bookshelves which contain other bookshelves');return false;\">delete</a> | "); } if (thisFolder.IsPublic) { bookshelfManageBuilder.Append("<a title=\"Make this bookshelf private\" id=\"PUBLIC_" + folder_number + "\" href=\"" + RequestSpecificValues.Current_Mode.Base_URL + "l/technical/javascriptrequired\" onclick=\"return change_folder_visibility('" + thisFolder.Folder_Name_Encoded + "', 'private');\">make private</a> | "); } else { bookshelfManageBuilder.Append("<a title=\"Make this bookshelf public\" id=\"PUBLIC_" + folder_number + "\" href=\"" + RequestSpecificValues.Current_Mode.Base_URL + "l/technical/javascriptrequired\" onclick=\"return change_folder_visibility('" + thisFolder.Folder_Name_Encoded + "', 'public');\">make public</a> | "); } bookshelfManageBuilder.AppendLine("<a title=\"Click to manage this bookshelf\" href=\"" + redirect_url.Replace("XXXXXXXXXXXXXXXXXX", thisFolder.Folder_Name_Encoded) + "\">manage</a> )</td>"); if (thisFolder.IsPublic) { RequestSpecificValues.Current_Mode.Mode = Display_Mode_Enum.Public_Folder; RequestSpecificValues.Current_Mode.FolderID = thisFolder.Folder_ID; bookshelfManageBuilder.AppendLine(" <td><a href=\"" + UrlWriterHelper.Redirect_URL(RequestSpecificValues.Current_Mode) + "\"><img title=\"Public folder\" src=\"" + Static_Resources_Gateway.Closed_Folder_Public_Jpg + "\" /><a/></td>"); bookshelfManageBuilder.AppendLine(" <td><a href=\"" + UrlWriterHelper.Redirect_URL(RequestSpecificValues.Current_Mode) + "\">" + thisFolder.Folder_Name + "</a></td>"); RequestSpecificValues.Current_Mode.Mode = Display_Mode_Enum.My_Sobek; } else { bookshelfManageBuilder.AppendLine(" <td><img title=\"Private folder\" src=\"" + Static_Resources_Gateway.Closed_Folder_Jpg + "\" /></td>"); bookshelfManageBuilder.AppendLine(" <td>" + thisFolder.Folder_Name + "</td>"); } bookshelfManageBuilder.AppendLine(" </tr>"); bookshelfManageBuilder.AppendLine(" <tr><td bgcolor=\"#e7e7e7\" colspan=\"3\"></td></tr>"); // Increment the folder number folder_number++; } } bookshelfManageBuilder.AppendLine(" </table>"); bookshelfManageBuilder.AppendLine(" </blockquote>"); bookshelfManageBuilder.AppendLine("</div>"); // Add this as a literal Literal mgmtLiteral = new Literal {Text = bookshelfManageBuilder.ToString()}; MainPlaceHolder.Controls.Add(mgmtLiteral); } }