コード例 #1
0
    protected void Page_Load(object sender, EventArgs e)
    {
        ScriptHelper.RegisterScriptFile(Page, @"~/CMSModules/ImportExport/SiteManager/NewSite/DefineSiteStructure/menu.js");
        ScriptHelper.RegisterDialogScript(this);

        // Initialize content management menu
        Group group = new Group();
        group.Caption = GetString("ContentMenu.ContentManagement");
        group.ControlPath = "~/CMSAdminControls/UI/UniMenu/NewSite/NewSiteMenu.ascx";
        menuLeft.Groups.Add(group);
    }
コード例 #2
0
    protected void Page_Load(object sender, EventArgs e)
    {
        ScriptHelper.RegisterScriptFile(Page, @"~/CMSModules/ImportExport/SiteManager/NewSite/DefineSiteStructure/menu.js");
        ScriptHelper.RegisterDialogScript(this);

        // Initialize content management menu
        Group group = new Group();

        group.Caption     = GetString("ContentMenu.ContentManagement");
        group.ControlPath = "~/CMSAdminControls/UI/UniMenu/NewSite/NewSiteMenu.ascx";
        menuLeft.Groups.Add(group);
    }
コード例 #3
0
ファイル: UniMenu.ascx.cs プロジェクト: tvelzy/RadstackMedia
    /// <summary>
    /// Generates separator between groups.
    /// </summary>
    /// <param name="group">Group object</param>
    /// <returns>Panel separating groups</returns>
    protected Panel GetGroupSeparator(Group group)
    {
        string css = String.IsNullOrEmpty(group.SeparatorCssClass) ? "UniMenuSeparator" : "UniMenuSeparator " + group.SeparatorCssClass;

        // Create panel and set up
        return(new CMSPanel()
        {
            ID = "pnlGroupSeparator" + identifier,
            ShortID = "gs" + identifier,
            EnableViewState = false,
            CssClass = css
        });
    }
コード例 #4
0
ファイル: UniMenu.ascx.cs プロジェクト: tvelzy/RadstackMedia
    /// <summary>
    /// Creates group panel from group.
    /// </summary>
    /// <param name="group">Definition of group</param>
    /// <param name="identifier">Identifier of panel</param>
    private CMSPanel CreateGroupPanelWith(Group group, int identifier)
    {
        Panel    innerPanel = GetContent(group.Control, group.UIElementID, group.Caption);
        CMSPanel groupPanel = null;

        if (innerPanel != null)
        {
            groupPanel = new CMSPanel()
            {
                ID      = "pnlGroup" + identifier,
                ShortID = "g" + identifier
            };

            groupPanel.Controls.Add(GetLeftBorder());
            groupPanel.Controls.Add(innerPanel);
            groupPanel.Controls.Add(GetRightBorder());
            groupPanel.CssClass = group.CssClass;
        }

        return(groupPanel);
    }
コード例 #5
0
    protected void Page_Load(object sender, EventArgs e)
    {
        if (StopProcessing)
        {
            return;
        }

        // Handle the pre-selection
        preselectedItem = QueryHelper.GetString(QueryParameterName, "");
        if (preselectedItem.StartsWithCSafe("cms.", true))
        {
            preselectedItem = preselectedItem.Substring(4);
        }

        uniMenu.HighlightItem = preselectedItem;

        // If element name is not set, use root module element
        string elemName = ElementName;

        if (String.IsNullOrEmpty(elemName))
        {
            elemName = ModuleName.Replace(".", "");
        }

        // Get the UI elements
        DataSet ds = UIElementInfoProvider.GetChildUIElements(ModuleName, elemName);

        if (!DataHelper.DataSourceIsEmpty(ds))
        {
            FilterElements(ds);

            // Prepare the list of elements
            foreach (DataRow dr in ds.Tables[0].Rows)
            {
                string url = ValidationHelper.GetString(dr["ElementTargetURL"], "");

                Group group = new Group();
                if (url.EndsWithCSafe("ascx"))
                {
                    group.ControlPath = url;
                }
                else
                {
                    group.UIElementID = ValidationHelper.GetInteger(dr["ElementID"], 0);
                }

                group.CssClass = "ContentMenuGroup";

                if (GenerateElementCssClass)
                {
                    string name = ValidationHelper.GetString(dr["ElementName"], String.Empty).Replace(".", String.Empty);
                    group.CssClass         += " ContentMenuGroup" + name;
                    group.SeparatorCssClass = "UniMenuSeparator" + name;
                }

                group.Caption = ResHelper.LocalizeString(ValidationHelper.GetString(dr["ElementCaption"], ""));
                uniMenu.Groups.Add(group);
            }

            // Raise groups created event
            if (OnGroupsCreated != null)
            {
                OnGroupsCreated(this, uniMenu.Groups);
            }

            // Button created & filtered event handler
            if (OnButtonCreating != null)
            {
                uniMenu.OnButtonCreating += uniMenu_OnButtonCreating;
            }
            if (OnButtonCreated != null)
            {
                uniMenu.OnButtonCreated += uniMenu_OnButtonCreated;
            }
            if (OnButtonFiltered != null)
            {
                uniMenu.OnButtonFiltered += uniMenu_OnButtonFiltered;
            }
        }

        // Add editing icon in development mode
        if (SettingsKeyProvider.DevelopmentMode && CMSContext.CurrentUser.IsGlobalAdministrator && !DisableEditIcon)
        {
            ResourceInfo ri = ResourceInfoProvider.GetResourceInfo(ModuleName);
            if (ri != null)
            {
                ltlAfter.Text += String.Format("<div class=\"UIElementsLink\" >{0}</div>", UIHelper.GetResourceUIElementsLink(Page, ri.ResourceId));
            }
        }
    }
コード例 #6
0
    protected void Page_Load(object sender, EventArgs e)
    {
        if (StopProcessing)
        {
            return;
        }

        // Handle the pre-selection
        preselectedItem = QueryHelper.GetString(QueryParameterName, "");
        if (preselectedItem.StartsWithCSafe("cms.", true))
        {
            preselectedItem = preselectedItem.Substring(4);
        }

        uniMenu.HighlightItem = preselectedItem;

        // If element name is not set, use root module element
        string elemName = ElementName;
        if (String.IsNullOrEmpty(elemName))
        {
            elemName = ModuleName.Replace(".", "");
        }

        // Get the UI elements
        DataSet ds = UIElementInfoProvider.GetChildUIElements(ModuleName, elemName);
        if (!DataHelper.DataSourceIsEmpty(ds))
        {
            FilterElements(ds);

            // Prepare the list of elements
            foreach (DataRow dr in ds.Tables[0].Rows)
            {
                string url = ValidationHelper.GetString(dr["ElementTargetURL"], "");
                UIElementTypeEnum type = ValidationHelper.GetString(dr["ElementType"], "").ToEnum<UIElementTypeEnum>();

                Group group = new Group();
                if (url.EndsWithCSafe("ascx") && (type == UIElementTypeEnum.UserControl))
                {
                    group.ControlPath = url;
                }
                else
                {
                    group.UIElementID = ValidationHelper.GetInteger(dr["ElementID"], 0);
                }

                group.CssClass = "ContentMenuGroup";

                if (GenerateElementCssClass)
                {
                    string name = ValidationHelper.GetString(dr["ElementName"], String.Empty).Replace(".", String.Empty);
                    group.CssClass += " ContentMenuGroup" + name;
                    group.SeparatorCssClass = "UniMenuSeparator" + name;
                }

                group.Caption = ResHelper.LocalizeString(ValidationHelper.GetString(dr["ElementCaption"], ""));
                if (group.Caption == String.Empty)
                {
                    group.Caption = ResHelper.LocalizeString(ValidationHelper.GetString(dr["ElementDisplayName"], ""));
                }
                uniMenu.Groups.Add(group);
            }

            // Raise groups created event
            RaiseOnGroupsCreated(this, uniMenu.Groups);

            // Button created & filtered event handler
            uniMenu.OnButtonCreating += uniMenu_OnButtonCreating;
            uniMenu.OnButtonCreated += uniMenu_OnButtonCreated;
            uniMenu.OnButtonFiltered += uniMenu_OnButtonFiltered;
        }

        // Add editing icon in development mode
        if (SystemContext.DevelopmentMode && MembershipContext.AuthenticatedUser.IsGlobalAdministrator && !DisableEditIcon)
        {
            var link = UIContextHelper.GetResourceUIElementLink(ModuleName, ElementName);
            if (!String.IsNullOrEmpty(link))
            {
                ltlAfter.Text += String.Format("<div class=\"UIElementsLink\" >{0}</div>", link);
            }
        }
    }
コード例 #7
0
ファイル: UniMenu.ascx.cs プロジェクト: tvelzy/RadstackMedia
    protected void Page_Load(object sender, EventArgs e)
    {
        if (Groups.Count > 0)
        {
            pnlScrollControls.IsRTL          = IsRTL;
            pnlScrollControls.InnerItemClass = "MiddleBigButton";

            if (RememberSelectedItem)
            {
                RegisterRememberSelectedItemScript();
                RegisterSelectItemScript("SelectButton(this);");
            }
            RegisterSelectItemScript("");

            InnerControls = new List <CMSUserControl>(Groups.Count);

            // Process the groups
            for (identifier = 0; identifier < Groups.Count; identifier++)
            {
                Group group = Groups[identifier];

                if (!string.IsNullOrEmpty(group.ControlPath) && (group.Control == null))
                {
                    group.Control = TryToCreateGroupControlBy(group.ControlPath, identifier);
                }
                if (group.Control != null)
                {
                    int index = identifier;
                    if (InnerControls.Count < index)
                    {
                        index = InnerControls.Count;
                    }

                    InnerControls.Insert(index, group.Control);
                }

                CMSPanel groupPanel = CreateGroupPanelWith(group, identifier);

                if (groupPanel != null)
                {
                    mMenuEmpty = false;
                    CurrentPanelControl.Controls.Add(groupPanel);

                    // Insert separator after group
                    if (Groups.Count > 1)
                    {
                        CurrentPanelControl.Controls.Add(GetGroupSeparator(group));
                    }
                }
            }

            // Handle the pre-selection
            if (preselectedPanel != null)
            {
                // Add the selected class to the preselected button
                preselectedPanel.CssClass += " Selected";
            }
            else if ((firstPanel != null) && HighlightFirstItem)
            {
                // Add the selected class to the first button
                firstPanel.CssClass += " Selected";
            }

            if (!HorizontalLayout)
            {
                CurrentPanelControl.CssClass = "Vertical";
                if (Width > 0)
                {
                    CurrentPanelControl.Attributes.Add("style", "width:" + Width + "px");
                }
            }
        }

        if (DisableScrollPanel)
        {
            pnlScrollControls.Visible = false;
            pnlLeftScroller.Visible   = false;
            pnlRightScroller.Visible  = false;
        }
        else
        {
            pnlControls.Visible = false;
        }
    }
コード例 #8
0
 /// <summary>
 /// Generates separator between groups.
 /// </summary>
 /// <param name="group">Group object</param>
 /// <returns>Panel separating groups</returns>
 protected Panel GetGroupSeparator(Group group)
 {
     string css = String.IsNullOrEmpty(group.SeparatorCssClass) ? "UniMenuSeparator" : "UniMenuSeparator " + group.SeparatorCssClass;
     // Create panel and set up
     return new CMSPanel()
                {
                    ID = "pnlGroupSeparator" + identifier,
                    ShortID = "gs" + identifier,
                    EnableViewState = false,
                    CssClass = css
                };
 }
コード例 #9
0
    /// <summary>
    /// Creates group panel from group.
    /// </summary>
    /// <param name="group">Definition of group</param>
    /// <param name="identifier">Identifier of panel</param>
    private CMSPanel CreateGroupPanelWith(Group group, int identifier)
    {
        Panel innerPanel = GetContent(group.Control, group.UIElementID, group.Caption);
        CMSPanel groupPanel = null;

        if (innerPanel != null)
        {
            groupPanel = new CMSPanel()
            {
                ID = "pnlGroup" + identifier,
                ShortID = "g" + identifier
            };

            groupPanel.Controls.Add(GetLeftBorder());
            groupPanel.Controls.Add(innerPanel);
            groupPanel.Controls.Add(GetRightBorder());
            groupPanel.CssClass = group.CssClass;
        }

        return groupPanel;
    }