예제 #1
0
        /// <inheritdoc/>
        public string Class(IClassProvider classProvider)
        {
            if (dirty)
            {
                void BuildClasses(ClassBuilder builder)
                {
                    if (rules != null && rules.Count > 0)
                    {
                        builder.Append(rules.Select(r => classProvider.Flex(r.Key, r.Value.Where(x => x.Condition ?? true).Select(v => v))));
                    }
                    else if (currentFlexDefinition != null && currentFlexDefinition != FlexDefinition.Empty && (currentFlexDefinition.Condition ?? true))
                    {
                        builder.Append(classProvider.Flex(currentFlexDefinition));
                    }
                    else if (currentFlexType != FlexType.Default)
                    {
                        // In some cases we will have no definitions but flex type can still be defined.
                        // We need to also cover those situations.
                        builder.Append(classProvider.Flex(currentFlexType));
                    }
                }

                var classBuilder = new ClassBuilder(BuildClasses);

                classNames = classBuilder.Class;

                dirty = false;
            }

            return(classNames);
        }
예제 #2
0
        public string Class(IClassProvider classProvider)
        {
            if (dirty)
            {
                void BuildClasses(ClassBuilder builder)
                {
                    if (rules.Count(x => x.Key != ColumnWidth.None) > 0)
                    {
                        builder.Append(rules.Select(r => classProvider.Column(r.Key, r.Value.Select(v => (v.Breakpoint, v.Offset)))));
                    }

                    if (customRules?.Count > 0)
                    {
                        builder.Append(customRules);
                    }
                }

                var classBuilder = new ClassBuilder(BuildClasses);

                classNames = classBuilder.Class;

                dirty = false;
            }

            return(classNames);
        }
예제 #3
0
        /// <inheritdoc/>
        public string Class(IClassProvider classProvider)
        {
            if (dirty)
            {
                void BuildClasses(ClassBuilder builder)
                {
                    if (rules != null)
                    {
                        if (rules.Count > 0)
                        {
                            builder.Append(rules.Select(r => classProvider.Border(r.Key, r.Value.Select(v => (v.Side, v.Color)))));
                        }
                    }

                    if (borderRadius != BorderRadius.None)
                    {
                        builder.Append(classProvider.BorderRadius(borderRadius));
                    }
                }

                var classBuilder = new ClassBuilder(BuildClasses);

                classNames = classBuilder.Class;

                dirty = false;
            }

            return(classNames);
        }
예제 #4
0
        public string Class(IClassProvider classProvider)
        {
            if (dirty)
            {
                void BuildClasses(ClassBuilder builder)
                {
                    if (rules.Count > 0)
                    {
                        builder.Append(rules.Select(r => classProvider.Spacing(spacing, r.Key, r.Value.Select(v => (v.Side, v.Breakpoint)))));
                    }

                    if (customRules?.Count > 0)
                    {
                        builder.Append(customRules);
                    }
                }

                var classBuilder = new ClassBuilder(BuildClasses);

                classNames = classBuilder.Class;

                dirty = false;
            }

            return(classNames);
        }
예제 #5
0
 /// <summary>
 /// Returns the fully qualified class name.
 /// </summary>
 /// <param name="item"></param>
 /// <returns></returns>
 public static string FullTypeName(this IClassProvider item)
 {
     if (string.IsNullOrWhiteSpace(item.Namespace))
     {
         return(item.ClassName);
     }
     return(item.Namespace + "." + item.ClassName);
 }
예제 #6
0
 public ClassesController(IStudentProvider studentProvider, IClassProvider classProvider, ISchemaValidator <Class> classSchemaValidator, ISearchProvider searchProvider,
                          ISchemaValidator <ClassUpdateRequest> classUpdateReqSchemaValidator)
 //IFirehoseProvider firehoseProvider)
 {
     _studentProvider = studentProvider;
     _classProvider   = classProvider;
     // _firehoseProvider = firehoseProvider;
     _searchProvider                = searchProvider;
     _classSchemaValidator          = classSchemaValidator;
     _classUpdateReqSchemaValidator = classUpdateReqSchemaValidator;
 }
예제 #7
0
 public StudentsController(IStudentProvider studentProvider, IClassProvider classProvider, ISchemaValidator <Student> studentSchemaValidator, ISearchProvider searchProvider,
                           ISchemaValidator <StudentUpdateRequest> studentUpdateReqSchemaValidator)
 //,  IFirehoseProvider firehoseProvider)
 {
     _studentProvider = studentProvider;
     _classProvider   = classProvider;
     //_firehoseProvider = firehoseProvider;
     _searchProvider                  = searchProvider;
     _studentSchemaValidator          = studentSchemaValidator;
     _studentUpdateReqSchemaValidator = studentUpdateReqSchemaValidator;
 }
예제 #8
0
        public string Class(IClassProvider classProvider)
        {
            if (!built)
            {
                ClassMapper
                .If(() => rules.Select(r => classProvider.Spacing(spacing, r.Key, r.Value.Select(v => (v.Side, v.Breakpoint)))), () => rules.Count > 0)
                .If(() => customRules, () => customRules?.Count > 0);

                built = true;
            }

            return(ClassMapper.Class);
        }
예제 #9
0
        public string Class(IClassProvider classProvider)
        {
            if (!built)
            {
                ClassMapper
                .If(() => rules.Select(r => classProvider.Col(r.Key, r.Value.Select(v => (v.Breakpoint, v.Offset)))), () => rules.Count(x => x.Key != ColumnWidth.None) > 0)
                .If(() => customRules, () => customRules?.Count > 0);

                built = true;
            }

            return(ClassMapper.Class);
        }
예제 #10
0
        /// <inheritdoc/>
        public string Class(IClassProvider classProvider)
        {
            if (dirty)
            {
                if (overflowType != OverflowType.Default)
                {
                    classNames = classProvider.Overflow(overflowType, secondOverflowType);
                }

                dirty = false;
            }

            return(classNames);
        }
예제 #11
0
        /// <inheritdoc/>
        public string Class(IClassProvider classProvider)
        {
            if (dirty)
            {
                void BuildClasses(ClassBuilder builder)
                {
                    builder.Append(classProvider.Position(positionType, edgeRules?.Select(x => (x.Key, x.Value.EdgeOffset)), translateType));
                }

                var classBuilder = new ClassBuilder(BuildClasses);

                classNames = classBuilder.Class;

                dirty = false;
            }

            return(classNames);
        }
예제 #12
0
        public string Class(IClassProvider classProvider)
        {
            if (dirty)
            {
                void BuildClasses(ClassBuilder builder)
                {
                    if (rules.Count(x => x.Key != DisplayType.Always) > 0)
                    {
                        builder.Append(rules.Select(r => classProvider.Display(r.Key, r.Value.Select(v => (v.Breakpoint, v.Direction)))));
                    }
                }

                var classBuilder = new ClassBuilder(BuildClasses);

                classNames = classBuilder.Class;

                dirty = false;
            }

            return(classNames);
        }
예제 #13
0
 public Whatever(IClassProvider classProvider)
 {
     _classProvider = classProvider;
 }
예제 #14
0
 public FluentDisplayTest()
 {
     classProvider = new Bootstrap.BootstrapClassProvider();
 }
 private ContainerRegistrationRequest(IClassProvider concreteType)
 {
     ConcreteType = concreteType.FullTypeName();
     Lifetime     = LifeTime.Transient;
     _templateDependencies.Add(TemplateDependency.OnTemplate(concreteType));
 }
 public static ContainerRegistrationRequest ToRegister(IClassProvider concreteType)
 {
     return(new ContainerRegistrationRequest(concreteType));
 }
 public ContainerRegistrationRequest ForInterface(IClassProvider interfaceType)
 {
     InterfaceType = interfaceType.FullTypeName();
     _templateDependencies.Add(TemplateDependency.OnTemplate(interfaceType));
     return(this);
 }
예제 #18
0
 public SizingTest()
 {
     classProvider = new Bootstrap.BootstrapClassProvider();
 }
예제 #19
0
 public FluentMarginTest()
 {
     classProvider = new Bootstrap.BootstrapClassProvider();
 }
예제 #20
0
 public FluentColumnTest()
 {
     classProvider = new Bootstrap.BootstrapClassProvider();
 }
예제 #21
0
 /// <inheritdoc/>
 public string Class(IClassProvider classProvider)
 {
     throw new NotImplementedException();
 }
예제 #22
0
 public FluentPaddingTest()
 {
     classProvider = new Bootstrap.BootstrapClassProvider();
 }
예제 #23
0
 public FluentFlexTest()
 {
     classProvider = new Bootstrap.BootstrapClassProvider();
 }