Esempio n. 1
0
    /// <summary>
    /// Loads field types.
    /// </summary>
    /// <param name="type">Control type specifying which field types to load</param>
    public void LoadFieldTypes(FormUserControlTypeEnum type)
    {
        string selectedValue             = drpFieldType.SelectedValue;
        FieldEditorControlsEnum controls = GetDisplayedControls();

        // Clear list
        bool isPrimary = false;

        if (this.FieldInfo != null)
        {
            isPrimary = this.FieldInfo.PrimaryKey;
        }
        drpFieldType.Items.Clear();
        drpFieldType.DataTextField  = "UserControlDisplayName";
        drpFieldType.DataValueField = "UserControlCodeName";
        drpFieldType.DataSource     = FormHelper.GetFieldControlTypesWithUserControls(null, controls, true, isPrimary, type);
        drpFieldType.DataBind();

        // Add trackback controls when editing CMS.BlogPost document type
        if ((controls == FieldEditorControlsEnum.DocumentTypes) && (ClassName.ToLower() == "cms.blogpost"))
        {
            drpFieldType.Items.Add(new ListItem("Trackbacks - pinged URLs", "#uc#trackbackspingedurls"));
            drpFieldType.Items.Add(new ListItem("Trackbacks - not pinged URLs", "#uc#trackbacksnotpingedurls"));
        }

        // And set field value (if set before)
        if (drpFieldType.Items.FindByValue(selectedValue) != null)
        {
            drpFieldType.SelectedValue = selectedValue;
        }
    }
Esempio n. 2
0
    /// <summary>
    /// Fill field types list. Form control types will be restricted to actual selection in Form control types drop-down list.
    /// </summary>
    /// <param name="isPrimary">Determines whether the attribute is primary key</param>
    /// <param name="clearValue">Determines if selector should clear selected value</param>
    public void LoadFieldTypes(bool isPrimary)
    {
        FieldEditorControlsEnum controls = GetControls(DisplayedControls, mMode, DevelopmentMode);

        string filteredControlsWhere = FormHelper.GetWhereConditionForDataType(AttributeType, controls, isPrimary, FormUserControlTypeEnum.Unspecified);

        drpControl.WhereCondition = filteredControlsWhere;

        // Exception for blogposts in document types
        if ((controls != FieldEditorControlsEnum.DocumentTypes) || (ClassName.ToLowerCSafe() != "cms.blogpost"))
        {
            // Show trackbackpingedurls only when editing blogposts
            drpControl.WhereCondition = SqlHelperClass.AddWhereCondition(drpControl.WhereCondition, FormUserControlInfo.TYPEINFO.CodeNameColumn + " <> 'trackbackspingedurls'");
            drpControl.WhereCondition = SqlHelperClass.AddWhereCondition(drpControl.WhereCondition, FormUserControlInfo.TYPEINFO.CodeNameColumn + " <> 'trackbacksnotpingedurls'");
        }

        drpControl.Reload(true);
    }
Esempio n. 3
0
    /// <summary>
    /// Fill field types list.
    /// </summary>
    /// <param name="isPrimary">Determines whether the attribute is primary key</param>
    /// <param name="type">Control type</param>
    public void LoadFieldTypes(bool isPrimary, FormUserControlTypeEnum type, bool clearValue)
    {
        FieldEditorControlsEnum controls = GetControls();
        string selectedValue             = drpField.SelectedValue;

        // Clear list
        drpField.Items.Clear();
        drpField.ClearSelection();
        drpField.SelectedValue  = null;
        drpField.DataTextField  = "UserControlDisplayName";
        drpField.DataValueField = "UserControlCodeName";

        DataSet ds = FormHelper.GetFieldControlTypesWithUserControls(this.AttributeType, controls, false, isPrimary, type);

        if ((controls != FieldEditorControlsEnum.DocumentTypes) || (ClassName.ToLower() != "cms.blogpost"))
        {
            List <DataRow> rowList = new List <DataRow>();

            // Find trackback controls when not editing CMS.BlogPost document type
            foreach (DataRow row in ds.Tables[0].Rows)
            {
                string controlCodeName = row[drpField.DataValueField].ToString().ToLowerInvariant();
                if ((controlCodeName == "trackbackspingedurls") || (controlCodeName == "trackbacksnotpingedurls"))
                {
                    rowList.Add(row);
                }
            }

            // Remove trackback controls when not editing CMS.BlogPost document type
            foreach (DataRow row in rowList)
            {
                ds.Tables[0].Rows.Remove(row);
            }
        }

        drpField.DataSource = ds;
        drpField.DataBind();

        // Preselect value
        if ((drpField.Items.FindByValue(selectedValue) != null) && !clearValue)
        {
            drpField.SelectedValue = selectedValue;
        }
    }
Esempio n. 4
0
    /// <summary>
    /// Gets available controls.
    /// </summary>
    /// <returns>Returns FieldEditorControlsEnum</returns>
    private FieldEditorControlsEnum GetControls()
    {
        FieldEditorControlsEnum controls = FieldEditorControlsEnum.None;

        // Get displayed controls
        if (this.DisplayedControls == FieldEditorControlsEnum.ModeSelected)
        {
            switch (mMode)
            {
            case FieldEditorModeEnum.BizFormDefinition:
                controls = FieldEditorControlsEnum.Bizforms;
                break;

            case FieldEditorModeEnum.ClassFormDefinition:
                controls = FieldEditorControlsEnum.DocumentTypes;
                break;

            case FieldEditorModeEnum.SystemTable:
                controls = FieldEditorControlsEnum.SystemTables;
                break;

            case FieldEditorModeEnum.CustomTable:
                controls = FieldEditorControlsEnum.CustomTables;
                break;

            case FieldEditorModeEnum.WebPartProperties:
                controls = FieldEditorControlsEnum.Controls;
                break;

            case FieldEditorModeEnum.General:
            case FieldEditorModeEnum.FormControls:
                controls = FieldEditorControlsEnum.All;
                break;
            }
        }
        else
        {
            controls = this.DisplayedControls;
        }

        return(controls);
    }
Esempio n. 5
0
    /// <summary>
    /// Reloads control types selector.
    /// </summary>
    public void LoadControlTypes(bool clearValue)
    {
        // Setup control for form control types
        string selectedValue = (string)drpTypeSelector.Value;

        if (ffi != null)
        {
            drpTypeSelector.IsPrimary = ffi.PrimaryKey;
            drpTypeSelector.External  = ffi.External;
        }
        else
        {
            drpTypeSelector.IsPrimary = false;
        }

        drpTypeSelector.DataType = this.AttributeType;
        FieldEditorControlsEnum fieldEditorControls = GetControls();

        drpTypeSelector.FieldEditorControls = fieldEditorControls;

        if (IsAlternativeFilterForm && ((fieldEditorControls == FieldEditorControlsEnum.Bizforms) || (fieldEditorControls == FieldEditorControlsEnum.CustomTables)))
        {
            // Filter by ID for custom tables or bizforms filter form
            drpTypeSelector.IsPrimary = false;
        }

        drpTypeSelector.ReloadControl();

        // Preselect default value
        if (clearValue)
        {
            drpTypeSelector.Value = ((int)FormUserControlTypeEnum.Input).ToString();
        }
        // Keep selected value
        else
        {
            drpTypeSelector.Value = selectedValue;
        }
    }
    /// <summary>
    /// Gets available controls.
    /// </summary>
    /// <returns>Returns FieldEditorControlsEnum</returns>
    private static FieldEditorControlsEnum GetControls(FieldEditorControlsEnum DisplayedControls, FieldEditorModeEnum Mode, bool DevelopmentMode)
    {
        FieldEditorControlsEnum controls = FieldEditorControlsEnum.None;

        // Get displayed controls
        if (DisplayedControls == FieldEditorControlsEnum.ModeSelected)
        {
            switch (Mode)
            {
                case FieldEditorModeEnum.BizFormDefinition:
                case FieldEditorModeEnum.AlternativeBizFormDefinition:
                    controls = FieldEditorControlsEnum.Bizforms;
                    break;

                case FieldEditorModeEnum.ClassFormDefinition:
                case FieldEditorModeEnum.AlternativeClassFormDefinition:
                    controls = DevelopmentMode ? FieldEditorControlsEnum.All : FieldEditorControlsEnum.DocumentTypes;
                    break;

                case FieldEditorModeEnum.SystemTable:
                case FieldEditorModeEnum.AlternativeSystemTable:
                    controls = FieldEditorControlsEnum.SystemTables;
                    break;

                case FieldEditorModeEnum.CustomTable:
                case FieldEditorModeEnum.AlternativeCustomTable:
                    controls = FieldEditorControlsEnum.CustomTables;
                    break;

                case FieldEditorModeEnum.WebPartProperties:
                case FieldEditorModeEnum.Widget:
                case FieldEditorModeEnum.InheritedWebPartProperties:
                case FieldEditorModeEnum.SystemWebPartProperties:
                    controls = FieldEditorControlsEnum.Controls;
                    break;

                case FieldEditorModeEnum.General:
                case FieldEditorModeEnum.FormControls:
                case FieldEditorModeEnum.ProcessActions:
                case FieldEditorModeEnum.InheritedFormControl:
                case FieldEditorModeEnum.PageTemplateProperties:
                    controls = FieldEditorControlsEnum.All;
                    break;
            }
        }
        else
        {
            controls = DisplayedControls;
        }

        return controls;
    }
    /// <summary>
    /// Sets right where conditions for data types dropdown - depending on where field editor is.
    /// </summary>
    private void LoadDataTypes()
    {
        FieldEditorControlsEnum controls = GetDisplayedControls();

        drpControl.WhereCondition = FormHelper.GetWhereConditionForDataType(null, controls, true, FormUserControlTypeEnum.Unspecified);
    }
    /// <summary>
    /// Gets available controls.
    /// </summary>
    /// <returns>Returns FieldEditorControlsEnum</returns>
    private static FieldEditorControlsEnum GetControls(FieldEditorControlsEnum DisplayedControls, FieldEditorModeEnum Mode, bool DevelopmentMode)
    {
        FieldEditorControlsEnum controls = FieldEditorControlsEnum.None;

        // Get displayed controls
        if (DisplayedControls == FieldEditorControlsEnum.ModeSelected)
        {
            switch (Mode)
            {
                case FieldEditorModeEnum.BizFormDefinition:
                    controls = FieldEditorControlsEnum.Bizforms;
                    break;

                case FieldEditorModeEnum.ClassFormDefinition:
                    if (DevelopmentMode)
                    {
                        controls = FieldEditorControlsEnum.All;
                    }
                    else
                    {
                        controls = FieldEditorControlsEnum.DocumentTypes;
                    }
                    break;

                case FieldEditorModeEnum.SystemTable:
                    controls = FieldEditorControlsEnum.SystemTables;
                    break;

                case FieldEditorModeEnum.CustomTable:
                    controls = FieldEditorControlsEnum.CustomTables;
                    break;

                case FieldEditorModeEnum.WebPartProperties:
                    controls = FieldEditorControlsEnum.Controls;
                    break;

                case FieldEditorModeEnum.General:
                case FieldEditorModeEnum.FormControls:
                    controls = FieldEditorControlsEnum.All;
                    break;
            }
        }
        else
        {
            controls = DisplayedControls;
        }

        return controls;
    }