using System; using CMS.FormControls; using CMS.GlobalHelper; public partial class CMSFormControls_System_FieldSelector : FormEngineUserControl { #region "Public properties" /// /// Class name /// public string ClassName { get { return ValidationHelper.GetString(GetValue("ClassName"), null); } set { SetValue("ClassName", value); } } /// /// Class type /// /// 0 - Custom tables, 1 - Document types, 2 - System tables public int ClassType { get { return ValidationHelper.GetInteger(GetValue("ClassType"), 1); } set { SetValue("ClassType", value); } } /// /// Gets or sets the enabled state of the control. /// public override bool Enabled { get { return base.Enabled; } set { base.Enabled = value; txtField.Enabled = value; btnClear.Enabled = value; btnSelect.Enabled = value; } } /// /// Gets or sets field value. /// public override object Value { get { if (hdnField.Value.Length > 400) { return hdnField.Value.Substring(0, 400); } else { return hdnField.Value; } } set { if (value != null) { string stringValue = ValidationHelper.GetString(value, string.Empty); string[] valueAndText = stringValue.Split('|'); if (valueAndText.Length == 2) { txtField.Text = valueAndText[1]; } hdnField.Value = stringValue; } } } #endregion #region "Page events" protected void Page_Load(object sender, EventArgs e) { // Initialize dialog script ScriptHelper.RegisterDialogScript(Page); string url = "~/CMSFormControls/Selectors/FieldSelection.aspx"; if (!string.IsNullOrEmpty(ClassName)) { url = URLHelper.AddParameterToUrl(url, "classname", ClassName); } if (ClassType != 1) { url = URLHelper.AddParameterToUrl(url, "classtype", ClassType.ToString()); } url = URLHelper.AddParameterToUrl(url, "cid", ClientID); url = URLHelper.AddParameterToUrl(url, "hash", QueryHelper.GetHash(url)); ScriptHelper.RegisterStartupScript(this, typeof(string), "selectFields_" + ClientID, ScriptHelper.GetScript( @"function SetValue_" + ClientID + @"(value, text) { document.getElementById('" + txtField.ClientID + @"').value = text; document.getElementById('" + hdnField.ClientID + @"').value = value + '|' + text; }")); btnSelect.OnClientClick = "modalDialog('" + ResolveUrl(url) + "','fieldSelector', 430, 170); return false;"; // Initialize clear button btnClear.OnClientClick = "document.getElementById('" + txtField.ClientID + "').value = ''; document.getElementById('" + hdnField.ClientID + "').value='';return false;"; // Disable editing of textbox txtField.Attributes.Add("readonly", "readonly"); } #endregion #region "Overridden methods" /// /// Returns true if user control is valid. /// public override bool IsValid() { return true; } #endregion }