//******************************************************* // // The RightLeft_Click server event handler on this page is // used to move a portal module between layout panes on // the tab page // //******************************************************* private void RightLeft_Click(Object sender, ImageClickEventArgs e) { String sourcePane = ((ImageButton)sender).Attributes["sourcepane"]; String targetPane = ((ImageButton)sender).Attributes["targetpane"]; ListBox sourceBox = (ListBox)Page.FindControl(sourcePane); ListBox targetBox = (ListBox)Page.FindControl(targetPane); if (sourceBox.SelectedIndex != -1) { // get source arraylist ArrayList sourceList = GetModules(sourcePane); // get a reference to the module to move // and assign a high order number to send it to the end of the target list ModuleItem m = (ModuleItem)sourceList[sourceBox.SelectedIndex]; // add it to the database AdminDB admin = new AdminDB(); admin.UpdateModuleOrder(m.ModuleId, 998, targetPane); // delete it from the source list sourceList.RemoveAt(sourceBox.SelectedIndex); // Obtain portalId from Current Context PortalSettings portalSettings = (PortalSettings)Context.Items["PortalSettings"]; // reload the portalSettings from the database HttpContext.Current.Items["PortalSettings"] = new PortalSettings(portalSettings.PortalId, tabId); // reorder the modules in the source pane sourceList = GetModules(sourcePane); OrderModules(sourceList); // resave the order foreach (ModuleItem item in sourceList) { admin.UpdateModuleOrder(item.ModuleId, item.ModuleOrder, sourcePane); } // reorder the modules in the target pane ArrayList targetList = GetModules(targetPane); OrderModules(targetList); // resave the order foreach (ModuleItem item in targetList) { admin.UpdateModuleOrder(item.ModuleId, item.ModuleOrder, targetPane); } // Redirect to the same page to pick up changes Response.Redirect(Request.RawUrl); } }
//******************************************************* // // The AddModuleToPane_Click server event handler on this page is used // to add a new portal module into the tab // //******************************************************* private void AddModuleToPane_Click(Object sender, EventArgs e) { // All new modules go to the end of the contentpane ModuleItem m = new ModuleItem(); m.ModuleTitle = moduleTitle.Text; m.ModuleDefId = Int32.Parse(moduleType.SelectedItem.Value); m.ModuleOrder = 999; // save to database AdminDB admin = new AdminDB(); m.ModuleId = admin.AddModule(tabId, m.ModuleOrder, "ContentPane", m.ModuleTitle, m.ModuleDefId, 0, "Admins", false); // Obtain portalId from Current Context PortalSettings portalSettings = (PortalSettings)Context.Items["PortalSettings"]; // reload the portalSettings from the database HttpContext.Current.Items["PortalSettings"] = new PortalSettings(portalSettings.PortalId, tabId); // reorder the modules in the content pane ArrayList modules = GetModules("ContentPane"); OrderModules(modules); // resave the order foreach (ModuleItem item in modules) { admin.UpdateModuleOrder(item.ModuleId, item.ModuleOrder, "ContentPane"); } // Redirect to the same page to pick up changes Response.Redirect(Request.RawUrl); }
//******************************************************* // // The UpDown_Click server event handler on this page is // used to move a portal module up or down on a tab's layout pane // //******************************************************* private void UpDown_Click(Object sender, ImageClickEventArgs e) { String cmd = ((ImageButton)sender).CommandName; String pane = ((ImageButton)sender).CommandArgument; ListBox _listbox = (ListBox)Page.FindControl(pane); ArrayList modules = GetModules(pane); if (_listbox.SelectedIndex != -1) { int delta; int selection = -1; // Determine the delta to apply in the order number for the module // within the list. +3 moves down one item; -3 moves up one item if (cmd == "down") { delta = 3; if (_listbox.SelectedIndex < _listbox.Items.Count - 1) { selection = _listbox.SelectedIndex + 1; } } else { delta = -3; if (_listbox.SelectedIndex > 0) { selection = _listbox.SelectedIndex - 1; } } ModuleItem m; m = (ModuleItem)modules[_listbox.SelectedIndex]; m.ModuleOrder += delta; // reorder the modules in the content pane OrderModules(modules); // resave the order AdminDB admin = new AdminDB(); foreach (ModuleItem item in modules) { admin.UpdateModuleOrder(item.ModuleId, item.ModuleOrder, pane); } } // Redirect to the same page to pick up changes Response.Redirect(Request.RawUrl); }