public static void AddElementName(ElementRequest request, HtmlTag tag) { if (tag.IsInputElement()) { tag.Attr("name", DeriveElementName(request)); } }
public override HtmlTag Build(ElementRequest request) { HtmlTag root = new HtmlTag("div").Attr("data-bind", "foreach: "+ CCHtmlConventions2.DeriveElementName(request)); var child = new HtmlTag("div").Attr("data-bind", "text: $data" ); root.Append(child); return root; }
public override HtmlTag Build(ElementRequest request) { HtmlTag root = new HtmlTag("a"); root.Attr("data-bind", "attr: { href: mailto:" + CCHtmlConventionsKO.DeriveElementName(request)+"}"); root.Children.Add(new HtmlTag("span").Attr("data-bind", "text:" + CCHtmlConventionsKO.DeriveElementName(request))); return root; }
public override HtmlTag Build(ElementRequest request) { Action<SelectTag> action = x => { var value = request.RawValue; Enumeration enumeration = request.Accessor.InnerProperty.GetEnumeration(""); if (enumeration == null) return; IEnumerable<Enumeration> enumerations = Enumeration.GetAllActive(enumeration); if (enumerations == null) return; foreach (Enumeration option in enumerations) { x.Option(option.Key, option.Value.IsEmpty() || option.OnlyUseKeyForSelector ? option.Key : option.Value); } if (value != null && value.ToString().IsNotEmpty()) { x.SelectByValue(value); } else { Enumeration defaultOption = enumerations.FirstOrDefault(o => o.IsDefault); if (defaultOption != null) { x.SelectByValue(defaultOption.Value.IsEmpty() ? defaultOption.Key : defaultOption.Value); } } x.AddClass("mf_fixedWidthDropdown"); x.AddClass("fixedWidthDropdown"); }; return new SelectTag(action); }
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; }
public override HtmlTag Build(ElementRequest request) { var ul = new HtmlTag("ul").Attr("data-bind", "foreach:" + CCHtmlConventions2.DeriveElementName(request)); var li = new HtmlTag("li"); li.Children.Add(new HtmlTag("span").Attr("data-bind", "text:$data")); ul.Children.Add(li); return ul; }
public override HtmlTag Build(ElementRequest request) { var value = request.StringValue().IsNotEmpty() ? request.StringValue() : ""; return new HtmlTag("textarea") .AddClasses("textArea") .Attr("name", request.ElementId) .Text(value); }
public override HtmlTag Build(ElementRequest request) { var selectTag = new SelectTag(); var elementName = CCHtmlConventions2.DeriveElementName(request); selectTag.Attr("data-bind", "options:_" + elementName + "List," + "optionsText:'Text'," + "optionsValue:'Value'," + "value:" + elementName ); return selectTag; }
public override HtmlTag Build(ElementRequest request) { HtmlTag root = new HtmlTag("a"); root.Attr("href", request.RawValue); root.Attr("target", "_blank"); root.Id(request.Accessor.FieldName); var img = new HtmlTag("img"); img.Attr("src", request.RawValue); root.Append(img); return root; }
public override HtmlTag Build(ElementRequest request) { var selectTag = new SelectTag(); var elementName = CCHtmlConventions2.DeriveElementName(request); var elementRoot = elementName.Contains("EntityId") ? elementName.Replace(".EntityId", "") : elementName; selectTag.Attr("data-bind", "options:_" + elementRoot +"List," + "optionsValue:'Value'," + "optionsText:'Text'," + "value:" + elementName); return selectTag; }
public static void AddElementName(ElementRequest request, HtmlTag tag) { if (tag.IsInputElement()) { var name = request.Accessor.Name; if (request.Accessor is PropertyChain) { name = ((PropertyChain)(request.Accessor)).PropertyNames.Aggregate((current, next) => current + "." + next); if (new InheritsFromDomainEntity().execute(request.Accessor.PropertyType)) name += ".EntityId"; } //var name = request.Accessor.Name.Substring(0, request.Accessor.Name.IndexOf(request.Accessor.FieldName)) + "." + request.Accessor.FieldName; //tag.Attr("name", name); tag.Attr("name", name); } }
public static string DeriveElementName(ElementRequest request) { var name = request.Accessor.Name; if (request.Accessor is PropertyChain) { name = ((PropertyChain)(request.Accessor)).PropertyNames.Aggregate((current, next) => current + "." + next); var isDomainEntity = false; var de = request.Accessor.PropertyType.BaseType; while (de.Name != "Object") { if (de.Name == "DomainEntity") isDomainEntity = true; de = de.BaseType; } if (isDomainEntity) name += ".EntityId"; } return name; }
public override HtmlTag Build(ElementRequest request) { Action<SelectTag> action = x => { var elementName = CCHtmlConventions2.DeriveElementName(request); x.Attr("data-bind", "groupedSelect:_" + elementName + "List," + "optionsText:'Text'," + "optionsValue:'Value'," + "optionsCaption:'" + CCCoreLocalizationKeys.SELECT_ITEM.ToString() + "'," + "value:" + elementName); // var elementName = CCHtmlConventions.DeriveElementName(request); // x.Attr("data-bind", "foreach: _" + elementName + "List.Groups, value:" + elementName); // var optGroup = new HtmlTag("optgroup").Attr("data-bind","attr: {label: Label}, foreach: Children"); // var opt = new HtmlTag("option").Attr("data-bind","text: Text, value: Value"); // optGroup.Children.Add(opt); // x.Children.Add(optGroup); }; return new SelectTag(action); }
public override HtmlTag Build(ElementRequest request) { var container = new HtmlTag("div").AddClass("imageInputContainer"); var imageContainer = new HtmlTag("div").AddClass("imageContainer"); var name = CCHtmlConventionsKO.DeriveElementName(request); var thumb = new HtmlTag("img").Attr("data-bind", "attr: { src: " + name + " }").Id("image").Attr("alt", request.Accessor.FieldName); var linkImage = new HtmlTag("img").Attr("src",@"/content/images/document.png").Attr("alt", request.Accessor.FieldName); var link = new HtmlTag("a").Attr("data-bind", "attr: { href: " + name + "} ").Id("link").Attr("target", "_blank"); link.Children.Add(linkImage); var delete = new HtmlTag("input").Attr("type", "button").AddClass("deleteImage").Attr("value", "Delete"); var inputContainer = new HtmlTag("div").AddClass("inputContainer"); var file = new HtmlTag("input").Attr("type", "file").Attr("size", 45).Attr("id", name).Attr("name", name); imageContainer.Children.Add(thumb); imageContainer.Children.Add(link); imageContainer.Children.Add(delete); inputContainer.Children.Add(file); container.Children.Add(imageContainer); container.Children.Add(inputContainer); return container; }
public override HtmlTag Build(ElementRequest request) { Action<SelectTag> action = x => { var value = request.RawValue is Entity ? ((Entity)request.RawValue).EntityId : request.RawValue; var propertyName = request.ToAccessorDef().Accessor.FieldName; var listPropertyInfo = request.ToAccessorDef().ModelType.GetProperty(propertyName+"List"); var selectListItems = listPropertyInfo.GetValue(request.Model, null) as IEnumerable<SelectListItem>; if (selectListItems == null) return; selectListItems.ForEachItem(option=> x.Option(option.Text, option.Value.IsNotEmpty() ? option.Value: "")); if ( value != null && value.ToString().IsNotEmpty()) { x.SelectByValue(value.ToString()); } x.AddClass("mf_fixedWidthDropdown"); x.AddClass("fixedWidthDropdown"); }; return new SelectTag(action); }
public override HtmlTag Build(ElementRequest request) { Action<SelectTag> action = x => { var value = request.RawValue; var propertyName = request.ToAccessorDef().Accessor.FieldName; var listPropertyInfo = request.ToAccessorDef().ModelType.GetProperty(propertyName + "List"); var dictionary = listPropertyInfo.GetValue(request.Model, null) as IDictionary<string, IEnumerable<SelectListItem>>; if (dictionary == null) return; x.Option(CCCoreLocalizationKeys.SELECT_ITEM.ToString(),""); dictionary.Keys.ForEachItem(key => { x.OptionGroup(key); dictionary[key].ForEachItem(l => x.Option(l.Text, l.Value+"_"+key)); }); if (value != null && value.ToString().IsNotEmpty()) { x.SelectByValue(value.ToString()); } }; return new SelectTag(action); }
public override HtmlTag Build(ElementRequest request) { return new TextboxTag().Attr("data-bind", "value:" + CCHtmlConventionsKO.DeriveElementName(request)); }
public abstract HtmlTag Build(ElementRequest request);
public static HtmlTag BuildCheckbox(ElementRequest request) { return new CheckboxTag((bool) request.RawValue); }
public override HtmlTag Build(ElementRequest request) { return new HtmlTag("textarea").Attr("data-bind", "value:" + CCHtmlConventionsKO.DeriveElementName(request)).AddClass("textArea").Attr("name", request.ElementId); }
public override HtmlTag Build(ElementRequest request) { var div = new HtmlTag("div").AddClass("gallery").Attr("data-bind", "foreach:" + CCHtmlConventionsKO.DeriveElementName(request)); var a = new HtmlTag("a").Attr("data-bind", "attr:{href:FileUrl_Thumb}"); a.Children.Add(new HtmlTag("image").Attr("data-bind", "attr:{src:FileUrl_Large,imageId:ImageId}")); div.Children.Add(a); return div; }
public override HtmlTag Build(ElementRequest request) { return new TextboxTag().Id(request.Accessor.Name).AddClass("multiSelect").Attr("data-bind", "MultiSelect:" + CCHtmlConventionsKO.DeriveElementName(request)); }
public override HtmlTag Build(ElementRequest request) { return new HtmlTag("img").Attr("data-bind", " attr: { src: " + CCHtmlConventionsKO.DeriveElementName(request) + " }") .Attr("alt", request.Accessor.FieldName); }
public override HtmlTag Build(ElementRequest request) { var date = request.StringValue().IsNotEmpty() ? DateTime.Parse(request.StringValue()).ToShortTimeString() : ""; return new HtmlTag("span").Text(date); }
public static HtmlTag BuildTextbox(ElementRequest request) { return new TextboxTag().Attr("value", request.StringValue()); }
public override HtmlTag Build(ElementRequest request) { return new TextboxTag().Attr("data-bind", "dateString:" + CCHtmlConventionsKO.DeriveElementName(request)).AddClass("datePicker"); }
public override HtmlTag Build(ElementRequest request) { return new HtmlTag("span").Attr("data-bind", "timeString:" + CCHtmlConventions2.DeriveElementName(request)); }
public static HtmlTag BuildTextbox2(ElementRequest request) { var date = DateTime.Parse(request.StringValue()).ToShortDateString(); return new TextboxTag().Attr("value", date).AddClass("datePicker"); }
public override HtmlTag Build(ElementRequest request) { return new CheckboxTag(false).Attr("data-bind", "checked:" + CCHtmlConventionsKO.DeriveElementName(request)); }
public HtmlTag Build(ElementRequest request) { return _creators[request.ToAccessorDef()](request); }