Example #1
0
        public RuleBasedCssClassNames AddCssClassApplyRule(ICssClass cssClass, Func <bool> applyRule)
        {
            cssClass.AssignUniqueName();
            AddCssClassApplyRule(cssClass.Name, applyRule);

            return(this);
        }
Example #2
0
        private void AppendCssClass(ICssClass css)
        {
            cssBuilder.AppendLine($"\n {css.SelectorType.CssRenderingSymbol}{css.Name} {{");
            foreach (var style in css.Styles)
            {
                cssBuilder.AppendLine($"\t{style}");
            }

            cssBuilder.Append("}");
        }
        public void StoreCssClassRealName(ICssClass cssClass)
        {
            if (cssClass is null)
            {
                throw new ArgumentNullException(nameof(cssClass));
            }

            logger.LogInformation($"Storing key [{cssClass.Name}]");

            realizedCssClasses.Add(cssClass.Name);
        }
        public bool CssClassIsAlreadyRealized(ICssClass cssClass)
        {
            if (cssClass is null)
            {
                throw new ArgumentNullException(nameof(cssClass));
            }

            logger.LogInformation($"Start finding key [{cssClass.Name}]");

            if (realizedCssClasses.Contains(cssClass.Name))
            {
                logger.LogInformation($"Css class [{cssClass.Name}] found in cahce");

                return(true);
            }

            return(false);
        }
Example #5
0
        public string BuildCssClassRepresentaion(ICssClass cssClass)
        {
            if (cssClass is null)
            {
                throw new ArgumentNullException(nameof(cssClass));
            }

            logger.LogInformation($"Start building css class representaion for [{cssClass.Name}]");

            AppendCssClass(cssClass);

            foreach (var pattern in cssClass.Patterns)
            {
                cssBuilder.AppendLine(pattern.BuildCssRepresentation(cssClass.Name));
            }

            var classRepresentation = cssBuilder.ToString();

            cssBuilder.Clear();

            return(classRepresentation);
        }
Example #6
0
        public RuleBasedCssClassNames AddCssClass(ICssClass cssClass)
        {
            AddCssClassApplyRule(cssClass, () => true);

            return(this);
        }