예제 #1
0
 public TagProfile(string name)
 {
     _name               = name;
     Label               = new TagFactory();
     Display             = new TagFactory();
     Editor              = new TagFactory();
     BeforePartial       = new TagFactory();
     AfterPartial        = new TagFactory();
     BeforeEachOfPartial = new PartialTagFactory();
     AfterEachOfPartial  = new PartialTagFactory();
 }
예제 #2
0
 public void Merge(TagFactory factory)
 {
     _sources.AddRange(factory._sources);
     _modifiers.AddRange(factory._modifiers);
 }
예제 #3
0
        public void SetUp()
        {
            TagBuilder textboxes = request => new TextboxTag().Attr("value", request.RawValue);
            TagBuilder checkboxes = request => new CheckboxTag(request.Value<bool>());

            TagModifier setName = (def, tag) => tag.Attr("name", def.ElementId);
            TagModifier setRequired = (def, tag) => tag.AddClass("required");

            factory = new TagFactory();
            factory.AddBuilder(new LambdaElementBuilder(def => def.Is<string>(), def => textboxes));
            factory.AddBuilder(new LambdaElementBuilder(def => def.Is<bool>(), def => checkboxes));

            factory.AddModifier(new LambdaElementModifier(def => true, def => setName));
            factory.AddModifier(new LambdaElementModifier(def => def.Accessor.HasAttribute<FakeRequiredAttribute>(),
                                                          def => setRequired));

            address = new Address();
        }
예제 #4
0
        public void merge_testing()
        {
            var secondFactory = new TagFactory();
            secondFactory.AddBuilder(new LambdaElementBuilder(def => def.Is<int>(),
                                                              def => request => new TextboxTag().AddClass("integer")));
            secondFactory.AddModifier(new LambdaElementModifier(def => true, def => (r, t) => t.AddClass("editor")));

            factory.Merge(secondFactory);

            HtmlTag tag = For(x => x.Order);

            tag.ShouldHaveClass("integer");
            tag.ShouldHaveClass("editor");
        }
예제 #5
0
 public void Merge(TagFactory factory)
 {
     _sources.AddRange(factory._sources);
     _modifiers.AddRange(factory._modifiers);
 }
예제 #6
0
        private HtmlTag buildTag(Expression <Func <T, object> > expression, TagFactory factory)
        {
            ElementRequest request = GetRequest(expression);

            return(factory.Build(request));
        }
예제 #7
0
 public TagActionExpression(TagFactory factory, Func<AccessorDef, bool> matches)
 {
     _factory = factory;
     _matches = matches;
 }
예제 #8
0
 public TagActionExpression(TagFactory factory, Func <AccessorDef, bool> matches)
 {
     _factory = factory;
     _matches = matches;
 }
예제 #9
0
 public TagFactoryExpression(TagFactory factory)
 {
     _factory = factory;
 }