/// <summary> /// Gets and bulk updates UI elements. Called when the "Get and bulk update elements" button is pressed. /// Expects the CreateUIElement method to be run first. /// </summary> private bool GetAndBulkUpdateUIElements() { // Prepare the parameters string where = "ElementName LIKE N'MyNewElement%'"; // Get the data DataSet elements = UIElementInfoProvider.GetUIElements(where, null); if (!DataHelper.DataSourceIsEmpty(elements)) { // Loop through the individual items foreach (DataRow elementDr in elements.Tables[0].Rows) { // Create object from DataRow UIElementInfo modifyElement = new UIElementInfo(elementDr); // Update the properties modifyElement.ElementDisplayName = modifyElement.ElementDisplayName.ToUpper(); // Save the changes UIElementInfoProvider.SetUIElementInfo(modifyElement); } return(true); } return(false); }
/// <summary> /// Handles btnOK's OnClick event - Update resource info. /// </summary> protected void btnOK_Click(object sender, EventArgs e) { // Finds whether required fields are not empty string result = new Validator().NotEmpty(tbModuleDisplayName.Text.Trim(), GetString("Administration-Module_New.ErrorEmptyModuleDisplayName")).NotEmpty(tbModuleCodeName.Text, GetString("Administration-Module_New.ErrorEmptyModuleCodeName")) .IsCodeName(tbModuleCodeName.Text, GetString("general.invalidcodename")) .Result; if (result == "") { // Check unique name ResourceInfo ri = ResourceInfoProvider.GetResourceInfo(tbModuleCodeName.Text); if ((ri == null) || (ri.ResourceId == moduleId)) { // Get object if (ri == null) { ri = ResourceInfoProvider.GetResourceInfo(moduleId); if (ri == null) { ri = new ResourceInfo(); } } // Update resource info ri.ResourceId = moduleId; ri.ResourceName = tbModuleCodeName.Text; ri.ResourceDescription = txtModuleDescription.Text.Trim(); ri.ResourceDisplayName = tbModuleDisplayName.Text.Trim(); ResourceInfoProvider.SetResourceInfo(ri); // Update root UIElementInfo of the module UIElementInfo elemInfo = UIElementInfoProvider.GetRootUIElementInfo(ri.ResourceId); if (elemInfo == null) { elemInfo = new UIElementInfo(); } elemInfo.ElementResourceID = ri.ResourceId; elemInfo.ElementDisplayName = ri.ResourceDisplayName; elemInfo.ElementName = ri.ResourceName.ToLowerCSafe().Replace(".", ""); elemInfo.ElementIsCustom = false; UIElementInfoProvider.SetUIElementInfo(elemInfo); // Show message ShowChangesSaved(); } else { // Show error message ShowError(GetString("Administration-Module_New.UniqueCodeName")); } } else { // Show error message ShowError(result); } }
/// <summary> /// Gets and updates UI element. Called when the "Get and update element" button is pressed. /// Expects the CreateUIElement method to be run first. /// </summary> private bool GetAndUpdateUIElement() { // Get the UI element UIElementInfo updateElement = UIElementInfoProvider.GetUIElementInfo("MyNewModule", "MyNewElement"); if (updateElement != null) { // Update the properties updateElement.ElementDisplayName = updateElement.ElementDisplayName.ToLower(); // Save the changes UIElementInfoProvider.SetUIElementInfo(updateElement); return(true); } return(false); }
/// <summary> /// Creates UI element. Called when the "Create element" button is pressed. /// Expects the CreateModule method to be run first. /// </summary> private bool CreateUIElement() { // Get the module ResourceInfo module = ResourceInfoProvider.GetResourceInfo("MyNewModule"); if (module != null) { // Get the parent UI element UIElementInfo rootElement = UIElementInfoProvider.GetRootUIElementInfo(module.ResourceId); if (rootElement == null) { // Create root UI element rootElement = new UIElementInfo(); rootElement.ElementResourceID = module.ResourceId; rootElement.ElementDisplayName = module.ResourceDisplayName; rootElement.ElementName = module.ResourceName.ToLower().Replace(".", ""); rootElement.ElementIsCustom = false; // Save root UI element UIElementInfoProvider.SetUIElementInfo(rootElement); } // Create new UI element object UIElementInfo newElement = new UIElementInfo(); // Set the properties newElement.ElementDisplayName = "My new element"; newElement.ElementName = "MyNewElement"; newElement.ElementResourceID = module.ResourceId; newElement.ElementIsCustom = true; newElement.ElementParentID = rootElement.ElementID; // Save the UI element UIElementInfoProvider.SetUIElementInfo(newElement); return(true); } return(false); }
protected void btnOk_Click(object sender, EventArgs e) { string result = ValidateForm(); if (String.IsNullOrEmpty(result)) { if (ElementID == 0) { // Create new UI element info elemInfo = new UIElementInfo(); elemInfo.ElementResourceID = ResourceID; elemInfo.ElementParentID = ParentID; elemInfo.ElementFromVersion = string.Empty; elemInfo.ElementOrder = UIElementInfoProvider.GetLastElementOrder(ParentID) + 1; } else { // If parent changed set last order if (elemSelector.ElementID != elemInfo.ElementParentID) { elemInfo.ElementOrder = UIElementInfoProvider.GetLastElementOrder(elemSelector.ElementID) + 1; } elemInfo.ElementParentID = this.elemSelector.ElementID; } elemInfo.ElementDisplayName = this.txtDisplayName.Text.Trim(); elemInfo.ElementName = this.txtName.Text.Trim(); elemInfo.ElementIsCustom = this.chkCustom.Checked; elemInfo.ElementCaption = this.txtCaption.Text.Trim(); elemInfo.ElementDisplayName = this.txtDisplayName.Text.Trim(); elemInfo.ElementTargetURL = this.txtTargetURL.Text.Trim(); elemInfo.ElementIconPath = this.txtIconPath.Text.Trim(); elemInfo.ElementDescription = this.txtDescription.Text.Trim(); elemInfo.ElementSize = (this.radRegular.Checked ? UIElementSizeEnum.Regular : UIElementSizeEnum.Large); if (plcCMSVersion.Visible) { elemInfo.ElementFromVersion = this.versionSelector.Value.ToString(); } // Set UI element info UIElementInfoProvider.SetUIElementInfo(elemInfo); // Get updated element info (ElementIDPath was changed in DB) elemInfo = UIElementInfoProvider.GetUIElementInfo(elemInfo.ElementID); // Reload header and content after save StringBuilder sb = new StringBuilder(); sb.Append("if (window.parent != null) {"); if (ElementID == 0) { sb.Append("if (window.parent.parent.frames['uicontent'] != null) {"); sb.Append("window.parent.parent.frames['uicontent'].location = '" + ResolveUrl("~/CMSModules/Modules/Pages/Development/Module_UI_EditFrameset.aspx") + "?moduleID=" + ResourceID + "&elementId=" + elemInfo.ElementID + "&parentId=" + elemInfo.ElementParentID + "&saved=1';"); sb.Append("}"); sb.Append("if (window.parent.frames['uicontent'] != null) {"); sb.Append("window.parent.frames['uicontent'].location = '" + ResolveUrl("~/CMSModules/Modules/Pages/Development/Module_UI_EditFrameset.aspx") + "?moduleID=" + ResourceID + "&elementId=" + elemInfo.ElementID + "&parentId=" + elemInfo.ElementParentID + "&saved=1';"); sb.Append("}"); } else { sb.Append("if (window.parent.parent.frames['header'] != null) {"); sb.Append("window.parent.parent.frames['header'].location = '" + ResolveUrl("~/CMSModules/Modules/Pages/Development/Module_UI_Header.aspx") + "?moduleID=" + ResourceID + "&elementId=" + elemInfo.ElementID + "&parentId=" + elemInfo.ElementParentID + "';"); sb.Append("}"); sb.Append("if (window.parent.frames['header'] != null) {"); sb.Append("window.parent.frames['header'].location = '" + ResolveUrl("~/CMSModules/Modules/Pages/Development/Module_UI_Header.aspx") + "?moduleID=" + ResourceID + "&elementId=" + elemInfo.ElementID + "&parentId=" + elemInfo.ElementParentID + "';"); sb.Append("}"); } sb.Append("if (window.parent.parent.frames['tree'] != null) {"); sb.Append("window.parent.parent.frames['tree'].location = '" + ResolveUrl("~/CMSModules/Modules/Pages/Development/Module_UI_Tree.aspx") + "?moduleID=" + ResourceID + "&path=" + elemInfo.ElementIDPath + "&elementId=" + elemInfo.ElementID + "&parentId=" + elemInfo.ElementParentID + "';"); sb.Append("}"); sb.Append("if (window.parent.frames['tree'] != null) {"); sb.Append("window.parent.frames['tree'].location = '" + ResolveUrl("~/CMSModules/Modules/Pages/Development/Module_UI_Tree.aspx") + "?moduleID=" + ResourceID + "&path=" + elemInfo.ElementIDPath + "&elementId=" + elemInfo.ElementID + "&parentId=" + elemInfo.ElementParentID + "';"); sb.Append("}"); sb.Append("}"); this.lblInfo.ResourceString = "general.changessaved"; this.lblInfo.Visible = true; this.ltlScript.Text = ScriptHelper.GetScript(sb.ToString()); } else { lblError.Visible = true; lblError.Text = result; } }
protected void Page_Load(object sender, EventArgs e) { int moduleId = QueryHelper.GetInteger("moduleid", 0); int parentId = QueryHelper.GetInteger("parentId", 0); ScriptHelper.RegisterJQuery(this.Page); // Use images according to culture if (CultureHelper.IsUICultureRTL()) { this.uniTree.LineImagesFolder = GetImageUrl("RTL/Design/Controls/Tree", false, false); } else { this.uniTree.LineImagesFolder = GetImageUrl("Design/Controls/Tree", false, false); } if (!RequestHelper.IsPostBack()) { // Get module root element UIElementInfo elemInfo = UIElementInfoProvider.GetRootUIElementInfo(moduleId); if (elemInfo != null) { this.uniTree.SelectPath = elemInfo.ElementIDPath; this.uniTree.ExpandPath = elemInfo.ElementIDPath + "/"; this.menuElem.Value = elemInfo.ElementID + "|" + elemInfo.ElementParentID; } else { // Get current resource ResourceInfo resInfo = ResourceInfoProvider.GetResourceInfo(moduleId); if (resInfo != null) { // Create new UI element elemInfo = new UIElementInfo(); elemInfo.ElementResourceID = moduleId; elemInfo.ElementDisplayName = resInfo.ResourceDisplayName; elemInfo.ElementName = resInfo.ResourceName.ToLower().Replace(".", ""); elemInfo.ElementIsCustom = false; UIElementInfoProvider.SetUIElementInfo(elemInfo); this.uniTree.SelectPath = elemInfo.ElementIDPath; this.uniTree.ExpandPath = elemInfo.ElementIDPath; this.menuElem.Value = elemInfo.ElementID + "|0"; } } } this.menuElem.ResourceID = moduleId; this.menuElem.AfterAction += new OnActionEventHandler(menuElem_AfterAction); // Create and set UIElements provider UniTreeProvider elementProvider = new UniTreeProvider(); elementProvider.ObjectType = "CMS.UIElement"; elementProvider.DisplayNameColumn = "ElementDisplayName"; elementProvider.IDColumn = "ElementID"; elementProvider.LevelColumn = "ElementLevel"; elementProvider.OrderColumn = "ElementOrder"; elementProvider.ParentIDColumn = "ElementParentID"; elementProvider.PathColumn = "ElementIDPath"; elementProvider.ValueColumn = "ElementID"; elementProvider.ChildCountColumn = "ElementChildCount"; elementProvider.WhereCondition = "ElementResourceID = " + moduleId; elementProvider.Columns = "ElementID,ElementLevel,ElementOrder,ElementParentID,ElementIDPath,ElementChildCount,ElementDisplayName"; this.uniTree.UsePostBack = false; this.uniTree.ProviderObject = elementProvider; this.uniTree.ExpandTooltip = GetString("general.expand"); this.uniTree.CollapseTooltip = GetString("general.collapse"); this.uniTree.NodeTemplate = "<span id=\"node_##NODEID##\" onclick=\"SelectNode(##NODEID##,##PARENTNODEID##," + moduleId + "); return false;\" name=\"treeNode\" class=\"ContentTreeItem\"><span class=\"Name\">##NODENAME##</span></span>"; this.uniTree.SelectedNodeTemplate = "<span id=\"node_##NODEID##\" onclick=\"SelectNode(##NODEID##,##PARENTNODEID##," + moduleId + "); return false;\" name=\"treeNode\" class=\"ContentTreeItem ContentTreeSelectedItem\"><span class=\"Name\">##NODENAME##</span></span>"; if (!RequestHelper.IsPostBack()) { string selectedPath = QueryHelper.GetString("path", String.Empty); int elementId = QueryHelper.GetInteger("elementId", 0); if (!string.IsNullOrEmpty(selectedPath)) { this.uniTree.SelectPath = selectedPath; } if (elementId > 0) { this.menuElem.ElementID = elementId; this.menuElem.ParentID = parentId; this.menuElem.Value = elementId + "|" + parentId; } } // Load data this.uniTree.ReloadData(); string script = "var frameURL = '" + ResolveUrl("~/CMSModules/Modules/Pages/Development/Module_UI_EditFrameset.aspx") + "';"; script += "var newURL = '" + ResolveUrl("~/CMSModules/Modules/Pages/Development/Module_UI_New.aspx") + "';"; script += "var postParentId = " + parentId + ";"; this.ltlScript.Text = ScriptHelper.GetScript(script); }
/// <summary> /// Handles btnOK's OnClick event - Update resource info. /// </summary> protected void btnOK_Click(object sender, EventArgs e) { // finds whether required fields are not empty string result = new Validator().NotEmpty(tbModuleDisplayName.Text.Trim(), GetString("Administration-Module_New.ErrorEmptyModuleDisplayName")).NotEmpty(tbModuleCodeName.Text, GetString("Administration-Module_New.ErrorEmptyModuleCodeName")) .IsCodeName(tbModuleCodeName.Text, GetString("general.invalidcodename")) .Result; if (this.chkShowInDevelopment.Checked && String.IsNullOrEmpty(this.txtResourceUrl.Text.Trim())) { result = GetString("module_edit.emptyurl"); } if (result == "") { // Check unique name ResourceInfo ri = ResourceInfoProvider.GetResourceInfo(tbModuleCodeName.Text); if ((ri == null) || (ri.ResourceId == moduleId)) { // Get object if (ri == null) { ri = ResourceInfoProvider.GetResourceInfo(moduleId); if (ri == null) { ri = new ResourceInfo(); } } //Update resource info ri.ResourceId = moduleId; ri.ResourceName = tbModuleCodeName.Text; ri.ResourceDescription = txtModuleDescription.Text.Trim(); ri.ResourceDisplayName = tbModuleDisplayName.Text.Trim(); ri.ShowInDevelopment = chkShowInDevelopment.Checked; ri.ResourceUrl = (ri.ShowInDevelopment ? txtResourceUrl.Text : ""); pnlResourceUrl.Style.Add("display", (ri.ShowInDevelopment ? "block" : "none")); ResourceInfoProvider.SetResourceInfo(ri); // Update root UIElementInfo of the module UIElementInfo elemInfo = UIElementInfoProvider.GetRootUIElementInfo(ri.ResourceId); if (elemInfo == null) { elemInfo = new UIElementInfo(); } elemInfo.ElementResourceID = ri.ResourceId; elemInfo.ElementDisplayName = ri.ResourceDisplayName; elemInfo.ElementName = ri.ResourceName.ToLower().Replace(".", ""); elemInfo.ElementIsCustom = false; UIElementInfoProvider.SetUIElementInfo(elemInfo); lblInfo.Visible = true; lblInfo.Text = GetString("General.ChangesSaved"); } else { lblInfo.Visible = false; lblError.Visible = true; lblError.Text = GetString("Administration-Module_New.UniqueCodeName"); } } else { lblInfo.Visible = false; lblError.Visible = true; lblError.Text = result; } }