/// <summary> /// Prepares JSON object to be inserted to the breadcrumbs. This object will be used when updating breadcrumbs after changing display name of the campaign. /// </summary> /// <returns>List of objects containing breadcrumb for root element and single campaign.</returns> private object GetBreadcrumbsData() { var breadcrumbsList = new List <object>(); var application = UIContext.UIElement.Application; // Root application string rootRedirectUrl = UrlResolver.ResolveUrl(ApplicationUrlHelper.GetApplicationUrl(application)); breadcrumbsList.Add(new { text = MacroResolver.Resolve(application.ElementDisplayName), redirectUrl = rootRedirectUrl, isRoot = true }); // (Campaign) breadcrumbsList.Add(new { suffix = ResHelper.GetString("analytics.campaign") }); return(new { data = breadcrumbsList, pin = new { elementGuid = UIElementInfoProvider.GetUIElementInfo(UIContext.UIElement.ElementParentID).ElementGUID, applicationGuid = application.ElementGUID, objectType = CampaignInfo.OBJECT_TYPE } }); }
/// <summary> /// Creates role UI element. Called when the "Add element to role" button is pressed. /// Expects the CreateUIElement method to be run first. /// </summary> private bool AddUIElementToRole() { // Get the role RoleInfo role = RoleInfoProvider.GetRoleInfo("cmsdeskadmin", SiteContext.CurrentSiteID); // Get the UI element UIElementInfo element = UIElementInfoProvider.GetUIElementInfo("MyNewModule", "MyNewElement"); if ((role != null) && (element != null)) { // Create new role UI element object RoleUIElementInfo newRoleElement = new RoleUIElementInfo(); // Set the properties newRoleElement.RoleID = role.RoleID; newRoleElement.ElementID = element.ElementID; // Save the role UI element RoleUIElementInfoProvider.SetRoleUIElementInfo(newRoleElement); return(true); } return(false); }
/// <summary> /// Sets selection after action. /// </summary> /// <param name="actionName">Action name</param> /// <param name="elementId">Element ID</param> private void AfterAction(string actionName, int elementId) { UIElementInfo elemInfo = UIElementInfoProvider.GetUIElementInfo(elementId); if (elemInfo != null) { ContentTree.SelectPath = elemInfo.ElementIDPath; ContentTree.ExpandPath = elemInfo.ElementIDPath + "/"; switch (actionName.ToLowerCSafe()) { case "delete": // Update menu actions parameters SelectNode(elemInfo); break; case "moveup": case "movedown": SelectNode(elemInfo, false); break; default: SelectNode(elemInfo); break; } } }
private string ValidateForm() { // Finds whether required fields are not empty or codename is in requested form string result = new Validator() .NotEmpty(txtDisplayName.Text.Trim(), GetString("general.requiresdisplayname")) .NotEmpty(txtName.Text.Trim(), GetString("general.requirescodename")) .IsCodeName(txtName.Text.Trim(), GetString("general.invalidcodename")) .Result; if (String.IsNullOrEmpty(result) && plcCMSVersion.Visible) { if (string.IsNullOrEmpty(versionSelector.Value.ToString())) { result = GetString("general.requirescmsversion"); } } if (String.IsNullOrEmpty(result)) { // Check if code name is unique UIElementInfo elemInfo = UIElementInfoProvider.GetUIElementInfo(ResourceID, txtName.Text.Trim()); if ((elemInfo != null) && (elemInfo.ElementID != this.ElementID)) { result = GetString("general.uniquecodenameerror"); } } return(result); }
protected void SetRootNode() { if (String.IsNullOrEmpty(ElementName)) { // Get the root UI element root = UIElementInfoProvider.GetRootUIElementInfo(ModuleName); } else { // Get the specified element root = UIElementInfoProvider.GetUIElementInfo(ModuleName, ElementName); } string codeName = root.ElementName.Replace(".", String.Empty).ToLowerCSafe(); string caption = ResHelper.LocalizeString(!String.IsNullOrEmpty(root.ElementCaption) ? root.ElementCaption : root.ElementDisplayName); string rootIcon = DisplayRootIcon ? GetImageUrl(root.ElementIconPath) : ""; string rootUrl = !String.IsNullOrEmpty(RootTargetURL) ? GetUrl(RootTargetURL) : GetUrl(root.ElementTargetURL); string rootText = devIcon + caption; if (EnableRootSelect) { rootText = String.Format("{0}<a href=\"{1}\" target=\"{2}\"><span id=\"node_{3}\" name=\"treeNode\" class=\"ContentTreeItem ContentTreeSelectedItem\"><span class=\"Name\">{4}</span></span></a>", devIcon, rootUrl, TargetFrame, codeName, caption); treeElem.SetRoot(rootText, root.ElementID.ToString(), rootIcon, rootUrl, TargetFrame); treeElem.EnableRootAction = true; } else { treeElem.SetRoot(rootText, root.ElementID.ToString(), rootIcon); } treeElem.ExpandPath = root.ElementIDPath; }
protected void SetRootNode() { if (String.IsNullOrEmpty(ElementName)) { // Get the root UI element root = UIElementInfoProvider.GetRootUIElementInfo(ModuleName); } else { // Get the specified element root = UIElementInfoProvider.GetUIElementInfo(ModuleName, ElementName); } string codeName = root.ElementName.Replace(".", String.Empty).ToLowerCSafe(); string caption = UIElementInfoProvider.GetElementCaption(root); string rootUrl = !String.IsNullOrEmpty(RootTargetURL) ? GetUrl(RootTargetURL) : GetUrl(root.ElementTargetURL); string rootText = caption + DevIcon; if (EnableRootSelect) { rootText = String.Format("<a href=\"{0}\" target=\"{1}\"><span id=\"node_{2}\" name=\"treeNode\" class=\"ContentTreeItem ContentTreeSelectedItem\"><span class=\"Name\">{3}</span></span></a>", rootUrl, TargetFrame, codeName, caption); treeElem.SetRoot(rootText, root.ElementID.ToString(), null, rootUrl, TargetFrame); treeElem.EnableRootAction = true; } else { treeElem.SetRoot(rootText, root.ElementID.ToString(), null); } treeElem.ExpandPath = root.ElementIDPath; }
/// <summary> /// Creates URL for editing. /// </summary> /// <param name="resourceName">Resource name</param> /// <param name="elementName">Element name</param> /// <param name="transformation">Transformation object info</param> private String GetEditUrl(string resourceName, string elementName, TransformationInfo transformation) { var uiChild = UIElementInfoProvider.GetUIElementInfo(resourceName, elementName); if (uiChild != null) { string url = String.Empty; string query = RequestContext.CurrentQueryString; // Remove parentobjectid parameter to prevent from duplicating (URL generated by UIContextHelper.GetElementUrl already contains it). query = URLHelper.RemoveUrlParameter(query, "parentobjectid"); if (!DialogMode) { url = UIContextHelper.GetElementUrl(uiChild, UIContext); url = URLHelper.AppendQuery(url, query); // Remove hash parameter as it's useless in non-dialog mode. url = URLHelper.RemoveParameterFromUrl(url, "hash"); } else { url = ApplicationUrlHelper.GetElementDialogUrl(uiChild, 0, query); } return(URLHelper.AppendQuery(url, "objectid=" + transformation.TransformationID)); } return(String.Empty); }
/// <summary> /// Creates URL for editing. /// </summary> /// <param name="resourceName">Resource name</param> /// <param name="elementName">Element name</param> /// <param name="transformation">Transformation object info</param> private String GetEditUrl(string resourceName, string elementName, TransformationInfo transformation) { var uiChild = UIElementInfoProvider.GetUIElementInfo(resourceName, elementName); if (uiChild != null) { string url = String.Empty; string query = RequestContext.CurrentQueryString; if (!DialogMode) { url = UIContextHelper.GetElementUrl(uiChild, UIContext); url = URLHelper.AppendQuery(url, query); } else { url = UIContextHelper.GetElementDialogUrl(uiChild, 0, query); } return(URLHelper.AppendQuery(url, "objectid=" + transformation.TransformationID)); } return(String.Empty); }
/// <summary> /// Handles the OnAfterSave event of the EditForm control. /// </summary> protected void EditForm_OnAfterSave(object sender, EventArgs ea) { String saveScript = AfterSaveScript; if (saveScript != String.Empty) { ScriptHelper.RegisterClientScriptBlock(this, typeof(String), "aftersavescript", ScriptHelper.GetScript(saveScript)); } else { if (!String.IsNullOrEmpty(RedirectURL)) { URLHelper.Redirect(RedirectURL); } if (newItem) { String url = RedirectURL; if (String.IsNullOrEmpty(RedirectURL)) { // Find element representing new object UIElementInfo uiPar = UIElementInfoProvider.GetUIElementInfo(UIContext.UIElement.ElementParentID); if (uiPar != null) { // Append parameters url = UIContextHelper.GetElementUrl(uiPar.GetEditElement(), UIContext); url = URLHelper.AppendQuery(url, "objectid=" + EditForm.EditedObject.Generalized.ObjectID + "&saved=1"); // Ensure that the redirected edit page will behave as a top dialog page (hide breadcrumbs, uses dialog page title...) url = URLHelper.RemoveParameterFromUrl(url, "rootelementid"); // Append action edit parameter url = URLHelper.AddParameterToUrl(url, "action", "edit"); } } // Ensure hash for dialog mode url = UIContextHelper.AppendDialogHash(UIContext, url); EditForm.RedirectUrlAfterSave = url; } } // Raise the javascript return handler function RaiseReturnHandler(); if (itemChanged) { String refreshWopener = String.Empty; // Refresh opener for dialog page. if (IsDialog) { refreshWopener = "if(wopener!=null) {if (wopener.Refresh != null) {wopener.Refresh()} else if (wopener.RefreshPage != null) wopener.RefreshPage();}"; } ScriptHelper.RegisterClientScriptBlock(Page, typeof(String), "RefreshParent", ScriptHelper.GetScript(refreshWopener + "if (parent.refreshPage) {parent.refreshPage()} else parent.location = parent.location;")); } }
protected void Page_Load(object sender, EventArgs e) { // Get query parameters int moduleId = QueryHelper.GetInteger("moduleid", 0); int elementId = QueryHelper.GetInteger("elementid", 0); int parentId = QueryHelper.GetInteger("parentid", 0); string currentElement = ""; // Get current element display name UIElementInfo elemInfo = UIElementInfoProvider.GetUIElementInfo(elementId); if (elemInfo != null) { currentElement = elemInfo.ElementDisplayName; } // Setup breadcrumbs string[,] pageTitleTabs = new string[2, 3]; pageTitleTabs[0, 0] = GetString("resource.ui.element"); pageTitleTabs[0, 1] = "~/CMSModules/Modules/Pages/Development/Module_UI_Frameset.aspx?moduleid=" + moduleId; pageTitleTabs[0, 2] = "content"; pageTitleTabs[1, 0] = ResHelper.LocalizeString(currentElement); pageTitleTabs[1, 1] = ""; pageTitleTabs[1, 2] = ""; this.CurrentMaster.Title.Breadcrumbs = pageTitleTabs; // Setup Tabs if no creating and no parent element if (parentId > 0) { string[,] tabs = new string[2, 4]; tabs[0, 0] = GetString("general.general"); tabs[0, 1] = "SaveTab(0);SetHelpTopic('helpTopic', 'resource_ui_general');"; tabs[0, 2] = "Module_UI_General.aspx?moduleID=" + moduleId + "&elementId=" + elementId + "&parentId=" + parentId; tabs[1, 0] = GetString("general.roles"); tabs[1, 1] = "SaveTab(1);SetHelpTopic('helpTopic', 'resource_ui_roles');"; tabs[1, 2] = "Module_UI_Roles.aspx?moduleID=" + moduleId + "&elementId=" + elementId + "&parentId=" + parentId; this.CurrentMaster.Tabs.Tabs = tabs; this.CurrentMaster.Tabs.UrlTarget = "editcontent"; int selectedTab = QueryHelper.GetInteger("tabindex", 0); this.CurrentMaster.Tabs.SelectedTab = selectedTab; if (selectedTab == 0) { this.CurrentMaster.Title.HelpTopicName = "resource_ui_general"; } else { this.CurrentMaster.Title.HelpTopicName = "resource_ui_roles"; } this.CurrentMaster.Title.HelpName = "helpTopic"; this.CurrentMaster.HeadElements.Visible = true; this.CurrentMaster.HeadElements.Text = ScriptHelper.GetScript("function SaveTab(tabIndex){\n if ((window.parent != null) && (window.parent.parent != null) && (window.parent.parent.frames['tree'])){\n window.parent.parent.frames['tree'].setTab(tabIndex);\n}}"); } }
/// <summary> /// Deletes UI element. Called when the "Delete element" button is pressed. /// Expects the CreateUIElement method to be run first. /// </summary> private bool DeleteUIElement() { // Get the UI element UIElementInfo deleteElement = UIElementInfoProvider.GetUIElementInfo("MyNewModule", "MyNewElement"); // Delete the UI element UIElementInfoProvider.DeleteUIElementInfo(deleteElement); return(deleteElement != null); }
/// <summary> /// Creates URL for editing. /// </summary> private String GetEditUrl() { UIElementInfo uiChild = UIElementInfoProvider.GetUIElementInfo("CMS.CustomTables", "EditTransformation"); if (uiChild != null) { return URLHelper.AppendQuery(UIContextHelper.GetElementUrl(uiChild, UIContext), "displaytitle=false"); } return String.Empty; }
/// <summary> /// Gets URL where the page should be redirected after the unsubscription save. /// </summary> /// <returns>Relative URL navigating to the unsubscription listing page.</returns> private string GetRedirectUrl() { // Get URL of the unsubscription listing page var uiElement = UIElementInfoProvider.GetUIElementInfo(new Guid("C0B4B02A-F628-4204-9390-6CD9D9AE7125")); return(UIContextHelper.GetElementUrl( uiElement, displayTitle: false /* Ensure the black strip header won't be displayed */ )); }
protected void Page_Load(object sender, EventArgs e) { String text = String.Empty; String url = TargetUrl; bool enabled = true; String onClick = String.Empty; // If new element is set, load it directly, otherwise use first element with prefix 'new' in its name. UIElementInfo uiNew = String.IsNullOrEmpty(NewElement) ? UIContext.UIElement.GetNewElement() : UIElementInfoProvider.GetUIElementInfo(UIContext.UIElement.ElementResourceID, NewElement); bool openInDialog = false; String dialogWidth = null; String dialogHeight = null; if (uiNew != null) { UIContextData data = new UIContextData(); data.LoadData(uiNew.ElementProperties); text = UIElementInfoProvider.GetElementCaption(uiNew); enabled = UIContextHelper.CheckElementVisibilityCondition(uiNew); url = ContextResolver.ResolveMacros(UIContextHelper.GetElementUrl(uiNew, UIContext)); openInDialog = data["OpenInDialog"].ToBoolean(false); dialogWidth = data["DialogWidth"].ToString(null); dialogHeight = data["DialogHeight"].ToString(null); // Set on-click for JavaScript type if (uiNew.ElementType == UIElementTypeEnum.Javascript) { onClick = url; url = String.Empty; } else { // For URL append dialog hash if needed url = UIContextHelper.AppendDialogHash(UIContext, url); } } // If url is non empty add action if (((url != String.Empty) || (onClick != String.Empty)) && (HeaderActions != null)) { HeaderActions.AddAction(new HeaderAction() { Text = GetString(text), RedirectUrl = url, Enabled = enabled, OnClientClick = onClick, OpenInDialog = openInDialog, DialogWidth = dialogWidth, DialogHeight = dialogHeight }); } }
/// <summary> /// Gets element ID from hidden value. /// </summary> private void GetHiddenValue() { string hidValue = hidSelectedElem.Value; int hiddenElemId = ValidationHelper.GetInteger(hidValue, 0); if ((hiddenElemId > 0) && (ElementId <= 0)) { ElementId = hiddenElemId; ElementInfo = UIElementInfoProvider.GetUIElementInfo(ElementId); } }
/// <summary> /// Creates URL for editing. /// </summary> private String GetEditUrl() { UIElementInfo uiChild = UIElementInfoProvider.GetUIElementInfo("CMS.CustomTables", "EditCustomTable"); if (uiChild != null) { return(URLHelper.AppendQuery(UIContextHelper.GetElementUrl(uiChild, false), "objectid={0}")); } return(String.Empty); }
/// <summary> /// Page load event handler /// </summary> protected void Page_Load(object sender, EventArgs e) { pnlButtons.Visible = ShowTemplateButtons; btnClear.Visible = DisplayClearButton; var template = PageTemplateInfo; if (template != null) { int templateId = template.PageTemplateId; // Hide Clone as AdHoc button for page templates when is used for UIElement edit page and UIElement does not exists var uiElement = Form?.EditedObject as UIElementInfo; plcUIClone.Visible = uiElement != null ? (template.IsReusable && UIElementInfoProvider.GetUIElementInfo(uiElement.ElementID) != null) : template.IsReusable; if (Enabled) { // Add root category filter String root = !String.IsNullOrEmpty(RootCategoryName) ? "&startingpath=" + RootCategoryName : ""; // Set buttons btnSave.OnClientClick = String.Format( "modalDialog('{0}?selectorid={1}{2}&templateId={3}&siteid={4}', 'SaveNewTemplate', 700, 400); return false;", ResolveUrl("~/CMSModules/PortalEngine/UI/Layout/SaveNewPageTemplate.aspx"), ClientID, root, templateId, SiteContext.CurrentSiteID ); // Edit button string url = ApplicationUrlHelper.GetElementDialogUrl("cms.design", "PageTemplate.EditPageTemplate", templateId); btnEditTemplateProperties.OnClientClick = String.Format("modalDialog('{0}', 'Template edit', '95%', '95%'); return false;", url); btnClone.OnClientClick = String.Format( "if (confirm({0})) {1};return false;", ScriptHelper.GetString(GetString("pageselector.cloneasadhoc")), Page.ClientScript.GetPostBackEventReference(btnFullPostback, null) ); } } else { pnlButtons.Visible = false; } SetButtonsOnClick(); if (RequestHelper.IsPostBack() && (hdnSelected.Value == "")) { hdnSelected.Value = Request.Form[hdnSelected.UniqueID]; } }
/// <summary> /// Creates URL for editing. /// </summary> private String GetEditUrl() { UIElementInfo uiChild = UIElementInfoProvider.GetUIElementInfo("CMS.DocumentEngine", "EditQuery"); if (uiChild != null) { return(URLHelper.AppendQuery(UIContextHelper.GetElementUrl(uiChild, UIContext), "displaytitle=false")); } return(String.Empty); }
/// <summary> /// Creates URL for editing. /// </summary> private String GetEditUrl() { UIElementInfo uiChild = UIElementInfoProvider.GetUIElementInfo("CMS.MediaLibrary", "EditMediaLibrary"); if (uiChild != null) { return(UIContextHelper.GetElementUrl(uiChild, false, elemList.SelectedItemID)); } return(String.Empty); }
/// <summary> /// Creates URL for editing. /// </summary> /// <param name="classId">Class info identifier</param> /// <param name="formId">Alternative form identifier</param> private String GetEditUrl(int classId, int formId) { UIElementInfo uiChild = UIElementInfoProvider.GetUIElementInfo("CMS.DocumentEngine", "EditAlternativeForm"); if (uiChild != null) { return(URLHelper.AppendQuery(UIContextHelper.GetElementUrl(uiChild, UIContext), "displaytitle=false&objectid=" + formId + "&parentobjectid=" + classId)); } return(String.Empty); }
/// <summary> /// Creates URL for editing. /// </summary> private String GetEditUrl() { UIElementInfo uiChild = UIElementInfoProvider.GetUIElementInfo("CMS.BannerManagement", "EditBannerCategory"); if (uiChild != null) { return(URLHelper.AppendQuery(UIContextHelper.GetElementUrl(uiChild, false), "objectid={0}&siteid={%SelectedSiteID%}")); } return(String.Empty); }
/// <summary> /// Set path to preselected item /// </summary> private void HandleThePreselection() { if (!String.IsNullOrEmpty(SelectedNode)) { UIElementInfo uiElement = UIElementInfoProvider.GetUIElementInfo(ModuleName, SelectedNode); if (uiElement != null) { treeElem.ExpandPath = uiElement.ElementIDPath; } } }
/// <summary> /// Creates URL for editing. /// </summary> private String GetEditUrl() { UIElementInfo uiChild = UIElementInfoProvider.GetUIElementInfo("CMS.MediaLibrary", "Group.EditMediaLibrary"); if (uiChild != null) { return(URLHelper.AppendQuery(UIContextHelper.GetElementUrl(uiChild, UIContext), "displaytitle=false&objectid={%EditedObject.ID%}&parentobjectid=" + elemEdit.MediaLibraryGroupID)); } return(String.Empty); }
/// <summary> /// Creates URL for editing. /// </summary> private String GetEditUrl() { UIElementInfo uiChild = UIElementInfoProvider.GetUIElementInfo("CMS.BannerManagement", "EditBanner"); if (uiChild != null) { return(URLHelper.AppendQuery(UIContextHelper.GetElementUrl(uiChild, UIContext), "objectid={0}&siteid={%SelectedSiteID%}&parentobjectid={?parentobjectid?}&displaytitle=false")); } return(String.Empty); }
/// <summary> /// Creates URL for editing. /// </summary> private String GetEditUrl() { UIElementInfo uiChild = UIElementInfoProvider.GetUIElementInfo("CMS.MediaLibrary", "EditMediaLibrary"); if (uiChild != null) { return(URLHelper.AppendQuery(UIContextHelper.GetElementUrl(uiChild, false), "objectid={%EditedObject.ID%}")); } return(String.Empty); }
protected void Page_Load(object sender, EventArgs e) { this.plcCMSVersion.Visible = SettingsKeyProvider.DevelopmentMode; if (ElementID > 0) { elemInfo = UIElementInfoProvider.GetUIElementInfo(ElementID); if ((!RequestHelper.IsPostBack()) && (elemInfo != null)) { // Load selected element this.txtDisplayName.Text = elemInfo.ElementDisplayName; this.txtName.Text = elemInfo.ElementName; this.chkCustom.Checked = elemInfo.ElementIsCustom; this.txtCaption.Text = elemInfo.ElementCaption; this.txtTargetURL.Text = elemInfo.ElementTargetURL; this.txtIconPath.Text = elemInfo.ElementIconPath; this.txtDescription.Text = elemInfo.ElementDescription; this.radRegular.Checked = (elemInfo.ElementSize == UIElementSizeEnum.Regular); this.radLarge.Checked = (elemInfo.ElementSize == UIElementSizeEnum.Large); this.elemSelector.ModuleID = elemInfo.ElementResourceID; // Exclude current element and childs from dropdown list this.elemSelector.WhereCondition = "ElementIDPath NOT LIKE N'" + elemInfo.ElementIDPath + "%'"; if (this.plcCMSVersion.Visible) { this.versionSelector.Value = elemInfo.ElementFromVersion; } } } else { // Hide parent selector for creating new element this.plcParentElem.Visible = false; this.elemSelector.StopProcessing = true; // Set Is custom to default value if (!URLHelper.IsPostback()) { this.chkCustom.Checked = (SettingsKeyProvider.DevelopmentMode ? false : true); } } this.rfvDisplayName.ErrorMessage = GetString("general.requiresdisplayname"); this.rfvName.ErrorMessage = GetString("general.requirescodename"); if (!URLHelper.IsPostback()) { if (QueryHelper.GetBoolean("saved", false)) { this.lblInfo.ResourceString = "general.changessaved"; this.lblInfo.Visible = true; } } }
/// <summary> /// Set default value of DisplayBreadcrumbs checkbox depending on element level. /// </summary> private void Form_OnAfterDataLoad(object sender, EventArgs e) { var parent = UIElementInfoProvider.GetUIElementInfo(ParentID); // Show breadcrumbs checkbox depending on element level bool displayBreadcrumbs = (parent != null) && (parent.ElementLevel >= UIElementInfoProvider.APPLICATION_LEVEL); if (!displayBreadcrumbs) { editElem.Form.FieldsToHide.Add("ElementDisplayBreadcrumbs"); } }
/// <summary> /// Handles all the specific operations for upgrade from 8.0 to 8.1. /// </summary> /// <returns></returns> private static bool Upgrade80To81() { #region "Remove unsupported UI elements" // Resource application var uiElement = UIElementInfoProvider.GetUIElementInfo("CMS", "Development.Resources"); if ((uiElement != null) && (uiElement.ElementChildCount == 0)) { UIElementInfoProvider.DeleteUIElementInfo(uiElement); } // Unit tests application uiElement = UIElementInfoProvider.GetUIElementInfo("CMS", "Development.Tests"); if ((uiElement != null) && (uiElement.ElementChildCount == 0)) { UIElementInfoProvider.DeleteUIElementInfo(uiElement); } // Unused 'Users' UI element uiElement = UIElementInfoProvider.GetUIElementInfo("CMS.Users", "Users"); if ((uiElement != null) && (uiElement.ElementChildCount == 0)) { UIElementInfoProvider.DeleteUIElementInfo(uiElement); } // Forgotten test element from version 8.0 'General' UI element uiElement = UIElementInfoProvider.GetUIElementInfo(new Guid("9CFF9173-4AAF-4CAE-AAEA-32B05F9188B1")); if ((uiElement != null) && (uiElement.ElementChildCount == 0)) { UIElementInfoProvider.DeleteUIElementInfo(uiElement); } // Forgotten test element from version 8.0 'EditState' UI element uiElement = UIElementInfoProvider.GetUIElementInfo(new Guid("4D6C9A5E-CB53-445E-B22B-C702220D1338")); if ((uiElement != null) && (uiElement.ElementChildCount == 0)) { UIElementInfoProvider.DeleteUIElementInfo(uiElement); } // Forgotten test element from version 8.0 'State' UI element uiElement = UIElementInfoProvider.GetUIElementInfo(new Guid("FD00B888-551D-40B6-B3D3-4B7EB896AB81")); if ((uiElement != null) && (uiElement.ElementChildCount == 0)) { UIElementInfoProvider.DeleteUIElementInfo(uiElement); } #endregion return(true); }
/// <summary> /// PreInit event handler. /// </summary> protected override void OnPreInit(EventArgs e) { base.OnPreInit(e); // Init the page components manPortal.SetMainPagePlaceholder(plc); var ui = UIElementInfoProvider.GetUIElementInfo(QueryHelper.GetInteger("elementid", 0)); // Clear UIContext data of element "Modules.UserInterface.Design" (put by UIElement attribute to check permissions) UIContext.Data = null; if (ui != null) { UIContext.UIElement = ui; // Store resource name UIContext.ResourceName = UIContextHelper.GetResourceName(ui.ElementResourceID); int pageTemplateId = ui.ElementPageTemplateID; // If no page template is set, dont show any content if (pageTemplateId == 0) { RedirectToInformation(GetString("uielement.design.notemplate")); } // Prepare the page info PageInfo pi = PageInfoProvider.GetVirtualPageInfo(pageTemplateId); pi.DocumentNamePath = "/" + ResHelper.GetString("edittabs.design"); DocumentContext.CurrentPageInfo = pi; // Set the design mode bool enable = (SystemContext.DevelopmentMode || (ui.ElementResourceID == QueryHelper.GetInteger("moduleId", 0) && ui.ElementIsCustom)); PortalContext.SetRequestViewMode(ViewModeEnum.Design); // If displayed module is not selected, disable design mode if (!enable) { plc.ViewMode = ViewModeEnum.DesignDisabled; } ContextHelper.Add("DisplayContentInDesignMode", PortalHelper.DisplayContentInUIElementDesignMode, true, false, false, DateTime.MinValue); ManagersContainer = plcManagers; ScriptManagerControl = manScript; } }
protected void menuElem_AfterAction(string actionName, object actionArgument) { string[] split = actionArgument.ToString().Split('|'); int elementId = ValidationHelper.GetInteger(split[0], 0); UIElementInfo elemInfo = UIElementInfoProvider.GetUIElementInfo(elementId); if (elemInfo != null) { this.uniTree.SelectPath = elemInfo.ElementIDPath; switch (actionName.ToLower()) { case "delete": this.uniTree.ExpandPath = elemInfo.ElementIDPath + "/"; // Reload header and content after save StringBuilder sb = new StringBuilder(); sb.Append("if (window.parent != null) {"); sb.Append("if (window.parent.frames['uicontent'] != null) {"); if (elemInfo.ElementParentID > 0) { // If not root element load edit frameset sb.Append("window.parent.frames['uicontent'].location = '" + ResolveUrl("~/CMSModules/Modules/Pages/Development/Module_UI_EditFrameset.aspx") + "?moduleID=" + elemInfo.ElementResourceID + "&elementId=" + elemInfo.ElementID + "&parentId=" + elemInfo.ElementParentID + "';"); } else { // Else load root info page sb.Append("window.parent.frames['uicontent'].location = '" + ResolveUrl("~/CMSModules/Modules/Pages/Development/Module_UI_New.aspx") + "?moduleID=" + elemInfo.ElementResourceID + "&parentId=0';"); } sb.Append("}"); sb.Append("}"); this.ltlScript.Text += ScriptHelper.GetScript(sb.ToString()); // Update menu actions parameters this.menuElem.Value = elemInfo.ElementID + "|" + elemInfo.ElementParentID; break; case "moveup": case "movedown": if (split.Length == 2) { this.ltlScript.Text += ScriptHelper.GetScript("window.tabIndex = " + split[1] + ";"); } break; } this.ltlScript.Text += ScriptHelper.GetScript("var postParentId = " + elemInfo.ElementParentID + ";"); // Load data this.uniTree.ReloadData(); } }