Пример #1
0
        public void TestAttributeSetBuilder()
        {
            var attributeSetBuilder = new AttributeSetBuilder <CreateAttributeSet, CreateAttribute, CreateAttributeValue, CreateAttributeUse>(new IdGenerator());


            IList <CreateAttribute>      attrs;
            IList <CreateAttributeValue> attrVals;
            IList <CreateAttributeSet>   attrSets;
            IList <CreateAttributeUse>   attrUses;

            //try
            //{

            ////////////////////////////////////////////
            TestBuildUsingAnnotations(attributeSetBuilder, out attrs, out attrVals, out attrSets, out attrUses);

            ////////////////////////////////////////////
            TestBuildUsingAnnotationAndEnum(attributeSetBuilder, ref attrs, ref attrVals, ref attrSets, ref attrUses);

            ////////////////////////////////////////////

            TestBuildUsingConsts(attributeSetBuilder, ref attrs, ref attrVals, ref attrSets, ref attrUses);

            ////////////////////////////////////////////
            TestBuildUsingEnum(attributeSetBuilder, ref attrs, ref attrVals, ref attrSets, ref attrUses);

            //}
            //catch (Exception ex)
            //{
            //    System.Console.WriteLine(ex.Message);
            //}
            ////////////////////////////////////////////

            System.Console.WriteLine(attributeSetApplicationService.GetAll(0, int.MaxValue));
        }
Пример #2
0
 protected override void BuildAttributeSet(AttributeSetBuilder builder)
 {
     builder.AddClassAttribute(x => x
                               .Add(ClassName)
                               .Add("expandable", IsExpandable)
                               .Add("expanded", _expanded));
 }
Пример #3
0
 protected override void BuildAttributeSet(AttributeSetBuilder builder)
 {
     builder.AddClassAttribute(x => x
                               .AddMultiple(ClassName, ClassNames.Unselectable, ClassNames.FlexRow)
                               .AddTextTransform(TextTransform)
                               .AddSize(Size));
 }
Пример #4
0
        protected override void BuildAttributeSet(AttributeSetBuilder builder)
        {
            base.BuildAttributeSet(builder);

            builder.AddClassAttribute(x => x
                                      .AddMultiple(ClassName, ClassNames.FlexRow, ClassNames.FlexWrap)
                                      .Add(ClassNames.Disabled, !IsEnabled));
        }
Пример #5
0
        protected override void BuildAttributeSet(AttributeSetBuilder builder)
        {
            builder.AddClassAttribute(x => x
                                      .AddMultiple(ClassName, ClassNames.Border, ClassNames.BorderRounded)
                                      .AddElevation(Elevation));

            builder.Merge(AdditionalAttributes);
        }
Пример #6
0
 protected override void BuildAttributeSet(AttributeSetBuilder builder)
 {
     builder.AddClassAttribute(x => x
                               .AddMultiple(ClassName, ClassNames.Unselectable)
                               .Add(ClassNames.Disabled, !IsEnabled)
                               .AddAppearance(Appearance)
                               .AddFontColor(_backgroundColor)
                               .AddTextTransform(TextTransform)
                               .AddSize(Size));
 }
Пример #7
0
        protected override void BuildAttributeSet(AttributeSetBuilder builder)
        {
            builder.AddClassAttribute(x => x
                                      .AddMultiple(ClassName, "px-4", ClassNames.HoverDefault, ClassNames.ActiveDefault)
                                      .Add(ClassNames.Unselectable)
                                      .Add(ClassNames.Disabled, !IsEnabled)
                                      .Add(ClassNames.Active, IsActive));

            builder.AddAttribute("data-lx-interaction", "3");
        }
Пример #8
0
 protected override void BuildAttributeSet(AttributeSetBuilder builder)
 {
     builder.AddClassAttribute(x => x
                               .Add(ClassName)
                               .Add(ClassNames.VerticalAlignmentTop, ToastService.ToastPosition is ToastPosition.UpperLeft or ToastPosition.UpperCenter or ToastPosition.UpperRight)
                               .Add(ClassNames.VerticalAlignmentBottom, ToastService.ToastPosition is ToastPosition.LowerLeft or ToastPosition.LowerCenter or ToastPosition.LowerRight)
                               .Add(ClassNames.HorizontalAlignmentLeft, ToastService.ToastPosition is ToastPosition.LowerLeft or ToastPosition.UpperLeft)
                               .Add(ClassNames.HorizontalAlignmentCenter, ToastService.ToastPosition is ToastPosition.LowerCenter or ToastPosition.UpperCenter)
                               .Add(ClassNames.HorizontalAlignmentRight, ToastService.ToastPosition is ToastPosition.LowerRight or ToastPosition.UpperRight));
 }
Пример #9
0
        protected override void BuildAttributeSet(AttributeSetBuilder builder)
        {
            builder.AddClassAttribute(x => x
                                      .AddMultiple(ClassName, ClassNames.Unselectable)
                                      .Add(ClassNames.Disabled, !IsEnabled)
                                      .Add(ClassNames.Extended, IsExtended)
                                      .AddSize(Size));

            builder.AddAttribute("role", "combobox");
        }
Пример #10
0
        protected override void BuildAttributeSet(AttributeSetBuilder builder)
        {
            builder.AddClassAttribute(x => x
                                      .Add(ClassName)
                                      .Add(ClassNames.Active, IsActive));

            builder.AddStyleAttribute(x => x
                                      .AddProperty("height", Size.ToString())
                                      .AddProperty("width", Size.ToString()));
        }
Пример #11
0
        private void TestBuildUsingAnnotations(AttributeSetBuilder <CreateAttributeSet, CreateAttribute, CreateAttributeValue, CreateAttributeUse> attributeSetBuilder, out IList <CreateAttribute> attrs, out IList <CreateAttributeValue> attrVals, out IList <CreateAttributeSet> attrSets, out IList <CreateAttributeUse> attrUses)
        {
            attributeSetBuilder.BuildAttributeSetsFromEntityType(typeof(AttributeSetInstanceTestClass1), out attrSets, out attrs, out attrVals, out attrUses);

            Assert.AreEqual(3, attrSets.Count);//System.Console.WriteLine(attrSets);
            System.Console.WriteLine(attrs);
            System.Console.WriteLine(attrVals);
            System.Console.WriteLine(attrUses);

            Save(attrs, attrSets);
        }
Пример #12
0
        private void TestBuildUsingEnum(AttributeSetBuilder <CreateAttributeSet, CreateAttribute, CreateAttributeValue, CreateAttributeUse> attributeSetBuilder, ref IList <CreateAttribute> attrs, ref IList <CreateAttributeValue> attrVals, ref IList <CreateAttributeSet> attrSets, ref IList <CreateAttributeUse> attrUses)
        {
            attributeSetBuilder.BuildAttributeSetsFromEntityType(typeof(AttributeSetInstanceTestClass4), out attrSets, out attrs, out attrVals, out attrUses);

            Assert.AreEqual(1, attrSets.Count); //System.Console.WriteLine(attrSets);
            Assert.AreEqual(1, attrs.Count);    //System.Console.WriteLine(attrs);
            Assert.IsTrue(attrs[0].IsList);
            Assert.AreEqual((typeof(int)).Name, attrs[0].AttributeValueType);
            Assert.AreEqual(7, attrVals.Count); //System.Console.WriteLine(attrVals);

            Save(attrs, attrSets);
        }
Пример #13
0
        protected override void BuildAttributeSet(AttributeSetBuilder builder)
        {
            builder.AddAttribute("role", "img");
            builder.AddAriaAttribute("hidden", "true");
            builder.AddClassAttribute(ClassName);

            builder.AddStyleAttribute(x => x
                                      .AddProperty("height", Size.ToString())
                                      .AddProperty("min-height", Size.ToString())
                                      .AddProperty("width", Size.ToString())
                                      .AddProperty("min-width", Size.ToString())
                                      .AddProperty("fill", Fill.IsEmpty ? _fillColor.ToRgbStr() : Fill.ToRgbaStr(), _isSourceResource)
                                      .AddProperty("color", Fill.IsEmpty ? _fillColor.ToRgbStr() : Fill.ToRgbaStr(), _isSourceResource));
        }
Пример #14
0
        protected override void BuildAttributeSet(AttributeSetBuilder builder)
        {
            base.BuildAttributeSet(builder);

            builder.AddAttribute("role", "progressbar");
            builder.AddAriaAttribute("busy", "true");

            builder.AddClassAttribute("lx-skeleton", Shape switch
            {
                SkeletonShape.Rectangle => "lx-skeleton-rect",
                SkeletonShape.Ellipsis => "lx-skeleton-ellipsis",
                SkeletonShape.Pill => "lx-skeleton-pill",
                _ => "lx-skeleton-text", // default
            });
Пример #15
0
        protected override void BuildAttributeSet(AttributeSetBuilder builder)
        {
            base.BuildAttributeSet(builder);

            builder.AddClassAttribute(x => x
                                      .AddMultiple(ClassName, ClassNames.Unselectable)
                                      .Add(ClassNames.Border, !Value && Appearance == Appearance.Outlined)
                                      .Add(ClassNames.Disabled, !IsEnabled)
                                      .Add(ClassNames.Active, Value)
                                      .AddAppearance(Appearance)
                                      .AddSize(Size));

            builder.AddAttribute("role", "switch");
        }
Пример #16
0
        protected override void BuildAttributeSet(AttributeSetBuilder builder)
        {
            base.BuildAttributeSet(builder);

            builder.AddClassAttribute(x => x
                                      .AddMultiple(ClassName, ClassNames.BorderRounded, ClassNames.HoverDefault, ClassNames.ActiveDefault, ClassNames.Unselectable)
                                      .Add(ClassNames.Border, !Value && Appearance == Appearance.Outlined)
                                      .Add(ClassNames.Disabled, !IsEnabled)
                                      .Add(ClassNames.Active, Value)
                                      .AddAppearance(Appearance)
                                      .AddSize(Size));

            builder.AddAttribute("role", "checkbox");
            builder.AddAttribute("data-lx-interaction", "3");
        }
Пример #17
0
        protected override void BuildAttributeSet(AttributeSetBuilder builder)
        {
            base.BuildAttributeSet(builder);

            builder.AddClassAttribute(x => x
                                      .AddMultiple(ClassName, ClassNames.BorderRounded, ClassNames.FlexRow)
                                      .Add(ClassNames.Border, Appearance == Appearance.Outlined)
                                      .Add(ClassNames.Disabled, !IsEnabled)
                                      .Add(ClassNames.Focused, _hasFocus)
                                      .AddAppearance(Appearance)
                                      .AddFontColor(_backgroundColor, Appearance)
                                      .AddSize(Size));

            builder.AddAttribute("role", "textbox");
        }
Пример #18
0
        protected override void BuildAttributeSet(AttributeSetBuilder builder)
        {
            builder.AddClassAttribute(x => x
                                      .AddMultiple(ClassName, _className, ClassNames.Unselectable)
                                      .Add(ClassNames.HoverDefault + " " + ClassNames.ActiveDefault, IsInteractable())
                                      .Add(ClassNames.BorderRounded, !_rounded)
                                      .Add(ClassNames.Border, !IsActive && Appearance == Appearance.Outlined)
                                      .Add(ClassNames.Disabled, !IsEnabled)
                                      .Add(ClassNames.Active, IsActive)
                                      .AddFontColor(IsActive ? _activeBackgroundColor : _backgroundColor, IsActive || Appearance != Appearance.Outlined)
                                      .AddAppearance(Appearance)
                                      .AddSize(Size));

            builder.AddAttribute("data-lx-interaction", "3");
        }
Пример #19
0
        public static void CreateDefaultAttributeSets()
        {
            attributeApplicationService    = ApplicationContext.Current["attributeApplicationService"] as IAttributeApplicationService;
            attributeSetApplicationService = ApplicationContext.Current["attributeSetApplicationService"] as IAttributeSetApplicationService;

            var attributeSetBuilder = new AttributeSetBuilder <CreateAttributeSet, CreateAttribute, CreateAttributeValue, CreateAttributeUse>(new IdGenerator());

            IList <CreateAttribute>      attrs;
            IList <CreateAttributeValue> attrVals;
            IList <CreateAttributeSet>   attrSets;
            IList <CreateAttributeUse>   attrUses;

            attributeSetBuilder.BuildAttributeSetsFromEntityType(typeof(FluffPulpAttrSetInstance), out attrSets, out attrs, out attrVals, out attrUses);

            Save(attrs, attrSets);
        }
Пример #20
0
        private string CreateTestColorAttributeSet()
        {
            string attrSetId;
            var    attributeSetBuilder = new AttributeSetBuilder <CreateAttributeSetDto, CreateAttributeDto, CreateAttributeValueDto, CreateAttributeUseDto>(new IdGenerator());


            IList <CreateAttributeDto>      attrs;
            IList <CreateAttributeValueDto> attrVals;
            IList <CreateAttributeSetDto>   attrSets;
            IList <CreateAttributeUseDto>   attrUses;

            ////////////////////////////////////////////

            attributeSetBuilder.BuildAttributeSetsFromEntityType(typeof(AttributeSetInstanceTestClass3), out attrSets, out attrs, out attrVals, out attrUses);

            Assert.AreEqual(1, attrSets.Count); //System.Console.WriteLine(attrSets);
            Assert.AreEqual(1, attrs.Count);    //System.Console.WriteLine(attrs);
            Assert.IsTrue(attrs[0].IsList);
            Assert.AreEqual((typeof(string)).Name, attrs[0].AttributeValueType);
            Assert.AreEqual(3, attrVals.Count); //System.Console.WriteLine(attrVals);
            System.Console.WriteLine(attrUses);

            var attr_0 = attrs[0];

            attr_0.FieldName = TestColorAttributeFieldName;
            var existed = _attributeApplicationServiceFactory.AttributeApplicationService.GetByProperty("FieldName", attr_0.FieldName);

            if (existed != null && existed.Count() > 0)
            {
                Console.WriteLine(existed.First());
                // 检查属性/属性集是否完全相同?
                // 现在只是抛出异常:
                throw new InvalidOperationException(String.Format("Existed Attribute. attr_0.FieldName = \"{0}\";", attr_0.FieldName));
            }
            else
            {
                _attributeApplicationServiceFactory.AttributeApplicationService.When((ICreateAttribute)attr_0);

                var attrSet_0 = attrSets[0];
                _attributeSetApplicationServiceFactory.AttributeSetApplicationService.When((ICreateAttributeSet)attrSet_0);

                attrSetId = attrSets[0].AttributeSetId;
            }
            return(attrSetId);
        }
Пример #21
0
        protected override void BuildAttributeSet(AttributeSetBuilder builder)
        {
            builder.AddClassAttribute(x => x
                                      .AddMultiple(ClassName, ClassNames.Unselectable, ClassNames.HoverDefault, ClassNames.ActiveDefault)
                                      .Add(ClassNames.Border, Appearance == Appearance.Outlined)
                                      .Add(ClassNames.FlexReverse, HasText && HasIcon && _icon !.Trailing)
                                      .Add(ClassNames.Disabled, !IsEnabled)
                                      .Add(ClassNames.Active, _isActive)
                                      .Add("lx-button-icon", HasIcon && !HasText)
                                      .Add("lx-button-round", ClassNames.BorderRounded, IsRounded)
                                      .AddTextTransform(TextTransform)
                                      .AddFontColor(_backgroundColor, Appearance)
                                      .AddAppearance(Appearance)
                                      .AddSize(Size));

            builder.AddAttribute("role", "button");
            builder.AddAttribute("data-lx-interaction", "3");
        }
Пример #22
0
        private void BuildAttributeSetInternal(AttributeSetBuilder builder)
        {
            BuildAttributeSet(builder);

            // Info: If parameter names (for components) gets checked "case sensitive"
            // we would need to correct that in "SetParametersAsync()" method (to "Class" and "Style")
            // -> Currently not the case, but could possible change during development of Blazor

            object?classMergeFactory(object?existingValue) => existingValue == null
                ? Class
                : (existingValue + " " + Class).TrimEnd();

            object?styleMergeFactory(object?existingValue)
            {
                if (existingValue == null)
                {
                    return(Style);
                }

                var value = existingValue.ToString();

                // Determine if we need to add a semicolon ";" to the previous string
                return(value !.EndsWith(";")
                    ? existingValue + Style
                    : existingValue + ";" + Style);
            }

            // Merge values of component with the "AttributSetBuilder"
            // -> All attributes which gets applied to the root-element of the component
            builder.AddAttribute("class", classMergeFactory, true, false);
            builder.AddAttribute("style", styleMergeFactory, true, false);

            if (StyleScope != null)
            {
                builder.AddAttribute("data-lx-scope", StyleScope);
            }
            else if (StyleContext.Style != null)
            {
                builder.AddAttribute("data-lx-scope", StyleContext.Style.Identifier);
            }
        }
Пример #23
0
        protected override void BuildAttributeSet(AttributeSetBuilder builder)
        {
            base.BuildAttributeSet(builder);

            builder.AddClassAttribute(x => x
                                      .AddMultiple(ClassName, ClassNames.BorderRounded, ClassNames.ScrollbarThin)
                                      .Add(ClassNames.Border, Appearance == Appearance.Outlined)
                                      .Add(ClassNames.Disabled, !IsEnabled)
                                      .Add(ClassNames.Focused, _hasFocus)
                                      .AddAppearance(Appearance)
                                      .AddTextWrap(TextWrap)
                                      .AddFontColor(_backgroundColor, Appearance));

            builder.AddStyleAttribute(x => x
                                      .AddProperty("resize", ResizeAxis switch
            {
                ResizeAxis.Horizontal => "horizontal",
                ResizeAxis.Vertical => "vertical",
                ResizeAxis.Both => "both",
                _ => "none"
            }));
Пример #24
0
 protected override void BuildAttributeSet(AttributeSetBuilder builder)
 {
     builder.AddClassAttribute(ClassName);
 }
Пример #25
0
 protected override void BuildAttributeSet(AttributeSetBuilder builder)
 {
     builder.AddClassAttribute(x => x
                               .AddMultiple(ClassName, ClassNames.FlexRow, "p-2")
                               .Add("stacked", Model != null && Model.Stacked));
 }
Пример #26
0
 protected override void BuildAttributeSet(AttributeSetBuilder builder)
 {
     builder.AddClassAttribute(ClassName, ClassNames.FlexColumn);
 }
Пример #27
0
 protected override void BuildAttributeSet(AttributeSetBuilder builder)
 {
     builder.AddClassAttribute(x => x
                               .Add(ClassName)
                               .Add(ClassNames.Active, RenderService.ActiveModal != null));
 }
Пример #28
0
 protected override void BuildAttributeSet(AttributeSetBuilder builder)
 {
     builder.AddClassAttribute(x => x
                               .AddMultiple(ClassName, ClassNames.FlexColumn)
                               .Add("fetching", _isFetching));
 }
Пример #29
0
 protected override void BuildAttributeSet(AttributeSetBuilder builder)
 {
     builder.AddClassAttribute(ClassName, ClassNames.ScrollbarThin, "flex1", "px-3");
 }
Пример #30
0
 protected override void BuildAttributeSet(AttributeSetBuilder builder)
 => builder.AddClassAttribute(ClassName, "lx-picker-view");