Example #1
0
        public TagConventions()
        {
            Editors.Always.AddClass("form-control");

            Editors.IfPropertyIs <DateTime?>().ModifyWith(m => m.CurrentTag
                                                          .AddPattern("9{1,2}/9{1,2}/9999")
                                                          .AddPlaceholder("MM/DD/YYYY")
                                                          .AddClass("datepicker")
                                                          .Value(m.Value <DateTime?>() != null ? m.Value <DateTime>().ToShortDateString() : string.Empty));
            Editors.If(er => er.Accessor.Name.EndsWith("id", StringComparison.OrdinalIgnoreCase)).BuildBy(a => new HiddenTag().Value(a.StringValue()));
            Editors.IfPropertyIs <byte[]>().ModifyWith(m => m.CurrentTag.Value(Convert.ToBase64String(m.Value <byte[]>())));
            Editors.IfPropertyIs <byte[]>().BuildBy(a => new HiddenTag());

            Labels.Always.AddClass("control-label");
            Labels.ModifyForAttribute <DisplayAttribute>((t, a) => t.Text(a.Name));

            // Just assume a "Data." prefix for attributes.
            Labels
            .Always
            .ModifyWith(er => er.CurrentTag.Text(er.CurrentTag.Text().Replace("Data ", "")));

            Editors.BuilderPolicy <InstructorSelectElementBuilder>();
            Editors.BuilderPolicy <DepartmentSelectElementBuilder>();
            DisplayLabels.Always.BuildBy <DefaultDisplayLabelBuilder>();
            DisplayLabels.ModifyForAttribute <DisplayAttribute>((t, a) => t.Text(a.Name));
            Displays.IfPropertyIs <DateTime>().ModifyWith(m => m.CurrentTag.Text(m.Value <DateTime>().ToShortDateString()));
            Displays.IfPropertyIs <DateTime?>().ModifyWith(m => m.CurrentTag.Text(m.Value <DateTime?>()?.ToShortDateString()));
            Displays.IfPropertyIs <decimal>().ModifyWith(m => m.CurrentTag.Text(m.Value <decimal>().ToString("C")));
        }
        public DefaultAspNetMvcHtmlConventions()
        {
            Editors.Always.AddClass("form-control");

            Editors.IfPropertyIs <DateTimeOffset>().ModifyWith(m => m.CurrentTag.Attr("type", "datetime-local").Value(m.Value <DateTimeOffset?>()?.ToLocalTime().DateTime.ToString("s")));
            Editors.IfPropertyIs <DateTime?>().ModifyWith(m => m.CurrentTag
                                                          .AddPattern("9{1,2}/9{1,2}/9999")
                                                          .AddPlaceholder("MM/DD/YYYY")
                                                          .AddClass("datepicker")
                                                          .Value(m.Value <DateTime?>() != null ? m.Value <DateTime>().ToShortDateString() : string.Empty));
            Editors.If(er => er.Accessor.Name.EndsWith("id", StringComparison.OrdinalIgnoreCase)).BuildBy(a => new HiddenTag().Value(a.StringValue()));
            Editors.IfPropertyIs <byte[]>().BuildBy(a => new HiddenTag().Value(Convert.ToBase64String(a.Value <byte[]>())));

            Editors.BuilderPolicy <UserPhoneNumberSelectElementBuilder>();
            Editors.BuilderPolicy <TeamSelectElementBuilder>();

            Labels.Always.AddClass("control-label");
            Labels.Always.AddClass("col-md-2");
            Labels.ModifyForAttribute <DisplayAttribute>((t, a) => t.Text(a.Name));
            DisplayLabels.Always.BuildBy <DefaultDisplayLabelBuilder>();
            DisplayLabels.ModifyForAttribute <DisplayAttribute>((t, a) => t.Text(a.Name));
            Displays.IfPropertyIs <DateTimeOffset>().BuildBy <DateTimeBuilder>();
            Displays.IfPropertyIs <DateTimeOffset?>().BuildBy <DateTimeBuilder>();
            Displays.IfPropertyIs <DateTime>().BuildBy <DateTimeBuilder>();
            Displays.IfPropertyIs <DateTime?>().BuildBy <DateTimeBuilder>();

            Displays.IfPropertyIs <decimal>().ModifyWith(m => m.CurrentTag.Text(m.Value <decimal>().ToString("C")));
            Displays.IfPropertyIs <bool>().BuildBy <BoolDisplayBuilder>();

            this.Defaults();
        }
Example #3
0
        public DefaultHtmlConventions()
        {
            Editors.BuilderPolicy <CheckboxBuilder>();

            Editors.Always.BuildBy <TextboxBuilder>();

            Editors.Modifier <AddNameModifier>();

            Displays.Always.BuildBy <SpanDisplayBuilder>();

            Labels.Always.BuildBy <DefaultLabelBuilder>();
        }
Example #4
0
        private void ConfigEditors()
        {
            Editors.Always.AddClass("form-control");

            // TODO: Scan all modifiers?
            Editors.Modifier <EnumDropDownModifier>();
            //Editors.Modifier<LookupDropDownModifier>();
            Editors.BuilderPolicy <CategorySelectElementBuilder>();

            Editors.Modifier <CurrencyDropDownModifier>();
            Editors.Modifier <LanguageDropDownModifier>();
            Editors.Modifier <CultureDropDownModifier>();
            Editors.Modifier <TimeZoneDropDownModifier>();

            Editors.IfPropertyIs <DateTime?>().ModifyWith(m => m
                                                          .CurrentTag
                                                          .AddPattern("9{1,2}/9{1,2}/9999")
                                                          .Data("provide", "datepicker")
                                                          .AddClass("datepicker")
                                                          .Data("date-format", "mm/dd/yyyy")
                                                          .Value(m.Value <DateTime?>() != null ? m.Value <DateTime>().ToShortDateString() : string.Empty));

            Editors
            .If(er => er.Accessor.Name.EndsWith("id", StringComparison.OrdinalIgnoreCase))
            .BuildBy(a => new HiddenTag().Value(a.StringValue()));

            Editors
            .IfPropertyIs <byte[]>()
            .BuildBy(a => new HiddenTag().Value(Convert.ToBase64String(a.Value <byte[]>())));

            Editors
            .If(er => er.Accessor.Name.EndsWith("password", StringComparison.OrdinalIgnoreCase))
            .ModifyWith(x => x.CurrentTag.Attr("type", "password"));

            Editors
            .IfPropertyIs <bool>()
            .ModifyWith(m =>
            {
                m.CurrentTag.Attr("class", "").Attr("type", "checkbox").Attr("value", "true");
                m.WrapWith(new HtmlTag("label"));
            });

            Editors.IfPropertyIs <decimal>()
            .ModifyWith(m => m.CurrentTag.Value(m.Value <decimal>() == 0 ? string.Empty : m.Value <decimal>().ToString("F2")));
        }
Example #5
0
            public EditorConventions()
            {
                Editors.BuilderPolicy <CheckboxBuilder>();

                Editors.Always.BuildBy <TextboxBuilder>();

                Editors.Modifier <AddNameModifier>();

                Displays.Always.BuildBy <SpanDisplayBuilder>();

                Labels.Always.BuildBy <DefaultLabelBuilder>();

                Editors.Always.AddClass("form-control");
                Editors.BuilderPolicy <EnumDropDownBuilder>();

                Labels.Always.AddClass("control-label");
                Labels.Always.AddClass("col-md-2");
            }
Example #6
0
        public DefaultHtmlConventions()
        {
            Editors.BuilderPolicy <CheckboxBuilder>();

            Editors.Always.BuildBy <TextboxBuilder>();

            Editors.Modifier <AddNameModifier>();

            Displays.Always.BuildBy <SpanDisplayBuilder>();

            Labels.Always.BuildBy <DefaultLabelBuilder>();

            Templates.Displays.Always.BuildBy <TemplateSpanBuilder>();
            Templates.Editors.Always.BuildBy <TemplateTextboxBuilder>();

            Templates.Displays.Always.ModifyWith <DataFldModifier>();
            Templates.Editors.Always.ModifyWith <DataFldModifier>();

            FieldChrome <DefinitionListFieldChrome>();

            Forms.Add(new FormTagBuilder());
        }
 public BootstrapHtmlConvention()
 {
     Editors.BuilderPolicy <GbstListValueDropdownBuilder>();
 }