コード例 #1
0
        /// <summary>
        /// Init.
        /// </summary>
        /// <param name="parent">the parent box of this box</param>
        /// <param name="tag">the html tag data of this box</param>
        public CssBoxFrame(CssBox parent, HtmlTag tag)
            : base(parent, tag)
        {
            _imageWord = new CssRectImage(this);
            Words.Add(_imageWord);

            Uri uri;
            if (Uri.TryCreate(GetAttribute("src"),UriKind.Absolute, out uri))
            {
                if(uri.Host.IndexOf("youtube.com",StringComparison.InvariantCultureIgnoreCase) > -1)
                {
                    _isVideo = true;
                    LoadYoutubeDataAsync(uri);
                }
                else if (uri.Host.IndexOf("vimeo.com",StringComparison.InvariantCultureIgnoreCase) > -1)
                {
                    _isVideo = true;
                    LoadVimeoDataAsync(uri);
                }
            }

            if (!_isVideo)
            {
                SetErrorBorder();
            }
        }
 public CustomUIAttribute(int fieldOrder, int fieldLength, HtmlTag tag, string fieldDisplayName)
 {
     _FieldOrder = fieldOrder;
     _FieldLength = fieldLength;
     _Tag = tag;
     _FieldDisplayName = fieldDisplayName;
 }
コード例 #3
0
        public void ApplyTo(IHtmlNode target)
        {
            var filtered = column.Grid.DataProcessor.FilterDescriptors.SelectRecursive(filter =>
            {
                CompositeFilterDescriptor compositeDescriptor = filter as CompositeFilterDescriptor;

                if (compositeDescriptor != null)
                {
                    return compositeDescriptor.FilterDescriptors;
                }

                return null;
            })
            .Where(filter => filter is FilterDescriptor)
            .OfType<FilterDescriptor>()
            .Any(filter => filter.Member.IsCaseInsensitiveEqual(column.Member));

            var wrapper = new HtmlTag("div")
                .AddClass("t-grid-filter", "t-state-default")
                .ToggleClass("t-active-filter", filtered);

            wrapper.AppendTo(target);

            var icon = new HtmlTag("span").AddClass("t-icon", "t-filter");
            icon.AppendTo(wrapper);
        }
コード例 #4
0
 public override void Build(ElementRequest request, HtmlTag tag)
 {
     // todo can we narrow down for numbers that it's a whole number (probably need a regex to allow commas too)
     tag.AllTags()
         .Where(t => t.IsInputElement())
         .ForEach(t => t.AddClass("number"));
 }
コード例 #5
0
 public void add_returns_the_newly_created_child_tag()
 {
     var original = new HtmlTag("div");
     var child = original.Add("span");
     child.ToString().ShouldEqual("<span></span>");
     original.ToString().ShouldEqual("<div><span></span></div>");
 }
コード例 #6
0
 public void append_all_tags_from_a_sequence()
 {
     var sequence = new[] { new HtmlTag("br"), new HtmlTag("hr") };
     var parent = new HtmlTag("div");
     parent.Append(sequence);
     parent.ToString().ShouldEqual("<div><br></br><hr /></div>");
 }
コード例 #7
0
 public override HtmlTag Build(ElementRequest request)
 {
     HtmlTag root = new HtmlTag("div").Attr("data-bind", "foreach: "+ CCHtmlConventionsKO.DeriveElementName(request));
     var child = new HtmlTag("div").Attr("data-bind", "text: $data" );
     root.Append(child);
     return root;
 }
コード例 #8
0
ファイル: TableTag.cs プロジェクト: reharik/CCHtmlHelpers
 public TableTag()
     : base("table")
 {
     _header = new HtmlTag("thead", this);
     _footer = new HtmlTag("tfoot", this).Render(false);
     _body = new HtmlTag("tbody", this);
 }
コード例 #9
0
 public override void Build(ElementRequest request, HtmlTag tag)
 {
     tag
         .AllTags()
         .Where(t => t.IsInputElement())
         .ForEach(t => t.AddClass("email"));
 }
コード例 #10
0
 public void parent_property_is_set_correctly_using_append()
 {
     var child = new HtmlTag("span");
     var tag = new HtmlTag("div").Append(child);
     tag.ShouldEqual(child.Parent);
     tag.Children[0].ShouldEqual(child);
 }
コード例 #11
0
            public static HtmlTag Div(this HtmlTag tag, Action<HtmlTag> configure)
            {
                var div = new HtmlTag("div");
                configure(div);

                return tag.Append(div);
            }
コード例 #12
0
ファイル: HtmlListInfo.cs プロジェクト: erashid/Extensions
 public HtmlListInfo(HtmlTag htmlTag, int columns = 0, object htmlAttributes = null, TextLayout textLayout = TextLayout.Default)
 {
     HtmlTag = htmlTag;
     Columns = columns;
     HtmlAttributes = htmlAttributes;
     TextLayout = textLayout;
 }
コード例 #13
0
        public void do_not_write_closing_tag()
        {
            var tag = new HtmlTag("span").Id("id");
            tag.NoClosingTag();

            tag.ToString().ShouldEqual("<span id=\"id\">");
        }
コード例 #14
0
 public override void Build(ElementRequest request, HtmlTag tag)
 {
     var range = request.Accessor.GetAttribute<RangeAttribute>();
     tag.AllTags()
         .Where(t => t.IsInputElement())
         .ForEach(t => AddRangeValidation(t, range));
 }
コード例 #15
0
        public void ApplyTo(IHtmlNode target)
        {
            var hierarchyCell = new HtmlTag("th")
                .AddClass(UIPrimitives.Header, UIPrimitives.Grid.HierarchyCell);

            target.Children.Insert(0, hierarchyCell);
        }
コード例 #16
0
        public void is_visible_set_to_true_by_default()
        {
            var tag = new HtmlTag("div");

            tag.Visible().ShouldBeTrue();
            tag.ToString().ShouldEqual("<div></div>");
        }
コード例 #17
0
 public static void AddElementName(ElementRequest request, HtmlTag tag)
 {
     if (tag.IsInputElement())
     {
         tag.Attr("name", DeriveElementName(request));
     }
 }
コード例 #18
0
        public IHtmlNode CellTag(DateTime day, string urlFormat, bool isOtherMonth)
        {
            IHtmlNode cell = new HtmlTag("td");

            if (isOtherMonth)
            {
                cell.AddClass("t-other-month");
            }
            else if(Calendar.Value != null && day.Day == Calendar.Value.Value.Day)
            {
                cell.AddClass(UIPrimitives.SelectedState);
            }

            if (Calendar.IsDateInRange(day))
            {
                var href = GetUrl(day, urlFormat);

                IHtmlNode link = new HtmlTag("a")
                                 .AddClass(UIPrimitives.Link + (href != "#" ? " t-action-link" : string.Empty))
                                 .Attribute("href", href)
                                 .Text(day.Day.ToString());

                cell.Children.Add(link);
            }
            else
            {
                cell.Html("&nbsp;");
            }

            return cell;
        }
コード例 #19
0
 public void add_and_return_a_child_tag_by_type()
 {
     var original = new HtmlTag("div");
     var child = original.Add<HiddenTag>();
     child.ToString().ShouldEqual("<input type=\"hidden\" />");
     original.ToString().ShouldEqual("<div><input type=\"hidden\" /></div>");
 }
コード例 #20
0
 public void append_adds_a_new_child_and_return_the_original()
 {
     var parent = new HtmlTag("div");
     var resultOfAppend = parent.Append("p");
     resultOfAppend.ShouldBeTheSameAs(parent);
     parent.ToString().ShouldEqual("<div><p></p></div>");
 }
コード例 #21
0
 public void create_and_return_a_link_as_a_child_of_another_tag()
 {
     var tag = new HtmlTag("div");
     var link = tag.ActionLink("click", "important", "invoke");
     link.ToString().ShouldEqual("<a href=\"#\" class=\"important invoke\">click</a>");
     tag.ToString().ShouldEqual("<div><a href=\"#\" class=\"important invoke\">click</a></div>");
 }
コード例 #22
0
 public override HtmlTag Build(ElementRequest request)
 {
     var ul = new HtmlTag("ul").Attr("data-bind", "foreach:" + CCHtmlConventionsKO.DeriveElementName(request));
     var li = new HtmlTag("li");
     li.Children.Add(new HtmlTag("span").Attr("data-bind", "text:$data"));
     ul.Children.Add(li);
     return ul;
 }
コード例 #23
0
        public void insert_before()
        {
            var tag = new HtmlTag("div");
            tag.Add("span");
            tag.InsertFirst(new HtmlTag("p"));

            tag.ToString().ShouldEqual("<div><p></p><span></span></div>");
        }
コード例 #24
0
 public override HtmlTag Build(ElementRequest request)
 {
     HtmlTag root = new HtmlTag("a");
     root.Attr("href", "mailto:" + request.StringValue());
     root.Attr("name", request.Accessor.FieldName + "Link");
     root.Append(new HtmlTag("span").Text(request.StringValue()));
     return root;
 }
コード例 #25
0
        public void is_input_element()
        {
            var tag = new HtmlTag("span");

            tag.IsInputElement().ShouldBeFalse();
            tag.TagName("input").IsInputElement().ShouldBeTrue();
            tag.TagName("select").IsInputElement().ShouldBeTrue();
        }
コード例 #26
0
 public void do_not_allow_spaces_in_class_names()
 {
     HtmlTag tag = new HtmlTag("div").Text("text");
     typeof(ArgumentException).ShouldBeThrownBy(() =>
     {
         tag.AddClass("a b c");
     });
 }
コード例 #27
0
        protected override IHtmlNode BuildCore()
        {
            var col = new HtmlTag("col", TagRenderMode.SelfClosing)
                .ToggleAttribute("style", "width:" + column.Width, column.Width.HasValue())
                .ToggleAttribute("style", "display:none;", column.Hidden);

            return col;
        }
コード例 #28
0
        public void is_authorized_value_false_makes_tag_hidden_regardless_of_visibility()
        {
            var tag = new HtmlTag("div").Authorized(false);
            tag.ToString().ShouldBeEmpty();

            tag.Visible(true).ToString().ShouldBeEmpty();
            tag.Visible(false).ToString().ShouldBeEmpty();
        }
コード例 #29
0
ファイル: HtmlTagTester.cs プロジェクト: HtmlTags/htmltags
        public void can_opt_out_of_html_encoded_inner_text()
        {
            var tag = new HtmlTag("div");
            tag.Text("<b>Hi</b>");
            tag.Encoded(false);

            tag.ToString().ShouldEqual("<div><b>Hi</b></div>");
        }
コード例 #30
0
        public void add_multiple_levels_of_nesting()
        {
            var tag = new HtmlTag("table");
            tag.Add("tbody/tr/td").Text("some text");

            tag.ToString()
                .ShouldEqual("<table><tbody><tr><td>some text</td></tr></tbody></table>");
        }
コード例 #31
0
        private static void BuildNavEntries <T>(IUrlHelper urlHelper, List <TabDisplay <T> > tabs, HtmlTag tabTag, object commonRouteValues) where T : Enumeration <T>, ITabEnumeration
        {
            foreach (var tab in tabs.OrderBy(a => a.Tab.Value))
            {
                var listItem = new HtmlTag("li");
                if (!tab.IsEnabled)
                {
                    listItem.AddClass("disabled");
                }

                if (!tab.IsVisible)
                {
                    listItem.AddClass("hidden");
                }

                if (tab.IsSelected)
                {
                    listItem.AddClass("active");
                    listItem.Append(new HtmlTag("a").Attr("href", "#").Text(tab.Tab.DisplayName));
                }

                else
                {
                    var url = urlHelper.Action(tab.Tab.ActionName, tab.Tab.ControllerName, commonRouteValues);
                    listItem.Append(new HtmlTag("a").Attr("href", url).Text(tab.Tab.DisplayName));
                }

                tabTag.Append(listItem);
            }
        }
コード例 #32
0
        public void wrapped_tag_will_not_be_authorized_if_the_original_tag_was_not_authorized()
        {
            var tag = new HtmlTag("a").Authorized(false);

            tag.WrapWith("span").Authorized().ShouldBeFalse();
        }
コード例 #33
0
        public static string GetHtml(this Controller outcontroller, HtmlDesgin design, string htmlTitle, string resourceHtml = "", Guid?DefaultContrainerId = null, bool desginemode = false)
        {
            if (design == null || string.IsNullOrEmpty(design.Body))
            {
                return(string.Empty);
            }
            var       body = design.Body;
            var       partialLoadFacade = ContentManagerComponent.Instance.PartialLoadFacade;
            Container Defaultcontainer  = null;

            if (DefaultContrainerId.HasValue)
            {
                Defaultcontainer = ContentManagerComponent.Instance.ContainerFacade.Get(DefaultContrainerId);
            }
            var parser = new HtmlParser {
                ParseMethod = ParseMethod.All
            };
            var sbElements = new StringBuilder();

            parser.Parse(body);
            HtmlTag firsttag = null;
            var     htmlTag  = parser.Tags.First;

            if (htmlTag != null && !string.IsNullOrEmpty(htmlTag.Name))
            {
                firsttag = htmlTag;
            }
            else
            {
                for (var i = 0; i < parser.Tags.Count; i++)
                {
                    if (parser.Tags[i] == null || string.IsNullOrEmpty(parser.Tags[i].Name))
                    {
                        continue;
                    }
                    firsttag = parser.Tags[i];
                    break;
                }
            }
            if (firsttag != null)
            {
                var span = new TagBuilder(firsttag.Name);
                foreach (HtmlAttribute attribute in htmlTag.Attributes)
                {
                    if (span.Attributes.ContainsKey(attribute.Name))
                    {
                        span.Attributes[attribute.Name] =
                            firsttag.Attributes.AttributeValue(attribute.Value);
                    }
                    else
                    {
                        span.Attributes.Add(attribute.Name, attribute.Value);
                    }
                }


                var partialLoadlist = partialLoadFacade.GetHtmlPartials(design.Id, SessionParameters.Culture, Defaultcontainer);
                outcontroller.GetPartialHtmlByUrl(partialLoadlist, Defaultcontainer);
                if (firsttag.Tags.Count > 0)
                {
                    AddTag(ref span, outcontroller, htmlTitle, firsttag.Tags, partialLoadlist, resourceHtml, design.Id, desginemode);
                }
                sbElements.Append(span);
            }
            sbElements = sbElements.Replace("<theme>", "");
            sbElements = sbElements.Replace("</theme>", "");
            return(sbElements.ToString());
        }
コード例 #34
0
 public HtmlControl(HtmlTag tag) : base(tag)
 {
 }
 /// <summary>
 ///   Sets the value property. This is a shorthand for the <see cref="HtmlTag.Attribute" /> method with 'value' as the
 ///   attribute parameter value.
 /// </summary>
 /// <param name="htmlTag">This <see cref="HtmlTag" /></param>
 /// <param name="value">The value for the 'value' attribute</param>
 /// <param name="replaceExisting">
 ///   A value indicating whether the existing attribute, if any, should have its value replaced
 ///   by the <paramref name="value" /> provided.
 /// </param>
 /// <returns>This <see cref="HtmlTag" /></returns>
 public static HtmlTag Value(this HtmlTag htmlTag, string value, bool replaceExisting = true)
 {
     return(htmlTag.Attribute("value", value, replaceExisting));
 }
コード例 #36
0
        public void Empty_can_be_used_as_a_non_rendering_placeholder()
        {
            var tag = new HtmlTag("body").Append(HtmlTag.Empty());

            tag.ToString().Equals("<body></body>");
        }
コード例 #37
0
        public void append_and_modify_the_innermost_child()
        {
            var tag = new HtmlTag("body").Append("div > form > input", child => child.Id("first-name"));

            tag.ToString().ShouldEqual("<body><div><form><input id=\"first-name\" /></form></div></body>");
        }
 /// <summary>
 ///   Sets the href property. This is a shorthand for the <see cref="HtmlTag.Attribute" /> method with 'href' as the
 ///   attribute parameter value.
 /// </summary>
 /// <param name="htmlTag">This <see cref="HtmlTag" /></param>
 /// <param name="href">The value for the 'href' attribute</param>
 /// <param name="replaceExisting">
 ///   A value indicating whether the existing attribute, if any, should have its value replaced
 ///   by the <paramref name="href" /> provided.
 /// </param>
 /// <returns>This <see cref="HtmlTag" /></returns>
 public static HtmlTag Href(this HtmlTag htmlTag, string href, bool replaceExisting = true)
 {
     return(htmlTag.Attribute("href", href, replaceExisting));
 }
コード例 #39
0
 private HtmlReportTag OpenTag(string openingTag, HtmlTag tag)
 {
     AddLine(openingTag);
     _tabCount++;
     return(new HtmlReportTag(tag, CloseTag));
 }
コード例 #40
0
 public JquerySelectorExtend Tag(HtmlTag tag)
 {
     AndSelector(tag.ToStringLower());
     return(new JquerySelectorExtend(this.selector));
 }
コード例 #41
0
 public static HtmlTag AddPlaceholder(this HtmlTag tag, string placeholder)
 {
     return(tag.Attr("placeholder", placeholder));
 }
コード例 #42
0
        public static HtmlTag AddPattern(this HtmlTag tag, string pattern)
        {
            var retVal = tag.Data("pattern", pattern);

            return(retVal);
        }
コード例 #43
0
 public static HtmlTag AutoCapitalize(this HtmlTag tag)
 {
     return(tag.Data("autocapitalize", "true"));
 }
コード例 #44
0
 public HtmlBuilder BeginHtmlTag(HtmlTag tag, params string[] args)
 {
     return(BeginHtmlTag(tag, Nparams.Parse(args)));
 }
コード例 #45
0
        public void add_a_tag_by_tag_name()
        {
            HtmlTag element = document.Add("div/a").Text("hello");

            element.TagName().ShouldEqual("a");
        }
コード例 #46
0
 public HtmlBuilder EmptyHtmlTag(HtmlTag tag, params string[] args)
 {
     return(EmptyHtmlTag(tag, Nparams.Parse(args)));
 }
 /// <summary>
 ///   Sets the type property. This is a shorthand for the <see cref="HtmlTag.Attribute" /> method with 'type' as the
 ///   attribute parameter value.
 /// </summary>
 /// <param name="htmlTag">This <see cref="HtmlTag" /></param>
 /// <param name="type">The value for the 'type' attribute</param>
 /// <param name="replaceExisting">
 ///   A value indicating whether the existing attribute, if any, should have its value replaced
 ///   by the <paramref name="type" /> provided.
 /// </param>
 /// <returns>This <see cref="HtmlTag" /></returns>
 public static HtmlTag Type(this HtmlTag htmlTag, string type, bool replaceExisting = true)
 {
     return(htmlTag.Attribute("type", type, replaceExisting));
 }
コード例 #48
0
        private static HtmlTag PageNumber <T>(PagedList <T> pagedContent, HtmlTag previousLink, HtmlTag nextLink)
        {
            if (previousLink == null && nextLink == null)
            {
                return(null);
            }

            var pageNumber = new HtmlTag("span");

            pageNumber.Text(" " + pagedContent.PageNumber + " ");

            var listItem = new HtmlTag("li");

            listItem.Append(pageNumber);

            return(listItem);
        }
 /// <summary>
 ///     Check the current matched set of elements against a tag, element and return true
 /// </summary>
 public static JquerySelectorExtend Is(this JquerySelectorExtend selector, HtmlTag tag)
 {
     return(selector.Is(r => r.Tag(tag)));
 }
 /// <summary>
 ///   Sets the id property. This is a shorthand for the <see cref="HtmlTag.Attribute" /> method with 'id' as the attribute
 ///   parameter value.
 /// </summary>
 /// <param name="htmlTag">This <see cref="HtmlTag" /></param>
 /// <param name="id">The value for the 'id' attribute</param>
 /// <param name="replaceExisting">
 ///   A value indicating whether the existing attribute, if any, should have its value replaced
 ///   by the <paramref name="id" /> provided.
 /// </param>
 /// <returns>This <see cref="HtmlTag" /></returns>
 public static HtmlTag Id(this HtmlTag htmlTag, string id, bool replaceExisting = true)
 {
     return(htmlTag.Attribute("id", id, replaceExisting));
 }
コード例 #51
0
                public bool Check(int count, HtmlKeywordReplacementInfo keyword, int position, HtmlTag tag, HtmlKeywordReplacementInfo previousKeyword, int previousPosition)
                {
                    bool allow = true;

                    while (tag != null)
                    {
                        if (tag.Name.Equals("a", StringComparison.InvariantCultureIgnoreCase))
                        {
                            allow = false;
                            break;
                        }
                        tag = tag.Parent;
                    }

                    return(allow);
                }
 /// <summary>
 ///   Sets the name property. This is a shorthand for the <see cref="HtmlTag.Attribute" /> method with 'name' as the
 ///   attribute parameter value.
 /// </summary>
 /// <param name="htmlTag">This <see cref="HtmlTag" /></param>
 /// <param name="name">The value for the 'name' attribute</param>
 /// <param name="replaceExisting">
 ///   A value indicating whether the existing attribute, if any, should have its value replaced
 ///   by the <paramref name="name" /> provided.
 /// </param>
 /// <returns>This <see cref="HtmlTag" /></returns>
 public static HtmlTag Name(this HtmlTag htmlTag, string name, bool replaceExisting = true)
 {
     return(htmlTag.Attribute("name", name, replaceExisting));
 }
コード例 #53
0
        public void wrapped_tag_will_not_be_rendered_if_the_original_tag_was_not_to_be_rendered()
        {
            var tag = new HtmlTag("a").Render(false);

            tag.WrapWith("span").Render().ShouldBeFalse();
        }
コード例 #54
0
 public FormLineExpression <T> Label(HtmlTag tag)
 {
     _chrome.LabelTag = tag;
     return(this);
 }
コード例 #55
0
        public void hide_renders_the_tag_but_sets_style_to_display_none()
        {
            var tag = new HtmlTag("div").Hide();

            tag.Style("display").ShouldEqual("none");
        }
コード例 #56
0
        public static HtmlTag SelectListBlock <T>(this IHtmlHelper <T> helper, Expression <Func <T, object> > expression, HtmlTag selectList, string helpTooltipText = null, bool includeBlankOption = false)
            where T : class
        {
            var label = helper.Label(expression);

            label = label.WrapWith(new DivTag().AddClasses("col-xs-4", "text-right"));

            var input = selectList;

            input = input.WrapWith(new DivTag().AddClasses("col-xs-6", "text-left"));

            var helpTooltip = helper.ToolTip(helpTooltipText);

            helpTooltip = helpTooltip.AddClasses("col-xs-2");

            return(FormBlock(label, input, helpTooltip));
        }
コード例 #57
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="tag"></param>
        /// <param name="box"></param>
        private void TranslateAttributes(HtmlTag tag, CssBox box)
        {
            if (tag.HasAttributes())
            {
                foreach (string att in tag.Attributes.Keys)
                {
                    string value = tag.Attributes[att];

                    switch (att)
                    {
                    case HtmlConstants.Align:
                        if (value == HtmlConstants.Left || value == HtmlConstants.Center || value == HtmlConstants.Right || value == HtmlConstants.Justify)
                        {
                            box.TextAlign = value.ToLower();
                        }
                        else
                        {
                            box.VerticalAlign = value.ToLower();
                        }
                        break;

                    case HtmlConstants.Background:
                        box.BackgroundImage = value.ToLower();
                        break;

                    case HtmlConstants.Bgcolor:
                        box.BackgroundColor = value.ToLower();
                        break;

                    case HtmlConstants.Border:
                        if (!string.IsNullOrEmpty(value) && value != "0")
                        {
                            box.BorderLeftStyle = box.BorderTopStyle = box.BorderRightStyle = box.BorderBottomStyle = CssConstants.Solid;
                        }
                        box.BorderLeftWidth = box.BorderTopWidth = box.BorderRightWidth = box.BorderBottomWidth = TranslateLength(value);

                        if (tag.Name == HtmlConstants.Table)
                        {
                            if (value != "0")
                            {
                                ApplyTableBorder(box, "1px");
                            }
                        }
                        else
                        {
                            box.BorderTopStyle = box.BorderLeftStyle = box.BorderRightStyle = box.BorderBottomStyle = CssConstants.Solid;
                        }
                        break;

                    case HtmlConstants.Bordercolor:
                        box.BorderLeftColor = box.BorderTopColor = box.BorderRightColor = box.BorderBottomColor = value.ToLower();
                        break;

                    case HtmlConstants.Cellspacing:
                        box.BorderSpacing = TranslateLength(value);
                        break;

                    case HtmlConstants.Cellpadding:
                        ApplyTablePadding(box, value);
                        break;

                    case HtmlConstants.Color:
                        box.Color = value.ToLower();
                        break;

                    case HtmlConstants.Dir:
                        box.Direction = value.ToLower();
                        break;

                    case HtmlConstants.Face:
                        box.FontFamily = _cssParser.ParseFontFamily(value);
                        break;

                    case HtmlConstants.Height:
                        box.Height = TranslateLength(value);
                        break;

                    case HtmlConstants.Hspace:
                        box.MarginRight = box.MarginLeft = TranslateLength(value);
                        break;

                    case HtmlConstants.Nowrap:
                        box.WhiteSpace = CssConstants.NoWrap;
                        break;

                    case HtmlConstants.Size:
                        if (tag.Name.Equals(HtmlConstants.Hr, StringComparison.OrdinalIgnoreCase))
                        {
                            box.Height = TranslateLength(value);
                        }
                        else if (tag.Name.Equals(HtmlConstants.Font, StringComparison.OrdinalIgnoreCase))
                        {
                            box.FontSize = value;
                        }
                        break;

                    case HtmlConstants.Valign:
                        box.VerticalAlign = value.ToLower();
                        break;

                    case HtmlConstants.Vspace:
                        box.MarginTop = box.MarginBottom = TranslateLength(value);
                        break;

                    case HtmlConstants.Width:
                        box.Width = TranslateLength(value);
                        break;
                    }
                }
            }
        }
コード例 #58
0
        public static ValidationResult Validation_1()
        {
            var nx = 5;
            var ny = 5;
            var nz = 5;

            #region model definition
            var grd = StructureGenerator.Generate3DTriangleElementGrid(nx, ny, nz);

            StructureGenerator.SetRandomiseSections(grd);
            StructureGenerator.SetRandomiseMaterial(grd);

            StructureGenerator.AddRandomiseNodalLoads(grd, LoadCase.DefaultLoadCase);//random nodal loads
            //StructureGenerator.AddRandomiseBeamUniformLoads(grd, LoadCase.DefaultLoadCase);//random elemental loads
            StructureGenerator.AddRandomDisplacements(grd, 0.3);
            #endregion



            StructureGenerator.AddRandomiseNodalLoads(grd, LoadCase.DefaultLoadCase);//random nodal loads

            grd.Solve_MPC();


            var res = OpenseesValidator.OpenseesValidate(grd, LoadCase.DefaultLoadCase, false);

            var disp = res[0];
            var reac = res[1];

            var dispAbsErrIdx = disp.Columns.Cast <DataColumn>().ToList().FindIndex(i => i.ColumnName.ToLower().Contains("absolute"));
            var dispRelErrIdx = disp.Columns.Cast <DataColumn>().ToList().FindIndex(i => i.ColumnName.ToLower().Contains("relative"));

            var reacAbsErrIdx = reac.Columns.Cast <DataColumn>().ToList().FindIndex(i => i.ColumnName.ToLower().Contains("absolute"));
            var reacRelErrIdx = reac.Columns.Cast <DataColumn>().ToList().FindIndex(i => i.ColumnName.ToLower().Contains("relative"));


            var maxDispAbsError = disp.Rows.Cast <DataRow>().Max(ii => (double)ii.ItemArray[dispAbsErrIdx]);
            var maxDispRelError = disp.Rows.Cast <DataRow>().Max(ii => (double)ii.ItemArray[dispRelErrIdx]);


            var maxReacAbsError = reac.Rows.Cast <DataRow>().Max(ii => (double)ii.ItemArray[reacAbsErrIdx]);
            var maxReacRelError = reac.Rows.Cast <DataRow>().Max(ii => (double)ii.ItemArray[reacRelErrIdx]);


            //var buf = new ValidationResult();

            var span = new HtmlTag("span");
            span.Add("p").Text("Validate a 3D rame");
            span.Add("h3").Text("Validate with");
            span.Add("paragraph").Text("OpenSEES (the Open System for Earthquake Engineering Simulation) software (available via http://opensees.berkeley.edu/)");
            span.Add("h3").Text("Validate objective");
            span.Add("paragraph").Text("compare nodal displacement from BFE.net library and OpenSEES for a model consist of 3d bar elements with random material and section for each one, that forms a grid"
                                       + " with a randomized nodal loading and narrow erratic on location of joint of grid elements.");

            span.Add("h3").Text("Model Definition");

            span.Add("paragraph")
            .Text(string.Format("A {0}x{1}x{2} grid, with {3} nodes and {4} bar elements.", nx, ny, nz, grd.Nodes.Count, grd.Elements.Count) +
                  " Every node in the model have a random load on it.");

            span.Add("h3").Text("Validation Result");

            span.Add("paragraph")
            .Text(string.Format("Validation output for nodal displacements:"));


            span.Add("p").AddClass("bg-info").AppendHtml(string.Format("-Max ABSOLUTE Error: {0:e3}<br/>-Max RELATIVE Error: {1:e3}", maxDispAbsError, maxDispRelError));



            //span.Add("").Text(string.Format("Max ABSOLUTE Error: {0:e3}", maxAbsError));


            var id = "tbl_" + Guid.NewGuid().ToString("N").Substring(0, 5);

            span.Add("button").Attr("type", "button").Text("Toggle Details").AddClasses("btn btn-primary")
            .Attr("onclick", string.Format("$('#{0}').collapse('toggle');", id));

            var div = span.Add("div").AddClasses("panel-collapse", "collapse", "out").Id(id);

            var tbl = div.Add("table").AddClass("table table-striped table-inverse table-bordered table-hover");
            tbl.Id(id);

            var trH = tbl.Add("Thead").Add("tr");


            foreach (DataColumn column in disp.Columns)
            {
                trH.Add("th").Attr("scope", "col").Text(column.ColumnName);
            }

            var tbody = tbl.Add("tbody");

            for (var i = 0; i < disp.Rows.Count; i++)
            {
                var tr = tbody.Add("tr");

                for (var j = 0; j < disp.Columns.Count; j++)
                {
                    tr.Add("td").Text(disp.Rows[i][j].ToString());
                }
            }

            var buf = new ValidationResult();
            buf.Span  = span;
            buf.Title = "3D Grid Validation";

            return(buf);
        }
コード例 #59
0
 private HtmlReportTag OpenTag(HtmlTag tag)
 {
     AddLine("<" + tag + ">");
     _tabCount++;
     return(new HtmlReportTag(tag, CloseTag));
 }
コード例 #60
0
        public void add_a_child_tag()
        {
            var tag = new HtmlTag("div").Append(new HtmlTag("span").Text("something"));

            tag.ToString().ShouldEqual("<div><span>something</span></div>");
        }