Ejemplo n.º 1
0
        protected override void Render(HtmlTextWriter writer)
        {
            if (Aberto || (BtnFecharSemPostBack && AbertoSemPostBack))
            {
                writer.Write("<div  class='modal fade in' style='display:block;' id='" + ID + "' tabindex='-1' aria-labelledby='" + ID + "title' role='dialog' data-keyboard='true'>");
            }
            else
            {
                writer.Write("<div  class='modal fade' id='" + ID + "' tabindex='-1' aria-labelledby='" + ID + "title' role='dialog' data-keyboard='true'>");
            }

            if (!this.Width.IsEmpty && this.Width.Type == System.Web.UI.WebControls.UnitType.Percentage)
            {
                writer.Write("<div class='modal-dialog' style='width:{0}%;' role='document'>", this.Width.Value);
            }
            else if (!this.Width.IsEmpty && this.Width.Value < 590)
            {
                writer.Write("<div class='modal-dialog' style='width:590px;' role='document'>");
            }
            else if (!this.Width.IsEmpty)
            {
                writer.Write(string.Format("<div class='modal-dialog' style='width:{0}px;margin-left:-{1}px;' role='document'>", this.Width.Value, (this.Width.Value - 590) / 2));
            }
            else
            {
                writer.Write("<div class='modal-dialog' role='document'>");
            }

            if (!string.IsNullOrWhiteSpace(DefaultButtonID))
            {
                Control btnDefault = null;

                if (Footer != null)
                {
                    btnDefault = Footer.Controls.Cast <Control>().FirstOrDefault(p => !string.IsNullOrWhiteSpace(p.ID) && p.ID.Contains(DefaultButtonID));
                }

                if (btnDefault == null)
                {
                    btnDefault = Body.Controls.Cast <Control>().FirstOrDefault(p => !string.IsNullOrWhiteSpace(p.ID) && p.ID.Contains(DefaultButtonID));
                }

                if (btnDefault != null)
                {
                    writer.Write("<div class='modal-content' onkeypress='javascript:return WebForm_FireDefaultButton(event, \"{0}\")'>", ((Button)btnDefault).ClientID);
                }
                else
                {
                    writer.Write("<div class='modal-content'>");
                }
            }
            else
            {
                writer.Write("<div class='modal-content'>");
            }

            if (BtnFechar || !string.IsNullOrWhiteSpace(Title))
            {
                writer.Write("<div class='modal-header'>");

                //Mudar para botão close RUNAT SERVER (Cadastrar Evento)
                if (BtnFechar)
                {
                    ((Button)this.Controls.Cast <Control>().ToList().Where(x => x.ID.Equals("btnCloseModal")).First()).RenderControl(writer);
                }
                if (!string.IsNullOrWhiteSpace(Title))
                {
                    writer.Write("<h4 class='modal-title' id='" + this.ID + "title'>" + Title + "</h4>");
                }

                writer.Write("</div>");
            }

            writer.Write("<div class='modal-body'>");
            hdnOpenedModal.RenderControl(writer);
            Body.RenderControl(writer);

            writer.Write("</div>");
            writer.Write(String.Format("<div class='modal-footer {0}'>", Footer.CssClass));

            foreach (Control item in Footer.Controls)
            {
                if (item is LiteralControl)
                {
                    ((LiteralControl)item).Text = ((LiteralControl)item).Text.Replace("data-dismiss=\"modal\"", string.Format("data-dismiss=\"modal\" aria-hidden=\"true\" onclick=\"$('#{0}').hide();$('.modal-backdrop').remove();$('#{1}').val('false');return false;\"", this.ID, hdnOpenedModal.ClientID));
                }
            }

            Footer.RenderControl(writer);

            writer.Write("</div>");

            writer.Write("</div>");
            writer.Write("</div>");
            writer.Write("</div>");

            if (BtnFecharSemPostBack)
            {
                if (AbertoSemPostBack)
                {
                    writer.Write("<div class='modal-backdrop fade in' style='display: block;'></div>");
                }
            }
            else
            {
                if (Aberto)
                {
                    writer.Write("<div class='modal-backdrop fade in' style='display: block;'></div>");
                }
            }


            if (BtnFecharSemPostBack)
            {
                this.ClearCachedClientID();
                this.Dispose();
                this.Close();
                Aberto = false;
            }
        }
Ejemplo n.º 2
0
        protected override void Render(HtmlTextWriter writer)
        {
            if (Template == PanelTemplate.Default)
            {
                string keypress = "";
                string tabindex = "";
                string outline  = "";

                if (!string.IsNullOrEmpty(keypressbutton))
                {
                    keypress = "onkeypress=\"javascript: var x= event.keyCode; if (x==13) {$('#" + keypressbutton + "').trigger('click')}  \"";
                    tabindex = "tabindex='1'";
                    outline  = "style='outline:none;'";
                }

                writer.Write("<div class='boxPanel {0}' id='{1}' {2} {3} {4}>", PanelStyle.GetStringValueClass(), ID, keypress, tabindex, outline);
                string idFirstTab = string.Empty;

                if (ShowHeader)
                {
                    writer.Write("<div class='boxPanel-header'>");
                    writer.Write("<h2 class='h2Panel'>");

                    if (HeaderIcon != FontAwesomeIcons.NotSet)
                    {
                        writer.Write("<i class=\"{0} {1}\"></i>", HeaderIconType.GetStringValueClass(), HeaderIcon.GetStringValueClass());
                    }

                    writer.Write("<span style='float: right;'>{0}</span>", title);
                    writer.Write("</h2>");

                    writer.Write("<div class='boxPanel-icon'>");

                    foreach (var button in PanelHeaderButtonCollection)
                    {
                        writer.Write("<a href='javascript:{0}' class='{1}'><i class='{2} {3}'></i></a>",
                                     string.IsNullOrWhiteSpace(button.ClientClick) ? "void(0)" : button.ClientClick.Replace("'", "\""),
                                     button.CssClass,
                                     button.IconType.GetStringValueClass(),
                                     button.Icon.GetStringValueClass());
                    }

                    writer.Write("</div>");//boxPanel-icon


                    if (PanelHeaderTemplateCollection != null && PanelHeaderTemplateCollection.Count > 0)
                    {
                        hdnSelectedTab.RenderControl(writer);

                        writer.Write("<ul class='nav nav-tabs'>");

                        bool first = true;
                        foreach (var headerItem in PanelHeaderTemplateCollection)
                        {
                            string noty = "";
                            if (!string.IsNullOrWhiteSpace(headerItem.NotificationValue))
                            {
                                noty = "<span class='notification orange'>" + headerItem.NotificationValue + "</span>";
                            }

                            if (first && string.IsNullOrWhiteSpace(hdnSelectedTab.Value))
                            {
                                writer.Write(String.Format("<li class='active'><a href='#{0}' data-toggle='tab' onclick='$(\"#{3}\").val(\"{0}\")'>{1}</a>{2}</li>", headerItem.TabContentID, headerItem.Name, noty, hdnSelectedTab.ClientID));
                                first                = false;
                                idFirstTab           = headerItem.TabContentID;
                                hdnSelectedTab.Value = headerItem.TabContentID;
                            }
                            else if (first && !string.IsNullOrWhiteSpace(hdnSelectedTab.Value) && hdnSelectedTab.Value == headerItem.TabContentID)
                            {
                                writer.Write(String.Format("<li class='active'><a href='#{0}' data-toggle='tab' onclick='$(\"#{3}\").val(\"{0}\")'>{1}</a>{2}</li>", headerItem.TabContentID, headerItem.Name, noty, hdnSelectedTab.ClientID));
                                first      = false;
                                idFirstTab = headerItem.TabContentID;
                            }
                            else
                            {
                                writer.Write(String.Format("<li><a href='#{0}' data-toggle='tab' onclick='$(\"#{3}\").val(\"{0}\")'>{1}</a>{2}</li>", headerItem.TabContentID, headerItem.Name, noty, hdnSelectedTab.ClientID));
                            }
                        }

                        writer.Write("</ul>");
                    }


                    writer.Write("</div>");//boxPanel-header
                }

                writer.Write(string.Format("<div class='boxPanel-content' {0}>", initMinimized ? "style='display:none;'" : "style='display:block;'"));

                if (PanelContentTemplateCollection != null && PanelContentTemplateCollection.Count > 0)
                {
                    writer.Write("<div class='tab-content'>");

                    foreach (var item in PanelContentTemplateCollection)
                    {
                        if (item.ID == idFirstTab)
                        {
                            writer.Write(String.Format("<div class='tab-pane active' id='{0}'>", item.ID));
                        }
                        else
                        {
                            writer.Write(String.Format("<div class='tab-pane' id='{0}'>", item.ID));
                        }

                        item.RenderControl(writer);

                        writer.Write("</div>");
                    }

                    writer.Write("</div>");
                }

                if (PanelDefaultContentTemplate != null)
                {
                    PanelDefaultContentTemplate.RenderControl(writer);
                }
                writer.Write("</div>"); //box-content
                writer.Write("</div>"); //box-panel
            }
            else
            {
                if (PanelDefaultContentTemplate != null)
                {
                    PanelDefaultContentTemplate.RenderControl(writer);
                }
            }
        }