コード例 #1
0
 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)
             {
             }
         }
     }
 }
コード例 #2
0
        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));
                        }
                    }
                }
            }
        }
コード例 #3
0
 public HxCloseButton()
 {
     if (AdditionalAttributes is null)
     {
         AdditionalAttributes = new();
     }
     AdditionalAttributes.Add("aria-label", "Close");         // Adding the aria-label for accessibility.
 }
コード例 #4
0
 internal void SetAttribute(string key, string value)
 {
     if (!AdditionalAttributes.ContainsKey(key))
     {
         AdditionalAttributes.Add(key, value);
     }
     else
     {
         AdditionalAttributes[key] = value;
     }
 }
コード例 #5
0
        /// <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");
                }
            }
        }
コード例 #6
0
        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"
            });
        }
コード例 #7
0
    /// <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";
        }
    }
コード例 #8
0
        /// <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);
 }