Exemple #1
0
        /// <summary>
        /// In HTML konvertieren
        /// </summary>
        /// <param name="context">Der Kontext, indem das Steuerelement dargestellt wird</param>
        /// <returns>Das Control als HTML</returns>
        public override IHtmlNode Render(RenderContext context)
        {
            Classes.Add("modal");

            if (Fade)
            {
                Classes.Add("fade");
            }

            var headerText = new HtmlElementSectionH4(Header)
            {
                Class = "modal-title"
            };

            var headerButtonLabel = new HtmlElementTextSemanticsSpan(new HtmlText("&times;"))
            {
            };

            headerButtonLabel.AddUserAttribute("aria-hidden", "true");

            var headerButton = new HtmlElementFieldButton(headerButtonLabel)
            {
                Class = "close"
            };

            headerButton.AddUserAttribute("aria-label", "close");
            headerButton.AddUserAttribute("data-dismiss", "modal");

            var header = new HtmlElementTextContentDiv(headerText, headerButton)
            {
                Class = "modal-header"
            };

            var body = new HtmlElementTextContentDiv()
            {
                Class = "modal-body"
            };

            //foreach (var v in Content)
            //{
            //    body.Elements.Add(new FormularLabelGroup(v as FormularItem)
            //    {

            //    }.ToHtml(page, this));
            //}

            var footerButtonOK = new HtmlElementFieldButton(new HtmlText("OK"))
            {
                Type  = "submit",
                Class = "btn btn-success"
            };
            //footerButtonOK.AddUserAttribute("data-dismiss", "modal");

            var footerButtonCancel = new HtmlElementFieldButton(new HtmlText("Abbrechen"))
            {
                Type  = "button",
                Class = "btn btn-danger"
            };

            footerButtonCancel.AddUserAttribute("data-dismiss", "modal");

            var footer = new HtmlElementTextContentDiv(footerButtonOK, footerButtonCancel)
            {
                Class = "modal-footer"
            };

            var form = new HtmlElementFormForm(header, body, footer)
            {
                Action = "#" + ID,
                Method = "post",
                Name   = "form_" + ID
            };

            var content = new HtmlElementTextContentDiv(form)
            {
                Class = "modal-content"
            };

            var dialog = new HtmlElementTextContentDiv(content)
            {
                Class = "modal-dialog",
                Role  = "document"
            };

            var html = new HtmlElementTextContentDiv(dialog)
            {
                ID    = ID,
                Class = GetClasses(),
                Style = GetStyles(),
                Role  = "dialog"
            };

            if (!string.IsNullOrWhiteSpace(OnShownCode))
            {
                var shown = "$('#" + ID + "').on('shown.bs.modal', function(e) { " + OnShownCode + " });";
                context.Page.AddScript(ID + "_shown", shown);
            }

            if (!string.IsNullOrWhiteSpace(OnHiddenCode))
            {
                var hidden = "$('#" + ID + "').on('hidden.bs.modal', function() { " + OnHiddenCode + " });";
                context.Page.AddScript(ID + "_hidden", hidden);
            }

            return(html);
        }
        /// <summary>
        /// In HTML konvertieren
        /// </summary>
        /// <param name="context">Der Kontext, indem das Steuerelement dargestellt wird</param>
        /// <returns>Das Control als HTML</returns>
        public override IHtmlNode Render(RenderContext context)
        {
            Classes.Add("modal");

            if (Fade)
            {
                Classes.Add("fade");
            }

            var headerText = new HtmlElementSectionH4(Header)
            {
                Class = "modal-title"
            };

            var headerButtonLabel = new HtmlElementTextSemanticsSpan(new HtmlText("&times;"))
            {
            };

            headerButtonLabel.AddUserAttribute("aria-hidden", "true");

            var headerButton = new HtmlElementFieldButton(headerButtonLabel)
            {
                Class = "close"
            };

            headerButton.AddUserAttribute("aria-label", "close");
            headerButton.AddUserAttribute("data-dismiss", "modal");

            var header = new HtmlElementTextContentDiv(headerText, headerButton)
            {
                Class = "modal-header"
            };

            var body = new HtmlElementTextContentDiv(from x in Content select x.Render(context))
            {
                Class = "modal-body"
            };

            var footerButton = new HtmlElementFieldButton(new HtmlText(context.I18N("webexpress", "modal.close.label")))
            {
                Type  = "button",
                Class = Css.Concatenate("btn", new PropertyColorButton(TypeColorButton.Primary).ToStyle())
            };

            footerButton.AddUserAttribute("data-dismiss", "modal");

            var footer = new HtmlElementTextContentDiv(footerButton)
            {
                Class = "modal-footer"
            };

            var content = new HtmlElementTextContentDiv(header, body, footer)
            {
                Class = "modal-content"
            };

            var dialog = new HtmlElementTextContentDiv(content)
            {
                Class = "modal-dialog",
                Role  = "document"
            };

            var html = new HtmlElementTextContentDiv(dialog)
            {
                ID    = ID,
                Class = string.Join(" ", Classes.Where(x => !string.IsNullOrWhiteSpace(x))),
                Style = string.Join("; ", Styles.Where(x => !string.IsNullOrWhiteSpace(x))),
                Role  = "dialog"
            };

            if (!string.IsNullOrWhiteSpace(OnShownCode))
            {
                var shown = "$('#" + ID + "').on('shown.bs.modal', function(e) { " + OnShownCode + " });";
                context.Page.AddScript(ID + "_shown", shown);
            }

            if (!string.IsNullOrWhiteSpace(OnHiddenCode))
            {
                var hidden = "$('#" + ID + "').on('hidden.bs.modal', function() { " + OnHiddenCode + " });";
                context.Page.AddScript(ID + "_hidden", hidden);
            }

            return(html);
        }