Example #1
0
        /// <summary>
        /// creates the controls needed for architecture - edit panel(s) structure, manage panels globally and so on and fills it into provided container
        /// </summary>
        /// <param name="container"></param>
        void CreatePanelHeading(WC.WebControl container)
        {
            WC.Panel heading = new WC.Panel();

            if (activePanel is MPanel)
            {
                Label panelName = new Label();
                panelName.CssClass = "panelHeading";
                panelName.Text     = activePanel.panelName;
                heading.Controls.Add(panelName);
            }
            if (CE.GlobalState == GlobalState.Architect)
            {
                LinkButton editMenuLink = new LinkButton();
                editMenuLink.PostBackUrl      = editMenuLink.GetRouteUrl("ArchitectEditMenuRoute", new { projectName = CE.project.Name });
                editMenuLink.Text             = "Edit menu structure";
                editMenuLink.CausesValidation = false;
                heading.Controls.Add(editMenuLink);

                LinkButton editPanelsLink = new LinkButton();
                editPanelsLink.PostBackUrl      = editPanelsLink.GetRouteUrl("ArchitectEditPanelsRoute", new { projectName = CE.project.Name });
                editPanelsLink.Text             = "Include & exclude tables";
                editPanelsLink.CausesValidation = false;
                heading.Controls.Add(editPanelsLink);

                if (activePanel is MPanel)
                {
                    if (activePanel.type == PanelTypes.Editable)
                    {
                        LinkButton editEditableLink = new LinkButton();
                        editEditableLink.PostBackUrl = editEditableLink.GetRouteUrl("ArchitectEditEditableRoute",
                                                                                    new { projectName = mm.ProjectName, panelid = Page.RouteData.Values["panelId"] });
                        editEditableLink.Text             = "Edit panel structure";
                        editEditableLink.CausesValidation = false;
                        heading.Controls.Add(editEditableLink);
                    }
                    else
                    {
                        LinkButton editNavLink = new LinkButton();
                        editNavLink.PostBackUrl = editNavLink.GetRouteUrl("ArchitectEditNavRoute",
                                                                          new { projectName = CE.project.Name, panelid = Page.RouteData.Values["panelId"] });
                        editNavLink.Text             = "Edit panel structure";
                        editNavLink.CausesValidation = false;
                        heading.Controls.Add(editNavLink);
                    }
                }

                LinkButton reproposeLink = new LinkButton();
                reproposeLink.CausesValidation = false;
                reproposeLink.Click           += Repropose_Click;
                reproposeLink.Text             = "Repropose";
                reproposeLink.OnClientClick    = "return confirm('Think twice')";
                heading.Controls.Add(reproposeLink);
            }

            heading.CssClass = "panelHeading";
            if (heading.Controls.Count > 0)
            {
                container.Controls.Add(heading);
                WC.Panel clear = new WC.Panel();
                clear.CssClass = "clear";
                container.Controls.Add(clear);
            }
        }