protected override void OnParametersSet() { if (AdditionalAttributes == null) { AdditionalAttributes = new Dictionary <string, object>(); } if (!AdditionalAttributes.ContainsKey("class")) { //check if have a table css class on the model send DisplayTableAttribute cssClass = typeof(T).GetCustomAttribute <DisplayTableAttribute>(); if (cssClass != null && cssClass.TableClass != null) { AdditionalAttributes.Add("class", cssClass.TableClass); } else { AdditionalAttributes.Add("class", DefaultCSSClass); } } if (Items != null) { StringBuilder html = new StringBuilder(); PropertyInfo[] properties = typeof(T).GetProperties(BindingFlags.Public | BindingFlags.Instance); if (properties.Length > 2) { foreach (T item in Items) { } } } }
protected void FixAttributes() { var type = this.GetType().GetTypeInfo(); foreach (var attrType in this.DefiningAttributes) { var attrName = attrType.Name.Replace("Attribute", ""); var additional = AdditionalAttributes.Where(x => x.Name == attrName).FirstOrDefault(); if (additional == null) { additional = new CodeFirstAttribute(attrName); AdditionalAttributes.Add(additional); } var propInfos = attrType.GetTypeInfo().DeclaredProperties.Where(x => x.CanWrite); foreach (var propInfo in propInfos) { var prop = additional.Properties.Where(x => x.Name == propInfo.Name).FirstOrDefault(); if (prop == null) { var thisPropInfo = type.DeclaredProperties.Where(x => x.Name == propInfo.Name).FirstOrDefault(); if (thisPropInfo != null) { var value = thisPropInfo.GetValue(this); if (thisPropInfo.PropertyType == typeof(string)) { value = "\"" + value + "\""; } additional.Properties.Add(new CodeFirstAttributeProperty(propInfo.Name, value)); } } } } }
public HxCloseButton() { if (AdditionalAttributes is null) { AdditionalAttributes = new(); } AdditionalAttributes.Add("aria-label", "Close"); // Adding the aria-label for accessibility. }
internal void SetAttribute(string key, string value) { if (!AdditionalAttributes.ContainsKey(key)) { AdditionalAttributes.Add(key, value); } else { AdditionalAttributes[key] = value; } }
/// <summary> /// OnInitialized 方法 /// </summary> protected override void OnInitialized() { base.OnInitialized(); // TODO: 此处应该检查 html5 type 类型检查 if (AdditionalAttributes != null) { if (!AdditionalAttributes.TryGetValue("type", out var _)) { AdditionalAttributes.Add("type", IsPassword ? "password" : "text"); } } }
public ImageFieldDefinition() { FieldType = BuiltInPublishingFieldTypes.Image; // RichTextMode/RichText should be set as follow to make sure field can be edited and displayed correctly // Skipping these atts would resul a pure HTML string on the publishing page layout // Enhance 'ImageFieldDefinition' - add default AdditionalAttributes #552 // https://github.com/SubPointSolutions/spmeta2/issues/552 AdditionalAttributes.Add(new FieldAttributeValue { Name = "RichTextMode", Value = "FullHtml" }); AdditionalAttributes.Add(new FieldAttributeValue { Name = "RichText", Value = "TRUE" }); }
/// <summary> /// OnParametersSet 方法 /// </summary> protected override void OnParametersSet() { // 不需要走 base.OnParametersSet 方法 AdditionalAttributes ??= new Dictionary <string, object>(); if (string.IsNullOrEmpty(PreviewUrl)) { AdditionalAttributes.Add("onclick", "$.bb_printview(this)"); Target = null; } else { AdditionalAttributes.Remove("onclick", out _); Target = "_blank"; } if (string.IsNullOrEmpty(ButtonIcon)) { ButtonIcon = "fa fa-print"; } }
/// <summary> /// OnInitialized 方法 /// </summary> protected override void OnInitialized() { base.OnInitialized(); if (AdditionalAttributes == null) { AdditionalAttributes = new Dictionary <string, object>(); } if (!AdditionalAttributes.TryGetValue("type", out var _)) { // 设置 Number 类型 if (typeof(TValue).IsNumber()) { AdditionalAttributes.Add("type", "number"); } else { AdditionalAttributes.Add("type", IsPassword ? "password" : "text"); } } }
/// <summary> /// Add an extra process/thread attribute. /// </summary> /// <param name="attribute">The process attribute to add.</param> /// <remarks>The caller is responsible for disposing the attribute, this class does not hold a reference.</remarks> public void AddAttribute(ProcessAttribute attribute) { AdditionalAttributes.Add(attribute); }