Ejemplo n.º 1
0
        public virtual IEnumerable<NestedTagBuilder> GenerateForEnum(ITagBuilderContext context)
        {
            Setup(context);

            var tags = new List<NestedTagBuilder>();
            foreach (var enumName in Enum.GetNames(Context.Metadata.ModelType))
            {
                var tagBuilder = CreatePrimaryTag("input");
                tagBuilder.MergeAttribute("type", "checkbox", true);
                if (!string.IsNullOrEmpty(Context.Metadata.Description))
                    tagBuilder.MergeAttribute("title", Context.Metadata.Description);


                if (GetValue() == enumName)
                    tagBuilder.MergeAttribute("checked", "checked");


                var label = new NestedTagBuilder("label");
                var title = new NestedTagBuilder("span");
                title.SetInnerText(LocalizedStringProvider.GetEnumString(Context.Metadata.ModelType, enumName));
                label.AddChild(tagBuilder);
                label.AddChild(title);

                tags.Add(label);
            }

            return tags;
        }
Ejemplo n.º 2
0
        public virtual IEnumerable <NestedTagBuilder> GenerateForEnum(ITagBuilderContext context)
        {
            Setup(context);

            var tags = new List <NestedTagBuilder>();

            foreach (var enumName in Enum.GetNames(Context.Metadata.ModelType))
            {
                var tagBuilder = CreatePrimaryTag("input");
                tagBuilder.MergeAttribute("type", "checkbox", true);
                if (!string.IsNullOrEmpty(Context.Metadata.Description))
                {
                    tagBuilder.MergeAttribute("title", Context.Metadata.Description);
                }


                if (GetValue() == enumName)
                {
                    tagBuilder.MergeAttribute("checked", "checked");
                }


                var label = new NestedTagBuilder("label");
                var title = new NestedTagBuilder("span");
                title.SetInnerText(LocalizedStringProvider.GetEnumString(Context.Metadata.ModelType, enumName));
                label.AddChild(tagBuilder);
                label.AddChild(title);

                tags.Add(label);
            }

            return(tags);
        }
Ejemplo n.º 3
0
        public virtual IEnumerable<NestedTagBuilder> GenerateForEnum(ITagBuilderContext context)
        {
            Setup(context);

            var selectTag = CreatePrimaryTag("select");
            if (!string.IsNullOrEmpty(Context.Metadata.Description))
                selectTag.MergeAttribute("title", Context.Metadata.Description);

            var names = Enum.GetNames(getNonNullableModelType());
            if(context.Metadata.IsNullableValueType)
                names = new string[] { string.Empty }.Concat(names).ToArray();

            foreach (var enumName in names)
            {
                var tagBuilder = new NestedTagBuilder("option");
                tagBuilder.MergeAttribute("value", enumName, true);
                if (GetValue() == enumName)
                    tagBuilder.MergeAttribute("selected", "selected");

                if (enumName != string.Empty)
                {
                    var title = LocalizedStringProvider.GetEnumString(getNonNullableModelType(), enumName) ?? DefaultUICulture.FormatUnknown(enumName);
                    tagBuilder.SetInnerText(title);
                }

                selectTag.AddChild(tagBuilder);
            }

            return new[] {selectTag};
        }
Ejemplo n.º 4
0
        public virtual IEnumerable <NestedTagBuilder> GenerateForEnum(ITagBuilderContext context)
        {
            Setup(context);

            var selectTag = CreatePrimaryTag("select");

            if (!string.IsNullOrEmpty(Context.Metadata.Description))
            {
                selectTag.MergeAttribute("title", Context.Metadata.Description);
            }

            var names = Enum.GetNames(getNonNullableModelType());

            if (context.Metadata.IsNullableValueType)
            {
                names = new string[] { string.Empty }
            }
Ejemplo n.º 5
0
        public virtual IEnumerable<NestedTagBuilder> GenerateForEnum(ITagBuilderContext context)
        {
            Setup(context);

            var selectTag = CreatePrimaryTag("select");
            if (!string.IsNullOrEmpty(Context.Metadata.Description))
                selectTag.MergeAttribute("title", Context.Metadata.Description);

            foreach (var enumName in Enum.GetNames(Context.Metadata.ModelType))
            {
                var tagBuilder = new NestedTagBuilder("option");
                tagBuilder.MergeAttribute("value", enumName, true);
                if (GetValue() == enumName)
                    tagBuilder.MergeAttribute("selected", "selected");

                long corporateID = CurrentParemeter.GetCurrentCorporateId();
                var title = LocalizedStringProvider.GetEnumString(corporateID,Context.Metadata.ModelType, enumName);
                tagBuilder.SetInnerText(title);

                selectTag.AddChild(tagBuilder);
            }

            return new[] {selectTag};
        }
Ejemplo n.º 6
0
 /// <summary>
 /// Generate HTML tags for a property
 /// </summary>
 /// <param name="context">Context specific information</param>
 /// <returns>Generated HTML tags</returns>
 public IEnumerable<NestedTagBuilder> Generate(ITagBuilderContext context)
 {
     Setup(context);
     return GenerateTags();
 }
Ejemplo n.º 7
0
 /// <summary>
 /// I know, really. Setup/Init methods are a pain and spawn of satan and all that. But I couldn't figure out a  better solution.
 /// </summary>
 /// <param name="context"></param>
 protected virtual void Setup(ITagBuilderContext context)
 {
     Context = context;
 }
Ejemplo n.º 8
0
 /// <summary>
 /// Generate HTML tags for a property
 /// </summary>
 /// <param name="context">Context specific information</param>
 /// <returns>Generated HTML tags</returns>
 public IEnumerable <NestedTagBuilder> Generate(ITagBuilderContext context)
 {
     Setup(context);
     return(GenerateTags());
 }
Ejemplo n.º 9
0
 /// <summary>
 /// I know, really. Setup/Init methods are a pain and spawn of satan and all that. But I couldn't figure out a  better solution.
 /// </summary>
 /// <param name="context"></param>
 protected virtual void Setup(ITagBuilderContext context)
 {
     Context = context;
 }