From 92e5492d2ef80b9710da84b21be7ca409a691a40 Mon Sep 17 00:00:00 2001 From: Mikhail Fedoseev Date: Fri, 27 Mar 2026 16:51:27 +0300 Subject: [PATCH 01/10] Simplify components meta-descriptions #5053 --- .../io/jmix/flowui/kit/meta/StudioAction.java | 5 ++ .../flowui/kit/meta/StudioActionsGroup.java | 5 ++ .../jmix/flowui/kit/meta/StudioComponent.java | 9 +++ .../flowui/kit/meta/StudioDataComponent.java | 5 ++ .../jmix/flowui/kit/meta/StudioElement.java | 5 ++ .../flowui/kit/meta/StudioElementsGroup.java | 5 ++ .../io/jmix/flowui/kit/meta/StudioFacet.java | 5 ++ .../flowui/kit/meta/StudioPropertyGroup.java | 41 ++++++++++++ .../flowui/kit/meta/StudioPropertyGroups.java | 65 +++++++++++++++++++ 9 files changed, 145 insertions(+) create mode 100644 jmix-flowui/flowui-kit/src/main/java/io/jmix/flowui/kit/meta/StudioPropertyGroup.java create mode 100644 jmix-flowui/flowui-kit/src/main/java/io/jmix/flowui/kit/meta/StudioPropertyGroups.java diff --git a/jmix-flowui/flowui-kit/src/main/java/io/jmix/flowui/kit/meta/StudioAction.java b/jmix-flowui/flowui-kit/src/main/java/io/jmix/flowui/kit/meta/StudioAction.java index 3a48b4fdf6..fa3da5d85f 100644 --- a/jmix-flowui/flowui-kit/src/main/java/io/jmix/flowui/kit/meta/StudioAction.java +++ b/jmix-flowui/flowui-kit/src/main/java/io/jmix/flowui/kit/meta/StudioAction.java @@ -71,6 +71,11 @@ String[] unsupportedTarget() default { */ StudioProperty[] properties() default {}; + /** + * @see StudioComponent#propertyGroups() + */ + Class[] propertyGroups() default {}; + /** * Properties that should be wrapped into property tag * and added to the properties tag. diff --git a/jmix-flowui/flowui-kit/src/main/java/io/jmix/flowui/kit/meta/StudioActionsGroup.java b/jmix-flowui/flowui-kit/src/main/java/io/jmix/flowui/kit/meta/StudioActionsGroup.java index ab8fa3cb7c..006a3554ca 100644 --- a/jmix-flowui/flowui-kit/src/main/java/io/jmix/flowui/kit/meta/StudioActionsGroup.java +++ b/jmix-flowui/flowui-kit/src/main/java/io/jmix/flowui/kit/meta/StudioActionsGroup.java @@ -92,6 +92,11 @@ */ StudioProperty[] properties() default {}; + /** + * @see StudioComponent#propertyGroups() + */ + Class[] propertyGroups() default {}; + /** * @see StudioComponent#xmlElementInitializer */ diff --git a/jmix-flowui/flowui-kit/src/main/java/io/jmix/flowui/kit/meta/StudioComponent.java b/jmix-flowui/flowui-kit/src/main/java/io/jmix/flowui/kit/meta/StudioComponent.java index 6b3d61db8a..f1840efd9a 100644 --- a/jmix-flowui/flowui-kit/src/main/java/io/jmix/flowui/kit/meta/StudioComponent.java +++ b/jmix-flowui/flowui-kit/src/main/java/io/jmix/flowui/kit/meta/StudioComponent.java @@ -108,6 +108,15 @@ String availablePlaceRegExp() default "(^(mainView/appLayout)?((/drawerLayout)|( */ StudioProperty[] properties() default {}; + /** + * Reusable groups of XML attributes. + *

+ * Studio will merge group properties with {@link #properties()}. + * @see StudioPropertyGroup + * @see StudioPropertyGroups + */ + Class[] propertyGroups() default {}; + /** * Descriptions of the XML attributes relationship. * For example property and dataContainer diff --git a/jmix-flowui/flowui-kit/src/main/java/io/jmix/flowui/kit/meta/StudioDataComponent.java b/jmix-flowui/flowui-kit/src/main/java/io/jmix/flowui/kit/meta/StudioDataComponent.java index 2d92d84ec0..a1c6583b1e 100644 --- a/jmix-flowui/flowui-kit/src/main/java/io/jmix/flowui/kit/meta/StudioDataComponent.java +++ b/jmix-flowui/flowui-kit/src/main/java/io/jmix/flowui/kit/meta/StudioDataComponent.java @@ -68,6 +68,11 @@ */ StudioProperty[] properties() default {}; + /** + * @see StudioComponent#propertyGroups() + */ + Class[] propertyGroups() default {}; + /** * @see StudioComponent#xmlElementInitializer */ diff --git a/jmix-flowui/flowui-kit/src/main/java/io/jmix/flowui/kit/meta/StudioElement.java b/jmix-flowui/flowui-kit/src/main/java/io/jmix/flowui/kit/meta/StudioElement.java index ff6a76339d..8b611f6c1d 100644 --- a/jmix-flowui/flowui-kit/src/main/java/io/jmix/flowui/kit/meta/StudioElement.java +++ b/jmix-flowui/flowui-kit/src/main/java/io/jmix/flowui/kit/meta/StudioElement.java @@ -106,6 +106,11 @@ */ StudioProperty[] properties() default {}; + /** + * @see StudioComponent#propertyGroups() + */ + Class[] propertyGroups() default {}; + /** * @see StudioComponent#propertiesBindings */ diff --git a/jmix-flowui/flowui-kit/src/main/java/io/jmix/flowui/kit/meta/StudioElementsGroup.java b/jmix-flowui/flowui-kit/src/main/java/io/jmix/flowui/kit/meta/StudioElementsGroup.java index 159958d060..db11bb4258 100644 --- a/jmix-flowui/flowui-kit/src/main/java/io/jmix/flowui/kit/meta/StudioElementsGroup.java +++ b/jmix-flowui/flowui-kit/src/main/java/io/jmix/flowui/kit/meta/StudioElementsGroup.java @@ -132,6 +132,11 @@ */ StudioProperty[] properties() default {}; + /** + * @see StudioComponent#propertyGroups() + */ + Class[] propertyGroups() default {}; + /** * @see StudioComponent#xmlElementInitializer */ diff --git a/jmix-flowui/flowui-kit/src/main/java/io/jmix/flowui/kit/meta/StudioFacet.java b/jmix-flowui/flowui-kit/src/main/java/io/jmix/flowui/kit/meta/StudioFacet.java index b5dc5f89d1..a0f237977c 100644 --- a/jmix-flowui/flowui-kit/src/main/java/io/jmix/flowui/kit/meta/StudioFacet.java +++ b/jmix-flowui/flowui-kit/src/main/java/io/jmix/flowui/kit/meta/StudioFacet.java @@ -73,6 +73,11 @@ */ StudioProperty[] properties() default {}; + /** + * @see StudioComponent#propertyGroups() + */ + Class[] propertyGroups() default {}; + /** * @see StudioComponent#xmlElementInitializer */ diff --git a/jmix-flowui/flowui-kit/src/main/java/io/jmix/flowui/kit/meta/StudioPropertyGroup.java b/jmix-flowui/flowui-kit/src/main/java/io/jmix/flowui/kit/meta/StudioPropertyGroup.java new file mode 100644 index 0000000000..aac8d650ae --- /dev/null +++ b/jmix-flowui/flowui-kit/src/main/java/io/jmix/flowui/kit/meta/StudioPropertyGroup.java @@ -0,0 +1,41 @@ +/* + * Copyright 2026 Haulmont. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package io.jmix.flowui.kit.meta; + +import java.lang.annotation.Documented; +import java.lang.annotation.ElementType; +import java.lang.annotation.Target; + +/** + * Declares a reusable group of {@link StudioProperty} definitions. + *

+ * A group should be declared on a class or interface and referenced from + * {@code propertyGroups()} in {@link StudioComponent}, {@link StudioElement}, + * {@link StudioFacet}, {@link StudioDataComponent}, {@link StudioAction}, + * {@link StudioActionsGroup} or {@link StudioElementsGroup}. + * + * @see StudioPropertyGroups + */ +@Documented +@Target(ElementType.TYPE) +public @interface StudioPropertyGroup { + + /** + * Properties included in the group. + */ + StudioProperty[] properties(); +} \ No newline at end of file diff --git a/jmix-flowui/flowui-kit/src/main/java/io/jmix/flowui/kit/meta/StudioPropertyGroups.java b/jmix-flowui/flowui-kit/src/main/java/io/jmix/flowui/kit/meta/StudioPropertyGroups.java new file mode 100644 index 0000000000..097f0700dd --- /dev/null +++ b/jmix-flowui/flowui-kit/src/main/java/io/jmix/flowui/kit/meta/StudioPropertyGroups.java @@ -0,0 +1,65 @@ +/* + * Copyright 2026 Haulmont. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package io.jmix.flowui.kit.meta; + +/** + * Standard reusable {@link StudioPropertyGroup} definitions. + */ +public final class StudioPropertyGroups { + + @StudioPropertyGroup( + properties = { + @StudioProperty(xmlAttribute = "height", type = StudioPropertyType.SIZE, + category = StudioProperty.Category.SIZE), + @StudioProperty(xmlAttribute = "maxHeight", type = StudioPropertyType.SIZE, + category = StudioProperty.Category.SIZE), + @StudioProperty(xmlAttribute = "maxWidth", type = StudioPropertyType.SIZE, + category = StudioProperty.Category.SIZE), + @StudioProperty(xmlAttribute = "minHeight", type = StudioPropertyType.SIZE, + category = StudioProperty.Category.SIZE), + @StudioProperty(xmlAttribute = "minWidth", type = StudioPropertyType.SIZE, + category = StudioProperty.Category.SIZE), + @StudioProperty(xmlAttribute = "width", type = StudioPropertyType.SIZE, + category = StudioProperty.Category.SIZE) + } + ) + public interface Size { + + } + @StudioPropertyGroup( + properties = { + @StudioProperty(xmlAttribute = "height", type = StudioPropertyType.SIZE, + category = StudioProperty.Category.SIZE, options = {"AUTO", "100%"}), + @StudioProperty(xmlAttribute = "maxHeight", type = StudioPropertyType.SIZE, + category = StudioProperty.Category.SIZE, options = {"AUTO", "100%"}), + @StudioProperty(xmlAttribute = "maxWidth", type = StudioPropertyType.SIZE, + category = StudioProperty.Category.SIZE, options = {"AUTO", "100%"}), + @StudioProperty(xmlAttribute = "minHeight", type = StudioPropertyType.SIZE, + category = StudioProperty.Category.SIZE, options = {"AUTO", "100%"}), + @StudioProperty(xmlAttribute = "minWidth", type = StudioPropertyType.SIZE, + category = StudioProperty.Category.SIZE, options = {"AUTO", "100%"}), + @StudioProperty(xmlAttribute = "width", type = StudioPropertyType.SIZE, + category = StudioProperty.Category.SIZE, options = {"AUTO", "100%"}) + } + ) + public interface SizeWithAutoAndFullOptions { + + } + + private StudioPropertyGroups() { + } +} From cbfe06456276fbde6d5afaf5daba887ca6a3b03d Mon Sep 17 00:00:00 2001 From: Mikhail Fedoseev Date: Fri, 27 Mar 2026 17:46:39 +0300 Subject: [PATCH 02/10] Simplify components meta-descriptions #5053 --- .../kit/meta/StudioChartsComponents.java | 5 + .../flowui/kit/meta/StudioPropertyGroup.java | 2 +- .../flowui/kit/meta/StudioPropertyGroups.java | 307 +++++++++++- .../kit/meta/component/StudioComponents.java | 440 ++++++++++++++++++ .../meta/component/StudioHTMLComponents.java | 259 +++++++++++ .../kit/meta/component/StudioLayouts.java | 69 +++ .../component/StudioMainViewComponents.java | 9 + .../meta/StudioFullCalendarComponents.java | 6 + .../kit/meta/StudioGrapesJsComponents.java | 6 + .../kit/meta/StudioPivotTableComponents.java | 5 + .../component/StudioSearchComponents.java | 20 + .../kit/meta/StudioSupersetComponents.java | 6 + 12 files changed, 1116 insertions(+), 18 deletions(-) diff --git a/jmix-charts/charts-flowui-kit/src/main/java/io/jmix/chartsflowui/kit/meta/StudioChartsComponents.java b/jmix-charts/charts-flowui-kit/src/main/java/io/jmix/chartsflowui/kit/meta/StudioChartsComponents.java index 2e37c6b8ca..8ca397b42c 100644 --- a/jmix-charts/charts-flowui-kit/src/main/java/io/jmix/chartsflowui/kit/meta/StudioChartsComponents.java +++ b/jmix-charts/charts-flowui-kit/src/main/java/io/jmix/chartsflowui/kit/meta/StudioChartsComponents.java @@ -29,6 +29,11 @@ public interface StudioChartsComponents { xmlns = "http://jmix.io/schema/charts/ui", xmlnsAlias = "charts", icon = "io/jmix/chartsflowui/kit/meta/icon/component/chart.svg", + propertyGroups = { + StudioPropertyGroups.ClassNamesAndCss.class, + StudioPropertyGroups.IdAndVisible.class, + StudioPropertyGroups.Size.class, + }, properties = { @StudioProperty(xmlAttribute = "alignSelf", category = StudioProperty.Category.POSITION, type = StudioPropertyType.ENUMERATION, classFqn = "com.vaadin.flow.component.orderedlayout.FlexComponent$Alignment", diff --git a/jmix-flowui/flowui-kit/src/main/java/io/jmix/flowui/kit/meta/StudioPropertyGroup.java b/jmix-flowui/flowui-kit/src/main/java/io/jmix/flowui/kit/meta/StudioPropertyGroup.java index aac8d650ae..395ee76754 100644 --- a/jmix-flowui/flowui-kit/src/main/java/io/jmix/flowui/kit/meta/StudioPropertyGroup.java +++ b/jmix-flowui/flowui-kit/src/main/java/io/jmix/flowui/kit/meta/StudioPropertyGroup.java @@ -37,5 +37,5 @@ /** * Properties included in the group. */ - StudioProperty[] properties(); + StudioProperty[] properties() default {}; } \ No newline at end of file diff --git a/jmix-flowui/flowui-kit/src/main/java/io/jmix/flowui/kit/meta/StudioPropertyGroups.java b/jmix-flowui/flowui-kit/src/main/java/io/jmix/flowui/kit/meta/StudioPropertyGroups.java index 097f0700dd..f2c8393a0d 100644 --- a/jmix-flowui/flowui-kit/src/main/java/io/jmix/flowui/kit/meta/StudioPropertyGroups.java +++ b/jmix-flowui/flowui-kit/src/main/java/io/jmix/flowui/kit/meta/StudioPropertyGroups.java @@ -19,47 +19,320 @@ /** * Standard reusable {@link StudioPropertyGroup} definitions. */ +@StudioAPI public final class StudioPropertyGroups { + private StudioPropertyGroups() { + } + + @StudioPropertyGroup( + properties = { + @StudioProperty(xmlAttribute = "id", type = StudioPropertyType.COMPONENT_ID, + category = StudioProperty.Category.GENERAL) + } + ) + public interface Id { + } + + @StudioPropertyGroup( + properties = { + @StudioProperty(xmlAttribute = "visible", type = StudioPropertyType.BOOLEAN, + category = StudioProperty.Category.GENERAL, defaultValue = "true") + } + ) + public interface Visible { + } + + @StudioPropertyGroup + public interface IdAndVisible extends Id, Visible { + } + + @StudioPropertyGroup( + properties = { + @StudioProperty(xmlAttribute = "alignSelf", type = StudioPropertyType.ENUMERATION, + category = StudioProperty.Category.POSITION, + classFqn = "com.vaadin.flow.component.orderedlayout.FlexComponent$Alignment", + defaultValue = "AUTO", + options = {"START", "END", "CENTER", "STRETCH", "BASELINE", "AUTO"}) + } + ) + public interface AlignSelf { + } + + @StudioPropertyGroup( + properties = { + @StudioProperty(xmlAttribute = "justifySelf", type = StudioPropertyType.ENUMERATION, + category = StudioProperty.Category.POSITION, + classFqn = "io.jmix.flowui.kit.component.Alignment", + defaultValue = "AUTO", + options = {"START", "END", "CENTER", "STRETCH", "BASELINE", "AUTO"}) + } + ) + public interface JustifySelf { + } + + @StudioPropertyGroup + public interface AlignSelfAndJustifySelf extends AlignSelf, JustifySelf { + } + + @StudioPropertyGroup( + properties = { + @StudioProperty(xmlAttribute = "colspan", type = StudioPropertyType.INTEGER, + category = StudioProperty.Category.POSITION) + } + ) + public interface Colspan { + } + + @StudioPropertyGroup + public interface AlignSelfAndJustifySelfAndColspan extends AlignSelfAndJustifySelf, Colspan { + } + + @StudioPropertyGroup( + properties = { + @StudioProperty(xmlAttribute = "classNames", type = StudioPropertyType.VALUES_LIST, + category = StudioProperty.Category.LOOK_AND_FEEL) + } + ) + public interface ClassNames { + } + + @StudioPropertyGroup( + properties = { + @StudioProperty(xmlAttribute = "css", type = StudioPropertyType.STRING, + category = StudioProperty.Category.LOOK_AND_FEEL) + } + ) + public interface Css { + } + + @StudioPropertyGroup + public interface ClassNamesAndCss extends ClassNames, Css { + } + + @StudioPropertyGroup( + properties = { + @StudioProperty(xmlAttribute = "enabled", type = StudioPropertyType.BOOLEAN, + category = StudioProperty.Category.GENERAL, defaultValue = "true") + } + ) + public interface Enabled { + } + @StudioPropertyGroup( properties = { @StudioProperty(xmlAttribute = "height", type = StudioPropertyType.SIZE, - category = StudioProperty.Category.SIZE), + category = StudioProperty.Category.SIZE) + } + ) + public interface HeightWithoutOptions { + } + + @StudioPropertyGroup( + properties = { @StudioProperty(xmlAttribute = "maxHeight", type = StudioPropertyType.SIZE, - category = StudioProperty.Category.SIZE), - @StudioProperty(xmlAttribute = "maxWidth", type = StudioPropertyType.SIZE, - category = StudioProperty.Category.SIZE), + category = StudioProperty.Category.SIZE) + } + ) + public interface MaxHeightWithoutOptions { + } + + @StudioPropertyGroup( + properties = { @StudioProperty(xmlAttribute = "minHeight", type = StudioPropertyType.SIZE, - category = StudioProperty.Category.SIZE), - @StudioProperty(xmlAttribute = "minWidth", type = StudioPropertyType.SIZE, - category = StudioProperty.Category.SIZE), + category = StudioProperty.Category.SIZE) + } + ) + public interface MinHeightWithoutOptions { + + } + + @StudioPropertyGroup + public interface MinAndMaxHeightWithoutOptions extends MinHeightWithoutOptions, MaxHeightWithoutOptions { + } + + @StudioPropertyGroup + public interface HeightWithoutOptionsGroup extends HeightWithoutOptions, MinAndMaxHeightWithoutOptions { + } + + @StudioPropertyGroup( + properties = { @StudioProperty(xmlAttribute = "width", type = StudioPropertyType.SIZE, category = StudioProperty.Category.SIZE) } ) - public interface Size { + public interface WidthWithoutOptions { + } + @StudioPropertyGroup( + properties = { + @StudioProperty(xmlAttribute = "maxWidth", type = StudioPropertyType.SIZE, + category = StudioProperty.Category.SIZE) + } + ) + public interface MaxWidthWithoutOptions { } + + @StudioPropertyGroup( + properties = { + @StudioProperty(xmlAttribute = "minWidth", type = StudioPropertyType.SIZE, + category = StudioProperty.Category.SIZE) + } + ) + public interface MinWidthWithoutOptions { + } + + @StudioPropertyGroup + public interface MinAndMaxWidthWithoutOptions extends MinWidthWithoutOptions, MaxWidthWithoutOptions { + } + + @StudioPropertyGroup + public interface WidthWithoutOptionsGroup extends WidthWithoutOptions, MinAndMaxWidthWithoutOptions { + + } + + @StudioPropertyGroup + public interface SizeWithoutOptions extends WidthWithoutOptionsGroup, HeightWithoutOptionsGroup { + } + @StudioPropertyGroup( properties = { @StudioProperty(xmlAttribute = "height", type = StudioPropertyType.SIZE, - category = StudioProperty.Category.SIZE, options = {"AUTO", "100%"}), + category = StudioProperty.Category.SIZE, options = {"AUTO", "100%"}) + } + ) + public interface Height { + } + + @StudioPropertyGroup( + properties = { @StudioProperty(xmlAttribute = "maxHeight", type = StudioPropertyType.SIZE, - category = StudioProperty.Category.SIZE, options = {"AUTO", "100%"}), - @StudioProperty(xmlAttribute = "maxWidth", type = StudioPropertyType.SIZE, - category = StudioProperty.Category.SIZE, options = {"AUTO", "100%"}), + category = StudioProperty.Category.SIZE, options = {"AUTO", "100%"}) + } + ) + public interface MaxHeight { + } + + @StudioPropertyGroup( + properties = { @StudioProperty(xmlAttribute = "minHeight", type = StudioPropertyType.SIZE, - category = StudioProperty.Category.SIZE, options = {"AUTO", "100%"}), - @StudioProperty(xmlAttribute = "minWidth", type = StudioPropertyType.SIZE, - category = StudioProperty.Category.SIZE, options = {"AUTO", "100%"}), + category = StudioProperty.Category.SIZE, options = {"AUTO", "100%"}) + } + ) + public interface MinHeight { + } + + @StudioPropertyGroup + public interface MinAndMaxHeight extends MinHeight, MaxHeight { + } + + @StudioPropertyGroup + public interface HeightGroup extends Height, MinAndMaxHeight { + } + + @StudioPropertyGroup( + properties = { @StudioProperty(xmlAttribute = "width", type = StudioPropertyType.SIZE, category = StudioProperty.Category.SIZE, options = {"AUTO", "100%"}) } ) - public interface SizeWithAutoAndFullOptions { + public interface Width { + } + @StudioPropertyGroup( + properties = { + @StudioProperty(xmlAttribute = "maxWidth", type = StudioPropertyType.SIZE, + category = StudioProperty.Category.SIZE, options = {"AUTO", "100%"}) + } + ) + public interface MaxWidth { } - private StudioPropertyGroups() { + @StudioPropertyGroup( + properties = { + @StudioProperty(xmlAttribute = "minWidth", type = StudioPropertyType.SIZE, + category = StudioProperty.Category.SIZE, options = {"AUTO", "100%"}) + } + ) + public interface MinWidth { + } + + @StudioPropertyGroup + public interface MinAndMaxWidth extends MinWidth, MaxWidth { + } + + @StudioPropertyGroup + public interface WidthGroup extends Width, MinAndMaxWidth { + } + + @StudioPropertyGroup + public interface Size extends WidthGroup, HeightGroup { + } + + @StudioPropertyGroup( + properties = { + @StudioProperty(xmlAttribute = "ariaLabel", type = StudioPropertyType.LOCALIZED_STRING) + } + ) + public interface AriaLabel { + } + + @StudioPropertyGroup( + properties = { + @StudioProperty(xmlAttribute = "ariaLabelledBy", type = StudioPropertyType.LOCALIZED_STRING) + } + ) + public interface AriaLabelledBy { + } + + @StudioPropertyGroup( + properties = { + @StudioProperty(xmlAttribute = "tabIndex", type = StudioPropertyType.INTEGER) + } + ) + public interface TabIndex { + } + + @StudioPropertyGroup( + properties = { + @StudioProperty(xmlAttribute = "focusShortcut", type = StudioPropertyType.SHORTCUT_COMBINATION) + } + ) + public interface FocusShortcut { + } + + @StudioPropertyGroup + public interface AriaLabelAndTabIndexAndFocusShortcut extends AriaLabel, AriaLabelledBy, TabIndex, FocusShortcut { + } + + @StudioPropertyGroup( + properties = { + @StudioProperty(xmlAttribute = "required", type = StudioPropertyType.BOOLEAN, + category = StudioProperty.Category.VALIDATION, defaultValue = "false") + } + ) + public interface Required { + } + + @StudioPropertyGroup( + properties = { + @StudioProperty(xmlAttribute = "requiredMessage", type = StudioPropertyType.LOCALIZED_STRING, + category = StudioProperty.Category.VALIDATION) + } + ) + public interface RequiredMessage { + } + + @StudioPropertyGroup( + properties = { + @StudioProperty(xmlAttribute = "errorMessage", type = StudioPropertyType.LOCALIZED_STRING, + category = StudioProperty.Category.VALIDATION) + } + ) + public interface ErrorMessage { + } + + @StudioPropertyGroup + public interface RequiredAndRequiredMessageAndErrorMessage extends Required, RequiredMessage, ErrorMessage { } } diff --git a/jmix-flowui/flowui-kit/src/main/java/io/jmix/flowui/kit/meta/component/StudioComponents.java b/jmix-flowui/flowui-kit/src/main/java/io/jmix/flowui/kit/meta/component/StudioComponents.java index dc361a2bd2..1b0944293d 100644 --- a/jmix-flowui/flowui-kit/src/main/java/io/jmix/flowui/kit/meta/component/StudioComponents.java +++ b/jmix-flowui/flowui-kit/src/main/java/io/jmix/flowui/kit/meta/component/StudioComponents.java @@ -75,6 +75,10 @@ interface StudioComponents { classFqn = "com.vaadin.flow.component.Component", category = "Components", xmlElement = "component", + propertyGroups = { + StudioPropertyGroups.AlignSelfAndJustifySelfAndColspan.class, + StudioPropertyGroups.IdAndVisible.class, + }, properties = { @StudioProperty(xmlAttribute = "id", category = StudioProperty.Category.GENERAL, type = StudioPropertyType.COMPONENT_ID), @StudioProperty(xmlAttribute = "css", category = StudioProperty.Category.LOOK_AND_FEEL, type = StudioPropertyType.STRING), @@ -101,6 +105,10 @@ interface StudioComponents { category = "Components", xmlElement = "fragment", icon = "io/jmix/flowui/kit/meta/icon/component/fragment.svg", + propertyGroups = { + StudioPropertyGroups.AlignSelfAndJustifySelfAndColspan.class, + StudioPropertyGroups.IdAndVisible.class, + }, properties = { @StudioProperty(xmlAttribute = "id", category = StudioProperty.Category.GENERAL, type = StudioPropertyType.COMPONENT_ID), @StudioProperty(xmlAttribute = "css", category = StudioProperty.Category.LOOK_AND_FEEL, type = StudioPropertyType.STRING), @@ -128,6 +136,12 @@ interface StudioComponents { xmlElement = "avatar", icon = "io/jmix/flowui/kit/meta/icon/component/avatar.svg", documentationLink = "%VERSION%/flow-ui/vc/components/avatar.html", + propertyGroups = { + StudioPropertyGroups.AlignSelfAndJustifySelfAndColspan.class, + StudioPropertyGroups.ClassNamesAndCss.class, + StudioPropertyGroups.IdAndVisible.class, + StudioPropertyGroups.Size.class, + }, properties = { @StudioProperty(xmlAttribute = "alignSelf", category = StudioProperty.Category.POSITION, type = StudioPropertyType.ENUMERATION, classFqn = "com.vaadin.flow.component.orderedlayout.FlexComponent$Alignment", @@ -170,6 +184,11 @@ interface StudioComponents { @StudioConvertStrategy.TagInfo(qualifiedName = "svgIcon"), @StudioConvertStrategy.TagInfo(qualifiedName = "fontIcon"), }), + propertyGroups = { + StudioPropertyGroups.AlignSelfAndJustifySelfAndColspan.class, + StudioPropertyGroups.ClassNamesAndCss.class, + StudioPropertyGroups.IdAndVisible.class, + }, properties = { @StudioProperty(xmlAttribute = "alignSelf", category = StudioProperty.Category.POSITION, type = StudioPropertyType.ENUMERATION, classFqn = "com.vaadin.flow.component.orderedlayout.FlexComponent$Alignment", @@ -203,6 +222,11 @@ interface StudioComponents { @StudioConvertStrategy.TagInfo(qualifiedName = "icon"), @StudioConvertStrategy.TagInfo(qualifiedName = "fontIcon") }), + propertyGroups = { + StudioPropertyGroups.AlignSelfAndJustifySelfAndColspan.class, + StudioPropertyGroups.ClassNamesAndCss.class, + StudioPropertyGroups.IdAndVisible.class, + }, properties = { @StudioProperty(xmlAttribute = "alignSelf", category = StudioProperty.Category.POSITION, type = StudioPropertyType.ENUMERATION, classFqn = "com.vaadin.flow.component.orderedlayout.FlexComponent$Alignment", @@ -237,6 +261,11 @@ interface StudioComponents { @StudioConvertStrategy.TagInfo(qualifiedName = "icon"), @StudioConvertStrategy.TagInfo(qualifiedName = "svgIcon") }), + propertyGroups = { + StudioPropertyGroups.AlignSelfAndJustifySelfAndColspan.class, + StudioPropertyGroups.ClassNamesAndCss.class, + StudioPropertyGroups.IdAndVisible.class, + }, properties = { @StudioProperty(xmlAttribute = "alignSelf", category = StudioProperty.Category.POSITION, type = StudioPropertyType.ENUMERATION, classFqn = "com.vaadin.flow.component.orderedlayout.FlexComponent$Alignment", @@ -275,6 +304,15 @@ interface StudioComponents { @StudioConvertStrategy.TagInfo(qualifiedName = "numberField"), @StudioConvertStrategy.TagInfo(qualifiedName = "integerField"), }), + propertyGroups = { + StudioPropertyGroups.AlignSelfAndJustifySelfAndColspan.class, + StudioPropertyGroups.ClassNamesAndCss.class, + StudioPropertyGroups.IdAndVisible.class, + StudioPropertyGroups.Enabled.class, + StudioPropertyGroups.Size.class, + StudioPropertyGroups.AriaLabelAndTabIndexAndFocusShortcut.class, + StudioPropertyGroups.RequiredAndRequiredMessageAndErrorMessage.class, + }, properties = { @StudioProperty(xmlAttribute = "alignSelf", category = StudioProperty.Category.POSITION, type = StudioPropertyType.ENUMERATION, classFqn = "com.vaadin.flow.component.orderedlayout.FlexComponent$Alignment", @@ -366,6 +404,14 @@ interface StudioComponents { convertStrategy = @StudioConvertStrategy(tagsToConvertInto = { @StudioConvertStrategy.TagInfo(qualifiedName = "comboButton") }), + propertyGroups = { + StudioPropertyGroups.AlignSelfAndJustifySelfAndColspan.class, + StudioPropertyGroups.ClassNamesAndCss.class, + StudioPropertyGroups.IdAndVisible.class, + StudioPropertyGroups.Enabled.class, + StudioPropertyGroups.Size.class, + StudioPropertyGroups.AriaLabelAndTabIndexAndFocusShortcut.class, + }, properties = { @StudioProperty(xmlAttribute = "alignSelf", category = StudioProperty.Category.POSITION, type = StudioPropertyType.ENUMERATION, classFqn = "com.vaadin.flow.component.orderedlayout.FlexComponent$Alignment", @@ -426,6 +472,14 @@ interface StudioComponents { convertStrategy = @StudioConvertStrategy(tagsToConvertInto = { @StudioConvertStrategy.TagInfo(qualifiedName = "radioButtonGroup") }), + propertyGroups = { + StudioPropertyGroups.AlignSelfAndJustifySelfAndColspan.class, + StudioPropertyGroups.ClassNamesAndCss.class, + StudioPropertyGroups.IdAndVisible.class, + StudioPropertyGroups.Enabled.class, + StudioPropertyGroups.Size.class, + StudioPropertyGroups.RequiredAndRequiredMessageAndErrorMessage.class, + }, properties = { @StudioProperty(xmlAttribute = "alignSelf", category = StudioProperty.Category.POSITION, type = StudioPropertyType.ENUMERATION, classFqn = "com.vaadin.flow.component.orderedlayout.FlexComponent$Alignment", @@ -491,6 +545,15 @@ interface StudioComponents { xmlElement = "checkbox", icon = "io/jmix/flowui/kit/meta/icon/component/checkbox.svg", documentationLink = "%VERSION%/flow-ui/vc/components/checkbox.html", + propertyGroups = { + StudioPropertyGroups.AlignSelfAndJustifySelfAndColspan.class, + StudioPropertyGroups.ClassNamesAndCss.class, + StudioPropertyGroups.IdAndVisible.class, + StudioPropertyGroups.Enabled.class, + StudioPropertyGroups.Size.class, + StudioPropertyGroups.AriaLabelAndTabIndexAndFocusShortcut.class, + StudioPropertyGroups.RequiredAndRequiredMessageAndErrorMessage.class, + }, properties = { @StudioProperty(xmlAttribute = "alignSelf", category = StudioProperty.Category.POSITION, type = StudioPropertyType.ENUMERATION, classFqn = "com.vaadin.flow.component.orderedlayout.FlexComponent$Alignment", @@ -551,6 +614,15 @@ interface StudioComponents { xmlElement = "switch", icon = "io/jmix/flowui/kit/meta/icon/component/checkbox.svg", documentationLink = "%VERSION%/flow-ui/vc/components/switch.html", + propertyGroups = { + StudioPropertyGroups.AlignSelfAndJustifySelfAndColspan.class, + StudioPropertyGroups.ClassNamesAndCss.class, + StudioPropertyGroups.IdAndVisible.class, + StudioPropertyGroups.Enabled.class, + StudioPropertyGroups.Size.class, + StudioPropertyGroups.AriaLabelAndTabIndexAndFocusShortcut.class, + StudioPropertyGroups.RequiredAndRequiredMessageAndErrorMessage.class, + }, properties = { @StudioProperty(xmlAttribute = "alignSelf", category = StudioProperty.Category.POSITION, type = StudioPropertyType.ENUMERATION, classFqn = "com.vaadin.flow.component.orderedlayout.FlexComponent$Alignment", @@ -613,6 +685,15 @@ interface StudioComponents { @StudioConvertStrategy.TagInfo(qualifiedName = "select"), @StudioConvertStrategy.TagInfo(qualifiedName = "multiSelectComboBox") }), + propertyGroups = { + StudioPropertyGroups.AlignSelfAndJustifySelfAndColspan.class, + StudioPropertyGroups.ClassNamesAndCss.class, + StudioPropertyGroups.IdAndVisible.class, + StudioPropertyGroups.Enabled.class, + StudioPropertyGroups.Size.class, + StudioPropertyGroups.AriaLabelAndTabIndexAndFocusShortcut.class, + StudioPropertyGroups.RequiredAndRequiredMessageAndErrorMessage.class, + }, properties = { @StudioProperty(xmlAttribute = "alignSelf", category = StudioProperty.Category.POSITION, type = StudioPropertyType.ENUMERATION, classFqn = "com.vaadin.flow.component.orderedlayout.FlexComponent$Alignment", @@ -698,6 +779,14 @@ interface StudioComponents { @StudioConvertStrategy.TagInfo(qualifiedName = "select"), @StudioConvertStrategy.TagInfo(qualifiedName = "comboBox") }), + propertyGroups = { + StudioPropertyGroups.AlignSelfAndJustifySelfAndColspan.class, + StudioPropertyGroups.ClassNamesAndCss.class, + StudioPropertyGroups.IdAndVisible.class, + StudioPropertyGroups.Enabled.class, + StudioPropertyGroups.Size.class, + StudioPropertyGroups.AriaLabelAndTabIndexAndFocusShortcut.class, + }, properties = { @StudioProperty(xmlAttribute = "alignSelf", category = StudioProperty.Category.POSITION, type = StudioPropertyType.ENUMERATION, classFqn = "com.vaadin.flow.component.orderedlayout.FlexComponent$Alignment", @@ -788,6 +877,14 @@ interface StudioComponents { xmlElement = "multiSelectComboBoxPicker", icon = "io/jmix/flowui/kit/meta/icon/component/comboBox.svg", documentationLink = "%VERSION%/flow-ui/vc/components/multiSelectComboBoxPicker.html", + propertyGroups = { + StudioPropertyGroups.AlignSelfAndJustifySelfAndColspan.class, + StudioPropertyGroups.ClassNamesAndCss.class, + StudioPropertyGroups.IdAndVisible.class, + StudioPropertyGroups.Enabled.class, + StudioPropertyGroups.Size.class, + StudioPropertyGroups.AriaLabelAndTabIndexAndFocusShortcut.class, + }, properties = { @StudioProperty(xmlAttribute = "alignSelf", category = StudioProperty.Category.POSITION, type = StudioPropertyType.ENUMERATION, classFqn = "com.vaadin.flow.component.orderedlayout.FlexComponent$Alignment", @@ -873,6 +970,12 @@ interface StudioComponents { icon = "io/jmix/flowui/kit/meta/icon/mainview/userIndicator.svg", // TODO: gg, add link when available // documentationLink = "%VERSION%/flow-ui/vc/components/userMenu.html", + propertyGroups = { + StudioPropertyGroups.AlignSelfAndJustifySelfAndColspan.class, + StudioPropertyGroups.ClassNamesAndCss.class, + StudioPropertyGroups.IdAndVisible.class, + StudioPropertyGroups.Enabled.class, + }, properties = { @StudioProperty(xmlAttribute = "id", category = StudioProperty.Category.GENERAL, type = StudioPropertyType.COMPONENT_ID), @StudioProperty(xmlAttribute = "enabled", category = StudioProperty.Category.GENERAL, type = StudioPropertyType.BOOLEAN, @@ -908,6 +1011,13 @@ interface StudioComponents { xmlElement = "dropdownButton", icon = "io/jmix/flowui/kit/meta/icon/component/dropdownButton.svg", documentationLink = "%VERSION%/flow-ui/vc/components/dropdownButton.html", + propertyGroups = { + StudioPropertyGroups.AlignSelfAndJustifySelfAndColspan.class, + StudioPropertyGroups.ClassNamesAndCss.class, + StudioPropertyGroups.IdAndVisible.class, + StudioPropertyGroups.Enabled.class, + StudioPropertyGroups.Size.class, + }, properties = { @StudioProperty(xmlAttribute = "alignSelf", category = StudioProperty.Category.POSITION, type = StudioPropertyType.ENUMERATION, classFqn = "com.vaadin.flow.component.orderedlayout.FlexComponent$Alignment", @@ -961,6 +1071,13 @@ interface StudioComponents { convertStrategy = @StudioConvertStrategy(tagsToConvertInto = { @StudioConvertStrategy.TagInfo(qualifiedName = "button") }), + propertyGroups = { + StudioPropertyGroups.AlignSelfAndJustifySelfAndColspan.class, + StudioPropertyGroups.ClassNamesAndCss.class, + StudioPropertyGroups.IdAndVisible.class, + StudioPropertyGroups.Enabled.class, + StudioPropertyGroups.Size.class, + }, properties = { @StudioProperty(xmlAttribute = "alignSelf", category = StudioProperty.Category.POSITION, type = StudioPropertyType.ENUMERATION, classFqn = "com.vaadin.flow.component.orderedlayout.FlexComponent$Alignment", @@ -1016,6 +1133,15 @@ interface StudioComponents { @StudioConvertStrategy.TagInfo(qualifiedName = "timePicker"), @StudioConvertStrategy.TagInfo(qualifiedName = "dateTimePicker") }), + propertyGroups = { + StudioPropertyGroups.AlignSelfAndJustifySelfAndColspan.class, + StudioPropertyGroups.ClassNamesAndCss.class, + StudioPropertyGroups.IdAndVisible.class, + StudioPropertyGroups.Enabled.class, + StudioPropertyGroups.Size.class, + StudioPropertyGroups.AriaLabelAndTabIndexAndFocusShortcut.class, + StudioPropertyGroups.RequiredAndRequiredMessageAndErrorMessage.class, + }, properties = { @StudioProperty(xmlAttribute = "alignSelf", category = StudioProperty.Category.POSITION, type = StudioPropertyType.ENUMERATION, classFqn = "com.vaadin.flow.component.orderedlayout.FlexComponent$Alignment", @@ -1095,6 +1221,15 @@ interface StudioComponents { @StudioConvertStrategy.TagInfo(qualifiedName = "datePicker"), @StudioConvertStrategy.TagInfo(qualifiedName = "timePicker") }), + propertyGroups = { + StudioPropertyGroups.AlignSelfAndJustifySelfAndColspan.class, + StudioPropertyGroups.ClassNamesAndCss.class, + StudioPropertyGroups.IdAndVisible.class, + StudioPropertyGroups.Enabled.class, + StudioPropertyGroups.Size.class, + StudioPropertyGroups.AriaLabelAndTabIndexAndFocusShortcut.class, + StudioPropertyGroups.RequiredAndRequiredMessageAndErrorMessage.class, + }, properties = { @StudioProperty(xmlAttribute = "alignSelf", category = StudioProperty.Category.POSITION, type = StudioPropertyType.ENUMERATION, classFqn = "com.vaadin.flow.component.orderedlayout.FlexComponent$Alignment", @@ -1165,6 +1300,13 @@ interface StudioComponents { xmlElement = "drawerToggle", icon = "io/jmix/flowui/kit/meta/icon/component/drawerToggle.svg", documentationLink = "%VERSION%/flow-ui/vc/components/drawerToggle.html", + propertyGroups = { + StudioPropertyGroups.AlignSelfAndJustifySelfAndColspan.class, + StudioPropertyGroups.ClassNamesAndCss.class, + StudioPropertyGroups.IdAndVisible.class, + StudioPropertyGroups.Size.class, + StudioPropertyGroups.AriaLabelAndTabIndexAndFocusShortcut.class, + }, properties = { @StudioProperty(xmlAttribute = "alignSelf", category = StudioProperty.Category.POSITION, type = StudioPropertyType.ENUMERATION, classFqn = "com.vaadin.flow.component.orderedlayout.FlexComponent$Alignment", @@ -1204,6 +1346,13 @@ interface StudioComponents { category = "Components", xmlElement = "sidePanelLayoutCloser", icon = "io/jmix/flowui/kit/meta/icon/component/sidePanelLayoutCloser.svg", + propertyGroups = { + StudioPropertyGroups.AlignSelfAndJustifySelfAndColspan.class, + StudioPropertyGroups.ClassNamesAndCss.class, + StudioPropertyGroups.IdAndVisible.class, + StudioPropertyGroups.Size.class, + StudioPropertyGroups.AriaLabelAndTabIndexAndFocusShortcut.class, + }, properties = { @StudioProperty(xmlAttribute = "alignSelf", category = StudioProperty.Category.POSITION, type = StudioPropertyType.ENUMERATION, classFqn = "com.vaadin.flow.component.orderedlayout.FlexComponent$Alignment", @@ -1245,6 +1394,15 @@ interface StudioComponents { convertStrategy = @StudioConvertStrategy(tagsToConvertInto = { @StudioConvertStrategy.TagInfo(qualifiedName = "textField") }), + propertyGroups = { + StudioPropertyGroups.AlignSelfAndJustifySelfAndColspan.class, + StudioPropertyGroups.ClassNamesAndCss.class, + StudioPropertyGroups.IdAndVisible.class, + StudioPropertyGroups.Enabled.class, + StudioPropertyGroups.Size.class, + StudioPropertyGroups.AriaLabelAndTabIndexAndFocusShortcut.class, + StudioPropertyGroups.RequiredAndRequiredMessageAndErrorMessage.class, + }, properties = { @StudioProperty(xmlAttribute = "alignSelf", category = StudioProperty.Category.POSITION, type = StudioPropertyType.ENUMERATION, classFqn = "com.vaadin.flow.component.orderedlayout.FlexComponent$Alignment", @@ -1341,6 +1499,15 @@ interface StudioComponents { @StudioConvertStrategy.TagInfo(qualifiedName = "comboBox"), @StudioConvertStrategy.TagInfo(qualifiedName = "entityPicker") }), + propertyGroups = { + StudioPropertyGroups.AlignSelfAndJustifySelfAndColspan.class, + StudioPropertyGroups.ClassNamesAndCss.class, + StudioPropertyGroups.IdAndVisible.class, + StudioPropertyGroups.Enabled.class, + StudioPropertyGroups.Size.class, + StudioPropertyGroups.AriaLabelAndTabIndexAndFocusShortcut.class, + StudioPropertyGroups.RequiredAndRequiredMessageAndErrorMessage.class, + }, properties = { @StudioProperty(xmlAttribute = "alignSelf", category = StudioProperty.Category.POSITION, type = StudioPropertyType.ENUMERATION, classFqn = "com.vaadin.flow.component.orderedlayout.FlexComponent$Alignment", @@ -1434,6 +1601,15 @@ interface StudioComponents { ) }) }), + propertyGroups = { + StudioPropertyGroups.AlignSelfAndJustifySelfAndColspan.class, + StudioPropertyGroups.ClassNamesAndCss.class, + StudioPropertyGroups.IdAndVisible.class, + StudioPropertyGroups.Enabled.class, + StudioPropertyGroups.Size.class, + StudioPropertyGroups.AriaLabelAndTabIndexAndFocusShortcut.class, + StudioPropertyGroups.RequiredAndRequiredMessageAndErrorMessage.class, + }, properties = { @StudioProperty(xmlAttribute = "alignSelf", category = StudioProperty.Category.POSITION, type = StudioPropertyType.ENUMERATION, classFqn = "com.vaadin.flow.component.orderedlayout.FlexComponent$Alignment", @@ -1501,6 +1677,11 @@ interface StudioComponents { convertStrategy = @StudioConvertStrategy(tagsToConvertInto = { @StudioConvertStrategy.TagInfo(qualifiedName = "treeDataGrid") }), + propertyGroups = { + StudioPropertyGroups.ClassNamesAndCss.class, + StudioPropertyGroups.IdAndVisible.class, + StudioPropertyGroups.Enabled.class, + }, properties = { @StudioProperty(xmlAttribute = "alignSelf", category = StudioProperty.Category.POSITION, type = StudioPropertyType.ENUMERATION, classFqn = "com.vaadin.flow.component.orderedlayout.FlexComponent$Alignment", @@ -1592,6 +1773,11 @@ interface StudioComponents { convertStrategy = @StudioConvertStrategy(tagsToConvertInto = { @StudioConvertStrategy.TagInfo(qualifiedName = "dataGrid") }), + propertyGroups = { + StudioPropertyGroups.ClassNamesAndCss.class, + StudioPropertyGroups.IdAndVisible.class, + StudioPropertyGroups.Enabled.class, + }, properties = { @StudioProperty(xmlAttribute = "alignSelf", category = StudioProperty.Category.POSITION, type = StudioPropertyType.ENUMERATION, classFqn = "com.vaadin.flow.component.orderedlayout.FlexComponent$Alignment", @@ -1693,6 +1879,15 @@ interface StudioComponents { @StudioConvertStrategy.TagInfo(qualifiedName = "bigDecimalField"), @StudioConvertStrategy.TagInfo(qualifiedName = "numberField") }), + propertyGroups = { + StudioPropertyGroups.AlignSelfAndJustifySelfAndColspan.class, + StudioPropertyGroups.ClassNamesAndCss.class, + StudioPropertyGroups.IdAndVisible.class, + StudioPropertyGroups.Enabled.class, + StudioPropertyGroups.Size.class, + StudioPropertyGroups.AriaLabelAndTabIndexAndFocusShortcut.class, + StudioPropertyGroups.RequiredAndRequiredMessageAndErrorMessage.class, + }, properties = { @StudioProperty(xmlAttribute = "alignSelf", category = StudioProperty.Category.POSITION, type = StudioPropertyType.ENUMERATION, classFqn = "com.vaadin.flow.component.orderedlayout.FlexComponent$Alignment", @@ -1791,6 +1986,15 @@ interface StudioComponents { @StudioConvertStrategy.TagInfo(qualifiedName = "integerField"), @StudioConvertStrategy.TagInfo(qualifiedName = "bigDecimalField") }), + propertyGroups = { + StudioPropertyGroups.AlignSelfAndJustifySelfAndColspan.class, + StudioPropertyGroups.ClassNamesAndCss.class, + StudioPropertyGroups.IdAndVisible.class, + StudioPropertyGroups.Enabled.class, + StudioPropertyGroups.Size.class, + StudioPropertyGroups.AriaLabelAndTabIndexAndFocusShortcut.class, + StudioPropertyGroups.RequiredAndRequiredMessageAndErrorMessage.class, + }, properties = { @StudioProperty(xmlAttribute = "alignSelf", category = StudioProperty.Category.POSITION, type = StudioPropertyType.ENUMERATION, classFqn = "com.vaadin.flow.component.orderedlayout.FlexComponent$Alignment", @@ -1888,6 +2092,15 @@ interface StudioComponents { convertStrategy = @StudioConvertStrategy(tagsToConvertInto = { @StudioConvertStrategy.TagInfo(qualifiedName = "textField") }), + propertyGroups = { + StudioPropertyGroups.AlignSelfAndJustifySelfAndColspan.class, + StudioPropertyGroups.ClassNamesAndCss.class, + StudioPropertyGroups.IdAndVisible.class, + StudioPropertyGroups.Enabled.class, + StudioPropertyGroups.Size.class, + StudioPropertyGroups.AriaLabelAndTabIndexAndFocusShortcut.class, + StudioPropertyGroups.RequiredAndRequiredMessageAndErrorMessage.class, + }, properties = { @StudioProperty(xmlAttribute = "alignSelf", category = StudioProperty.Category.POSITION, type = StudioPropertyType.ENUMERATION, classFqn = "com.vaadin.flow.component.orderedlayout.FlexComponent$Alignment", @@ -1980,6 +2193,12 @@ interface StudioComponents { xmlElement = "progressBar", icon = "io/jmix/flowui/kit/meta/icon/component/progressBar.svg", documentationLink = "%VERSION%/flow-ui/vc/components/progressBar.html", + propertyGroups = { + StudioPropertyGroups.AlignSelfAndJustifySelfAndColspan.class, + StudioPropertyGroups.ClassNamesAndCss.class, + StudioPropertyGroups.IdAndVisible.class, + StudioPropertyGroups.Size.class, + }, properties = { @StudioProperty(xmlAttribute = "alignSelf", category = StudioProperty.Category.POSITION, type = StudioPropertyType.ENUMERATION, classFqn = "com.vaadin.flow.component.orderedlayout.FlexComponent$Alignment", @@ -2022,6 +2241,13 @@ interface StudioComponents { convertStrategy = @StudioConvertStrategy(tagsToConvertInto = { @StudioConvertStrategy.TagInfo(qualifiedName = "checkBoxGroup") }), + propertyGroups = { + StudioPropertyGroups.AlignSelfAndJustifySelfAndColspan.class, + StudioPropertyGroups.ClassNamesAndCss.class, + StudioPropertyGroups.IdAndVisible.class, + StudioPropertyGroups.Enabled.class, + StudioPropertyGroups.Size.class, + }, properties = { @StudioProperty(xmlAttribute = "alignSelf", category = StudioProperty.Category.POSITION, type = StudioPropertyType.ENUMERATION, classFqn = "com.vaadin.flow.component.orderedlayout.FlexComponent$Alignment", @@ -2093,6 +2319,15 @@ interface StudioComponents { @StudioConvertStrategy.TagInfo(qualifiedName = "multiSelectComboBox"), @StudioConvertStrategy.TagInfo(qualifiedName = "multiSelectComboBoxPicker") }), + propertyGroups = { + StudioPropertyGroups.AlignSelfAndJustifySelfAndColspan.class, + StudioPropertyGroups.ClassNamesAndCss.class, + StudioPropertyGroups.IdAndVisible.class, + StudioPropertyGroups.Enabled.class, + StudioPropertyGroups.Size.class, + StudioPropertyGroups.AriaLabelAndTabIndexAndFocusShortcut.class, + StudioPropertyGroups.RequiredAndRequiredMessageAndErrorMessage.class, + }, properties = { @StudioProperty(xmlAttribute = "alignSelf", category = StudioProperty.Category.POSITION, type = StudioPropertyType.ENUMERATION, classFqn = "com.vaadin.flow.component.orderedlayout.FlexComponent$Alignment", @@ -2185,6 +2420,12 @@ interface StudioComponents { xmlElement = "tabs", icon = "io/jmix/flowui/kit/meta/icon/component/tabs.svg", documentationLink = "%VERSION%/flow-ui/vc/components/tabs.html", + propertyGroups = { + StudioPropertyGroups.AlignSelfAndJustifySelfAndColspan.class, + StudioPropertyGroups.ClassNamesAndCss.class, + StudioPropertyGroups.IdAndVisible.class, + StudioPropertyGroups.Size.class, + }, properties = { @StudioProperty(xmlAttribute = "alignSelf", category = StudioProperty.Category.POSITION, type = StudioPropertyType.ENUMERATION, classFqn = "com.vaadin.flow.component.orderedlayout.FlexComponent$Alignment", @@ -2238,6 +2479,13 @@ interface StudioComponents { ) } ), + propertyGroups = { + StudioPropertyGroups.AlignSelfAndJustifySelfAndColspan.class, + StudioPropertyGroups.ClassNamesAndCss.class, + StudioPropertyGroups.IdAndVisible.class, + StudioPropertyGroups.Enabled.class, + StudioPropertyGroups.Size.class, + }, properties = { @StudioProperty(xmlAttribute = "alignSelf", category = StudioProperty.Category.POSITION, type = StudioPropertyType.ENUMERATION, classFqn = "com.vaadin.flow.component.orderedlayout.FlexComponent$Alignment", @@ -2301,6 +2549,13 @@ interface StudioComponents { ) } ), + propertyGroups = { + StudioPropertyGroups.AlignSelfAndJustifySelfAndColspan.class, + StudioPropertyGroups.ClassNamesAndCss.class, + StudioPropertyGroups.IdAndVisible.class, + StudioPropertyGroups.Enabled.class, + StudioPropertyGroups.Size.class, + }, properties = { @StudioProperty(xmlAttribute = "alignSelf", category = StudioProperty.Category.POSITION, type = StudioPropertyType.ENUMERATION, classFqn = "com.vaadin.flow.component.orderedlayout.FlexComponent$Alignment", @@ -2354,6 +2609,14 @@ interface StudioComponents { @StudioConvertStrategy.TagInfo(qualifiedName = "codeEditor"), @StudioConvertStrategy.TagInfo(qualifiedName = "richTextEditor") }), + propertyGroups = { + StudioPropertyGroups.AlignSelfAndJustifySelfAndColspan.class, + StudioPropertyGroups.ClassNamesAndCss.class, + StudioPropertyGroups.IdAndVisible.class, + StudioPropertyGroups.Enabled.class, + StudioPropertyGroups.Size.class, + StudioPropertyGroups.AriaLabelAndTabIndexAndFocusShortcut.class, + }, properties = { @StudioProperty(xmlAttribute = "alignSelf", category = StudioProperty.Category.POSITION, type = StudioPropertyType.ENUMERATION, classFqn = "com.vaadin.flow.component.orderedlayout.FlexComponent$Alignment", @@ -2460,6 +2723,15 @@ interface StudioComponents { @StudioConvertStrategy.TagInfo(qualifiedName = "integerField"), @StudioConvertStrategy.TagInfo(qualifiedName = "bigDecimalField") }), + propertyGroups = { + StudioPropertyGroups.AlignSelfAndJustifySelfAndColspan.class, + StudioPropertyGroups.ClassNamesAndCss.class, + StudioPropertyGroups.IdAndVisible.class, + StudioPropertyGroups.Enabled.class, + StudioPropertyGroups.Size.class, + StudioPropertyGroups.AriaLabelAndTabIndexAndFocusShortcut.class, + StudioPropertyGroups.RequiredAndRequiredMessageAndErrorMessage.class, + }, properties = { @StudioProperty(xmlAttribute = "alignSelf", category = StudioProperty.Category.POSITION, type = StudioPropertyType.ENUMERATION, classFqn = "com.vaadin.flow.component.orderedlayout.FlexComponent$Alignment", @@ -2561,6 +2833,15 @@ interface StudioComponents { @StudioConvertStrategy.TagInfo(qualifiedName = "datePicker"), @StudioConvertStrategy.TagInfo(qualifiedName = "dateTimePicker"), }), + propertyGroups = { + StudioPropertyGroups.AlignSelfAndJustifySelfAndColspan.class, + StudioPropertyGroups.ClassNamesAndCss.class, + StudioPropertyGroups.IdAndVisible.class, + StudioPropertyGroups.Enabled.class, + StudioPropertyGroups.Size.class, + StudioPropertyGroups.AriaLabelAndTabIndexAndFocusShortcut.class, + StudioPropertyGroups.RequiredAndRequiredMessageAndErrorMessage.class, + }, properties = { @StudioProperty(xmlAttribute = "alignSelf", category = StudioProperty.Category.POSITION, type = StudioPropertyType.ENUMERATION, classFqn = "com.vaadin.flow.component.orderedlayout.FlexComponent$Alignment", @@ -2629,6 +2910,15 @@ interface StudioComponents { xmlElement = "valuePicker", icon = "io/jmix/flowui/kit/meta/icon/component/valuePicker.svg", documentationLink = "%VERSION%/flow-ui/vc/components/valuePicker.html", + propertyGroups = { + StudioPropertyGroups.AlignSelfAndJustifySelfAndColspan.class, + StudioPropertyGroups.ClassNamesAndCss.class, + StudioPropertyGroups.IdAndVisible.class, + StudioPropertyGroups.Enabled.class, + StudioPropertyGroups.Size.class, + StudioPropertyGroups.AriaLabelAndTabIndexAndFocusShortcut.class, + StudioPropertyGroups.RequiredAndRequiredMessageAndErrorMessage.class, + }, properties = { @StudioProperty(xmlAttribute = "alignSelf", category = StudioProperty.Category.POSITION, type = StudioPropertyType.ENUMERATION, classFqn = "com.vaadin.flow.component.orderedlayout.FlexComponent$Alignment", @@ -2691,6 +2981,15 @@ interface StudioComponents { xmlElement = "multiValuePicker", icon = "io/jmix/flowui/kit/meta/icon/component/multiValuePicker.svg", documentationLink = "%VERSION%/flow-ui/vc/components/multiValuePicker.html", + propertyGroups = { + StudioPropertyGroups.AlignSelfAndJustifySelfAndColspan.class, + StudioPropertyGroups.ClassNamesAndCss.class, + StudioPropertyGroups.IdAndVisible.class, + StudioPropertyGroups.Enabled.class, + StudioPropertyGroups.Size.class, + StudioPropertyGroups.AriaLabelAndTabIndexAndFocusShortcut.class, + StudioPropertyGroups.RequiredAndRequiredMessageAndErrorMessage.class, + }, properties = { @StudioProperty(xmlAttribute = "alignSelf", category = StudioProperty.Category.POSITION, type = StudioPropertyType.ENUMERATION, classFqn = "com.vaadin.flow.component.orderedlayout.FlexComponent$Alignment", @@ -2753,6 +3052,12 @@ interface StudioComponents { xmlElement = "loginForm", icon = "io/jmix/flowui/kit/meta/icon/component/loginForm.svg", documentationLink = "%VERSION%/flow-ui/vc/components/loginForm.html", + propertyGroups = { + StudioPropertyGroups.AlignSelfAndJustifySelfAndColspan.class, + StudioPropertyGroups.ClassNamesAndCss.class, + StudioPropertyGroups.IdAndVisible.class, + StudioPropertyGroups.Enabled.class, + }, properties = { @StudioProperty(xmlAttribute = "alignSelf", category = StudioProperty.Category.POSITION, type = StudioPropertyType.ENUMERATION, classFqn = "com.vaadin.flow.component.orderedlayout.FlexComponent$Alignment", @@ -2786,6 +3091,12 @@ interface StudioComponents { category = "Components", xmlElement = "loginOverlay", icon = "io/jmix/flowui/kit/meta/icon/component/loginOverlay.svg", + propertyGroups = { + StudioPropertyGroups.AlignSelfAndJustifySelfAndColspan.class, + StudioPropertyGroups.ClassNamesAndCss.class, + StudioPropertyGroups.IdAndVisible.class, + StudioPropertyGroups.Enabled.class, + }, properties = { @StudioProperty(xmlAttribute = "alignSelf", category = StudioProperty.Category.POSITION, type = StudioPropertyType.ENUMERATION, classFqn = "com.vaadin.flow.component.orderedlayout.FlexComponent$Alignment", @@ -2818,6 +3129,11 @@ interface StudioComponents { xmlElement = "simplePagination", icon = "io/jmix/flowui/kit/meta/icon/component/simplePagination.svg", documentationLink = "%VERSION%/flow-ui/vc/components/simplePagination.html", + propertyGroups = { + StudioPropertyGroups.AlignSelfAndJustifySelfAndColspan.class, + StudioPropertyGroups.ClassNamesAndCss.class, + StudioPropertyGroups.IdAndVisible.class, + }, properties = { @StudioProperty(xmlAttribute = "alignSelf", category = StudioProperty.Category.POSITION, type = StudioPropertyType.ENUMERATION, classFqn = "com.vaadin.flow.component.orderedlayout.FlexComponent$Alignment", @@ -2854,6 +3170,13 @@ interface StudioComponents { xmlElement = "upload", icon = "io/jmix/flowui/kit/meta/icon/component/upload.svg", documentationLink = "%VERSION%/flow-ui/vc/components/upload.html", + propertyGroups = { + StudioPropertyGroups.AlignSelfAndJustifySelfAndColspan.class, + StudioPropertyGroups.ClassNamesAndCss.class, + StudioPropertyGroups.IdAndVisible.class, + StudioPropertyGroups.Enabled.class, + StudioPropertyGroups.Size.class, + }, properties = { @StudioProperty(xmlAttribute = "alignSelf", category = StudioProperty.Category.POSITION, type = StudioPropertyType.ENUMERATION, classFqn = "com.vaadin.flow.component.orderedlayout.FlexComponent$Alignment", @@ -2909,6 +3232,14 @@ interface StudioComponents { convertStrategy = @StudioConvertStrategy(tagsToConvertInto = { @StudioConvertStrategy.TagInfo(qualifiedName = "fileStorageUploadField") }), + propertyGroups = { + StudioPropertyGroups.AlignSelfAndJustifySelfAndColspan.class, + StudioPropertyGroups.ClassNamesAndCss.class, + StudioPropertyGroups.IdAndVisible.class, + StudioPropertyGroups.Enabled.class, + StudioPropertyGroups.Size.class, + StudioPropertyGroups.RequiredAndRequiredMessageAndErrorMessage.class, + }, properties = { @StudioProperty(xmlAttribute = "alignSelf", category = StudioProperty.Category.POSITION, type = StudioPropertyType.ENUMERATION, classFqn = "com.vaadin.flow.component.orderedlayout.FlexComponent$Alignment", @@ -2983,6 +3314,14 @@ interface StudioComponents { convertStrategy = @StudioConvertStrategy(tagsToConvertInto = { @StudioConvertStrategy.TagInfo(qualifiedName = "fileUploadField") }), + propertyGroups = { + StudioPropertyGroups.AlignSelfAndJustifySelfAndColspan.class, + StudioPropertyGroups.ClassNamesAndCss.class, + StudioPropertyGroups.IdAndVisible.class, + StudioPropertyGroups.Enabled.class, + StudioPropertyGroups.Size.class, + StudioPropertyGroups.RequiredAndRequiredMessageAndErrorMessage.class, + }, properties = { @StudioProperty(xmlAttribute = "alignSelf", category = StudioProperty.Category.POSITION, type = StudioPropertyType.ENUMERATION, classFqn = "com.vaadin.flow.component.orderedlayout.FlexComponent$Alignment", @@ -3056,6 +3395,13 @@ interface StudioComponents { xmlElement = "genericFilter", icon = "io/jmix/flowui/kit/meta/icon/component/genericFilter.svg", documentationLink = "%VERSION%/flow-ui/vc/components/genericFilter.html", + propertyGroups = { + StudioPropertyGroups.AlignSelfAndJustifySelfAndColspan.class, + StudioPropertyGroups.ClassNamesAndCss.class, + StudioPropertyGroups.IdAndVisible.class, + StudioPropertyGroups.Enabled.class, + StudioPropertyGroups.Size.class, + }, properties = { @StudioProperty(xmlAttribute = "alignSelf", category = StudioProperty.Category.POSITION, type = StudioPropertyType.ENUMERATION, classFqn = "com.vaadin.flow.component.orderedlayout.FlexComponent$Alignment", @@ -3108,6 +3454,15 @@ interface StudioComponents { maxCount = 1 ) ), + propertyGroups = { + StudioPropertyGroups.AlignSelfAndJustifySelfAndColspan.class, + StudioPropertyGroups.ClassNamesAndCss.class, + StudioPropertyGroups.IdAndVisible.class, + StudioPropertyGroups.Enabled.class, + StudioPropertyGroups.Size.class, + StudioPropertyGroups.AriaLabelAndTabIndexAndFocusShortcut.class, + StudioPropertyGroups.RequiredAndRequiredMessageAndErrorMessage.class, + }, properties = { @StudioProperty(xmlAttribute = "alignSelf", category = StudioProperty.Category.POSITION, type = StudioPropertyType.ENUMERATION, classFqn = "com.vaadin.flow.component.orderedlayout.FlexComponent$Alignment", @@ -3179,6 +3534,15 @@ interface StudioComponents { xmlElement = "jpqlFilter", icon = "io/jmix/flowui/kit/meta/icon/component/jpqlFilter.svg", documentationLink = "%VERSION%/flow-ui/vc/components/genericFilter-components.html#jpql-filter", + propertyGroups = { + StudioPropertyGroups.AlignSelfAndJustifySelfAndColspan.class, + StudioPropertyGroups.ClassNamesAndCss.class, + StudioPropertyGroups.IdAndVisible.class, + StudioPropertyGroups.Enabled.class, + StudioPropertyGroups.Size.class, + StudioPropertyGroups.AriaLabelAndTabIndexAndFocusShortcut.class, + StudioPropertyGroups.RequiredAndRequiredMessageAndErrorMessage.class, + }, properties = { @StudioProperty(xmlAttribute = "alignSelf", category = StudioProperty.Category.POSITION, type = StudioPropertyType.ENUMERATION, classFqn = "com.vaadin.flow.component.orderedlayout.FlexComponent$Alignment", @@ -3241,6 +3605,12 @@ interface StudioComponents { xmlElement = "groupFilter", icon = "io/jmix/flowui/kit/meta/icon/component/groupFilter.svg", documentationLink = "%VERSION%/flow-ui/vc/components/genericFilter-components.html#group-filter", + propertyGroups = { + StudioPropertyGroups.AlignSelfAndJustifySelfAndColspan.class, + StudioPropertyGroups.ClassNamesAndCss.class, + StudioPropertyGroups.IdAndVisible.class, + StudioPropertyGroups.Enabled.class, + }, properties = { @StudioProperty(xmlAttribute = "alignSelf", category = StudioProperty.Category.POSITION, type = StudioPropertyType.ENUMERATION, classFqn = "com.vaadin.flow.component.orderedlayout.FlexComponent$Alignment", @@ -3276,6 +3646,10 @@ interface StudioComponents { name = "Layout", xmlElement = "layout", icon = "io/jmix/flowui/kit/meta/icon/view/layout.svg", + propertyGroups = { + StudioPropertyGroups.ClassNamesAndCss.class, + StudioPropertyGroups.Enabled.class, + }, properties = { @StudioProperty(xmlAttribute = "classNames", category = StudioProperty.Category.LOOK_AND_FEEL, type = StudioPropertyType.VALUES_LIST), @StudioProperty(xmlAttribute = "css", category = StudioProperty.Category.LOOK_AND_FEEL, type = StudioPropertyType.STRING), @@ -3349,6 +3723,14 @@ interface StudioComponents { @StudioConvertStrategy.TagInfo(qualifiedName = "textArea"), @StudioConvertStrategy.TagInfo(qualifiedName = "richTextEditor") }), + propertyGroups = { + StudioPropertyGroups.AlignSelfAndJustifySelfAndColspan.class, + StudioPropertyGroups.ClassNamesAndCss.class, + StudioPropertyGroups.IdAndVisible.class, + StudioPropertyGroups.Enabled.class, + StudioPropertyGroups.Size.class, + StudioPropertyGroups.RequiredAndRequiredMessageAndErrorMessage.class, + }, properties = { @StudioProperty(xmlAttribute = "alignSelf", category = StudioProperty.Category.POSITION, type = StudioPropertyType.ENUMERATION, classFqn = "com.vaadin.flow.component.orderedlayout.FlexComponent$Alignment", @@ -3461,6 +3843,13 @@ interface StudioComponents { category = "Components", xmlElement = "virtualList", icon = "io/jmix/flowui/kit/meta/icon/component/virtualList.svg", + propertyGroups = { + StudioPropertyGroups.AlignSelfAndJustifySelfAndColspan.class, + StudioPropertyGroups.ClassNamesAndCss.class, + StudioPropertyGroups.IdAndVisible.class, + StudioPropertyGroups.Enabled.class, + StudioPropertyGroups.Size.class, + }, properties = { @StudioProperty(xmlAttribute = "alignSelf", category = StudioProperty.Category.POSITION, type = StudioPropertyType.ENUMERATION, classFqn = "com.vaadin.flow.component.orderedlayout.FlexComponent$Alignment", @@ -3511,6 +3900,13 @@ interface StudioComponents { @StudioConvertStrategy.TagInfo(qualifiedName = "multiSelectComboBox"), @StudioConvertStrategy.TagInfo(qualifiedName = "multiValuePicker") }), + propertyGroups = { + StudioPropertyGroups.AlignSelfAndJustifySelfAndColspan.class, + StudioPropertyGroups.ClassNamesAndCss.class, + StudioPropertyGroups.IdAndVisible.class, + StudioPropertyGroups.Enabled.class, + StudioPropertyGroups.Size.class, + }, properties = { @StudioProperty(xmlAttribute = "alignSelf", category = StudioProperty.Category.POSITION, type = StudioPropertyType.ENUMERATION, classFqn = "com.vaadin.flow.component.orderedlayout.FlexComponent$Alignment", @@ -3575,6 +3971,13 @@ interface StudioComponents { category = "Components", xmlElement = "gridColumnVisibility", icon = "io/jmix/flowui/kit/meta/icon/component/gridColumnVisibility.svg", + propertyGroups = { + StudioPropertyGroups.AlignSelfAndJustifySelfAndColspan.class, + StudioPropertyGroups.ClassNamesAndCss.class, + StudioPropertyGroups.IdAndVisible.class, + StudioPropertyGroups.Enabled.class, + StudioPropertyGroups.Size.class, + }, properties = { @StudioProperty(xmlAttribute = "alignSelf", category = StudioProperty.Category.POSITION, type = StudioPropertyType.ENUMERATION, classFqn = "com.vaadin.flow.component.orderedlayout.FlexComponent$Alignment", @@ -3627,6 +4030,14 @@ interface StudioComponents { category = "Components", xmlElement = "menuFilterField", icon = "io/jmix/flowui/kit/meta/icon/component/menufilterfield.svg", + propertyGroups = { + StudioPropertyGroups.AlignSelfAndJustifySelfAndColspan.class, + StudioPropertyGroups.ClassNamesAndCss.class, + StudioPropertyGroups.IdAndVisible.class, + StudioPropertyGroups.Enabled.class, + StudioPropertyGroups.Size.class, + StudioPropertyGroups.AriaLabelAndTabIndexAndFocusShortcut.class, + }, properties = { @StudioProperty(xmlAttribute = "alignSelf", category = StudioProperty.Category.POSITION, type = StudioPropertyType.ENUMERATION, classFqn = "com.vaadin.flow.component.orderedlayout.FlexComponent$Alignment", @@ -3694,6 +4105,13 @@ interface StudioComponents { @StudioConvertStrategy.TagInfo(qualifiedName = "textField"), @StudioConvertStrategy.TagInfo(qualifiedName = "codeEditor") }), + propertyGroups = { + StudioPropertyGroups.AlignSelfAndJustifySelfAndColspan.class, + StudioPropertyGroups.ClassNamesAndCss.class, + StudioPropertyGroups.IdAndVisible.class, + StudioPropertyGroups.Enabled.class, + StudioPropertyGroups.Size.class, + }, properties = { @StudioProperty(xmlAttribute = "id", category = StudioProperty.Category.GENERAL, type = StudioPropertyType.COMPONENT_ID), @StudioProperty(xmlAttribute = "visible", category = StudioProperty.Category.GENERAL, type = StudioPropertyType.BOOLEAN, @@ -3740,6 +4158,12 @@ interface StudioComponents { category = "Components", xmlElement = "horizontalMenu", icon = "io/jmix/flowui/kit/meta/icon/component/horizontalMenu.svg", + propertyGroups = { + StudioPropertyGroups.AlignSelfAndJustifySelfAndColspan.class, + StudioPropertyGroups.ClassNamesAndCss.class, + StudioPropertyGroups.IdAndVisible.class, + StudioPropertyGroups.Size.class, + }, properties = { @StudioProperty(xmlAttribute = "alignSelf", category = StudioProperty.Category.POSITION, type = StudioPropertyType.ENUMERATION, classFqn = "com.vaadin.flow.component.orderedlayout.FlexComponent$Alignment", @@ -3774,6 +4198,11 @@ interface StudioComponents { category = "Components", xmlElement = "listMenu", icon = "io/jmix/flowui/kit/meta/icon/mainview/listMenu.svg", + propertyGroups = { + StudioPropertyGroups.ClassNamesAndCss.class, + StudioPropertyGroups.IdAndVisible.class, + StudioPropertyGroups.Size.class, + }, properties = { @StudioProperty(xmlAttribute = "classNames", category = StudioProperty.Category.LOOK_AND_FEEL, type = StudioPropertyType.VALUES_LIST), @StudioProperty(xmlAttribute = "css", category = StudioProperty.Category.LOOK_AND_FEEL, type = StudioPropertyType.STRING), @@ -3808,6 +4237,11 @@ interface StudioComponents { maxCount = 1 ) ), + propertyGroups = { + StudioPropertyGroups.AlignSelfAndJustifySelfAndColspan.class, + StudioPropertyGroups.ClassNamesAndCss.class, + StudioPropertyGroups.IdAndVisible.class, + }, properties = { @StudioProperty(xmlAttribute = "alignSelf", category = StudioProperty.Category.POSITION, type = StudioPropertyType.ENUMERATION, classFqn = "com.vaadin.flow.component.orderedlayout.FlexComponent$Alignment", @@ -3841,6 +4275,12 @@ interface StudioComponents { maxCount = 1 ) ), + propertyGroups = { + StudioPropertyGroups.AlignSelfAndJustifySelfAndColspan.class, + StudioPropertyGroups.ClassNamesAndCss.class, + StudioPropertyGroups.IdAndVisible.class, + StudioPropertyGroups.Size.class, + }, properties = { @StudioProperty(xmlAttribute = "alignSelf", category = StudioProperty.Category.POSITION, type = StudioPropertyType.ENUMERATION, classFqn = "com.vaadin.flow.component.orderedlayout.FlexComponent$Alignment", diff --git a/jmix-flowui/flowui-kit/src/main/java/io/jmix/flowui/kit/meta/component/StudioHTMLComponents.java b/jmix-flowui/flowui-kit/src/main/java/io/jmix/flowui/kit/meta/component/StudioHTMLComponents.java index c679417470..02bb62e134 100644 --- a/jmix-flowui/flowui-kit/src/main/java/io/jmix/flowui/kit/meta/component/StudioHTMLComponents.java +++ b/jmix-flowui/flowui-kit/src/main/java/io/jmix/flowui/kit/meta/component/StudioHTMLComponents.java @@ -29,6 +29,14 @@ interface StudioHTMLComponents { xmlElement = "anchor", icon = "io/jmix/flowui/kit/meta/icon/html/htmlComponent.svg", documentationLink = "%VERSION%/flow-ui/vc/html.html", + propertyGroups = { + StudioPropertyGroups.AlignSelfAndJustifySelfAndColspan.class, + StudioPropertyGroups.ClassNamesAndCss.class, + StudioPropertyGroups.IdAndVisible.class, + StudioPropertyGroups.Enabled.class, + StudioPropertyGroups.Size.class, + StudioPropertyGroups.AriaLabelAndTabIndexAndFocusShortcut.class, + }, properties = { @StudioProperty(xmlAttribute = "alignSelf", category = StudioProperty.Category.POSITION, type = StudioPropertyType.ENUMERATION, classFqn = "com.vaadin.flow.component.orderedlayout.FlexComponent$Alignment", @@ -87,6 +95,13 @@ interface StudioHTMLComponents { xmlElement = "article", icon = "io/jmix/flowui/kit/meta/icon/html/htmlComponent.svg", documentationLink = "%VERSION%/flow-ui/vc/html.html", + propertyGroups = { + StudioPropertyGroups.AlignSelfAndJustifySelfAndColspan.class, + StudioPropertyGroups.ClassNamesAndCss.class, + StudioPropertyGroups.IdAndVisible.class, + StudioPropertyGroups.Enabled.class, + StudioPropertyGroups.Size.class, + }, properties = { @StudioProperty(xmlAttribute = "alignSelf", category = StudioProperty.Category.POSITION, type = StudioPropertyType.ENUMERATION, classFqn = "com.vaadin.flow.component.orderedlayout.FlexComponent$Alignment", @@ -138,6 +153,13 @@ interface StudioHTMLComponents { xmlElement = "aside", icon = "io/jmix/flowui/kit/meta/icon/html/htmlComponent.svg", documentationLink = "%VERSION%/flow-ui/vc/html.html", + propertyGroups = { + StudioPropertyGroups.AlignSelfAndJustifySelfAndColspan.class, + StudioPropertyGroups.ClassNamesAndCss.class, + StudioPropertyGroups.IdAndVisible.class, + StudioPropertyGroups.Enabled.class, + StudioPropertyGroups.Size.class, + }, properties = { @StudioProperty(xmlAttribute = "alignSelf", category = StudioProperty.Category.POSITION, type = StudioPropertyType.ENUMERATION, classFqn = "com.vaadin.flow.component.orderedlayout.FlexComponent$Alignment", @@ -189,6 +211,13 @@ interface StudioHTMLComponents { xmlElement = "descriptionList", icon = "io/jmix/flowui/kit/meta/icon/html/htmlComponent.svg", documentationLink = "%VERSION%/flow-ui/vc/html.html", + propertyGroups = { + StudioPropertyGroups.AlignSelfAndJustifySelfAndColspan.class, + StudioPropertyGroups.ClassNamesAndCss.class, + StudioPropertyGroups.IdAndVisible.class, + StudioPropertyGroups.Enabled.class, + StudioPropertyGroups.Size.class, + }, properties = { @StudioProperty(xmlAttribute = "alignSelf", category = StudioProperty.Category.POSITION, type = StudioPropertyType.ENUMERATION, classFqn = "com.vaadin.flow.component.orderedlayout.FlexComponent$Alignment", @@ -247,6 +276,13 @@ interface StudioHTMLComponents { @StudioConvertStrategy.TagInfo(qualifiedName = "formLayout"), @StudioConvertStrategy.TagInfo(qualifiedName = "details"), }), + propertyGroups = { + StudioPropertyGroups.AlignSelfAndJustifySelfAndColspan.class, + StudioPropertyGroups.ClassNamesAndCss.class, + StudioPropertyGroups.IdAndVisible.class, + StudioPropertyGroups.Enabled.class, + StudioPropertyGroups.Size.class, + }, properties = { @StudioProperty(xmlAttribute = "alignSelf", category = StudioProperty.Category.POSITION, type = StudioPropertyType.ENUMERATION, classFqn = "com.vaadin.flow.component.orderedlayout.FlexComponent$Alignment", @@ -298,6 +334,13 @@ interface StudioHTMLComponents { xmlElement = "emphasis", icon = "io/jmix/flowui/kit/meta/icon/html/htmlComponent.svg", documentationLink = "%VERSION%/flow-ui/vc/html.html", + propertyGroups = { + StudioPropertyGroups.AlignSelfAndJustifySelfAndColspan.class, + StudioPropertyGroups.ClassNamesAndCss.class, + StudioPropertyGroups.IdAndVisible.class, + StudioPropertyGroups.Enabled.class, + StudioPropertyGroups.Size.class, + }, properties = { @StudioProperty(xmlAttribute = "alignSelf", category = StudioProperty.Category.POSITION, type = StudioPropertyType.ENUMERATION, classFqn = "com.vaadin.flow.component.orderedlayout.FlexComponent$Alignment", @@ -349,6 +392,13 @@ interface StudioHTMLComponents { xmlElement = "footer", icon = "io/jmix/flowui/kit/meta/icon/html/htmlComponent.svg", documentationLink = "%VERSION%/flow-ui/vc/html.html", + propertyGroups = { + StudioPropertyGroups.AlignSelfAndJustifySelfAndColspan.class, + StudioPropertyGroups.ClassNamesAndCss.class, + StudioPropertyGroups.IdAndVisible.class, + StudioPropertyGroups.Enabled.class, + StudioPropertyGroups.Size.class, + }, properties = { @StudioProperty(xmlAttribute = "alignSelf", category = StudioProperty.Category.POSITION, type = StudioPropertyType.ENUMERATION, classFqn = "com.vaadin.flow.component.orderedlayout.FlexComponent$Alignment", @@ -409,6 +459,13 @@ interface StudioHTMLComponents { @StudioConvertStrategy.TagInfo(qualifiedName = "span"), @StudioConvertStrategy.TagInfo(qualifiedName = "nativeLabel"), }), + propertyGroups = { + StudioPropertyGroups.AlignSelfAndJustifySelfAndColspan.class, + StudioPropertyGroups.ClassNamesAndCss.class, + StudioPropertyGroups.IdAndVisible.class, + StudioPropertyGroups.Enabled.class, + StudioPropertyGroups.Size.class, + }, properties = { @StudioProperty(xmlAttribute = "alignSelf", category = StudioProperty.Category.POSITION, type = StudioPropertyType.ENUMERATION, classFqn = "com.vaadin.flow.component.orderedlayout.FlexComponent$Alignment", @@ -476,6 +533,13 @@ interface StudioHTMLComponents { @StudioConvertStrategy.TagInfo(qualifiedName = "span"), @StudioConvertStrategy.TagInfo(qualifiedName = "nativeLabel"), }), + propertyGroups = { + StudioPropertyGroups.AlignSelfAndJustifySelfAndColspan.class, + StudioPropertyGroups.ClassNamesAndCss.class, + StudioPropertyGroups.IdAndVisible.class, + StudioPropertyGroups.Enabled.class, + StudioPropertyGroups.Size.class, + }, properties = { @StudioProperty(xmlAttribute = "alignSelf", category = StudioProperty.Category.POSITION, type = StudioPropertyType.ENUMERATION, classFqn = "com.vaadin.flow.component.orderedlayout.FlexComponent$Alignment", @@ -543,6 +607,13 @@ interface StudioHTMLComponents { @StudioConvertStrategy.TagInfo(qualifiedName = "span"), @StudioConvertStrategy.TagInfo(qualifiedName = "nativeLabel"), }), + propertyGroups = { + StudioPropertyGroups.AlignSelfAndJustifySelfAndColspan.class, + StudioPropertyGroups.ClassNamesAndCss.class, + StudioPropertyGroups.IdAndVisible.class, + StudioPropertyGroups.Enabled.class, + StudioPropertyGroups.Size.class, + }, properties = { @StudioProperty(xmlAttribute = "alignSelf", category = StudioProperty.Category.POSITION, type = StudioPropertyType.ENUMERATION, classFqn = "com.vaadin.flow.component.orderedlayout.FlexComponent$Alignment", @@ -610,6 +681,13 @@ interface StudioHTMLComponents { @StudioConvertStrategy.TagInfo(qualifiedName = "span"), @StudioConvertStrategy.TagInfo(qualifiedName = "nativeLabel"), }), + propertyGroups = { + StudioPropertyGroups.AlignSelfAndJustifySelfAndColspan.class, + StudioPropertyGroups.ClassNamesAndCss.class, + StudioPropertyGroups.IdAndVisible.class, + StudioPropertyGroups.Enabled.class, + StudioPropertyGroups.Size.class, + }, properties = { @StudioProperty(xmlAttribute = "alignSelf", category = StudioProperty.Category.POSITION, type = StudioPropertyType.ENUMERATION, classFqn = "com.vaadin.flow.component.orderedlayout.FlexComponent$Alignment", @@ -677,6 +755,13 @@ interface StudioHTMLComponents { @StudioConvertStrategy.TagInfo(qualifiedName = "span"), @StudioConvertStrategy.TagInfo(qualifiedName = "nativeLabel"), }), + propertyGroups = { + StudioPropertyGroups.AlignSelfAndJustifySelfAndColspan.class, + StudioPropertyGroups.ClassNamesAndCss.class, + StudioPropertyGroups.IdAndVisible.class, + StudioPropertyGroups.Enabled.class, + StudioPropertyGroups.Size.class, + }, properties = { @StudioProperty(xmlAttribute = "alignSelf", category = StudioProperty.Category.POSITION, type = StudioPropertyType.ENUMERATION, classFqn = "com.vaadin.flow.component.orderedlayout.FlexComponent$Alignment", @@ -744,6 +829,13 @@ interface StudioHTMLComponents { @StudioConvertStrategy.TagInfo(qualifiedName = "span"), @StudioConvertStrategy.TagInfo(qualifiedName = "nativeLabel"), }), + propertyGroups = { + StudioPropertyGroups.AlignSelfAndJustifySelfAndColspan.class, + StudioPropertyGroups.ClassNamesAndCss.class, + StudioPropertyGroups.IdAndVisible.class, + StudioPropertyGroups.Enabled.class, + StudioPropertyGroups.Size.class, + }, properties = { @StudioProperty(xmlAttribute = "alignSelf", category = StudioProperty.Category.POSITION, type = StudioPropertyType.ENUMERATION, classFqn = "com.vaadin.flow.component.orderedlayout.FlexComponent$Alignment", @@ -802,6 +894,13 @@ interface StudioHTMLComponents { xmlElement = "header", icon = "io/jmix/flowui/kit/meta/icon/html/htmlComponent.svg", documentationLink = "%VERSION%/flow-ui/vc/html.html", + propertyGroups = { + StudioPropertyGroups.AlignSelfAndJustifySelfAndColspan.class, + StudioPropertyGroups.ClassNamesAndCss.class, + StudioPropertyGroups.IdAndVisible.class, + StudioPropertyGroups.Enabled.class, + StudioPropertyGroups.Size.class, + }, properties = { @StudioProperty(xmlAttribute = "alignSelf", category = StudioProperty.Category.POSITION, type = StudioPropertyType.ENUMERATION, classFqn = "com.vaadin.flow.component.orderedlayout.FlexComponent$Alignment", @@ -853,6 +952,12 @@ interface StudioHTMLComponents { xmlElement = "hr", icon = "io/jmix/flowui/kit/meta/icon/html/htmlComponent.svg", documentationLink = "%VERSION%/flow-ui/vc/html.html", + propertyGroups = { + StudioPropertyGroups.AlignSelfAndJustifySelfAndColspan.class, + StudioPropertyGroups.ClassNamesAndCss.class, + StudioPropertyGroups.IdAndVisible.class, + StudioPropertyGroups.Size.class, + }, properties = { @StudioProperty(xmlAttribute = "alignSelf", category = StudioProperty.Category.POSITION, type = StudioPropertyType.ENUMERATION, classFqn = "com.vaadin.flow.component.orderedlayout.FlexComponent$Alignment", @@ -886,6 +991,13 @@ interface StudioHTMLComponents { xmlElement = "htmlObject", icon = "io/jmix/flowui/kit/meta/icon/html/htmlComponent.svg", documentationLink = "%VERSION%/flow-ui/vc/html.html", + propertyGroups = { + StudioPropertyGroups.AlignSelfAndJustifySelfAndColspan.class, + StudioPropertyGroups.ClassNamesAndCss.class, + StudioPropertyGroups.IdAndVisible.class, + StudioPropertyGroups.Enabled.class, + StudioPropertyGroups.Size.class, + }, properties = { @StudioProperty(xmlAttribute = "alignSelf", category = StudioProperty.Category.POSITION, type = StudioPropertyType.ENUMERATION, classFqn = "com.vaadin.flow.component.orderedlayout.FlexComponent$Alignment", @@ -941,6 +1053,12 @@ interface StudioHTMLComponents { icon = "io/jmix/flowui/kit/meta/icon/html/iFrame.svg", xmlElement = "iframe", documentationLink = "%VERSION%/flow-ui/vc/html.html", + propertyGroups = { + StudioPropertyGroups.AlignSelfAndJustifySelfAndColspan.class, + StudioPropertyGroups.ClassNamesAndCss.class, + StudioPropertyGroups.IdAndVisible.class, + StudioPropertyGroups.Size.class, + }, properties = { @StudioProperty(xmlAttribute = "alignSelf", category = StudioProperty.Category.POSITION, type = StudioPropertyType.ENUMERATION, classFqn = "com.vaadin.flow.component.orderedlayout.FlexComponent$Alignment", @@ -989,6 +1107,13 @@ interface StudioHTMLComponents { xmlElement = "image", icon = "io/jmix/flowui/kit/meta/icon/html/image.svg", documentationLink = "%VERSION%/flow-ui/vc/html-components/image.html", + propertyGroups = { + StudioPropertyGroups.AlignSelfAndJustifySelfAndColspan.class, + StudioPropertyGroups.ClassNamesAndCss.class, + StudioPropertyGroups.IdAndVisible.class, + StudioPropertyGroups.Enabled.class, + StudioPropertyGroups.Size.class, + }, properties = { @StudioProperty(xmlAttribute = "alignSelf", category = StudioProperty.Category.POSITION, type = StudioPropertyType.ENUMERATION, classFqn = "com.vaadin.flow.component.orderedlayout.FlexComponent$Alignment", @@ -1046,6 +1171,14 @@ interface StudioHTMLComponents { xmlElement = "input", icon = "io/jmix/flowui/kit/meta/icon/html/htmlComponent.svg", documentationLink = "%VERSION%/flow-ui/vc/html.html", + propertyGroups = { + StudioPropertyGroups.AlignSelfAndJustifySelfAndColspan.class, + StudioPropertyGroups.ClassNamesAndCss.class, + StudioPropertyGroups.IdAndVisible.class, + StudioPropertyGroups.Enabled.class, + StudioPropertyGroups.Size.class, + StudioPropertyGroups.AriaLabelAndTabIndexAndFocusShortcut.class, + }, properties = { @StudioProperty(xmlAttribute = "alignSelf", category = StudioProperty.Category.POSITION, type = StudioPropertyType.ENUMERATION, classFqn = "com.vaadin.flow.component.orderedlayout.FlexComponent$Alignment", @@ -1094,6 +1227,13 @@ interface StudioHTMLComponents { xmlElement = "listItem", icon = "io/jmix/flowui/kit/meta/icon/html/htmlComponent.svg", documentationLink = "%VERSION%/flow-ui/vc/html.html", + propertyGroups = { + StudioPropertyGroups.AlignSelfAndJustifySelfAndColspan.class, + StudioPropertyGroups.ClassNamesAndCss.class, + StudioPropertyGroups.IdAndVisible.class, + StudioPropertyGroups.Enabled.class, + StudioPropertyGroups.Size.class, + }, properties = { @StudioProperty(xmlAttribute = "alignSelf", category = StudioProperty.Category.POSITION, type = StudioPropertyType.ENUMERATION, classFqn = "com.vaadin.flow.component.orderedlayout.FlexComponent$Alignment", @@ -1145,6 +1285,13 @@ interface StudioHTMLComponents { xmlElement = "main", icon = "io/jmix/flowui/kit/meta/icon/html/htmlComponent.svg", documentationLink = "%VERSION%/flow-ui/vc/html.html", + propertyGroups = { + StudioPropertyGroups.AlignSelfAndJustifySelfAndColspan.class, + StudioPropertyGroups.ClassNamesAndCss.class, + StudioPropertyGroups.IdAndVisible.class, + StudioPropertyGroups.Enabled.class, + StudioPropertyGroups.Size.class, + }, properties = { @StudioProperty(xmlAttribute = "alignSelf", category = StudioProperty.Category.POSITION, type = StudioPropertyType.ENUMERATION, classFqn = "com.vaadin.flow.component.orderedlayout.FlexComponent$Alignment", @@ -1198,6 +1345,13 @@ interface StudioHTMLComponents { xmlElement = "nav", icon = "io/jmix/flowui/kit/meta/icon/html/htmlComponent.svg", documentationLink = "%VERSION%/flow-ui/vc/html.html", + propertyGroups = { + StudioPropertyGroups.AlignSelfAndJustifySelfAndColspan.class, + StudioPropertyGroups.ClassNamesAndCss.class, + StudioPropertyGroups.IdAndVisible.class, + StudioPropertyGroups.Enabled.class, + StudioPropertyGroups.Size.class, + }, properties = { @StudioProperty(xmlAttribute = "alignSelf", category = StudioProperty.Category.POSITION, type = StudioPropertyType.ENUMERATION, classFqn = "com.vaadin.flow.component.orderedlayout.FlexComponent$Alignment", @@ -1251,6 +1405,13 @@ interface StudioHTMLComponents { xmlElement = "orderedList", icon = "io/jmix/flowui/kit/meta/icon/html/htmlComponent.svg", documentationLink = "%VERSION%/flow-ui/vc/html.html", + propertyGroups = { + StudioPropertyGroups.AlignSelfAndJustifySelfAndColspan.class, + StudioPropertyGroups.ClassNamesAndCss.class, + StudioPropertyGroups.IdAndVisible.class, + StudioPropertyGroups.Enabled.class, + StudioPropertyGroups.Size.class, + }, properties = { @StudioProperty(xmlAttribute = "alignSelf", category = StudioProperty.Category.POSITION, type = StudioPropertyType.ENUMERATION, classFqn = "com.vaadin.flow.component.orderedlayout.FlexComponent$Alignment", @@ -1306,6 +1467,13 @@ interface StudioHTMLComponents { xmlElement = "p", icon = "io/jmix/flowui/kit/meta/icon/html/htmlComponent.svg", documentationLink = "%VERSION%/flow-ui/vc/html.html", + propertyGroups = { + StudioPropertyGroups.AlignSelfAndJustifySelfAndColspan.class, + StudioPropertyGroups.ClassNamesAndCss.class, + StudioPropertyGroups.IdAndVisible.class, + StudioPropertyGroups.Enabled.class, + StudioPropertyGroups.Size.class, + }, properties = { @StudioProperty(xmlAttribute = "alignSelf", category = StudioProperty.Category.POSITION, type = StudioPropertyType.ENUMERATION, classFqn = "com.vaadin.flow.component.orderedlayout.FlexComponent$Alignment", @@ -1357,6 +1525,12 @@ interface StudioHTMLComponents { xmlElement = "param", icon = "io/jmix/flowui/kit/meta/icon/html/htmlComponent.svg", documentationLink = "%VERSION%/flow-ui/vc/html.html", + propertyGroups = { + StudioPropertyGroups.AlignSelfAndJustifySelfAndColspan.class, + StudioPropertyGroups.ClassNamesAndCss.class, + StudioPropertyGroups.IdAndVisible.class, + StudioPropertyGroups.Size.class, + }, properties = { @StudioProperty(xmlAttribute = "alignSelf", category = StudioProperty.Category.POSITION, type = StudioPropertyType.ENUMERATION, classFqn = "com.vaadin.flow.component.orderedlayout.FlexComponent$Alignment", @@ -1392,6 +1566,13 @@ interface StudioHTMLComponents { xmlElement = "pre", icon = "io/jmix/flowui/kit/meta/icon/html/htmlComponent.svg", documentationLink = "%VERSION%/flow-ui/vc/html.html", + propertyGroups = { + StudioPropertyGroups.AlignSelfAndJustifySelfAndColspan.class, + StudioPropertyGroups.ClassNamesAndCss.class, + StudioPropertyGroups.IdAndVisible.class, + StudioPropertyGroups.Enabled.class, + StudioPropertyGroups.Size.class, + }, properties = { @StudioProperty(xmlAttribute = "alignSelf", category = StudioProperty.Category.POSITION, type = StudioPropertyType.ENUMERATION, classFqn = "com.vaadin.flow.component.orderedlayout.FlexComponent$Alignment", @@ -1443,6 +1624,13 @@ interface StudioHTMLComponents { xmlElement = "code", icon = "io/jmix/flowui/kit/meta/icon/html/htmlComponent.svg", documentationLink = "%VERSION%/flow-ui/vc/html.html", + propertyGroups = { + StudioPropertyGroups.AlignSelfAndJustifySelfAndColspan.class, + StudioPropertyGroups.ClassNamesAndCss.class, + StudioPropertyGroups.IdAndVisible.class, + StudioPropertyGroups.Enabled.class, + StudioPropertyGroups.Size.class, + }, properties = { @StudioProperty(xmlAttribute = "alignSelf", category = StudioProperty.Category.POSITION, type = StudioPropertyType.ENUMERATION, classFqn = "com.vaadin.flow.component.orderedlayout.FlexComponent$Alignment", @@ -1492,6 +1680,14 @@ interface StudioHTMLComponents { category = "HTML", xmlElement = "rangeInput", icon = "io/jmix/flowui/kit/meta/icon/html/rangeInput.svg", + propertyGroups = { + StudioPropertyGroups.AlignSelfAndJustifySelfAndColspan.class, + StudioPropertyGroups.ClassNamesAndCss.class, + StudioPropertyGroups.IdAndVisible.class, + StudioPropertyGroups.Enabled.class, + StudioPropertyGroups.Size.class, + StudioPropertyGroups.AriaLabelAndTabIndexAndFocusShortcut.class, + }, properties = { @StudioProperty(xmlAttribute = "alignSelf", category = StudioProperty.Category.POSITION, type = StudioPropertyType.ENUMERATION, classFqn = "com.vaadin.flow.component.orderedlayout.FlexComponent$Alignment", @@ -1541,6 +1737,13 @@ interface StudioHTMLComponents { xmlElement = "section", icon = "io/jmix/flowui/kit/meta/icon/html/htmlComponent.svg", documentationLink = "%VERSION%/flow-ui/vc/html.html", + propertyGroups = { + StudioPropertyGroups.AlignSelfAndJustifySelfAndColspan.class, + StudioPropertyGroups.ClassNamesAndCss.class, + StudioPropertyGroups.IdAndVisible.class, + StudioPropertyGroups.Enabled.class, + StudioPropertyGroups.Size.class, + }, properties = { @StudioProperty(xmlAttribute = "alignSelf", category = StudioProperty.Category.POSITION, type = StudioPropertyType.ENUMERATION, classFqn = "com.vaadin.flow.component.orderedlayout.FlexComponent$Alignment", @@ -1600,6 +1803,13 @@ interface StudioHTMLComponents { @StudioConvertStrategy.TagInfo(qualifiedName = "h5"), @StudioConvertStrategy.TagInfo(qualifiedName = "nativeLabel"), }), + propertyGroups = { + StudioPropertyGroups.AlignSelfAndJustifySelfAndColspan.class, + StudioPropertyGroups.ClassNamesAndCss.class, + StudioPropertyGroups.IdAndVisible.class, + StudioPropertyGroups.Enabled.class, + StudioPropertyGroups.Size.class, + }, properties = { @StudioProperty(xmlAttribute = "alignSelf", category = StudioProperty.Category.POSITION, type = StudioPropertyType.ENUMERATION, classFqn = "com.vaadin.flow.component.orderedlayout.FlexComponent$Alignment", @@ -1658,6 +1868,13 @@ interface StudioHTMLComponents { xmlElement = "unorderedList", icon = "io/jmix/flowui/kit/meta/icon/html/htmlComponent.svg", documentationLink = "%VERSION%/flow-ui/vc/html.html", + propertyGroups = { + StudioPropertyGroups.AlignSelfAndJustifySelfAndColspan.class, + StudioPropertyGroups.ClassNamesAndCss.class, + StudioPropertyGroups.IdAndVisible.class, + StudioPropertyGroups.Enabled.class, + StudioPropertyGroups.Size.class, + }, properties = { @StudioProperty(xmlAttribute = "alignSelf", category = StudioProperty.Category.POSITION, type = StudioPropertyType.ENUMERATION, classFqn = "com.vaadin.flow.component.orderedlayout.FlexComponent$Alignment", @@ -1717,6 +1934,13 @@ interface StudioHTMLComponents { @StudioConvertStrategy.TagInfo(qualifiedName = "h5"), @StudioConvertStrategy.TagInfo(qualifiedName = "span"), }), + propertyGroups = { + StudioPropertyGroups.AlignSelfAndJustifySelfAndColspan.class, + StudioPropertyGroups.ClassNamesAndCss.class, + StudioPropertyGroups.IdAndVisible.class, + StudioPropertyGroups.Enabled.class, + StudioPropertyGroups.Size.class, + }, properties = { @StudioProperty(xmlAttribute = "alignSelf", category = StudioProperty.Category.POSITION, type = StudioPropertyType.ENUMERATION, classFqn = "com.vaadin.flow.component.orderedlayout.FlexComponent$Alignment", @@ -1775,6 +1999,14 @@ interface StudioHTMLComponents { xmlElement = "nativeButton", icon = "io/jmix/flowui/kit/meta/icon/html/htmlComponent.svg", documentationLink = "%VERSION%/flow-ui/vc/html.html", + propertyGroups = { + StudioPropertyGroups.AlignSelfAndJustifySelfAndColspan.class, + StudioPropertyGroups.ClassNamesAndCss.class, + StudioPropertyGroups.IdAndVisible.class, + StudioPropertyGroups.Enabled.class, + StudioPropertyGroups.Size.class, + StudioPropertyGroups.AriaLabelAndTabIndexAndFocusShortcut.class, + }, properties = { @StudioProperty(xmlAttribute = "alignSelf", category = StudioProperty.Category.POSITION, type = StudioPropertyType.ENUMERATION, classFqn = "com.vaadin.flow.component.orderedlayout.FlexComponent$Alignment", @@ -1829,6 +2061,13 @@ interface StudioHTMLComponents { category = "HTML", xmlElement = "term", icon = "io/jmix/flowui/kit/meta/icon/html/htmlComponent.svg", + propertyGroups = { + StudioPropertyGroups.AlignSelfAndJustifySelfAndColspan.class, + StudioPropertyGroups.ClassNamesAndCss.class, + StudioPropertyGroups.IdAndVisible.class, + StudioPropertyGroups.Enabled.class, + StudioPropertyGroups.Size.class, + }, properties = { @StudioProperty(xmlAttribute = "alignSelf", category = StudioProperty.Category.POSITION, type = StudioPropertyType.ENUMERATION, classFqn = "com.vaadin.flow.component.orderedlayout.FlexComponent$Alignment", @@ -1879,6 +2118,13 @@ interface StudioHTMLComponents { category = "HTML", xmlElement = "description", icon = "io/jmix/flowui/kit/meta/icon/html/htmlComponent.svg", + propertyGroups = { + StudioPropertyGroups.AlignSelfAndJustifySelfAndColspan.class, + StudioPropertyGroups.ClassNamesAndCss.class, + StudioPropertyGroups.IdAndVisible.class, + StudioPropertyGroups.Enabled.class, + StudioPropertyGroups.Size.class, + }, properties = { @StudioProperty(xmlAttribute = "alignSelf", category = StudioProperty.Category.POSITION, type = StudioPropertyType.ENUMERATION, classFqn = "com.vaadin.flow.component.orderedlayout.FlexComponent$Alignment", @@ -1930,6 +2176,12 @@ interface StudioHTMLComponents { xmlElement = "nativeDetails", icon = "io/jmix/flowui/kit/meta/icon/html/htmlComponent.svg", documentationLink = "%VERSION%/flow-ui/vc/html.html", + propertyGroups = { + StudioPropertyGroups.AlignSelfAndJustifySelfAndColspan.class, + StudioPropertyGroups.ClassNamesAndCss.class, + StudioPropertyGroups.IdAndVisible.class, + StudioPropertyGroups.Size.class, + }, properties = { @StudioProperty(xmlAttribute = "alignSelf", category = StudioProperty.Category.POSITION, type = StudioPropertyType.ENUMERATION, classFqn = "com.vaadin.flow.component.orderedlayout.FlexComponent$Alignment", @@ -1974,6 +2226,13 @@ interface StudioHTMLComponents { @StudioConvertStrategy.TagInfo(qualifiedName = "formLayout"), @StudioConvertStrategy.TagInfo(qualifiedName = "details"), }), + propertyGroups = { + StudioPropertyGroups.AlignSelfAndJustifySelfAndColspan.class, + StudioPropertyGroups.ClassNamesAndCss.class, + StudioPropertyGroups.IdAndVisible.class, + StudioPropertyGroups.Enabled.class, + StudioPropertyGroups.Size.class, + }, properties = { @StudioProperty(xmlAttribute = "alignSelf", category = StudioProperty.Category.POSITION, type = StudioPropertyType.ENUMERATION, classFqn = "com.vaadin.flow.component.orderedlayout.FlexComponent$Alignment", diff --git a/jmix-flowui/flowui-kit/src/main/java/io/jmix/flowui/kit/meta/component/StudioLayouts.java b/jmix-flowui/flowui-kit/src/main/java/io/jmix/flowui/kit/meta/component/StudioLayouts.java index 24f8bb7c72..e2eb9dbb31 100644 --- a/jmix-flowui/flowui-kit/src/main/java/io/jmix/flowui/kit/meta/component/StudioLayouts.java +++ b/jmix-flowui/flowui-kit/src/main/java/io/jmix/flowui/kit/meta/component/StudioLayouts.java @@ -53,6 +53,12 @@ interface StudioLayouts { @StudioConvertStrategy.TagInfo(qualifiedName = "flexLayout"), @StudioConvertStrategy.TagInfo(qualifiedName = "formLayout"), }), + propertyGroups = { + StudioPropertyGroups.AlignSelfAndJustifySelfAndColspan.class, + StudioPropertyGroups.ClassNamesAndCss.class, + StudioPropertyGroups.IdAndVisible.class, + StudioPropertyGroups.Enabled.class, + }, properties = { @StudioProperty(xmlAttribute = "alignSelf", category = StudioProperty.Category.POSITION, type = StudioPropertyType.ENUMERATION, classFqn = "com.vaadin.flow.component.orderedlayout.FlexComponent$Alignment", @@ -100,6 +106,12 @@ interface StudioLayouts { @StudioConvertStrategy.TagInfo(qualifiedName = "flexLayout"), @StudioConvertStrategy.TagInfo(qualifiedName = "formLayout"), }), + propertyGroups = { + StudioPropertyGroups.AlignSelfAndJustifySelfAndColspan.class, + StudioPropertyGroups.ClassNamesAndCss.class, + StudioPropertyGroups.IdAndVisible.class, + StudioPropertyGroups.Enabled.class, + }, properties = { @StudioProperty(xmlAttribute = "alignSelf", category = StudioProperty.Category.POSITION, type = StudioPropertyType.ENUMERATION, classFqn = "com.vaadin.flow.component.orderedlayout.FlexComponent$Alignment", @@ -169,6 +181,12 @@ interface StudioLayouts { @StudioConvertStrategy.TagInfo(qualifiedName = "flexLayout"), @StudioConvertStrategy.TagInfo(qualifiedName = "formLayout"), }), + propertyGroups = { + StudioPropertyGroups.AlignSelfAndJustifySelfAndColspan.class, + StudioPropertyGroups.ClassNamesAndCss.class, + StudioPropertyGroups.IdAndVisible.class, + StudioPropertyGroups.Enabled.class, + }, properties = { @StudioProperty(xmlAttribute = "alignSelf", category = StudioProperty.Category.POSITION, type = StudioPropertyType.ENUMERATION, classFqn = "com.vaadin.flow.component.orderedlayout.FlexComponent$Alignment", @@ -236,6 +254,12 @@ interface StudioLayouts { @StudioConvertStrategy.TagInfo(qualifiedName = "details"), @StudioConvertStrategy.TagInfo(qualifiedName = "formLayout"), }), + propertyGroups = { + StudioPropertyGroups.AlignSelfAndJustifySelfAndColspan.class, + StudioPropertyGroups.ClassNamesAndCss.class, + StudioPropertyGroups.IdAndVisible.class, + StudioPropertyGroups.Enabled.class, + }, properties = { @StudioProperty(xmlAttribute = "alignSelf", category = StudioProperty.Category.POSITION, type = StudioPropertyType.ENUMERATION, classFqn = "com.vaadin.flow.component.orderedlayout.FlexComponent$Alignment", @@ -308,6 +332,12 @@ interface StudioLayouts { availableChildren = @StudioAvailableChildrenInfo( availableClasses = @ClassInfo(qualifiedName = FLOW_COMPONENT_FQN, maxCount = 1) ), + propertyGroups = { + StudioPropertyGroups.AlignSelfAndJustifySelfAndColspan.class, + StudioPropertyGroups.ClassNamesAndCss.class, + StudioPropertyGroups.IdAndVisible.class, + StudioPropertyGroups.Enabled.class, + }, properties = { @StudioProperty(xmlAttribute = "alignSelf", category = StudioProperty.Category.POSITION, type = StudioPropertyType.ENUMERATION, classFqn = "com.vaadin.flow.component.orderedlayout.FlexComponent$Alignment", @@ -354,6 +384,11 @@ interface StudioLayouts { @StudioConvertStrategy.TagInfo(qualifiedName = "flexLayout"), @StudioConvertStrategy.TagInfo(qualifiedName = "formLayout"), }), + propertyGroups = { + StudioPropertyGroups.AlignSelfAndJustifySelfAndColspan.class, + StudioPropertyGroups.ClassNamesAndCss.class, + StudioPropertyGroups.IdAndVisible.class, + }, properties = { @StudioProperty(xmlAttribute = "alignSelf", category = StudioProperty.Category.POSITION, type = StudioPropertyType.ENUMERATION, classFqn = "com.vaadin.flow.component.orderedlayout.FlexComponent$Alignment", @@ -394,6 +429,11 @@ interface StudioLayouts { xmlElement = "accordion", icon = "io/jmix/flowui/kit/meta/icon/layout/accordion.svg", documentationLink = "%VERSION%/flow-ui/vc/layouts/accordion.html", + propertyGroups = { + StudioPropertyGroups.AlignSelfAndJustifySelfAndColspan.class, + StudioPropertyGroups.ClassNamesAndCss.class, + StudioPropertyGroups.IdAndVisible.class, + }, properties = { @StudioProperty(xmlAttribute = "alignSelf", category = StudioProperty.Category.POSITION, type = StudioPropertyType.ENUMERATION, classFqn = "com.vaadin.flow.component.orderedlayout.FlexComponent$Alignment", @@ -425,6 +465,10 @@ interface StudioLayouts { category = "Layouts", xmlElement = "sidePanelLayout", icon = "io/jmix/flowui/kit/meta/icon/layout/sidePanelLayout.svg", + propertyGroups = { + StudioPropertyGroups.AlignSelfAndJustifySelfAndColspan.class, + StudioPropertyGroups.IdAndVisible.class, + }, properties = { @StudioProperty(xmlAttribute = "alignSelf", category = StudioProperty.Category.POSITION, type = StudioPropertyType.ENUMERATION, classFqn = "com.vaadin.flow.component.orderedlayout.FlexComponent$Alignment", @@ -516,6 +560,12 @@ interface StudioLayouts { xmlElement = "formLayout", icon = "io/jmix/flowui/kit/meta/icon/layout/formLayout.svg", documentationLink = "%VERSION%/flow-ui/vc/layouts/formLayout.html", + propertyGroups = { + StudioPropertyGroups.AlignSelfAndJustifySelfAndColspan.class, + StudioPropertyGroups.ClassNamesAndCss.class, + StudioPropertyGroups.IdAndVisible.class, + StudioPropertyGroups.Enabled.class, + }, properties = { @StudioProperty(xmlAttribute = "alignSelf", category = StudioProperty.Category.POSITION, type = StudioPropertyType.ENUMERATION, classFqn = "com.vaadin.flow.component.orderedlayout.FlexComponent$Alignment", @@ -569,6 +619,11 @@ interface StudioLayouts { xmlElement = "tabSheet", icon = "io/jmix/flowui/kit/meta/icon/component/tabSheet.svg", documentationLink = "%VERSION%/flow-ui/vc/layouts/tabSheet.html", + propertyGroups = { + StudioPropertyGroups.AlignSelfAndJustifySelfAndColspan.class, + StudioPropertyGroups.ClassNamesAndCss.class, + StudioPropertyGroups.IdAndVisible.class, + }, properties = { @StudioProperty(xmlAttribute = "alignSelf", category = StudioProperty.Category.POSITION, type = StudioPropertyType.ENUMERATION, classFqn = "com.vaadin.flow.component.orderedlayout.FlexComponent$Alignment", @@ -602,6 +657,13 @@ interface StudioLayouts { classFqn = "io.jmix.flowui.component.card.JmixCard", category = "Layouts", xmlElement = "card", + propertyGroups = { + StudioPropertyGroups.AlignSelfAndJustifySelfAndColspan.class, + StudioPropertyGroups.ClassNamesAndCss.class, + StudioPropertyGroups.IdAndVisible.class, + StudioPropertyGroups.Enabled.class, + StudioPropertyGroups.Size.class, + }, properties = { @StudioProperty(xmlAttribute = "alignSelf", category = StudioProperty.Category.POSITION, type = StudioPropertyType.ENUMERATION, @@ -670,6 +732,13 @@ interface StudioLayouts { category = "Layouts", xmlElement = "gridLayout", icon = "io/jmix/flowui/kit/meta/icon/layout/gridLayout.svg", + propertyGroups = { + StudioPropertyGroups.AlignSelfAndJustifySelfAndColspan.class, + StudioPropertyGroups.ClassNamesAndCss.class, + StudioPropertyGroups.IdAndVisible.class, + StudioPropertyGroups.Enabled.class, + StudioPropertyGroups.Size.class, + }, properties = { @StudioProperty(xmlAttribute = "alignSelf", category = StudioProperty.Category.POSITION, type = StudioPropertyType.ENUMERATION, classFqn = "com.vaadin.flow.component.orderedlayout.FlexComponent$Alignment", diff --git a/jmix-flowui/flowui-kit/src/main/java/io/jmix/flowui/kit/meta/component/StudioMainViewComponents.java b/jmix-flowui/flowui-kit/src/main/java/io/jmix/flowui/kit/meta/component/StudioMainViewComponents.java index fba46003f0..9d20bce572 100644 --- a/jmix-flowui/flowui-kit/src/main/java/io/jmix/flowui/kit/meta/component/StudioMainViewComponents.java +++ b/jmix-flowui/flowui-kit/src/main/java/io/jmix/flowui/kit/meta/component/StudioMainViewComponents.java @@ -22,6 +22,7 @@ import io.jmix.flowui.kit.meta.StudioAvailableChildrenInfo; import io.jmix.flowui.kit.meta.StudioComponent; import io.jmix.flowui.kit.meta.StudioProperty; +import io.jmix.flowui.kit.meta.StudioPropertyGroups; import io.jmix.flowui.kit.meta.StudioPropertyType; import io.jmix.flowui.kit.meta.StudioUiKit; @@ -34,6 +35,7 @@ interface StudioMainViewComponents { xmlElement = "appLayout", icon = "io/jmix/flowui/kit/meta/icon/mainview/appLayout.svg", availablePlaceRegExp = "^mainView$", + propertyGroups = StudioPropertyGroups.ClassNamesAndCss.class, properties = { @StudioProperty(xmlAttribute = "classNames", category = StudioProperty.Category.LOOK_AND_FEEL, type = StudioPropertyType.VALUES_LIST), @StudioProperty(xmlAttribute = "css", category = StudioProperty.Category.LOOK_AND_FEEL, type = StudioPropertyType.STRING), @@ -55,6 +57,13 @@ interface StudioMainViewComponents { icon = "io/jmix/flowui/kit/meta/icon/mainview/userIndicator.svg", availablePlaceRegExp = "(^(mainView/appLayout)?((/drawerLayout)|(/navigationBar))$)" + "|(^((mainView/appLayout)?((/drawerLayout)|(/navigationBar)))?(/hasComponents)*$)", + propertyGroups = { + StudioPropertyGroups.Size.class, + StudioPropertyGroups.ClassNamesAndCss.class, + StudioPropertyGroups.IdAndVisible.class, + StudioPropertyGroups.Enabled.class, + }, + properties = { @StudioProperty(xmlAttribute = "classNames", category = StudioProperty.Category.LOOK_AND_FEEL, type = StudioPropertyType.VALUES_LIST), @StudioProperty(xmlAttribute = "css", category = StudioProperty.Category.LOOK_AND_FEEL, type = StudioPropertyType.STRING), diff --git a/jmix-fullcalendar/fullcalendar-flowui-kit/src/main/java/io/jmix/fullcalendarflowui/kit/meta/StudioFullCalendarComponents.java b/jmix-fullcalendar/fullcalendar-flowui-kit/src/main/java/io/jmix/fullcalendarflowui/kit/meta/StudioFullCalendarComponents.java index 6b5f008592..a3373436a8 100644 --- a/jmix-fullcalendar/fullcalendar-flowui-kit/src/main/java/io/jmix/fullcalendarflowui/kit/meta/StudioFullCalendarComponents.java +++ b/jmix-fullcalendar/fullcalendar-flowui-kit/src/main/java/io/jmix/fullcalendarflowui/kit/meta/StudioFullCalendarComponents.java @@ -22,6 +22,7 @@ import io.jmix.flowui.kit.meta.StudioUiKit; import io.jmix.fullcalendarflowui.kit.component.JmixFullCalendar; +import io.jmix.flowui.kit.meta.StudioPropertyGroups; @StudioUiKit(studioClassloaderDependencies = "io.jmix.fullcalendar:jmix-fullcalendar-flowui-kit") public interface StudioFullCalendarComponents { @@ -34,6 +35,11 @@ public interface StudioFullCalendarComponents { classFqn = "io.jmix.fullcalendarflowui.component.FullCalendar", documentationLink = "%VERSION%/calendar/full-calendar-component.html", icon = "io/jmix/fullcalendarflowui/kit/meta/icon/component/calendar.svg", + propertyGroups = { + StudioPropertyGroups.ClassNamesAndCss.class, + StudioPropertyGroups.IdAndVisible.class, + StudioPropertyGroups.Size.class, + }, properties = { @StudioProperty(xmlAttribute = "alignSelf", category = StudioProperty.Category.POSITION, type = StudioPropertyType.ENUMERATION, classFqn = "com.vaadin.flow.component.orderedlayout.FlexComponent$Alignment", diff --git a/jmix-messagetemplates/messagetemplates-flowui-kit/src/main/java/io/jmix/messagetemplatesflowui/kit/meta/StudioGrapesJsComponents.java b/jmix-messagetemplates/messagetemplates-flowui-kit/src/main/java/io/jmix/messagetemplatesflowui/kit/meta/StudioGrapesJsComponents.java index 16fd5e523c..3928e9fc1d 100644 --- a/jmix-messagetemplates/messagetemplates-flowui-kit/src/main/java/io/jmix/messagetemplatesflowui/kit/meta/StudioGrapesJsComponents.java +++ b/jmix-messagetemplates/messagetemplates-flowui-kit/src/main/java/io/jmix/messagetemplatesflowui/kit/meta/StudioGrapesJsComponents.java @@ -22,6 +22,7 @@ import io.jmix.flowui.kit.meta.StudioUiKit; import io.jmix.messagetemplatesflowui.kit.component.GrapesJs; +import io.jmix.flowui.kit.meta.StudioPropertyGroups; @StudioUiKit(studioClassloaderDependencies = "io.jmix.messagetemplates:jmix-messagetemplates-flowui-kit") public interface StudioGrapesJsComponents { @@ -33,6 +34,11 @@ public interface StudioGrapesJsComponents { xmlns = "http://jmix.io/schema/messagetemplates/ui", xmlnsAlias = "msgtmp", icon = "io/jmix/messagetemplatesflowui/kit/meta/icon/unknownComponent.svg", + propertyGroups = { + StudioPropertyGroups.ClassNamesAndCss.class, + StudioPropertyGroups.IdAndVisible.class, + StudioPropertyGroups.SizeWithoutOptions.class, + }, properties = { @StudioProperty(xmlAttribute = "alignSelf", type = StudioPropertyType.ENUMERATION, category = StudioProperty.Category.POSITION, diff --git a/jmix-pivottable/pivottable-flowui-kit/src/main/java/io/jmix/pivottableflowui/kit/meta/StudioPivotTableComponents.java b/jmix-pivottable/pivottable-flowui-kit/src/main/java/io/jmix/pivottableflowui/kit/meta/StudioPivotTableComponents.java index 78240d0bf3..e0cb4fd5f6 100644 --- a/jmix-pivottable/pivottable-flowui-kit/src/main/java/io/jmix/pivottableflowui/kit/meta/StudioPivotTableComponents.java +++ b/jmix-pivottable/pivottable-flowui-kit/src/main/java/io/jmix/pivottableflowui/kit/meta/StudioPivotTableComponents.java @@ -30,6 +30,11 @@ public interface StudioPivotTableComponents { icon = "io/jmix/pivottableflowui/kit/meta/icon/component/pivotTable.svg", xmlns = "http://jmix.io/schema/pvttbl/ui", xmlnsAlias = "pvttbl", + propertyGroups = { + StudioPropertyGroups.ClassNamesAndCss.class, + StudioPropertyGroups.Enabled.class, + StudioPropertyGroups.SizeWithoutOptions.class, + }, properties = { @StudioProperty(xmlAttribute = "alignSelf", type = StudioPropertyType.ENUMERATION, classFqn = "com.vaadin.flow.component.orderedlayout.FlexComponent$Alignment", diff --git a/jmix-search/search-flowui-kit/src/main/java/io/jmix/searchflowui/kit/meta/component/StudioSearchComponents.java b/jmix-search/search-flowui-kit/src/main/java/io/jmix/searchflowui/kit/meta/component/StudioSearchComponents.java index ca523f6d90..bd0168d918 100644 --- a/jmix-search/search-flowui-kit/src/main/java/io/jmix/searchflowui/kit/meta/component/StudioSearchComponents.java +++ b/jmix-search/search-flowui-kit/src/main/java/io/jmix/searchflowui/kit/meta/component/StudioSearchComponents.java @@ -20,6 +20,7 @@ import com.vaadin.flow.component.textfield.TextField; import io.jmix.flowui.kit.meta.StudioComponent; import io.jmix.flowui.kit.meta.StudioProperty; +import io.jmix.flowui.kit.meta.StudioPropertyGroups; import io.jmix.flowui.kit.meta.StudioPropertyType; import io.jmix.flowui.kit.meta.StudioUiKit; @@ -34,6 +35,15 @@ public interface StudioSearchComponents { xmlns = "http://jmix.io/schema/search/ui", xmlnsAlias = "search", icon = "io/jmix/searchflowui/kit/meta/icon/component/searchField.svg", + propertyGroups = { + StudioPropertyGroups.Size.class, + StudioPropertyGroups.AlignSelfAndJustifySelfAndColspan.class, + StudioPropertyGroups.ClassNamesAndCss.class, + StudioPropertyGroups.IdAndVisible.class, + StudioPropertyGroups.Enabled.class, + StudioPropertyGroups.AriaLabelAndTabIndexAndFocusShortcut.class, + }, + properties = { @StudioProperty(xmlAttribute = "alignSelf", category = StudioProperty.Category.POSITION, type = StudioPropertyType.ENUMERATION, classFqn = "com.vaadin.flow.component.orderedlayout.FlexComponent$Alignment", @@ -99,6 +109,16 @@ public interface StudioSearchComponents { xmlns = "http://jmix.io/schema/search/ui", xmlnsAlias = "search", icon = "io/jmix/searchflowui/kit/meta/icon/component/searchField.svg", + propertyGroups = { + StudioPropertyGroups.Size.class, + StudioPropertyGroups.AlignSelfAndJustifySelfAndColspan.class, + StudioPropertyGroups.ClassNamesAndCss.class, + StudioPropertyGroups.IdAndVisible.class, + StudioPropertyGroups.Enabled.class, + StudioPropertyGroups.AriaLabelAndTabIndexAndFocusShortcut.class, + StudioPropertyGroups.RequiredAndRequiredMessageAndErrorMessage.class, + }, + properties = { @StudioProperty(xmlAttribute = "alignSelf", category = StudioProperty.Category.POSITION, type = StudioPropertyType.ENUMERATION, classFqn = "com.vaadin.flow.component.orderedlayout.FlexComponent$Alignment", diff --git a/jmix-superset/superset-flowui-kit/src/main/java/io/jmix/supersetflowui/kit/meta/StudioSupersetComponents.java b/jmix-superset/superset-flowui-kit/src/main/java/io/jmix/supersetflowui/kit/meta/StudioSupersetComponents.java index aa70ed209f..cb11c0d230 100644 --- a/jmix-superset/superset-flowui-kit/src/main/java/io/jmix/supersetflowui/kit/meta/StudioSupersetComponents.java +++ b/jmix-superset/superset-flowui-kit/src/main/java/io/jmix/supersetflowui/kit/meta/StudioSupersetComponents.java @@ -21,6 +21,7 @@ import io.jmix.flowui.kit.meta.StudioPropertyType; import io.jmix.flowui.kit.meta.StudioUiKit; +import io.jmix.flowui.kit.meta.StudioPropertyGroups; @StudioUiKit public interface StudioSupersetComponents { @@ -32,6 +33,11 @@ public interface StudioSupersetComponents { xmlns = "http://jmix.io/schema/superset/ui", xmlnsAlias = "superset", icon = "io/jmix/supersetflowui/kit/meta/icon/supersetDashboard.svg", + propertyGroups = { + StudioPropertyGroups.ClassNamesAndCss.class, + StudioPropertyGroups.IdAndVisible.class, + StudioPropertyGroups.Size.class, + }, properties = { @StudioProperty(xmlAttribute = "alignSelf", category = StudioProperty.Category.POSITION, type = StudioPropertyType.ENUMERATION, classFqn = "com.vaadin.flow.component.orderedlayout.FlexComponent$Alignment", From 55a99fc5d9af0e9820c9583fa667af78aa0d1f40 Mon Sep 17 00:00:00 2001 From: Mikhail Fedoseev Date: Wed, 1 Apr 2026 00:16:27 +0300 Subject: [PATCH 03/10] Simplify components meta-descriptions #5053 --- .../kit/meta/StudioChartsComponents.java | 10 + .../kit/meta/StudioChartsElements.java | 2119 ++++++++++++++++ .../kit/meta/StudioChartsPropertyGroups.java | 2170 +++++++++++++++++ .../component/DynAttrStudioComponents.java | 7 +- .../kit/meta/facet/DynAttrStudioFacets.java | 4 + .../flowui/kit/meta/StudioPropertyGroups.java | 1647 ++++++++++++- .../flowui/kit/meta/action/StudioActions.java | 11 + .../meta/action/StudioBulkEditorActions.java | 8 + .../meta/action/StudioDataToolsActions.java | 8 + .../action/StudioGenericFilterActions.java | 42 +- .../StudioGenericFilterDataActions.java | 40 + .../meta/action/StudioGridExportActions.java | 15 + .../StudioListDataComponentActions.java | 57 + .../meta/action/StudioMainViewActions.java | 8 + .../kit/meta/action/StudioPickerActions.java | 51 + .../kit/meta/action/StudioReportsActions.java | 44 +- .../meta/action/StudioSecurityActions.java | 50 +- .../meta/action/StudioUserMenuActions.java | 9 + .../kit/meta/action/StudioViewActions.java | 57 + .../actionsgroup/StudioActionsGroups.java | 4 + .../kit/meta/component/StudioComponents.java | 688 +++++- .../meta/component/StudioHTMLComponents.java | 306 ++- .../kit/meta/component/StudioLayouts.java | 110 +- .../component/StudioMainViewComponents.java | 10 +- .../StudioDataComponentPropertyGroups.java | 44 + .../datacomponent/StudioDataComponents.java | 13 +- .../kit/meta/element/StudioDataElements.java | 35 + .../kit/meta/element/StudioElements.java | 399 ++- .../meta/element/StudioFormatterElements.java | 4 + .../kit/meta/element/StudioHTMLElements.java | 37 + .../meta/element/StudioMainViewElements.java | 26 + .../element/StudioValidatorsElements.java | 63 + .../elementsgroup/StudioElementsGroups.java | 7 +- .../flowui/kit/meta/facet/StudioFacets.java | 26 +- .../kit/meta/StudioFullCalendarActions.java | 6 + .../meta/StudioFullCalendarComponents.java | 2 + .../kit/meta/StudioFullCalendarElements.java | 147 ++ .../StudioFullCalendarPropertyGroups.java | 338 +++ .../kit/meta/StudioGrapesJsComponents.java | 4 +- .../kit/meta/StudioGrapesJsElements.java | 11 + .../kit/meta/StudioPivotTableActions.java | 7 +- .../kit/meta/StudioPivotTableComponents.java | 5 +- .../kit/meta/StudioPivotTableElements.java | 3 + .../component/StudioSearchComponents.java | 29 +- .../kit/meta/StudioSupersetComponents.java | 2 + 45 files changed, 8437 insertions(+), 246 deletions(-) create mode 100644 jmix-charts/charts-flowui-kit/src/main/java/io/jmix/chartsflowui/kit/meta/StudioChartsPropertyGroups.java create mode 100644 jmix-flowui/flowui-kit/src/main/java/io/jmix/flowui/kit/meta/datacomponent/StudioDataComponentPropertyGroups.java create mode 100644 jmix-fullcalendar/fullcalendar-flowui-kit/src/main/java/io/jmix/fullcalendarflowui/kit/meta/StudioFullCalendarPropertyGroups.java diff --git a/jmix-charts/charts-flowui-kit/src/main/java/io/jmix/chartsflowui/kit/meta/StudioChartsComponents.java b/jmix-charts/charts-flowui-kit/src/main/java/io/jmix/chartsflowui/kit/meta/StudioChartsComponents.java index 8ca397b42c..83f7f61e1c 100644 --- a/jmix-charts/charts-flowui-kit/src/main/java/io/jmix/chartsflowui/kit/meta/StudioChartsComponents.java +++ b/jmix-charts/charts-flowui-kit/src/main/java/io/jmix/chartsflowui/kit/meta/StudioChartsComponents.java @@ -33,6 +33,16 @@ public interface StudioChartsComponents { StudioPropertyGroups.ClassNamesAndCss.class, StudioPropertyGroups.IdAndVisible.class, StudioPropertyGroups.Size.class, + StudioPropertyGroups.AlignSelf.class, + StudioChartsPropertyGroups.Animation.class, + StudioChartsPropertyGroups.AnimationThreshold.class, + StudioChartsPropertyGroups.AnimationDuration.class, + StudioChartsPropertyGroups.AnimationEasing.class, + StudioChartsPropertyGroups.AnimationDelay.class, + StudioChartsPropertyGroups.AnimationDurationUpdate.class, + StudioChartsPropertyGroups.AnimationEasingUpdate.class, + StudioChartsPropertyGroups.AnimationDelayUpdate.class, + StudioPropertyGroups.Colspan.class }, properties = { @StudioProperty(xmlAttribute = "alignSelf", category = StudioProperty.Category.POSITION, type = StudioPropertyType.ENUMERATION, diff --git a/jmix-charts/charts-flowui-kit/src/main/java/io/jmix/chartsflowui/kit/meta/StudioChartsElements.java b/jmix-charts/charts-flowui-kit/src/main/java/io/jmix/chartsflowui/kit/meta/StudioChartsElements.java index 787659c14e..a0c637b42d 100644 --- a/jmix-charts/charts-flowui-kit/src/main/java/io/jmix/chartsflowui/kit/meta/StudioChartsElements.java +++ b/jmix-charts/charts-flowui-kit/src/main/java/io/jmix/chartsflowui/kit/meta/StudioChartsElements.java @@ -63,6 +63,26 @@ public interface StudioChartsElements { xmlnsAlias = "charts", unlimitedCount = false, icon = "io/jmix/chartsflowui/kit/meta/icon/unknownComponent.svg", + propertyGroups = { + StudioChartsPropertyGroups.ChartColor.class, + StudioChartsPropertyGroups.FontStyle.class, + StudioChartsPropertyGroups.FontWeight.class, + StudioChartsPropertyGroups.FontFamily.class, + StudioChartsPropertyGroups.FontSize.class, + StudioChartsPropertyGroups.LineHeight.class, + StudioPropertyGroups.WidthWithIntegerType.class, + StudioChartsPropertyGroups.Height.class, + StudioChartsPropertyGroups.TextBorderColor.class, + StudioChartsPropertyGroups.TextBorderWidth.class, + StudioChartsPropertyGroups.TextBorderType.class, + StudioChartsPropertyGroups.TextBorderDashOffset.class, + StudioChartsPropertyGroups.TextShadowColor.class, + StudioChartsPropertyGroups.TextShadowBlur.class, + StudioChartsPropertyGroups.TextShadowOffsetX.class, + StudioChartsPropertyGroups.TextShadowOffsetY.class, + StudioChartsPropertyGroups.Overflow.class, + StudioChartsPropertyGroups.Ellipsis.class + }, properties = { @StudioProperty(xmlAttribute = "color", type = StudioPropertyType.OPTIONS, options = {"ALICEBLUE", "ANTIQUEWHITE", "AQUA", "AQUAMARINE", "AZURE", "BEIGE", "BISQUE", @@ -172,6 +192,28 @@ public interface StudioChartsElements { unlimitedCount = false, isInjectable = false, icon = "io/jmix/chartsflowui/kit/meta/icon/unknownComponent.svg", + propertyGroups = { + StudioPropertyGroups.Id.class, + StudioChartsPropertyGroups.Show.class, + StudioPropertyGroups.Text.class, + StudioChartsPropertyGroups.TriggerEvent.class, + StudioChartsPropertyGroups.Padding.class, + StudioChartsPropertyGroups.ItemGap.class, + StudioChartsPropertyGroups.ZLevel2.class, + StudioChartsPropertyGroups.Z2.class, + StudioChartsPropertyGroups.Left2.class, + StudioChartsPropertyGroups.Top2.class, + StudioChartsPropertyGroups.Right2.class, + StudioChartsPropertyGroups.Bottom2.class, + StudioChartsPropertyGroups.BackgroundColor.class, + StudioChartsPropertyGroups.BorderColor.class, + StudioChartsPropertyGroups.BorderWidth2.class, + StudioChartsPropertyGroups.BorderRadius.class, + StudioChartsPropertyGroups.ShadowBlur.class, + StudioChartsPropertyGroups.ShadowColor.class, + StudioChartsPropertyGroups.ShadowOffsetX.class, + StudioChartsPropertyGroups.ShadowOffsetY.class + }, properties = { @StudioProperty(xmlAttribute = "id", category = StudioProperty.Category.GENERAL, type = StudioPropertyType.COMPONENT_ID), @StudioProperty(xmlAttribute = "show", type = StudioPropertyType.BOOLEAN), @@ -293,6 +335,26 @@ public interface StudioChartsElements { xmlnsAlias = "charts", unlimitedCount = false, icon = "io/jmix/chartsflowui/kit/meta/icon/unknownComponent.svg", + propertyGroups = { + StudioChartsPropertyGroups.ChartColor.class, + StudioChartsPropertyGroups.Ellipsis.class, + StudioChartsPropertyGroups.FontFamily.class, + StudioChartsPropertyGroups.FontSize.class, + StudioChartsPropertyGroups.FontStyle.class, + StudioChartsPropertyGroups.FontWeight.class, + StudioChartsPropertyGroups.Height.class, + StudioChartsPropertyGroups.LineHeight.class, + StudioChartsPropertyGroups.Overflow.class, + StudioChartsPropertyGroups.TextBorderColor.class, + StudioChartsPropertyGroups.TextBorderDashOffset.class, + StudioChartsPropertyGroups.TextBorderType.class, + StudioChartsPropertyGroups.TextBorderWidth.class, + StudioChartsPropertyGroups.TextShadowBlur.class, + StudioChartsPropertyGroups.TextShadowColor.class, + StudioChartsPropertyGroups.TextShadowOffsetX.class, + StudioChartsPropertyGroups.TextShadowOffsetY.class, + StudioPropertyGroups.WidthWithIntegerType.class + }, properties = { @StudioProperty(xmlAttribute = "color", type = StudioPropertyType.OPTIONS, options = {"ALICEBLUE", "ANTIQUEWHITE", "AQUA", "AQUAMARINE", "AZURE", "BEIGE", "BISQUE", @@ -401,6 +463,28 @@ public interface StudioChartsElements { xmlnsAlias = "charts", unlimitedCount = false, icon = "io/jmix/chartsflowui/kit/meta/icon/unknownComponent.svg", + propertyGroups = { + StudioChartsPropertyGroups.Align.class, + StudioChartsPropertyGroups.ChartColor.class, + StudioChartsPropertyGroups.Ellipsis.class, + StudioChartsPropertyGroups.FontFamily.class, + StudioChartsPropertyGroups.FontSize.class, + StudioChartsPropertyGroups.FontStyle.class, + StudioChartsPropertyGroups.FontWeight.class, + StudioChartsPropertyGroups.Height.class, + StudioChartsPropertyGroups.LineHeight.class, + StudioChartsPropertyGroups.Overflow.class, + StudioChartsPropertyGroups.TextBorderColor.class, + StudioChartsPropertyGroups.TextBorderDashOffset.class, + StudioChartsPropertyGroups.TextBorderType.class, + StudioChartsPropertyGroups.TextBorderWidth.class, + StudioChartsPropertyGroups.TextShadowBlur.class, + StudioChartsPropertyGroups.TextShadowColor.class, + StudioChartsPropertyGroups.TextShadowOffsetX.class, + StudioChartsPropertyGroups.TextShadowOffsetY.class, + StudioChartsPropertyGroups.VerticalAlign.class, + StudioPropertyGroups.WidthWithIntegerType.class + }, properties = { @StudioProperty(xmlAttribute = "align", type = StudioPropertyType.ENUMERATION, classFqn = "io.jmix.chartsflowui.kit.component.model.shared.Align", @@ -513,6 +597,37 @@ public interface StudioChartsElements { xmlns = "http://jmix.io/schema/charts/ui", xmlnsAlias = "charts", icon = "io/jmix/chartsflowui/kit/meta/icon/unknownComponent.svg", + propertyGroups = { + StudioPropertyGroups.Name3.class, + StudioChartsPropertyGroups.Align.class, + StudioChartsPropertyGroups.BackgroundColor.class, + StudioChartsPropertyGroups.BorderColor.class, + StudioChartsPropertyGroups.BorderDashOffset.class, + StudioChartsPropertyGroups.BorderRadius.class, + StudioChartsPropertyGroups.BorderType.class, + StudioChartsPropertyGroups.BorderWidth2.class, + StudioChartsPropertyGroups.ChartColor.class, + StudioChartsPropertyGroups.FontFamily.class, + StudioChartsPropertyGroups.FontSize.class, + StudioChartsPropertyGroups.FontStyle.class, + StudioChartsPropertyGroups.FontWeight.class, + StudioChartsPropertyGroups.Height.class, + StudioChartsPropertyGroups.LineHeight.class, + StudioChartsPropertyGroups.Padding.class, + StudioChartsPropertyGroups.ShadowBlur.class, + StudioChartsPropertyGroups.ShadowColor.class, + StudioChartsPropertyGroups.ShadowOffsetX.class, + StudioChartsPropertyGroups.ShadowOffsetY.class, + StudioChartsPropertyGroups.TextBorderColor.class, + StudioChartsPropertyGroups.TextBorderDashOffset.class, + StudioChartsPropertyGroups.TextBorderType.class, + StudioChartsPropertyGroups.TextShadowBlur.class, + StudioChartsPropertyGroups.TextShadowColor.class, + StudioChartsPropertyGroups.TextShadowOffsetX.class, + StudioChartsPropertyGroups.TextShadowOffsetY.class, + StudioChartsPropertyGroups.VerticalAlign.class, + StudioPropertyGroups.WidthWithIntegerType.class + }, properties = { @StudioProperty(xmlAttribute = "name", type = StudioPropertyType.STRING, required = true), @StudioProperty(xmlAttribute = "align", type = StudioPropertyType.ENUMERATION, @@ -708,6 +823,15 @@ public interface StudioChartsElements { unlimitedCount = false, isInjectable = false, icon = "io/jmix/chartsflowui/kit/meta/icon/unknownComponent.svg", + propertyGroups = { + StudioPropertyGroups.Id.class, + StudioChartsPropertyGroups.GeoIndex.class, + StudioChartsPropertyGroups.XAxisIndex.class, + StudioChartsPropertyGroups.XAxisIndexes.class, + StudioChartsPropertyGroups.YAxisIndex.class, + StudioChartsPropertyGroups.YAxisIndexes.class, + StudioChartsPropertyGroups.Z2.class + }, properties = { @StudioProperty(xmlAttribute = "id", category = StudioProperty.Category.GENERAL, type = StudioPropertyType.COMPONENT_ID), @StudioProperty(xmlAttribute = "toolboxes", type = StudioPropertyType.VALUES_LIST, @@ -760,6 +884,11 @@ public interface StudioChartsElements { xmlnsAlias = "charts", unlimitedCount = false, icon = "io/jmix/chartsflowui/kit/meta/icon/unknownComponent.svg", + propertyGroups = { + StudioChartsPropertyGroups.BorderWidth2.class, + StudioChartsPropertyGroups.ChartColor.class, + StudioChartsPropertyGroups.BorderColor.class + }, properties = { @StudioProperty(xmlAttribute = "borderWidth", type = StudioPropertyType.INTEGER), @StudioProperty(xmlAttribute = "color", type = StudioPropertyType.OPTIONS, @@ -825,6 +954,16 @@ public interface StudioChartsElements { xmlnsAlias = "charts", unlimitedCount = false, icon = "io/jmix/chartsflowui/kit/meta/icon/unknownComponent.svg", + propertyGroups = { + StudioChartsPropertyGroups.Symbol.class, + StudioChartsPropertyGroups.SymbolSize2.class, + StudioChartsPropertyGroups.Color.class, + StudioChartsPropertyGroups.ColorAlpha.class, + StudioChartsPropertyGroups.Opacity2.class, + StudioChartsPropertyGroups.ColorLightness.class, + StudioChartsPropertyGroups.ColorSaturation.class, + StudioChartsPropertyGroups.ColorHue.class + }, properties = { @StudioProperty(xmlAttribute = "symbol", type = StudioPropertyType.VALUES_LIST), @StudioProperty(xmlAttribute = "symbolSize", type = StudioPropertyType.VALUES_LIST), @@ -871,6 +1010,16 @@ public interface StudioChartsElements { xmlnsAlias = "charts", unlimitedCount = false, icon = "io/jmix/chartsflowui/kit/meta/icon/unknownComponent.svg", + propertyGroups = { + StudioChartsPropertyGroups.Symbol.class, + StudioChartsPropertyGroups.SymbolSize2.class, + StudioChartsPropertyGroups.Color.class, + StudioChartsPropertyGroups.ColorAlpha.class, + StudioChartsPropertyGroups.Opacity2.class, + StudioChartsPropertyGroups.ColorLightness.class, + StudioChartsPropertyGroups.ColorSaturation.class, + StudioChartsPropertyGroups.ColorHue.class + }, properties = { @StudioProperty(xmlAttribute = "symbol", type = StudioPropertyType.VALUES_LIST), @StudioProperty(xmlAttribute = "symbolSize", type = StudioPropertyType.VALUES_LIST), @@ -920,6 +1069,16 @@ public interface StudioChartsElements { xmlnsAlias = "charts", unlimitedCount = false, icon = "io/jmix/chartsflowui/kit/meta/icon/unknownComponent.svg", + propertyGroups = { + StudioChartsPropertyGroups.Symbol.class, + StudioChartsPropertyGroups.SymbolSize2.class, + StudioChartsPropertyGroups.Color.class, + StudioChartsPropertyGroups.ColorAlpha.class, + StudioChartsPropertyGroups.Opacity2.class, + StudioChartsPropertyGroups.ColorLightness.class, + StudioChartsPropertyGroups.ColorSaturation.class, + StudioChartsPropertyGroups.ColorHue.class + }, properties = { @StudioProperty(xmlAttribute = "symbol", type = StudioPropertyType.VALUES_LIST), @StudioProperty(xmlAttribute = "symbolSize", type = StudioPropertyType.VALUES_LIST), @@ -969,6 +1128,16 @@ public interface StudioChartsElements { xmlnsAlias = "charts", unlimitedCount = false, icon = "io/jmix/chartsflowui/kit/meta/icon/unknownComponent.svg", + propertyGroups = { + StudioChartsPropertyGroups.Symbol.class, + StudioChartsPropertyGroups.SymbolSize2.class, + StudioChartsPropertyGroups.Color.class, + StudioChartsPropertyGroups.ColorAlpha.class, + StudioChartsPropertyGroups.Opacity2.class, + StudioChartsPropertyGroups.ColorLightness.class, + StudioChartsPropertyGroups.ColorSaturation.class, + StudioChartsPropertyGroups.ColorHue.class + }, properties = { @StudioProperty(xmlAttribute = "symbol", type = StudioPropertyType.VALUES_LIST), @StudioProperty(xmlAttribute = "symbolSize", type = StudioPropertyType.VALUES_LIST), @@ -1019,6 +1188,23 @@ public interface StudioChartsElements { xmlnsAlias = "charts", unlimitedCount = false, icon = "io/jmix/chartsflowui/kit/meta/icon/unknownComponent.svg", + propertyGroups = { + StudioChartsPropertyGroups.TriggerOn.class, + StudioPropertyGroups.HideDelay.class, + StudioChartsPropertyGroups.Show.class, + StudioChartsPropertyGroups.Trigger.class, + StudioChartsPropertyGroups.Position.class, + StudioChartsPropertyGroups.PositionCoordinates.class, + StudioChartsPropertyGroups.Formatter.class, + StudioChartsPropertyGroups.FormatterFunction.class, + StudioChartsPropertyGroups.ValueFormatter.class, + StudioChartsPropertyGroups.ValueFormatterFunction.class, + StudioChartsPropertyGroups.BackgroundColor.class, + StudioChartsPropertyGroups.BorderColor.class, + StudioChartsPropertyGroups.BorderWidth2.class, + StudioChartsPropertyGroups.ExtraCssText.class, + StudioChartsPropertyGroups.Padding.class + }, properties = { @StudioProperty(xmlAttribute = "showContent", type = StudioPropertyType.BOOLEAN), @StudioProperty(xmlAttribute = "alwaysShowContent", type = StudioPropertyType.BOOLEAN), @@ -1115,6 +1301,25 @@ public interface StudioChartsElements { xmlnsAlias = "charts", icon = "io/jmix/chartsflowui/kit/meta/icon/unknownComponent.svg", isInjectable = false, + propertyGroups = { + StudioPropertyGroups.Id.class, + StudioChartsPropertyGroups.Show.class, + StudioChartsPropertyGroups.ZLevel2.class, + StudioChartsPropertyGroups.Z2.class, + StudioChartsPropertyGroups.Left.class, + StudioChartsPropertyGroups.Top.class, + StudioChartsPropertyGroups.Right.class, + StudioChartsPropertyGroups.Bottom.class, + StudioPropertyGroups.WidthWithIntegerType.class, + StudioChartsPropertyGroups.Height.class, + StudioChartsPropertyGroups.BackgroundColor.class, + StudioChartsPropertyGroups.BorderColor.class, + StudioChartsPropertyGroups.BorderWidth2.class, + StudioChartsPropertyGroups.ShadowBlur.class, + StudioChartsPropertyGroups.ShadowColor.class, + StudioChartsPropertyGroups.ShadowOffsetX.class, + StudioChartsPropertyGroups.ShadowOffsetY.class + }, properties = { @StudioProperty(xmlAttribute = "id", category = StudioProperty.Category.GENERAL, type = StudioPropertyType.COMPONENT_ID), @StudioProperty(xmlAttribute = "show", type = StudioPropertyType.BOOLEAN), @@ -1219,6 +1424,37 @@ public interface StudioChartsElements { xmlnsAlias = "charts", unlimitedCount = false, icon = "io/jmix/chartsflowui/kit/meta/icon/unknownComponent.svg", + propertyGroups = { + StudioChartsPropertyGroups.BackgroundColor.class, + StudioChartsPropertyGroups.BorderColor.class, + StudioChartsPropertyGroups.BorderDashOffset.class, + StudioChartsPropertyGroups.BorderType.class, + StudioChartsPropertyGroups.BorderWidth.class, + StudioChartsPropertyGroups.BorderRadius.class, + StudioChartsPropertyGroups.ChartColor.class, + StudioChartsPropertyGroups.Padding.class, + StudioChartsPropertyGroups.Ellipsis.class, + StudioChartsPropertyGroups.FontFamily.class, + StudioChartsPropertyGroups.FontSize.class, + StudioChartsPropertyGroups.FontStyle.class, + StudioChartsPropertyGroups.FontWeight.class, + StudioChartsPropertyGroups.Height.class, + StudioChartsPropertyGroups.LineHeight.class, + StudioChartsPropertyGroups.Overflow.class, + StudioChartsPropertyGroups.ShadowBlur.class, + StudioChartsPropertyGroups.ShadowColor.class, + StudioChartsPropertyGroups.ShadowOffsetX.class, + StudioChartsPropertyGroups.ShadowOffsetY.class, + StudioChartsPropertyGroups.TextBorderColor.class, + StudioChartsPropertyGroups.TextBorderDashOffset.class, + StudioChartsPropertyGroups.TextBorderType.class, + StudioChartsPropertyGroups.TextBorderWidth.class, + StudioChartsPropertyGroups.TextShadowBlur.class, + StudioChartsPropertyGroups.TextShadowColor.class, + StudioChartsPropertyGroups.TextShadowOffsetX.class, + StudioChartsPropertyGroups.TextShadowOffsetY.class, + StudioPropertyGroups.WidthWithIntegerType.class + }, properties = { @StudioProperty(xmlAttribute = "backgroundColor", type = StudioPropertyType.OPTIONS, options = {"ALICEBLUE", "ANTIQUEWHITE", "AQUA", "AQUAMARINE", "AZURE", "BEIGE", "BISQUE", @@ -1411,6 +1647,47 @@ public interface StudioChartsElements { unlimitedCount = false, isInjectable = false, icon = "io/jmix/chartsflowui/kit/meta/icon/unknownComponent.svg", + propertyGroups = { + StudioPropertyGroups.Id.class, + StudioChartsPropertyGroups.Show.class, + StudioChartsPropertyGroups.ZLevel2.class, + StudioChartsPropertyGroups.Z2.class, + StudioChartsPropertyGroups.Left.class, + StudioChartsPropertyGroups.Top.class, + StudioChartsPropertyGroups.Right.class, + StudioChartsPropertyGroups.Bottom.class, + StudioPropertyGroups.WidthWithIntegerType.class, + StudioChartsPropertyGroups.Height.class, + StudioChartsPropertyGroups.Orientation.class, + StudioChartsPropertyGroups.Align2.class, + StudioChartsPropertyGroups.Padding.class, + StudioChartsPropertyGroups.ItemGap.class, + StudioChartsPropertyGroups.ItemWidth2.class, + StudioChartsPropertyGroups.ItemHeight2.class, + StudioChartsPropertyGroups.SymbolRotate.class, + StudioChartsPropertyGroups.Formatter.class, + StudioChartsPropertyGroups.FormatterFunction.class, + StudioChartsPropertyGroups.SelectedMode.class, + StudioChartsPropertyGroups.InactiveColor.class, + StudioChartsPropertyGroups.InactiveBorderColor.class, + StudioChartsPropertyGroups.InactiveBorderWidth.class, + StudioChartsPropertyGroups.UnselectedSeries.class, + StudioChartsPropertyGroups.Icon.class, + StudioChartsPropertyGroups.BackgroundColor.class, + StudioChartsPropertyGroups.BorderColor.class, + StudioChartsPropertyGroups.BorderWidth2.class, + StudioChartsPropertyGroups.BorderRadius.class, + StudioChartsPropertyGroups.ShadowBlur.class, + StudioChartsPropertyGroups.ShadowColor.class, + StudioChartsPropertyGroups.ShadowOffsetX.class, + StudioChartsPropertyGroups.ShadowOffsetY.class, + StudioChartsPropertyGroups.Selector.class, + StudioChartsPropertyGroups.SelectorPosition.class, + StudioChartsPropertyGroups.SelectorItemGap.class, + StudioChartsPropertyGroups.SelectorButtonGap.class, + StudioChartsPropertyGroups.Animation.class, + StudioChartsPropertyGroups.AnimationDurationUpdate.class + }, properties = { @StudioProperty(xmlAttribute = "id", category = StudioProperty.Category.GENERAL, type = StudioPropertyType.COMPONENT_ID), @StudioProperty(xmlAttribute = "show", type = StudioPropertyType.BOOLEAN), @@ -1652,6 +1929,45 @@ public interface StudioChartsElements { unlimitedCount = false, isInjectable = false, icon = "io/jmix/chartsflowui/kit/meta/icon/unknownComponent.svg", + propertyGroups = { + StudioPropertyGroups.Id.class, + StudioChartsPropertyGroups.Show.class, + StudioChartsPropertyGroups.ZLevel2.class, + StudioChartsPropertyGroups.Z2.class, + StudioChartsPropertyGroups.Left.class, + StudioChartsPropertyGroups.Top.class, + StudioChartsPropertyGroups.Right.class, + StudioChartsPropertyGroups.Bottom.class, + StudioPropertyGroups.WidthWithIntegerType.class, + StudioChartsPropertyGroups.Height.class, + StudioChartsPropertyGroups.Orientation.class, + StudioChartsPropertyGroups.Align2.class, + StudioChartsPropertyGroups.Padding.class, + StudioChartsPropertyGroups.ItemGap.class, + StudioChartsPropertyGroups.ItemWidth2.class, + StudioChartsPropertyGroups.ItemHeight2.class, + StudioChartsPropertyGroups.SymbolRotate.class, + StudioChartsPropertyGroups.Formatter.class, + StudioChartsPropertyGroups.FormatterFunction.class, + StudioChartsPropertyGroups.SelectedMode.class, + StudioChartsPropertyGroups.InactiveColor.class, + StudioChartsPropertyGroups.InactiveBorderColor.class, + StudioChartsPropertyGroups.InactiveBorderWidth.class, + StudioChartsPropertyGroups.UnselectedSeries.class, + StudioChartsPropertyGroups.Icon.class, + StudioChartsPropertyGroups.BackgroundColor.class, + StudioChartsPropertyGroups.BorderColor.class, + StudioChartsPropertyGroups.BorderWidth2.class, + StudioChartsPropertyGroups.BorderRadius.class, + StudioChartsPropertyGroups.ShadowBlur.class, + StudioChartsPropertyGroups.ShadowColor.class, + StudioChartsPropertyGroups.ShadowOffsetX.class, + StudioChartsPropertyGroups.ShadowOffsetY.class, + StudioChartsPropertyGroups.Selector.class, + StudioChartsPropertyGroups.SelectorPosition.class, + StudioChartsPropertyGroups.SelectorItemGap.class, + StudioChartsPropertyGroups.SelectorButtonGap.class + }, properties = { @StudioProperty(xmlAttribute = "id", category = StudioProperty.Category.GENERAL, type = StudioPropertyType.COMPONENT_ID), @StudioProperty(xmlAttribute = "show", type = StudioPropertyType.BOOLEAN), @@ -1842,6 +2158,10 @@ public interface StudioChartsElements { xmlnsAlias = "charts", unlimitedCount = false, icon = "io/jmix/chartsflowui/kit/meta/icon/unknownComponent.svg", + propertyGroups = { + StudioChartsPropertyGroups.PrevPageIcon.class, + StudioChartsPropertyGroups.NextPageIcon.class + }, properties = { @StudioProperty(xmlAttribute = "prevPageIcon", type = StudioPropertyType.STRING, required = true), @StudioProperty(xmlAttribute = "nextPageIcon", type = StudioPropertyType.STRING, required = true) @@ -1857,6 +2177,10 @@ public interface StudioChartsElements { xmlnsAlias = "charts", unlimitedCount = false, icon = "io/jmix/chartsflowui/kit/meta/icon/unknownComponent.svg", + propertyGroups = { + StudioChartsPropertyGroups.PrevPageIcon.class, + StudioChartsPropertyGroups.NextPageIcon.class + }, properties = { @StudioProperty(xmlAttribute = "prevPageIcon", type = StudioPropertyType.STRING, required = true), @StudioProperty(xmlAttribute = "nextPageIcon", type = StudioPropertyType.STRING, required = true) @@ -1873,6 +2197,26 @@ public interface StudioChartsElements { unlimitedCount = false, xmlnsAlias = "charts", icon = "io/jmix/chartsflowui/kit/meta/icon/unknownComponent.svg", + propertyGroups = { + StudioChartsPropertyGroups.ChartColor.class, + StudioChartsPropertyGroups.FontStyle.class, + StudioChartsPropertyGroups.FontWeight.class, + StudioChartsPropertyGroups.FontFamily.class, + StudioChartsPropertyGroups.FontSize.class, + StudioChartsPropertyGroups.LineHeight.class, + StudioPropertyGroups.WidthWithIntegerType.class, + StudioChartsPropertyGroups.Height.class, + StudioChartsPropertyGroups.TextBorderColor.class, + StudioChartsPropertyGroups.TextBorderWidth.class, + StudioChartsPropertyGroups.TextBorderType.class, + StudioChartsPropertyGroups.TextBorderDashOffset.class, + StudioChartsPropertyGroups.TextShadowColor.class, + StudioChartsPropertyGroups.TextShadowBlur.class, + StudioChartsPropertyGroups.TextShadowOffsetX.class, + StudioChartsPropertyGroups.TextShadowOffsetY.class, + StudioChartsPropertyGroups.Overflow.class, + StudioChartsPropertyGroups.Ellipsis.class + }, properties = { @StudioProperty(xmlAttribute = "color", type = StudioPropertyType.OPTIONS, options = {"ALICEBLUE", "ANTIQUEWHITE", "AQUA", "AQUAMARINE", "AZURE", "BEIGE", "BISQUE", @@ -1996,6 +2340,43 @@ public interface StudioChartsElements { xmlnsAlias = "charts", unlimitedCount = false, icon = "io/jmix/chartsflowui/kit/meta/icon/unknownComponent.svg", + propertyGroups = { + StudioChartsPropertyGroups.Show.class, + StudioChartsPropertyGroups.Distance.class, + StudioChartsPropertyGroups.Rotate.class, + StudioChartsPropertyGroups.Offset2.class, + StudioChartsPropertyGroups.Align.class, + StudioChartsPropertyGroups.VerticalAlign.class, + StudioChartsPropertyGroups.BackgroundColor.class, + StudioChartsPropertyGroups.BorderColor.class, + StudioChartsPropertyGroups.BorderWidth2.class, + StudioChartsPropertyGroups.BorderType.class, + StudioChartsPropertyGroups.BorderDashOffset.class, + StudioChartsPropertyGroups.BorderRadius.class, + StudioChartsPropertyGroups.Padding.class, + StudioChartsPropertyGroups.ShadowColor.class, + StudioChartsPropertyGroups.ShadowOffsetX.class, + StudioChartsPropertyGroups.ShadowOffsetY.class, + StudioChartsPropertyGroups.ShadowBlur.class, + StudioChartsPropertyGroups.ChartColor.class, + StudioChartsPropertyGroups.FontStyle.class, + StudioChartsPropertyGroups.FontWeight.class, + StudioChartsPropertyGroups.FontFamily.class, + StudioChartsPropertyGroups.FontSize.class, + StudioChartsPropertyGroups.LineHeight.class, + StudioPropertyGroups.WidthWithIntegerType.class, + StudioChartsPropertyGroups.Height.class, + StudioChartsPropertyGroups.TextBorderColor.class, + StudioChartsPropertyGroups.TextBorderWidth.class, + StudioChartsPropertyGroups.TextBorderType.class, + StudioChartsPropertyGroups.TextBorderDashOffset.class, + StudioChartsPropertyGroups.TextShadowColor.class, + StudioChartsPropertyGroups.TextShadowBlur.class, + StudioChartsPropertyGroups.TextShadowOffsetX.class, + StudioChartsPropertyGroups.TextShadowOffsetY.class, + StudioChartsPropertyGroups.Overflow.class, + StudioChartsPropertyGroups.Ellipsis.class + }, properties = { @StudioProperty(xmlAttribute = "show", type = StudioPropertyType.BOOLEAN), @StudioProperty(xmlAttribute = "distance", type = StudioPropertyType.INTEGER), @@ -2220,6 +2601,21 @@ public interface StudioChartsElements { xmlnsAlias = "charts", unlimitedCount = false, icon = "io/jmix/chartsflowui/kit/meta/icon/unknownComponent.svg", + propertyGroups = { + StudioChartsPropertyGroups.ChartColor.class, + StudioChartsPropertyGroups.BorderColor.class, + StudioChartsPropertyGroups.BorderWidth2.class, + StudioChartsPropertyGroups.BorderType.class, + StudioChartsPropertyGroups.BorderDashOffset.class, + StudioChartsPropertyGroups.Cap.class, + StudioChartsPropertyGroups.Join.class, + StudioChartsPropertyGroups.MiterLimit.class, + StudioChartsPropertyGroups.ShadowBlur.class, + StudioChartsPropertyGroups.ShadowColor.class, + StudioChartsPropertyGroups.ShadowOffsetX.class, + StudioChartsPropertyGroups.ShadowOffsetY.class, + StudioChartsPropertyGroups.Opacity.class + }, properties = { @StudioProperty(xmlAttribute = "color", type = StudioPropertyType.OPTIONS, options = {"ALICEBLUE", "ANTIQUEWHITE", "AQUA", "AQUAMARINE", "AZURE", "BEIGE", "BISQUE", @@ -2327,6 +2723,21 @@ public interface StudioChartsElements { xmlnsAlias = "charts", unlimitedCount = false, icon = "io/jmix/chartsflowui/kit/meta/icon/unknownComponent.svg", + propertyGroups = { + StudioChartsPropertyGroups.ChartColor.class, + StudioChartsPropertyGroups.BorderColor.class, + StudioChartsPropertyGroups.BorderWidth2.class, + StudioChartsPropertyGroups.BorderType.class, + StudioChartsPropertyGroups.BorderDashOffset.class, + StudioChartsPropertyGroups.Cap.class, + StudioChartsPropertyGroups.Join.class, + StudioChartsPropertyGroups.MiterLimit.class, + StudioChartsPropertyGroups.ShadowBlur.class, + StudioChartsPropertyGroups.ShadowColor.class, + StudioChartsPropertyGroups.ShadowOffsetX.class, + StudioChartsPropertyGroups.ShadowOffsetY.class, + StudioChartsPropertyGroups.Opacity.class + }, properties = { @StudioProperty(xmlAttribute = "color", type = StudioPropertyType.OPTIONS, options = {"ALICEBLUE", "ANTIQUEWHITE", "AQUA", "AQUAMARINE", "AZURE", "BEIGE", "BISQUE", @@ -2430,6 +2841,21 @@ public interface StudioChartsElements { xmlnsAlias = "charts", unlimitedCount = false, icon = "io/jmix/chartsflowui/kit/meta/icon/unknownComponent.svg", + propertyGroups = { + StudioChartsPropertyGroups.ChartColor.class, + StudioChartsPropertyGroups.BorderColor.class, + StudioChartsPropertyGroups.BorderWidth2.class, + StudioChartsPropertyGroups.BorderType.class, + StudioChartsPropertyGroups.BorderDashOffset.class, + StudioChartsPropertyGroups.Cap.class, + StudioChartsPropertyGroups.Join.class, + StudioChartsPropertyGroups.MiterLimit.class, + StudioChartsPropertyGroups.ShadowBlur.class, + StudioChartsPropertyGroups.ShadowColor.class, + StudioChartsPropertyGroups.ShadowOffsetX.class, + StudioChartsPropertyGroups.ShadowOffsetY.class, + StudioChartsPropertyGroups.Opacity.class + }, properties = { @StudioProperty(xmlAttribute = "color", type = StudioPropertyType.OPTIONS, options = {"ALICEBLUE", "ANTIQUEWHITE", "AQUA", "AQUAMARINE", "AZURE", "BEIGE", "BISQUE", @@ -2536,6 +2962,21 @@ public interface StudioChartsElements { xmlnsAlias = "charts", unlimitedCount = false, icon = "io/jmix/chartsflowui/kit/meta/icon/unknownComponent.svg", + propertyGroups = { + StudioChartsPropertyGroups.ChartColor.class, + StudioChartsPropertyGroups.BorderColor.class, + StudioChartsPropertyGroups.BorderWidth2.class, + StudioChartsPropertyGroups.BorderType.class, + StudioChartsPropertyGroups.BorderDashOffset.class, + StudioChartsPropertyGroups.Cap.class, + StudioChartsPropertyGroups.Join.class, + StudioChartsPropertyGroups.MiterLimit.class, + StudioChartsPropertyGroups.ShadowBlur.class, + StudioChartsPropertyGroups.ShadowColor.class, + StudioChartsPropertyGroups.ShadowOffsetX.class, + StudioChartsPropertyGroups.ShadowOffsetY.class, + StudioChartsPropertyGroups.Opacity.class + }, properties = { @StudioProperty(xmlAttribute = "color", type = StudioPropertyType.OPTIONS, options = {"ALICEBLUE", "ANTIQUEWHITE", "AQUA", "AQUAMARINE", "AZURE", "BEIGE", "BISQUE", @@ -2642,6 +3083,21 @@ public interface StudioChartsElements { xmlnsAlias = "charts", unlimitedCount = false, icon = "io/jmix/chartsflowui/kit/meta/icon/unknownComponent.svg", + propertyGroups = { + StudioChartsPropertyGroups.ChartColor.class, + StudioChartsPropertyGroups.BorderColor.class, + StudioChartsPropertyGroups.BorderWidth2.class, + StudioChartsPropertyGroups.BorderType.class, + StudioChartsPropertyGroups.BorderDashOffset.class, + StudioChartsPropertyGroups.Cap.class, + StudioChartsPropertyGroups.Join.class, + StudioChartsPropertyGroups.MiterLimit.class, + StudioChartsPropertyGroups.ShadowBlur.class, + StudioChartsPropertyGroups.ShadowColor.class, + StudioChartsPropertyGroups.ShadowOffsetX.class, + StudioChartsPropertyGroups.ShadowOffsetY.class, + StudioChartsPropertyGroups.Opacity.class + }, properties = { @StudioProperty(xmlAttribute = "color", type = StudioPropertyType.OPTIONS, options = {"ALICEBLUE", "ANTIQUEWHITE", "AQUA", "AQUAMARINE", "AZURE", "BEIGE", "BISQUE", @@ -2748,6 +3204,21 @@ public interface StudioChartsElements { xmlnsAlias = "charts", unlimitedCount = false, icon = "io/jmix/chartsflowui/kit/meta/icon/unknownComponent.svg", + propertyGroups = { + StudioChartsPropertyGroups.ChartColor.class, + StudioChartsPropertyGroups.BorderColor.class, + StudioChartsPropertyGroups.BorderWidth2.class, + StudioChartsPropertyGroups.BorderType.class, + StudioChartsPropertyGroups.BorderDashOffset.class, + StudioChartsPropertyGroups.Cap.class, + StudioChartsPropertyGroups.Join.class, + StudioChartsPropertyGroups.MiterLimit.class, + StudioChartsPropertyGroups.ShadowBlur.class, + StudioChartsPropertyGroups.ShadowColor.class, + StudioChartsPropertyGroups.ShadowOffsetX.class, + StudioChartsPropertyGroups.ShadowOffsetY.class, + StudioChartsPropertyGroups.Opacity.class + }, properties = { @StudioProperty(xmlAttribute = "color", type = StudioPropertyType.OPTIONS, options = {"ALICEBLUE", "ANTIQUEWHITE", "AQUA", "AQUAMARINE", "AZURE", "BEIGE", "BISQUE", @@ -2852,6 +3323,13 @@ public interface StudioChartsElements { unlimitedCount = false, isInjectable = false, icon = "io/jmix/chartsflowui/kit/meta/icon/unknownComponent.svg", + propertyGroups = { + StudioPropertyGroups.Id.class, + StudioChartsPropertyGroups.ZLevel2.class, + StudioChartsPropertyGroups.Z2.class, + StudioChartsPropertyGroups.Center.class, + StudioChartsPropertyGroups.Radius.class + }, properties = { @StudioProperty(xmlAttribute = "id", category = StudioProperty.Category.GENERAL, type = StudioPropertyType.COMPONENT_ID), @StudioProperty(xmlAttribute = "zLevel", type = StudioPropertyType.INTEGER), @@ -2872,6 +3350,21 @@ public interface StudioChartsElements { xmlnsAlias = "charts", unlimitedCount = false, icon = "io/jmix/chartsflowui/kit/meta/icon/unknownComponent.svg", + propertyGroups = { + StudioChartsPropertyGroups.Show.class, + StudioChartsPropertyGroups.Trigger.class, + StudioChartsPropertyGroups.Position.class, + StudioChartsPropertyGroups.PositionCoordinates.class, + StudioChartsPropertyGroups.Formatter.class, + StudioChartsPropertyGroups.FormatterFunction.class, + StudioChartsPropertyGroups.ValueFormatter.class, + StudioChartsPropertyGroups.ValueFormatterFunction.class, + StudioChartsPropertyGroups.BackgroundColor.class, + StudioChartsPropertyGroups.BorderColor.class, + StudioChartsPropertyGroups.BorderWidth2.class, + StudioChartsPropertyGroups.ExtraCssText.class, + StudioChartsPropertyGroups.Padding.class + }, properties = { @StudioProperty(xmlAttribute = "show", type = StudioPropertyType.BOOLEAN), @StudioProperty(xmlAttribute = "trigger", type = StudioPropertyType.ENUMERATION, @@ -2951,6 +3444,22 @@ public interface StudioChartsElements { xmlnsAlias = "charts", unlimitedCount = false, icon = "io/jmix/chartsflowui/kit/meta/icon/unknownComponent.svg", + propertyGroups = { + StudioChartsPropertyGroups.Snap.class, + StudioChartsPropertyGroups.Z2.class, + StudioChartsPropertyGroups.Animation.class, + StudioChartsPropertyGroups.AnimationThreshold.class, + StudioChartsPropertyGroups.AnimationDuration.class, + StudioChartsPropertyGroups.AnimationDurationFunction.class, + StudioChartsPropertyGroups.AnimationEasing.class, + StudioChartsPropertyGroups.AnimationDelay.class, + StudioChartsPropertyGroups.AnimationDelayFunction.class, + StudioChartsPropertyGroups.AnimationDurationUpdate.class, + StudioChartsPropertyGroups.AnimationDurationUpdateFunction.class, + StudioChartsPropertyGroups.AnimationEasingUpdate.class, + StudioChartsPropertyGroups.AnimationDelayUpdate.class, + StudioChartsPropertyGroups.AnimationDelayUpdateFunction.class + }, properties = { @StudioProperty(xmlAttribute = "type", type = StudioPropertyType.ENUMERATION, classFqn = "io.jmix.chartsflowui.kit.component.model.shared.AbstractTooltip.AxisPointer.IndicatorType", @@ -2985,6 +3494,16 @@ public interface StudioChartsElements { xmlnsAlias = "charts", unlimitedCount = false, icon = "io/jmix/chartsflowui/kit/meta/icon/unknownComponent.svg", + propertyGroups = { + StudioChartsPropertyGroups.Show.class, + StudioChartsPropertyGroups.Type.class, + StudioChartsPropertyGroups.Snap.class, + StudioChartsPropertyGroups.Z2.class, + StudioChartsPropertyGroups.TriggerEmphasis.class, + StudioChartsPropertyGroups.TriggerTooltip.class, + StudioChartsPropertyGroups.Value2.class, + StudioChartsPropertyGroups.Status.class + }, properties = { @StudioProperty(xmlAttribute = "show", type = StudioPropertyType.BOOLEAN), @StudioProperty(xmlAttribute = "type", type = StudioPropertyType.ENUMERATION, @@ -3010,6 +3529,18 @@ public interface StudioChartsElements { unlimitedCount = false, isInjectable = false, icon = "io/jmix/chartsflowui/kit/meta/icon/unknownComponent.svg", + propertyGroups = { + StudioPropertyGroups.Id.class, + StudioChartsPropertyGroups.Show.class, + StudioChartsPropertyGroups.Type.class, + StudioChartsPropertyGroups.Snap.class, + StudioChartsPropertyGroups.Z2.class, + StudioChartsPropertyGroups.TriggerOn.class, + StudioChartsPropertyGroups.TriggerEmphasis.class, + StudioChartsPropertyGroups.TriggerTooltip.class, + StudioChartsPropertyGroups.Value2.class, + StudioChartsPropertyGroups.Status.class + }, properties = { @StudioProperty(xmlAttribute = "id", category = StudioProperty.Category.GENERAL, type = StudioPropertyType.STRING), @StudioProperty(xmlAttribute = "show", type = StudioPropertyType.BOOLEAN), @@ -3038,6 +3569,17 @@ public interface StudioChartsElements { xmlnsAlias = "charts", unlimitedCount = false, icon = "io/jmix/chartsflowui/kit/meta/icon/unknownComponent.svg", + propertyGroups = { + StudioChartsPropertyGroups.Show.class, + StudioChartsPropertyGroups.Icon.class, + StudioChartsPropertyGroups.Margin.class, + StudioChartsPropertyGroups.ChartColor.class, + StudioChartsPropertyGroups.Throttle.class, + StudioChartsPropertyGroups.ShadowBlur.class, + StudioChartsPropertyGroups.ShadowColor.class, + StudioChartsPropertyGroups.ShadowOffsetX.class, + StudioChartsPropertyGroups.ShadowOffsetY.class + }, properties = { @StudioProperty(xmlAttribute = "show", type = StudioPropertyType.BOOLEAN), @StudioProperty(xmlAttribute = "icon", type = StudioPropertyType.STRING), @@ -3113,6 +3655,39 @@ public interface StudioChartsElements { xmlnsAlias = "charts", unlimitedCount = false, icon = "io/jmix/chartsflowui/kit/meta/icon/unknownComponent.svg", + propertyGroups = { + StudioChartsPropertyGroups.Show.class, + StudioChartsPropertyGroups.Precision2.class, + StudioChartsPropertyGroups.Formatter.class, + StudioChartsPropertyGroups.FormatterFunction.class, + StudioChartsPropertyGroups.Margin.class, + StudioChartsPropertyGroups.Padding.class, + StudioChartsPropertyGroups.BackgroundColor.class, + StudioChartsPropertyGroups.BorderColor.class, + StudioChartsPropertyGroups.BorderWidth2.class, + StudioChartsPropertyGroups.ShadowBlur.class, + StudioChartsPropertyGroups.ShadowColor.class, + StudioChartsPropertyGroups.ShadowOffsetX.class, + StudioChartsPropertyGroups.ShadowOffsetY.class, + StudioChartsPropertyGroups.ChartColor.class, + StudioChartsPropertyGroups.FontStyle.class, + StudioChartsPropertyGroups.FontWeight.class, + StudioChartsPropertyGroups.FontFamily.class, + StudioChartsPropertyGroups.FontSize.class, + StudioChartsPropertyGroups.LineHeight.class, + StudioPropertyGroups.WidthWithIntegerType.class, + StudioChartsPropertyGroups.Height.class, + StudioChartsPropertyGroups.TextBorderColor.class, + StudioChartsPropertyGroups.TextBorderWidth.class, + StudioChartsPropertyGroups.TextBorderType.class, + StudioChartsPropertyGroups.TextBorderDashOffset.class, + StudioChartsPropertyGroups.TextShadowColor.class, + StudioChartsPropertyGroups.TextShadowBlur.class, + StudioChartsPropertyGroups.TextShadowOffsetX.class, + StudioChartsPropertyGroups.TextShadowOffsetY.class, + StudioChartsPropertyGroups.Overflow.class, + StudioChartsPropertyGroups.Ellipsis.class + }, properties = { @StudioProperty(xmlAttribute = "show", type = StudioPropertyType.BOOLEAN), @StudioProperty(xmlAttribute = "precision", type = StudioPropertyType.INTEGER), @@ -3307,6 +3882,18 @@ public interface StudioChartsElements { unlimitedCount = false, isInjectable = false, icon = "io/jmix/chartsflowui/kit/meta/icon/unknownComponent.svg", + propertyGroups = { + StudioPropertyGroups.Id.class, + StudioChartsPropertyGroups.ZLevel2.class, + StudioChartsPropertyGroups.Center2.class, + StudioChartsPropertyGroups.Radius2.class, + StudioChartsPropertyGroups.StartAngle.class, + StudioChartsPropertyGroups.NameGap.class, + StudioChartsPropertyGroups.SplitNumber.class, + StudioChartsPropertyGroups.Scale.class, + StudioChartsPropertyGroups.Silent.class, + StudioChartsPropertyGroups.TriggerEvent.class + }, properties = { @StudioProperty(xmlAttribute = "id", category = StudioProperty.Category.GENERAL, type = StudioPropertyType.COMPONENT_ID), @StudioProperty(xmlAttribute = "zLevel", type = StudioPropertyType.INTEGER), @@ -3333,6 +3920,12 @@ public interface StudioChartsElements { xmlns = "http://jmix.io/schema/charts/ui", xmlnsAlias = "charts", icon = "io/jmix/chartsflowui/kit/meta/icon/unknownComponent.svg", + propertyGroups = { + StudioPropertyGroups.Name2.class, + StudioPropertyGroups.IntegerMax.class, + StudioPropertyGroups.IntegerMin.class, + StudioChartsPropertyGroups.ChartColor.class + }, properties = { @StudioProperty(xmlAttribute = "name", type = StudioPropertyType.LOCALIZED_STRING), @StudioProperty(xmlAttribute = "max", type = StudioPropertyType.INTEGER), @@ -3375,6 +3968,40 @@ public interface StudioChartsElements { xmlnsAlias = "charts", unlimitedCount = false, icon = "io/jmix/chartsflowui/kit/meta/icon/unknownComponent.svg", + propertyGroups = { + StudioChartsPropertyGroups.Show.class, + StudioChartsPropertyGroups.Formatter.class, + StudioChartsPropertyGroups.FormatterFunction.class, + StudioChartsPropertyGroups.BackgroundColor.class, + StudioChartsPropertyGroups.BorderColor.class, + StudioChartsPropertyGroups.BorderWidth2.class, + StudioChartsPropertyGroups.BorderType.class, + StudioChartsPropertyGroups.BorderDashOffset.class, + StudioChartsPropertyGroups.BorderRadius.class, + StudioChartsPropertyGroups.Padding.class, + StudioChartsPropertyGroups.ShadowColor.class, + StudioChartsPropertyGroups.ShadowBlur.class, + StudioChartsPropertyGroups.ShadowOffsetX.class, + StudioChartsPropertyGroups.ShadowOffsetY.class, + StudioChartsPropertyGroups.ChartColor.class, + StudioChartsPropertyGroups.FontStyle.class, + StudioChartsPropertyGroups.FontWeight.class, + StudioChartsPropertyGroups.FontFamily.class, + StudioChartsPropertyGroups.FontSize.class, + StudioChartsPropertyGroups.LineHeight.class, + StudioPropertyGroups.WidthWithIntegerType.class, + StudioChartsPropertyGroups.Height.class, + StudioChartsPropertyGroups.TextBorderColor.class, + StudioChartsPropertyGroups.TextBorderWidth.class, + StudioChartsPropertyGroups.TextBorderType.class, + StudioChartsPropertyGroups.TextBorderDashOffset.class, + StudioChartsPropertyGroups.TextShadowColor.class, + StudioChartsPropertyGroups.TextShadowBlur.class, + StudioChartsPropertyGroups.TextShadowOffsetX.class, + StudioChartsPropertyGroups.TextShadowOffsetY.class, + StudioChartsPropertyGroups.Overflow.class, + StudioChartsPropertyGroups.Ellipsis.class + }, properties = { @StudioProperty(xmlAttribute = "show", type = StudioPropertyType.BOOLEAN), @StudioProperty(xmlAttribute = "formatter", type = StudioPropertyType.STRING), @@ -3572,6 +4199,11 @@ public interface StudioChartsElements { xmlnsAlias = "charts", unlimitedCount = false, icon = "io/jmix/chartsflowui/kit/meta/icon/unknownComponent.svg", + propertyGroups = { + StudioChartsPropertyGroups.Interval.class, + StudioChartsPropertyGroups.IntervalFunction.class, + StudioChartsPropertyGroups.Show.class + }, properties = { @StudioProperty(xmlAttribute = "interval", type = StudioPropertyType.INTEGER), @StudioProperty(xmlAttribute = "intervalFunction", type = StudioPropertyType.STRING), @@ -3592,6 +4224,13 @@ public interface StudioChartsElements { xmlnsAlias = "charts", unlimitedCount = false, icon = "io/jmix/chartsflowui/kit/meta/icon/unknownComponent.svg", + propertyGroups = { + StudioChartsPropertyGroups.ShadowBlur.class, + StudioChartsPropertyGroups.ShadowColor.class, + StudioChartsPropertyGroups.ShadowOffsetX.class, + StudioChartsPropertyGroups.ShadowOffsetY.class, + StudioChartsPropertyGroups.Opacity.class + }, properties = { @StudioProperty(xmlAttribute = "shadowBlur", type = StudioPropertyType.INTEGER), @StudioProperty(xmlAttribute = "shadowColor", type = StudioPropertyType.OPTIONS, @@ -3663,6 +4302,10 @@ public interface StudioChartsElements { xmlnsAlias = "charts", unlimitedCount = false, icon = "io/jmix/chartsflowui/kit/meta/icon/unknownComponent.svg", + propertyGroups = { + StudioChartsPropertyGroups.Show.class, + StudioChartsPropertyGroups.SymbolsSize.class + }, properties = { @StudioProperty(xmlAttribute = "show", type = StudioPropertyType.BOOLEAN), @StudioProperty(xmlAttribute = "onZero", type = StudioPropertyType.BOOLEAN), @@ -3687,6 +4330,11 @@ public interface StudioChartsElements { xmlnsAlias = "charts", unlimitedCount = false, icon = "io/jmix/chartsflowui/kit/meta/icon/unknownComponent.svg", + propertyGroups = { + StudioChartsPropertyGroups.Show.class, + StudioChartsPropertyGroups.Interval.class, + StudioChartsPropertyGroups.IntervalFunction.class + }, properties = { @StudioProperty(xmlAttribute = "show", type = StudioPropertyType.BOOLEAN), @StudioProperty(xmlAttribute = "interval", type = StudioPropertyType.INTEGER), @@ -3704,6 +4352,9 @@ public interface StudioChartsElements { xmlnsAlias = "charts", unlimitedCount = false, icon = "io/jmix/chartsflowui/kit/meta/icon/unknownComponent.svg", + propertyGroups = { + StudioChartsPropertyGroups.Show.class + }, properties = { @StudioProperty(xmlAttribute = "show", type = StudioPropertyType.BOOLEAN) } @@ -3722,6 +4373,48 @@ public interface StudioChartsElements { xmlnsAlias = "charts", unlimitedCount = false, icon = "io/jmix/chartsflowui/kit/meta/icon/unknownComponent.svg", + propertyGroups = { + StudioChartsPropertyGroups.Show.class, + StudioChartsPropertyGroups.Interval.class, + StudioChartsPropertyGroups.IntervalFunction.class, + StudioChartsPropertyGroups.Inside.class, + StudioChartsPropertyGroups.Rotate.class, + StudioChartsPropertyGroups.Margin.class, + StudioChartsPropertyGroups.Formatter.class, + StudioChartsPropertyGroups.FormatterFunction.class, + StudioChartsPropertyGroups.HideOverlap.class, + StudioChartsPropertyGroups.Align.class, + StudioChartsPropertyGroups.VerticalAlign.class, + StudioChartsPropertyGroups.BackgroundColor.class, + StudioChartsPropertyGroups.BorderColor.class, + StudioChartsPropertyGroups.BorderWidth2.class, + StudioChartsPropertyGroups.BorderType.class, + StudioChartsPropertyGroups.BorderDashOffset.class, + StudioChartsPropertyGroups.BorderRadius.class, + StudioChartsPropertyGroups.Padding.class, + StudioChartsPropertyGroups.ShadowColor.class, + StudioChartsPropertyGroups.ShadowBlur.class, + StudioChartsPropertyGroups.ShadowOffsetX.class, + StudioChartsPropertyGroups.ShadowOffsetY.class, + StudioChartsPropertyGroups.ChartColor.class, + StudioChartsPropertyGroups.FontStyle.class, + StudioChartsPropertyGroups.FontWeight.class, + StudioChartsPropertyGroups.FontFamily.class, + StudioChartsPropertyGroups.FontSize.class, + StudioChartsPropertyGroups.LineHeight.class, + StudioPropertyGroups.WidthWithIntegerType.class, + StudioChartsPropertyGroups.Height.class, + StudioChartsPropertyGroups.TextBorderColor.class, + StudioChartsPropertyGroups.TextBorderWidth.class, + StudioChartsPropertyGroups.TextBorderType.class, + StudioChartsPropertyGroups.TextBorderDashOffset.class, + StudioChartsPropertyGroups.TextShadowColor.class, + StudioChartsPropertyGroups.TextShadowBlur.class, + StudioChartsPropertyGroups.TextShadowOffsetX.class, + StudioChartsPropertyGroups.TextShadowOffsetY.class, + StudioChartsPropertyGroups.Overflow.class, + StudioChartsPropertyGroups.Ellipsis.class + }, properties = { @StudioProperty(xmlAttribute = "show", type = StudioPropertyType.BOOLEAN), @StudioProperty(xmlAttribute = "interval", type = StudioPropertyType.INTEGER), @@ -3934,6 +4627,13 @@ public interface StudioChartsElements { xmlnsAlias = "charts", unlimitedCount = false, icon = "io/jmix/chartsflowui/kit/meta/icon/unknownComponent.svg", + propertyGroups = { + StudioChartsPropertyGroups.Show.class, + StudioChartsPropertyGroups.Interval.class, + StudioChartsPropertyGroups.IntervalFunction.class, + StudioChartsPropertyGroups.Inside.class, + StudioChartsPropertyGroups.Length.class + }, properties = { @StudioProperty(xmlAttribute = "show", type = StudioPropertyType.BOOLEAN), @StudioProperty(xmlAttribute = "alignWithLabel", type = StudioPropertyType.BOOLEAN), @@ -3954,6 +4654,11 @@ public interface StudioChartsElements { xmlnsAlias = "charts", unlimitedCount = false, icon = "io/jmix/chartsflowui/kit/meta/icon/unknownComponent.svg", + propertyGroups = { + StudioChartsPropertyGroups.Show.class, + StudioChartsPropertyGroups.SplitNumber.class, + StudioChartsPropertyGroups.Length.class + }, properties = { @StudioProperty(xmlAttribute = "show", type = StudioPropertyType.BOOLEAN), @StudioProperty(xmlAttribute = "splitNumber", type = StudioPropertyType.INTEGER), @@ -3996,6 +4701,20 @@ public interface StudioChartsElements { xmlnsAlias = "charts", unlimitedCount = false, icon = "io/jmix/chartsflowui/kit/meta/icon/unknownComponent.svg", + propertyGroups = { + StudioChartsPropertyGroups.ChartColor.class, + StudioPropertyGroups.WidthWithIntegerType.class, + StudioChartsPropertyGroups.Type5.class, + StudioChartsPropertyGroups.DashOffset.class, + StudioChartsPropertyGroups.Cap.class, + StudioChartsPropertyGroups.Join.class, + StudioChartsPropertyGroups.MiterLimit.class, + StudioChartsPropertyGroups.ShadowBlur.class, + StudioChartsPropertyGroups.ShadowColor.class, + StudioChartsPropertyGroups.ShadowOffsetX.class, + StudioChartsPropertyGroups.ShadowOffsetY.class, + StudioChartsPropertyGroups.Opacity.class + }, properties = { @StudioProperty(xmlAttribute = "color", type = StudioPropertyType.OPTIONS, options = {"ALICEBLUE", "ANTIQUEWHITE", "AQUA", "AQUAMARINE", "AZURE", "BEIGE", "BISQUE", @@ -4074,6 +4793,20 @@ public interface StudioChartsElements { xmlnsAlias = "charts", unlimitedCount = false, icon = "io/jmix/chartsflowui/kit/meta/icon/unknownComponent.svg", + propertyGroups = { + StudioChartsPropertyGroups.ChartColor.class, + StudioPropertyGroups.WidthWithIntegerType.class, + StudioChartsPropertyGroups.Type5.class, + StudioChartsPropertyGroups.DashOffset.class, + StudioChartsPropertyGroups.Cap.class, + StudioChartsPropertyGroups.Join.class, + StudioChartsPropertyGroups.MiterLimit.class, + StudioChartsPropertyGroups.ShadowBlur.class, + StudioChartsPropertyGroups.ShadowColor.class, + StudioChartsPropertyGroups.ShadowOffsetX.class, + StudioChartsPropertyGroups.ShadowOffsetY.class, + StudioChartsPropertyGroups.Opacity.class + }, properties = { @StudioProperty(xmlAttribute = "color", type = StudioPropertyType.OPTIONS, options = {"ALICEBLUE", "ANTIQUEWHITE", "AQUA", "AQUAMARINE", "AZURE", "BEIGE", "BISQUE", @@ -4151,6 +4884,48 @@ public interface StudioChartsElements { xmlnsAlias = "charts", isInjectable = false, icon = "io/jmix/chartsflowui/kit/meta/icon/unknownComponent.svg", + propertyGroups = { + StudioChartsPropertyGroups.Show.class, + StudioChartsPropertyGroups.GridIndex.class, + StudioChartsPropertyGroups.AlignTicks.class, + StudioChartsPropertyGroups.Position2.class, + StudioChartsPropertyGroups.Offset.class, + StudioChartsPropertyGroups.Name.class, + StudioChartsPropertyGroups.NameLocation.class, + StudioChartsPropertyGroups.NameGap.class, + StudioChartsPropertyGroups.NameRotate.class, + StudioChartsPropertyGroups.Inverse.class, + StudioChartsPropertyGroups.MinFunction.class, + StudioChartsPropertyGroups.MaxFunction.class, + StudioChartsPropertyGroups.AnimationDurationFunction.class, + StudioChartsPropertyGroups.AnimationDelayFunction.class, + StudioChartsPropertyGroups.AnimationDurationUpdateFunction.class, + StudioChartsPropertyGroups.AnimationDelayUpdateFunction.class, + StudioPropertyGroups.Id.class, + StudioChartsPropertyGroups.Type2.class, + StudioChartsPropertyGroups.CategoryBoundaryGap.class, + StudioChartsPropertyGroups.NonCategoryBoundaryGap.class, + StudioChartsPropertyGroups.Min2.class, + StudioChartsPropertyGroups.Max2.class, + StudioChartsPropertyGroups.Scale.class, + StudioChartsPropertyGroups.SplitNumber.class, + StudioChartsPropertyGroups.MinInterval.class, + StudioChartsPropertyGroups.MaxInterval.class, + StudioChartsPropertyGroups.Interval.class, + StudioChartsPropertyGroups.LogBase.class, + StudioChartsPropertyGroups.Silent.class, + StudioChartsPropertyGroups.TriggerEvent.class, + StudioChartsPropertyGroups.Animation.class, + StudioChartsPropertyGroups.AnimationThreshold.class, + StudioChartsPropertyGroups.AnimationDuration.class, + StudioChartsPropertyGroups.AnimationEasing.class, + StudioChartsPropertyGroups.AnimationDelay.class, + StudioChartsPropertyGroups.AnimationDurationUpdate.class, + StudioChartsPropertyGroups.AnimationEasingUpdate.class, + StudioChartsPropertyGroups.AnimationDelayUpdate.class, + StudioChartsPropertyGroups.ZLevel2.class, + StudioChartsPropertyGroups.Z2.class + }, properties = { @StudioProperty(xmlAttribute = "show", type = StudioPropertyType.BOOLEAN), @StudioProperty(xmlAttribute = "gridIndex", type = StudioPropertyType.INTEGER), @@ -4210,6 +4985,48 @@ public interface StudioChartsElements { xmlnsAlias = "charts", isInjectable = false, icon = "io/jmix/chartsflowui/kit/meta/icon/unknownComponent.svg", + propertyGroups = { + StudioChartsPropertyGroups.Show.class, + StudioChartsPropertyGroups.GridIndex.class, + StudioChartsPropertyGroups.AlignTicks.class, + StudioChartsPropertyGroups.Position2.class, + StudioChartsPropertyGroups.Offset.class, + StudioChartsPropertyGroups.NameGap.class, + StudioChartsPropertyGroups.Name.class, + StudioChartsPropertyGroups.NameLocation.class, + StudioChartsPropertyGroups.Scale.class, + StudioChartsPropertyGroups.Silent.class, + StudioChartsPropertyGroups.TriggerEvent.class, + StudioChartsPropertyGroups.NameRotate.class, + StudioChartsPropertyGroups.Inverse.class, + StudioChartsPropertyGroups.MinFunction.class, + StudioChartsPropertyGroups.MaxFunction.class, + StudioChartsPropertyGroups.AnimationDurationFunction.class, + StudioChartsPropertyGroups.AnimationDelayFunction.class, + StudioChartsPropertyGroups.AnimationDurationUpdateFunction.class, + StudioChartsPropertyGroups.AnimationDelayUpdateFunction.class, + StudioPropertyGroups.Id.class, + StudioChartsPropertyGroups.Type2.class, + StudioChartsPropertyGroups.CategoryBoundaryGap.class, + StudioChartsPropertyGroups.NonCategoryBoundaryGap.class, + StudioChartsPropertyGroups.Min2.class, + StudioChartsPropertyGroups.Max2.class, + StudioChartsPropertyGroups.SplitNumber.class, + StudioChartsPropertyGroups.MinInterval.class, + StudioChartsPropertyGroups.MaxInterval.class, + StudioChartsPropertyGroups.Interval.class, + StudioChartsPropertyGroups.LogBase.class, + StudioChartsPropertyGroups.Animation.class, + StudioChartsPropertyGroups.AnimationThreshold.class, + StudioChartsPropertyGroups.AnimationDuration.class, + StudioChartsPropertyGroups.AnimationEasing.class, + StudioChartsPropertyGroups.AnimationDelay.class, + StudioChartsPropertyGroups.AnimationDurationUpdate.class, + StudioChartsPropertyGroups.AnimationEasingUpdate.class, + StudioChartsPropertyGroups.AnimationDelayUpdate.class, + StudioChartsPropertyGroups.ZLevel2.class, + StudioChartsPropertyGroups.Z2.class + }, properties = { @StudioProperty(xmlAttribute = "show", type = StudioPropertyType.BOOLEAN), @StudioProperty(xmlAttribute = "gridIndex", type = StudioPropertyType.INTEGER), @@ -4275,6 +5092,41 @@ public interface StudioChartsElements { unlimitedCount = false, isInjectable = false, icon = "io/jmix/chartsflowui/kit/meta/icon/unknownComponent.svg", + propertyGroups = { + StudioChartsPropertyGroups.StartAngle.class, + StudioChartsPropertyGroups.Clockwise.class, + StudioChartsPropertyGroups.PolarIndex.class, + StudioChartsPropertyGroups.MinFunction.class, + StudioChartsPropertyGroups.MaxFunction.class, + StudioChartsPropertyGroups.AnimationDurationFunction.class, + StudioChartsPropertyGroups.AnimationDelayFunction.class, + StudioChartsPropertyGroups.AnimationDurationUpdateFunction.class, + StudioChartsPropertyGroups.AnimationDelayUpdateFunction.class, + StudioPropertyGroups.Id.class, + StudioChartsPropertyGroups.Type2.class, + StudioChartsPropertyGroups.CategoryBoundaryGap.class, + StudioChartsPropertyGroups.NonCategoryBoundaryGap.class, + StudioChartsPropertyGroups.Min2.class, + StudioChartsPropertyGroups.Max2.class, + StudioChartsPropertyGroups.Scale.class, + StudioChartsPropertyGroups.SplitNumber.class, + StudioChartsPropertyGroups.MinInterval.class, + StudioChartsPropertyGroups.MaxInterval.class, + StudioChartsPropertyGroups.Interval.class, + StudioChartsPropertyGroups.LogBase.class, + StudioChartsPropertyGroups.Silent.class, + StudioChartsPropertyGroups.TriggerEvent.class, + StudioChartsPropertyGroups.Animation.class, + StudioChartsPropertyGroups.AnimationThreshold.class, + StudioChartsPropertyGroups.AnimationDuration.class, + StudioChartsPropertyGroups.AnimationEasing.class, + StudioChartsPropertyGroups.AnimationDelay.class, + StudioChartsPropertyGroups.AnimationDurationUpdate.class, + StudioChartsPropertyGroups.AnimationEasingUpdate.class, + StudioChartsPropertyGroups.AnimationDelayUpdate.class, + StudioChartsPropertyGroups.ZLevel2.class, + StudioChartsPropertyGroups.Z2.class + }, properties = { @StudioProperty(xmlAttribute = "startAngle", type = StudioPropertyType.INTEGER), @StudioProperty(xmlAttribute = "clockwise", type = StudioPropertyType.BOOLEAN), @@ -4325,6 +5177,43 @@ public interface StudioChartsElements { unlimitedCount = false, isInjectable = false, icon = "io/jmix/chartsflowui/kit/meta/icon/unknownComponent.svg", + propertyGroups = { + StudioChartsPropertyGroups.Name.class, + StudioChartsPropertyGroups.NameGap.class, + StudioChartsPropertyGroups.NameRotate.class, + StudioChartsPropertyGroups.Inverse.class, + StudioChartsPropertyGroups.PolarIndex.class, + StudioChartsPropertyGroups.MinFunction.class, + StudioChartsPropertyGroups.MaxFunction.class, + StudioChartsPropertyGroups.AnimationDurationFunction.class, + StudioChartsPropertyGroups.AnimationDelayFunction.class, + StudioChartsPropertyGroups.AnimationDurationUpdateFunction.class, + StudioChartsPropertyGroups.AnimationDelayUpdateFunction.class, + StudioPropertyGroups.Id.class, + StudioChartsPropertyGroups.Type2.class, + StudioChartsPropertyGroups.CategoryBoundaryGap.class, + StudioChartsPropertyGroups.NonCategoryBoundaryGap.class, + StudioChartsPropertyGroups.Min2.class, + StudioChartsPropertyGroups.Max2.class, + StudioChartsPropertyGroups.Scale.class, + StudioChartsPropertyGroups.SplitNumber.class, + StudioChartsPropertyGroups.MinInterval.class, + StudioChartsPropertyGroups.MaxInterval.class, + StudioChartsPropertyGroups.Interval.class, + StudioChartsPropertyGroups.LogBase.class, + StudioChartsPropertyGroups.Silent.class, + StudioChartsPropertyGroups.TriggerEvent.class, + StudioChartsPropertyGroups.Animation.class, + StudioChartsPropertyGroups.AnimationThreshold.class, + StudioChartsPropertyGroups.AnimationDuration.class, + StudioChartsPropertyGroups.AnimationEasing.class, + StudioChartsPropertyGroups.AnimationDelay.class, + StudioChartsPropertyGroups.AnimationDurationUpdate.class, + StudioChartsPropertyGroups.AnimationEasingUpdate.class, + StudioChartsPropertyGroups.AnimationDelayUpdate.class, + StudioChartsPropertyGroups.ZLevel2.class, + StudioChartsPropertyGroups.Z2.class + }, properties = { @StudioProperty(xmlAttribute = "name", type = StudioPropertyType.STRING), @@ -4380,6 +5269,39 @@ public interface StudioChartsElements { xmlnsAlias = "charts", unlimitedCount = false, icon = "io/jmix/chartsflowui/kit/meta/icon/unknownComponent.svg", + propertyGroups = { + StudioChartsPropertyGroups.ChartColor.class, + StudioChartsPropertyGroups.Ellipsis.class, + StudioChartsPropertyGroups.FontFamily.class, + StudioChartsPropertyGroups.FontSize.class, + StudioChartsPropertyGroups.FontStyle.class, + StudioChartsPropertyGroups.FontWeight.class, + StudioChartsPropertyGroups.Height.class, + StudioChartsPropertyGroups.LineHeight.class, + StudioChartsPropertyGroups.Overflow.class, + StudioChartsPropertyGroups.TextBorderColor.class, + StudioChartsPropertyGroups.TextBorderDashOffset.class, + StudioChartsPropertyGroups.TextBorderType.class, + StudioChartsPropertyGroups.TextBorderWidth.class, + StudioChartsPropertyGroups.TextShadowBlur.class, + StudioChartsPropertyGroups.TextShadowColor.class, + StudioChartsPropertyGroups.TextShadowOffsetX.class, + StudioChartsPropertyGroups.TextShadowOffsetY.class, + StudioPropertyGroups.WidthWithIntegerType.class, + StudioChartsPropertyGroups.Align.class, + StudioChartsPropertyGroups.VerticalAlign.class, + StudioChartsPropertyGroups.BackgroundColor.class, + StudioChartsPropertyGroups.BorderColor.class, + StudioChartsPropertyGroups.BorderWidth2.class, + StudioChartsPropertyGroups.BorderType.class, + StudioChartsPropertyGroups.BorderDashOffset.class, + StudioChartsPropertyGroups.BorderRadius.class, + StudioChartsPropertyGroups.Padding.class, + StudioChartsPropertyGroups.ShadowColor.class, + StudioChartsPropertyGroups.ShadowBlur.class, + StudioChartsPropertyGroups.ShadowOffsetX.class, + StudioChartsPropertyGroups.ShadowOffsetY.class + }, properties = { @StudioProperty(xmlAttribute = "color", type = StudioPropertyType.OPTIONS, options = {"ALICEBLUE", "ANTIQUEWHITE", "AQUA", "AQUAMARINE", "AZURE", "BEIGE", "BISQUE", @@ -4580,6 +5502,14 @@ public interface StudioChartsElements { xmlnsAlias = "charts", unlimitedCount = false, icon = "io/jmix/chartsflowui/kit/meta/icon/unknownComponent.svg", + propertyGroups = { + StudioChartsPropertyGroups.ShadowBlur.class, + StudioChartsPropertyGroups.ShadowOffsetX.class, + StudioChartsPropertyGroups.ShadowOffsetY.class, + StudioChartsPropertyGroups.Opacity.class, + StudioChartsPropertyGroups.ChartColor.class, + StudioChartsPropertyGroups.ShadowColor.class + }, properties = { @StudioProperty(xmlAttribute = "shadowBlur", type = StudioPropertyType.INTEGER), @StudioProperty(xmlAttribute = "shadowOffsetX", type = StudioPropertyType.INTEGER), @@ -4647,6 +5577,27 @@ public interface StudioChartsElements { xmlnsAlias = "charts", isInjectable = false, icon = "io/jmix/chartsflowui/kit/meta/icon/unknownComponent.svg", + propertyGroups = { + StudioPropertyGroups.Id.class, + StudioChartsPropertyGroups.XAxisIndexes.class, + StudioChartsPropertyGroups.YAxisIndexes.class, + StudioChartsPropertyGroups.RadiusAxisIndexes.class, + StudioChartsPropertyGroups.AngleAxisIndexes.class, + StudioChartsPropertyGroups.FilterMode.class, + StudioChartsPropertyGroups.Start.class, + StudioChartsPropertyGroups.End.class, + StudioChartsPropertyGroups.StartValue.class, + StudioChartsPropertyGroups.EndValue.class, + StudioChartsPropertyGroups.MinSpan.class, + StudioChartsPropertyGroups.MaxSpan.class, + StudioChartsPropertyGroups.MinValueSpan.class, + StudioChartsPropertyGroups.MaxValueSpan.class, + StudioChartsPropertyGroups.Orientation.class, + StudioChartsPropertyGroups.ZoomLock.class, + StudioChartsPropertyGroups.Throttle.class, + StudioChartsPropertyGroups.RangeMode.class, + StudioChartsPropertyGroups.Disabled.class + }, properties = { @StudioProperty(xmlAttribute = "id", category = StudioProperty.Category.GENERAL, type = StudioPropertyType.COMPONENT_ID), @StudioProperty(xmlAttribute = "xAxisIndexes", type = StudioPropertyType.VALUES_LIST), @@ -4688,6 +5639,41 @@ public interface StudioChartsElements { xmlnsAlias = "charts", isInjectable = false, icon = "io/jmix/chartsflowui/kit/meta/icon/unknownComponent.svg", + propertyGroups = { + StudioPropertyGroups.Id.class, + StudioChartsPropertyGroups.XAxisIndexes.class, + StudioChartsPropertyGroups.YAxisIndexes.class, + StudioChartsPropertyGroups.RadiusAxisIndexes.class, + StudioChartsPropertyGroups.AngleAxisIndexes.class, + StudioChartsPropertyGroups.FilterMode.class, + StudioChartsPropertyGroups.Start.class, + StudioChartsPropertyGroups.End.class, + StudioChartsPropertyGroups.StartValue.class, + StudioChartsPropertyGroups.EndValue.class, + StudioChartsPropertyGroups.MinSpan.class, + StudioChartsPropertyGroups.MaxSpan.class, + StudioChartsPropertyGroups.MinValueSpan.class, + StudioChartsPropertyGroups.MaxValueSpan.class, + StudioChartsPropertyGroups.Orientation.class, + StudioChartsPropertyGroups.ZoomLock.class, + StudioChartsPropertyGroups.Throttle.class, + StudioChartsPropertyGroups.RangeMode.class, + StudioChartsPropertyGroups.Show.class, + StudioChartsPropertyGroups.BackgroundColor.class, + StudioChartsPropertyGroups.BorderColor.class, + StudioChartsPropertyGroups.BorderRadius.class, + StudioChartsPropertyGroups.HandleIcon.class, + StudioChartsPropertyGroups.HandleSize.class, + StudioChartsPropertyGroups.Realtime.class, + StudioChartsPropertyGroups.ZLevel2.class, + StudioChartsPropertyGroups.Z2.class, + StudioChartsPropertyGroups.Left2.class, + StudioChartsPropertyGroups.Top2.class, + StudioChartsPropertyGroups.Right2.class, + StudioChartsPropertyGroups.Bottom2.class, + StudioChartsPropertyGroups.Width.class, + StudioChartsPropertyGroups.Height2.class + }, properties = { @StudioProperty(xmlAttribute = "id", category = StudioProperty.Category.GENERAL, type = StudioPropertyType.COMPONENT_ID), @StudioProperty(xmlAttribute = "xAxisIndexes", type = StudioPropertyType.VALUES_LIST), @@ -4856,6 +5842,38 @@ public interface StudioChartsElements { xmlnsAlias = "charts", isInjectable = false, icon = "io/jmix/chartsflowui/kit/meta/icon/unknownComponent.svg", + propertyGroups = { + StudioPropertyGroups.Id.class, + StudioChartsPropertyGroups.Min.class, + StudioChartsPropertyGroups.Max.class, + StudioChartsPropertyGroups.Inverse.class, + StudioChartsPropertyGroups.Precision.class, + StudioChartsPropertyGroups.ItemWidth.class, + StudioChartsPropertyGroups.ItemHeight.class, + StudioChartsPropertyGroups.Align3.class, + StudioChartsPropertyGroups.Text.class, + StudioChartsPropertyGroups.TextGap.class, + StudioChartsPropertyGroups.Show.class, + StudioChartsPropertyGroups.Dimension.class, + StudioChartsPropertyGroups.SeriesIndex.class, + StudioChartsPropertyGroups.HoverLink.class, + StudioChartsPropertyGroups.ZLevel.class, + StudioChartsPropertyGroups.Z.class, + StudioChartsPropertyGroups.Left2.class, + StudioChartsPropertyGroups.Top2.class, + StudioChartsPropertyGroups.Right2.class, + StudioChartsPropertyGroups.Bottom2.class, + StudioChartsPropertyGroups.Padding.class, + StudioChartsPropertyGroups.BorderWidth.class, + StudioChartsPropertyGroups.Formatter.class, + StudioChartsPropertyGroups.FormatterFunction.class, + StudioChartsPropertyGroups.Orientation.class, + StudioChartsPropertyGroups.BackgroundColor.class, + StudioChartsPropertyGroups.BorderColor.class, + StudioChartsPropertyGroups.Realtime.class, + StudioChartsPropertyGroups.HandleIcon.class, + StudioChartsPropertyGroups.HandleSize.class + }, properties = { @StudioProperty(xmlAttribute = "id", category = StudioProperty.Category.GENERAL, type = StudioPropertyType.COMPONENT_ID), @StudioProperty(xmlAttribute = "min", type = StudioPropertyType.DOUBLE), @@ -4955,6 +5973,38 @@ public interface StudioChartsElements { xmlnsAlias = "charts", isInjectable = false, icon = "io/jmix/chartsflowui/kit/meta/icon/unknownComponent.svg", + propertyGroups = { + StudioPropertyGroups.Id.class, + StudioChartsPropertyGroups.Min.class, + StudioChartsPropertyGroups.Max.class, + StudioChartsPropertyGroups.Inverse.class, + StudioChartsPropertyGroups.Precision.class, + StudioChartsPropertyGroups.ItemWidth.class, + StudioChartsPropertyGroups.ItemHeight.class, + StudioChartsPropertyGroups.Align3.class, + StudioChartsPropertyGroups.Text.class, + StudioChartsPropertyGroups.TextGap.class, + StudioChartsPropertyGroups.Show.class, + StudioChartsPropertyGroups.Dimension.class, + StudioChartsPropertyGroups.SeriesIndex.class, + StudioChartsPropertyGroups.HoverLink.class, + StudioChartsPropertyGroups.ZLevel.class, + StudioChartsPropertyGroups.Z.class, + StudioChartsPropertyGroups.Left2.class, + StudioChartsPropertyGroups.Top2.class, + StudioChartsPropertyGroups.Right2.class, + StudioChartsPropertyGroups.Bottom2.class, + StudioChartsPropertyGroups.Padding.class, + StudioChartsPropertyGroups.BorderWidth.class, + StudioChartsPropertyGroups.Formatter.class, + StudioChartsPropertyGroups.FormatterFunction.class, + StudioChartsPropertyGroups.Orientation.class, + StudioChartsPropertyGroups.BackgroundColor.class, + StudioChartsPropertyGroups.BorderColor.class, + StudioChartsPropertyGroups.SplitNumber.class, + StudioChartsPropertyGroups.SelectedMode.class, + StudioChartsPropertyGroups.ItemGap.class + }, properties = { @StudioProperty(xmlAttribute = "id", category = StudioProperty.Category.GENERAL, type = StudioPropertyType.COMPONENT_ID), @StudioProperty(xmlAttribute = "min", type = StudioPropertyType.DOUBLE), @@ -5059,6 +6109,13 @@ public interface StudioChartsElements { xmlns = "http://jmix.io/schema/charts/ui", xmlnsAlias = "charts", icon = "io/jmix/chartsflowui/kit/meta/icon/unknownComponent.svg", + propertyGroups = { + StudioChartsPropertyGroups.Min.class, + StudioChartsPropertyGroups.Max.class, + StudioPropertyGroups.Label.class, + StudioChartsPropertyGroups.Value.class, + StudioChartsPropertyGroups.ChartColor.class + }, properties = { @StudioProperty(xmlAttribute = "min", type = StudioPropertyType.DOUBLE), @StudioProperty(xmlAttribute = "max", type = StudioPropertyType.DOUBLE), @@ -5119,6 +6176,26 @@ public interface StudioChartsElements { unlimitedCount = false, xmlnsAlias = "charts", icon = "io/jmix/chartsflowui/kit/meta/icon/unknownComponent.svg", + propertyGroups = { + StudioChartsPropertyGroups.ChartColor.class, + StudioChartsPropertyGroups.FontStyle.class, + StudioChartsPropertyGroups.FontWeight.class, + StudioChartsPropertyGroups.FontFamily.class, + StudioChartsPropertyGroups.FontSize.class, + StudioChartsPropertyGroups.LineHeight.class, + StudioPropertyGroups.WidthWithIntegerType.class, + StudioChartsPropertyGroups.Height.class, + StudioChartsPropertyGroups.TextBorderColor.class, + StudioChartsPropertyGroups.TextBorderWidth.class, + StudioChartsPropertyGroups.TextBorderType.class, + StudioChartsPropertyGroups.TextBorderDashOffset.class, + StudioChartsPropertyGroups.TextShadowColor.class, + StudioChartsPropertyGroups.TextShadowBlur.class, + StudioChartsPropertyGroups.TextShadowOffsetX.class, + StudioChartsPropertyGroups.TextShadowOffsetY.class, + StudioChartsPropertyGroups.Overflow.class, + StudioChartsPropertyGroups.Ellipsis.class + }, properties = { @StudioProperty(xmlAttribute = "color", type = StudioPropertyType.OPTIONS, options = {"ALICEBLUE", "ANTIQUEWHITE", "AQUA", "AQUAMARINE", "AZURE", "BEIGE", "BISQUE", @@ -5226,6 +6303,43 @@ public interface StudioChartsElements { xmlnsAlias = "charts", isInjectable = false, icon = "io/jmix/chartsflowui/kit/meta/icon/element/lineSeries.svg", + propertyGroups = { + StudioChartsPropertyGroups.CoordinateSystem.class, + StudioChartsPropertyGroups.XAxisIndex.class, + StudioChartsPropertyGroups.YAxisIndex.class, + StudioChartsPropertyGroups.PolarIndex.class, + StudioChartsPropertyGroups.Clip.class, + StudioChartsPropertyGroups.Sampling.class, + StudioChartsPropertyGroups.Cursor.class, + StudioChartsPropertyGroups.Animation.class, + StudioChartsPropertyGroups.AnimationThreshold.class, + StudioChartsPropertyGroups.AnimationDurationUpdate.class, + StudioChartsPropertyGroups.AnimationEasingUpdate.class, + StudioChartsPropertyGroups.AnimationDelayUpdate.class, + StudioPropertyGroups.Symbol.class, + StudioChartsPropertyGroups.SymbolSize.class, + StudioChartsPropertyGroups.SymbolSizeFunction.class, + StudioChartsPropertyGroups.SymbolRotate.class, + StudioChartsPropertyGroups.SymbolKeepAspect.class, + StudioChartsPropertyGroups.SymbolOffset.class, + StudioChartsPropertyGroups.SymbolType.class, + StudioChartsPropertyGroups.Stack.class, + StudioChartsPropertyGroups.StackStrategy.class, + StudioChartsPropertyGroups.LegendHoverLink.class, + StudioChartsPropertyGroups.SeriesLayoutBy.class, + StudioChartsPropertyGroups.DatasetIndex.class, + StudioPropertyGroups.Id.class, + StudioPropertyGroups.Name2.class, + StudioChartsPropertyGroups.ColorBy.class, + StudioChartsPropertyGroups.SelectedMode.class, + StudioChartsPropertyGroups.DataGroupId.class, + StudioChartsPropertyGroups.ZLevel2.class, + StudioChartsPropertyGroups.Z2.class, + StudioChartsPropertyGroups.Silent.class, + StudioChartsPropertyGroups.AnimationDuration.class, + StudioChartsPropertyGroups.AnimationEasing.class, + StudioChartsPropertyGroups.AnimationDelay.class + }, properties = { @StudioProperty(xmlAttribute = "coordinateSystem", type = StudioPropertyType.ENUMERATION, classFqn = "io.jmix.chartsflowui.kit.component.model.series.CoordinateSystem", @@ -5304,6 +6418,45 @@ public interface StudioChartsElements { xmlnsAlias = "charts", unlimitedCount = false, icon = "io/jmix/chartsflowui/kit/meta/icon/unknownComponent.svg", + propertyGroups = { + StudioChartsPropertyGroups.Align.class, + StudioChartsPropertyGroups.VerticalAlign.class, + StudioChartsPropertyGroups.BorderType.class, + StudioChartsPropertyGroups.BorderDashOffset.class, + StudioChartsPropertyGroups.BorderRadius.class, + StudioChartsPropertyGroups.Distance.class, + StudioChartsPropertyGroups.Rotate.class, + StudioChartsPropertyGroups.Show.class, + StudioChartsPropertyGroups.Formatter.class, + StudioChartsPropertyGroups.FormatterFunction.class, + StudioChartsPropertyGroups.ValueAnimation.class, + StudioChartsPropertyGroups.Padding.class, + StudioChartsPropertyGroups.BackgroundColor.class, + StudioChartsPropertyGroups.BorderColor.class, + StudioChartsPropertyGroups.BorderWidth2.class, + StudioChartsPropertyGroups.ShadowBlur.class, + StudioChartsPropertyGroups.ShadowColor.class, + StudioChartsPropertyGroups.ShadowOffsetX.class, + StudioChartsPropertyGroups.ShadowOffsetY.class, + StudioChartsPropertyGroups.ChartColor.class, + StudioChartsPropertyGroups.FontStyle.class, + StudioChartsPropertyGroups.FontWeight.class, + StudioChartsPropertyGroups.FontFamily.class, + StudioChartsPropertyGroups.FontSize.class, + StudioChartsPropertyGroups.LineHeight.class, + StudioPropertyGroups.WidthWithIntegerType.class, + StudioChartsPropertyGroups.Height.class, + StudioChartsPropertyGroups.TextBorderColor.class, + StudioChartsPropertyGroups.TextBorderWidth.class, + StudioChartsPropertyGroups.TextBorderType.class, + StudioChartsPropertyGroups.TextBorderDashOffset.class, + StudioChartsPropertyGroups.TextShadowColor.class, + StudioChartsPropertyGroups.TextShadowBlur.class, + StudioChartsPropertyGroups.TextShadowOffsetX.class, + StudioChartsPropertyGroups.TextShadowOffsetY.class, + StudioChartsPropertyGroups.Overflow.class, + StudioChartsPropertyGroups.Ellipsis.class + }, properties = { @StudioProperty(xmlAttribute = "align", type = StudioPropertyType.ENUMERATION, classFqn = "io.jmix.chartsflowui.kit.component.model.shared.Align", @@ -5508,6 +6661,21 @@ public interface StudioChartsElements { xmlnsAlias = "charts", unlimitedCount = false, icon = "io/jmix/chartsflowui/kit/meta/icon/unknownComponent.svg", + propertyGroups = { + StudioChartsPropertyGroups.ChartColor.class, + StudioChartsPropertyGroups.BorderColor.class, + StudioChartsPropertyGroups.BorderWidth2.class, + StudioChartsPropertyGroups.BorderType.class, + StudioChartsPropertyGroups.BorderDashOffset.class, + StudioChartsPropertyGroups.Cap.class, + StudioChartsPropertyGroups.Join.class, + StudioChartsPropertyGroups.MiterLimit.class, + StudioChartsPropertyGroups.ShadowBlur.class, + StudioChartsPropertyGroups.ShadowColor.class, + StudioChartsPropertyGroups.ShadowOffsetX.class, + StudioChartsPropertyGroups.ShadowOffsetY.class, + StudioChartsPropertyGroups.Opacity.class + }, properties = { @StudioProperty(xmlAttribute = "color", type = StudioPropertyType.OPTIONS, options = {"ALICEBLUE", "ANTIQUEWHITE", "AQUA", "AQUAMARINE", "AZURE", "BEIGE", "BISQUE", @@ -5611,6 +6779,21 @@ public interface StudioChartsElements { xmlnsAlias = "charts", unlimitedCount = false, icon = "io/jmix/chartsflowui/kit/meta/icon/unknownComponent.svg", + propertyGroups = { + StudioChartsPropertyGroups.ChartColor.class, + StudioChartsPropertyGroups.BorderColor.class, + StudioChartsPropertyGroups.BorderWidth2.class, + StudioChartsPropertyGroups.BorderType.class, + StudioChartsPropertyGroups.BorderDashOffset.class, + StudioChartsPropertyGroups.Cap.class, + StudioChartsPropertyGroups.Join.class, + StudioChartsPropertyGroups.MiterLimit.class, + StudioChartsPropertyGroups.ShadowBlur.class, + StudioChartsPropertyGroups.ShadowColor.class, + StudioChartsPropertyGroups.ShadowOffsetX.class, + StudioChartsPropertyGroups.ShadowOffsetY.class, + StudioChartsPropertyGroups.Opacity.class + }, properties = { @StudioProperty(xmlAttribute = "color", type = StudioPropertyType.OPTIONS, options = {"ALICEBLUE", "ANTIQUEWHITE", "AQUA", "AQUAMARINE", "AZURE", "BEIGE", "BISQUE", @@ -5714,6 +6897,13 @@ public interface StudioChartsElements { xmlnsAlias = "charts", unlimitedCount = false, icon = "io/jmix/chartsflowui/kit/meta/icon/unknownComponent.svg", + propertyGroups = { + StudioChartsPropertyGroups.Show.class, + StudioChartsPropertyGroups.ShowAbove.class, + StudioChartsPropertyGroups.Length.class, + StudioChartsPropertyGroups.Smooth.class, + StudioChartsPropertyGroups.MinTurnAngle.class + }, properties = { @StudioProperty(xmlAttribute = "show", type = StudioPropertyType.BOOLEAN), @StudioProperty(xmlAttribute = "showAbove", type = StudioPropertyType.BOOLEAN), @@ -5733,6 +6923,14 @@ public interface StudioChartsElements { xmlnsAlias = "charts", unlimitedCount = false, icon = "io/jmix/chartsflowui/kit/meta/icon/unknownComponent.svg", + propertyGroups = { + StudioChartsPropertyGroups.Opacity.class, + StudioChartsPropertyGroups.ChartColor.class, + StudioChartsPropertyGroups.ShadowColor.class, + StudioChartsPropertyGroups.ShadowBlur.class, + StudioChartsPropertyGroups.ShadowOffsetX.class, + StudioChartsPropertyGroups.ShadowOffsetY.class + }, properties = { @StudioProperty(xmlAttribute = "originType", type = StudioPropertyType.ENUMERATION, classFqn = "io.jmix.chartsflowui.kit.component.model.series.LineSeries.AreaStyle.Origin.OriginType", @@ -5817,6 +7015,9 @@ public interface StudioChartsElements { xmlnsAlias = "charts", unlimitedCount = false, icon = "io/jmix/chartsflowui/kit/meta/icon/unknownComponent.svg", + propertyGroups = { + StudioChartsPropertyGroups.Disabled.class + }, properties = { @StudioProperty(xmlAttribute = "disabled", type = StudioPropertyType.BOOLEAN) } @@ -5832,6 +7033,12 @@ public interface StudioChartsElements { xmlnsAlias = "charts", unlimitedCount = false, icon = "io/jmix/chartsflowui/kit/meta/icon/unknownComponent.svg", + propertyGroups = { + StudioChartsPropertyGroups.Disabled.class, + StudioChartsPropertyGroups.Scale2.class, + StudioChartsPropertyGroups.Focus.class, + StudioChartsPropertyGroups.BlurScope.class + }, properties = { @StudioProperty(xmlAttribute = "disabled", type = StudioPropertyType.BOOLEAN), @StudioProperty(xmlAttribute = "scale", type = StudioPropertyType.DOUBLE), @@ -5860,6 +7067,9 @@ public interface StudioChartsElements { xmlnsAlias = "charts", unlimitedCount = false, icon = "io/jmix/chartsflowui/kit/meta/icon/unknownComponent.svg", + propertyGroups = { + StudioChartsPropertyGroups.Show.class + }, properties = { @StudioProperty(xmlAttribute = "show", type = StudioPropertyType.BOOLEAN) } @@ -5875,6 +7085,14 @@ public interface StudioChartsElements { xmlnsAlias = "charts", unlimitedCount = false, icon = "io/jmix/chartsflowui/kit/meta/icon/unknownComponent.svg", + propertyGroups = { + StudioChartsPropertyGroups.ChartColor.class, + StudioChartsPropertyGroups.ShadowColor.class, + StudioChartsPropertyGroups.ShadowBlur.class, + StudioChartsPropertyGroups.ShadowOffsetX.class, + StudioChartsPropertyGroups.ShadowOffsetY.class, + StudioChartsPropertyGroups.Opacity.class + }, properties = { @StudioProperty(xmlAttribute = "color", type = StudioPropertyType.OPTIONS, options = {"ALICEBLUE", "ANTIQUEWHITE", "AQUA", "AQUAMARINE", "AZURE", "BEIGE", "BISQUE", @@ -5942,6 +7160,45 @@ public interface StudioChartsElements { xmlnsAlias = "charts", isInjectable = false, icon = "io/jmix/chartsflowui/kit/meta/icon/element/barSeries.svg", + propertyGroups = { + StudioChartsPropertyGroups.CoordinateSystem.class, + StudioChartsPropertyGroups.XAxisIndex.class, + StudioChartsPropertyGroups.YAxisIndex.class, + StudioChartsPropertyGroups.PolarIndex.class, + StudioChartsPropertyGroups.Sampling.class, + StudioChartsPropertyGroups.Stack.class, + StudioChartsPropertyGroups.Clip.class, + StudioChartsPropertyGroups.StackStrategy.class, + StudioChartsPropertyGroups.RoundCap.class, + StudioChartsPropertyGroups.BarWidth.class, + StudioChartsPropertyGroups.BarMaxWidth.class, + StudioChartsPropertyGroups.BarMinWidth.class, + StudioChartsPropertyGroups.Cursor.class, + StudioChartsPropertyGroups.Large.class, + StudioChartsPropertyGroups.LargeThreshold.class, + StudioChartsPropertyGroups.Progressive.class, + StudioChartsPropertyGroups.ProgressiveThreshold.class, + StudioChartsPropertyGroups.Animation.class, + StudioChartsPropertyGroups.AnimationThreshold.class, + StudioChartsPropertyGroups.AnimationDurationUpdate.class, + StudioChartsPropertyGroups.AnimationDelayUpdate.class, + StudioChartsPropertyGroups.AnimationEasingUpdate.class, + StudioChartsPropertyGroups.ProgressiveChunkMode.class, + StudioChartsPropertyGroups.LegendHoverLink.class, + StudioChartsPropertyGroups.SeriesLayoutBy.class, + StudioChartsPropertyGroups.DatasetIndex.class, + StudioPropertyGroups.Id.class, + StudioChartsPropertyGroups.Name.class, + StudioChartsPropertyGroups.ColorBy.class, + StudioChartsPropertyGroups.SelectedMode.class, + StudioChartsPropertyGroups.DataGroupId.class, + StudioChartsPropertyGroups.ZLevel2.class, + StudioChartsPropertyGroups.Z2.class, + StudioChartsPropertyGroups.Silent.class, + StudioChartsPropertyGroups.AnimationDuration.class, + StudioChartsPropertyGroups.AnimationEasing.class, + StudioChartsPropertyGroups.AnimationDelay.class + }, properties = { @StudioProperty(xmlAttribute = "coordinateSystem", type = StudioPropertyType.ENUMERATION, classFqn = "io.jmix.chartsflowui.kit.component.model.series.CoordinateSystem", @@ -6013,6 +7270,11 @@ public interface StudioChartsElements { xmlnsAlias = "charts", unlimitedCount = false, icon = "io/jmix/chartsflowui/kit/meta/icon/unknownComponent.svg", + propertyGroups = { + StudioChartsPropertyGroups.Disabled.class, + StudioChartsPropertyGroups.Focus.class, + StudioChartsPropertyGroups.BlurScope.class + }, properties = { @StudioProperty(xmlAttribute = "disabled", type = StudioPropertyType.BOOLEAN), @StudioProperty(xmlAttribute = "focus", type = StudioPropertyType.ENUMERATION, @@ -6046,6 +7308,9 @@ public interface StudioChartsElements { xmlnsAlias = "charts", unlimitedCount = false, icon = "io/jmix/chartsflowui/kit/meta/icon/unknownComponent.svg", + propertyGroups = { + StudioChartsPropertyGroups.Disabled.class + }, properties = { @StudioProperty(xmlAttribute = "disabled", type = StudioPropertyType.BOOLEAN) } @@ -6062,6 +7327,17 @@ public interface StudioChartsElements { xmlnsAlias = "charts", unlimitedCount = false, icon = "io/jmix/chartsflowui/kit/meta/icon/unknownComponent.svg", + propertyGroups = { + StudioChartsPropertyGroups.HideOverlap.class, + StudioChartsPropertyGroups.X.class, + StudioChartsPropertyGroups.Y.class, + StudioChartsPropertyGroups.Rotate.class, + StudioPropertyGroups.WidthWithIntegerType.class, + StudioChartsPropertyGroups.Height.class, + StudioChartsPropertyGroups.Align.class, + StudioChartsPropertyGroups.VerticalAlign.class, + StudioChartsPropertyGroups.FontSize.class + }, properties = { @StudioProperty(xmlAttribute = "hideOverlap", type = StudioPropertyType.BOOLEAN), @StudioProperty(xmlAttribute = "moveOverlap", type = StudioPropertyType.ENUMERATION, @@ -6096,6 +7372,18 @@ public interface StudioChartsElements { xmlnsAlias = "charts", unlimitedCount = false, icon = "io/jmix/chartsflowui/kit/meta/icon/unknownComponent.svg", + propertyGroups = { + StudioChartsPropertyGroups.Position.class, + StudioChartsPropertyGroups.PositionCoordinates.class, + StudioChartsPropertyGroups.Formatter.class, + StudioChartsPropertyGroups.FormatterFunction.class, + StudioChartsPropertyGroups.ValueFormatter.class, + StudioChartsPropertyGroups.BackgroundColor.class, + StudioChartsPropertyGroups.BorderColor.class, + StudioChartsPropertyGroups.BorderWidth2.class, + StudioChartsPropertyGroups.Padding.class, + StudioChartsPropertyGroups.ExtraCssText.class + }, properties = { @StudioProperty(xmlAttribute = "position", type = StudioPropertyType.ENUMERATION, classFqn = "io.jmix.chartsflowui.kit.component.model.shared.AbstractTooltip.Position.ItemTriggerPosition", @@ -6173,6 +7461,24 @@ public interface StudioChartsElements { xmlnsAlias = "charts", unlimitedCount = false, icon = "io/jmix/chartsflowui/kit/meta/icon/unknownComponent.svg", + propertyGroups = { + StudioPropertyGroups.Symbol.class, + StudioChartsPropertyGroups.SymbolSize.class, + StudioChartsPropertyGroups.SymbolSizeFunction.class, + StudioChartsPropertyGroups.SymbolRotate.class, + StudioChartsPropertyGroups.SymbolKeepAspect.class, + StudioChartsPropertyGroups.SymbolOffset.class, + StudioChartsPropertyGroups.SymbolType.class, + StudioChartsPropertyGroups.Silent.class, + StudioChartsPropertyGroups.Animation.class, + StudioChartsPropertyGroups.AnimationThreshold.class, + StudioChartsPropertyGroups.AnimationDuration.class, + StudioChartsPropertyGroups.AnimationEasing.class, + StudioChartsPropertyGroups.AnimationDelay.class, + StudioChartsPropertyGroups.AnimationDurationUpdate.class, + StudioChartsPropertyGroups.AnimationEasingUpdate.class, + StudioChartsPropertyGroups.AnimationDelayUpdate2.class + }, properties = { @StudioProperty(xmlAttribute = "symbol", type = StudioPropertyType.STRING), @StudioProperty(xmlAttribute = "symbolSize", type = StudioPropertyType.INTEGER), @@ -6209,6 +7515,19 @@ public interface StudioChartsElements { xmlnsAlias = "charts", unlimitedCount = false, icon = "io/jmix/chartsflowui/kit/meta/icon/unknownComponent.svg", + propertyGroups = { + StudioChartsPropertyGroups.SymbolSize.class, + StudioChartsPropertyGroups.Precision2.class, + StudioChartsPropertyGroups.Silent.class, + StudioChartsPropertyGroups.Animation.class, + StudioChartsPropertyGroups.AnimationThreshold.class, + StudioChartsPropertyGroups.AnimationDuration.class, + StudioChartsPropertyGroups.AnimationEasing.class, + StudioChartsPropertyGroups.AnimationDelay.class, + StudioChartsPropertyGroups.AnimationDurationUpdate.class, + StudioChartsPropertyGroups.AnimationEasingUpdate.class, + StudioChartsPropertyGroups.AnimationDelayUpdate2.class + }, properties = { @StudioProperty(xmlAttribute = "symbolSize", type = StudioPropertyType.INTEGER), @StudioProperty(xmlAttribute = "precision", type = StudioPropertyType.INTEGER), @@ -6241,6 +7560,17 @@ public interface StudioChartsElements { xmlnsAlias = "charts", unlimitedCount = false, icon = "io/jmix/chartsflowui/kit/meta/icon/unknownComponent.svg", + propertyGroups = { + StudioChartsPropertyGroups.Silent.class, + StudioChartsPropertyGroups.Animation.class, + StudioChartsPropertyGroups.AnimationThreshold.class, + StudioChartsPropertyGroups.AnimationDuration.class, + StudioChartsPropertyGroups.AnimationEasing.class, + StudioChartsPropertyGroups.AnimationDelay.class, + StudioChartsPropertyGroups.AnimationDurationUpdate.class, + StudioChartsPropertyGroups.AnimationEasingUpdate.class, + StudioChartsPropertyGroups.AnimationDelayUpdate2.class + }, properties = { @StudioProperty(xmlAttribute = "silent", type = StudioPropertyType.BOOLEAN), @StudioProperty(xmlAttribute = "animation", type = StudioPropertyType.BOOLEAN), @@ -6267,6 +7597,9 @@ public interface StudioChartsElements { xmlnsAlias = "charts", unlimitedCount = false, icon = "io/jmix/chartsflowui/kit/meta/icon/unknownComponent.svg", + propertyGroups = { + StudioChartsPropertyGroups.Disabled.class + }, properties = { @StudioProperty(xmlAttribute = "disabled", type = StudioPropertyType.BOOLEAN) } @@ -6308,6 +7641,26 @@ public interface StudioChartsElements { xmlns = "http://jmix.io/schema/charts/ui", xmlnsAlias = "charts", icon = "io/jmix/chartsflowui/kit/meta/icon/unknownComponent.svg", + propertyGroups = { + StudioChartsPropertyGroups.Name.class, + StudioChartsPropertyGroups.Type3.class, + StudioChartsPropertyGroups.ValueIndex.class, + StudioChartsPropertyGroups.ValueDim.class, + StudioChartsPropertyGroups.StringCoordinate.class, + StudioChartsPropertyGroups.NumberCoordinate.class, + StudioChartsPropertyGroups.X.class, + StudioChartsPropertyGroups.Y.class, + StudioChartsPropertyGroups.XAxis.class, + StudioChartsPropertyGroups.YAxis.class, + StudioChartsPropertyGroups.Value.class, + StudioPropertyGroups.Symbol.class, + StudioChartsPropertyGroups.SymbolSize.class, + StudioChartsPropertyGroups.SymbolSizeFunction.class, + StudioChartsPropertyGroups.SymbolRotate.class, + StudioChartsPropertyGroups.SymbolKeepAspect.class, + StudioChartsPropertyGroups.SymbolOffset.class, + StudioChartsPropertyGroups.SymbolType.class + }, properties = { @StudioProperty(xmlAttribute = "name", type = StudioPropertyType.STRING), @StudioProperty(xmlAttribute = "type", type = StudioPropertyType.ENUMERATION, @@ -6356,6 +7709,26 @@ public interface StudioChartsElements { xmlnsAlias = "charts", unlimitedCount = false, icon = "io/jmix/chartsflowui/kit/meta/icon/unknownComponent.svg", + propertyGroups = { + StudioChartsPropertyGroups.Name.class, + StudioChartsPropertyGroups.Type3.class, + StudioChartsPropertyGroups.ValueIndex.class, + StudioChartsPropertyGroups.ValueDim.class, + StudioChartsPropertyGroups.StringCoordinate.class, + StudioChartsPropertyGroups.NumberCoordinate.class, + StudioChartsPropertyGroups.X.class, + StudioChartsPropertyGroups.Y.class, + StudioChartsPropertyGroups.XAxis.class, + StudioChartsPropertyGroups.YAxis.class, + StudioChartsPropertyGroups.Value.class, + StudioPropertyGroups.Symbol.class, + StudioChartsPropertyGroups.SymbolSize.class, + StudioChartsPropertyGroups.SymbolSizeFunction.class, + StudioChartsPropertyGroups.SymbolRotate.class, + StudioChartsPropertyGroups.SymbolKeepAspect.class, + StudioChartsPropertyGroups.SymbolOffset.class, + StudioChartsPropertyGroups.SymbolType.class + }, properties = { @StudioProperty(xmlAttribute = "name", type = StudioPropertyType.STRING), @StudioProperty(xmlAttribute = "type", type = StudioPropertyType.ENUMERATION, @@ -6393,6 +7766,26 @@ public interface StudioChartsElements { xmlnsAlias = "charts", unlimitedCount = false, icon = "io/jmix/chartsflowui/kit/meta/icon/unknownComponent.svg", + propertyGroups = { + StudioChartsPropertyGroups.Name.class, + StudioChartsPropertyGroups.Type3.class, + StudioChartsPropertyGroups.ValueIndex.class, + StudioChartsPropertyGroups.ValueDim.class, + StudioChartsPropertyGroups.StringCoordinate.class, + StudioChartsPropertyGroups.NumberCoordinate.class, + StudioChartsPropertyGroups.X.class, + StudioChartsPropertyGroups.Y.class, + StudioChartsPropertyGroups.XAxis.class, + StudioChartsPropertyGroups.YAxis.class, + StudioChartsPropertyGroups.Value.class, + StudioPropertyGroups.Symbol.class, + StudioChartsPropertyGroups.SymbolSize.class, + StudioChartsPropertyGroups.SymbolSizeFunction.class, + StudioChartsPropertyGroups.SymbolRotate.class, + StudioChartsPropertyGroups.SymbolKeepAspect.class, + StudioChartsPropertyGroups.SymbolOffset.class, + StudioChartsPropertyGroups.SymbolType.class + }, properties = { @StudioProperty(xmlAttribute = "name", type = StudioPropertyType.STRING), @StudioProperty(xmlAttribute = "type", type = StudioPropertyType.ENUMERATION, @@ -6433,6 +7826,9 @@ public interface StudioChartsElements { xmlnsAlias = "charts", unlimitedCount = false, icon = "io/jmix/chartsflowui/kit/meta/icon/unknownComponent.svg", + propertyGroups = { + StudioChartsPropertyGroups.Disabled.class + }, properties = { @StudioProperty(xmlAttribute = "disabled", type = StudioPropertyType.BOOLEAN) } @@ -6458,6 +7854,23 @@ public interface StudioChartsElements { xmlns = "http://jmix.io/schema/charts/ui", xmlnsAlias = "charts", icon = "io/jmix/chartsflowui/kit/meta/icon/unknownComponent.svg", + propertyGroups = { + StudioChartsPropertyGroups.Name.class, + StudioChartsPropertyGroups.Type4.class, + StudioChartsPropertyGroups.ValueIndex.class, + StudioChartsPropertyGroups.ValueDim.class, + StudioChartsPropertyGroups.StringCoordinate.class, + StudioChartsPropertyGroups.NumberCoordinate.class, + StudioChartsPropertyGroups.X.class, + StudioChartsPropertyGroups.Y.class, + StudioPropertyGroups.Symbol.class, + StudioChartsPropertyGroups.SymbolSize.class, + StudioChartsPropertyGroups.SymbolSizeFunction.class, + StudioChartsPropertyGroups.SymbolRotate.class, + StudioChartsPropertyGroups.SymbolKeepAspect.class, + StudioChartsPropertyGroups.SymbolOffset.class, + StudioChartsPropertyGroups.SymbolType.class + }, properties = { @StudioProperty(xmlAttribute = "name", type = StudioPropertyType.STRING), @StudioProperty(xmlAttribute = "type", type = StudioPropertyType.ENUMERATION, @@ -6495,6 +7908,9 @@ public interface StudioChartsElements { xmlnsAlias = "charts", unlimitedCount = false, icon = "io/jmix/chartsflowui/kit/meta/icon/unknownComponent.svg", + propertyGroups = { + StudioChartsPropertyGroups.Disabled.class + }, properties = { @StudioProperty(xmlAttribute = "disabled", type = StudioPropertyType.BOOLEAN) } @@ -6536,6 +7952,17 @@ public interface StudioChartsElements { xmlnsAlias = "charts", unlimitedCount = false, icon = "io/jmix/chartsflowui/kit/meta/icon/unknownComponent.svg", + propertyGroups = { + StudioChartsPropertyGroups.Name.class, + StudioChartsPropertyGroups.Type4.class, + StudioChartsPropertyGroups.ValueIndex.class, + StudioChartsPropertyGroups.ValueDim.class, + StudioChartsPropertyGroups.StringCoordinate.class, + StudioChartsPropertyGroups.NumberCoordinate.class, + StudioChartsPropertyGroups.X.class, + StudioChartsPropertyGroups.Y.class, + StudioChartsPropertyGroups.Value.class + }, properties = { @StudioProperty(xmlAttribute = "name", type = StudioPropertyType.STRING), @StudioProperty(xmlAttribute = "type", type = StudioPropertyType.ENUMERATION, @@ -6561,6 +7988,17 @@ public interface StudioChartsElements { xmlnsAlias = "charts", unlimitedCount = false, icon = "io/jmix/chartsflowui/kit/meta/icon/unknownComponent.svg", + propertyGroups = { + StudioChartsPropertyGroups.Name.class, + StudioChartsPropertyGroups.Type4.class, + StudioChartsPropertyGroups.ValueIndex.class, + StudioChartsPropertyGroups.ValueDim.class, + StudioChartsPropertyGroups.StringCoordinate.class, + StudioChartsPropertyGroups.NumberCoordinate.class, + StudioChartsPropertyGroups.X.class, + StudioChartsPropertyGroups.Y.class, + StudioChartsPropertyGroups.Value.class + }, properties = { @StudioProperty(xmlAttribute = "name", type = StudioPropertyType.STRING), @StudioProperty(xmlAttribute = "type", type = StudioPropertyType.ENUMERATION, @@ -6586,6 +8024,47 @@ public interface StudioChartsElements { xmlnsAlias = "charts", unlimitedCount = false, icon = "io/jmix/chartsflowui/kit/meta/icon/unknownComponent.svg", + propertyGroups = { + StudioChartsPropertyGroups.Formatter.class, + StudioChartsPropertyGroups.FormatterFunction.class, + StudioChartsPropertyGroups.Show.class, + StudioChartsPropertyGroups.Distance.class, + StudioChartsPropertyGroups.Rotate.class, + StudioChartsPropertyGroups.Offset2.class, + StudioChartsPropertyGroups.Align.class, + StudioChartsPropertyGroups.VerticalAlign.class, + StudioChartsPropertyGroups.BackgroundColor.class, + StudioChartsPropertyGroups.BorderColor.class, + StudioChartsPropertyGroups.BorderWidth2.class, + StudioChartsPropertyGroups.BorderType.class, + StudioChartsPropertyGroups.BorderDashOffset.class, + StudioChartsPropertyGroups.BorderRadius.class, + StudioChartsPropertyGroups.Padding.class, + StudioChartsPropertyGroups.ShadowColor.class, + StudioChartsPropertyGroups.ShadowBlur.class, + StudioChartsPropertyGroups.ShadowOffsetX.class, + StudioChartsPropertyGroups.ShadowOffsetY.class, + StudioChartsPropertyGroups.Position.class, + StudioChartsPropertyGroups.PositionCoordinates.class, + StudioChartsPropertyGroups.ChartColor.class, + StudioChartsPropertyGroups.FontStyle.class, + StudioChartsPropertyGroups.FontWeight.class, + StudioChartsPropertyGroups.FontFamily.class, + StudioChartsPropertyGroups.FontSize.class, + StudioChartsPropertyGroups.LineHeight.class, + StudioPropertyGroups.WidthWithIntegerType.class, + StudioChartsPropertyGroups.Height.class, + StudioChartsPropertyGroups.TextBorderColor.class, + StudioChartsPropertyGroups.TextBorderWidth.class, + StudioChartsPropertyGroups.TextBorderType.class, + StudioChartsPropertyGroups.TextBorderDashOffset.class, + StudioChartsPropertyGroups.TextShadowColor.class, + StudioChartsPropertyGroups.TextShadowBlur.class, + StudioChartsPropertyGroups.TextShadowOffsetX.class, + StudioChartsPropertyGroups.TextShadowOffsetY.class, + StudioChartsPropertyGroups.Overflow.class, + StudioChartsPropertyGroups.Ellipsis.class + }, properties = { @StudioProperty(xmlAttribute = "formatter", type = StudioPropertyType.STRING), @StudioProperty(xmlAttribute = "formatterFunction", type = StudioPropertyType.STRING), @@ -6806,6 +8285,47 @@ public interface StudioChartsElements { xmlnsAlias = "charts", unlimitedCount = false, icon = "io/jmix/chartsflowui/kit/meta/icon/unknownComponent.svg", + propertyGroups = { + StudioChartsPropertyGroups.Formatter.class, + StudioChartsPropertyGroups.FormatterFunction.class, + StudioChartsPropertyGroups.Show.class, + StudioChartsPropertyGroups.Distance.class, + StudioChartsPropertyGroups.Rotate.class, + StudioChartsPropertyGroups.Offset2.class, + StudioChartsPropertyGroups.Align.class, + StudioChartsPropertyGroups.VerticalAlign.class, + StudioChartsPropertyGroups.BackgroundColor.class, + StudioChartsPropertyGroups.BorderColor.class, + StudioChartsPropertyGroups.BorderWidth2.class, + StudioChartsPropertyGroups.BorderType.class, + StudioChartsPropertyGroups.BorderDashOffset.class, + StudioChartsPropertyGroups.BorderRadius.class, + StudioChartsPropertyGroups.Padding.class, + StudioChartsPropertyGroups.ShadowColor.class, + StudioChartsPropertyGroups.ShadowBlur.class, + StudioChartsPropertyGroups.ShadowOffsetX.class, + StudioChartsPropertyGroups.ShadowOffsetY.class, + StudioChartsPropertyGroups.Position.class, + StudioChartsPropertyGroups.PositionCoordinates.class, + StudioChartsPropertyGroups.ChartColor.class, + StudioChartsPropertyGroups.FontStyle.class, + StudioChartsPropertyGroups.FontWeight.class, + StudioChartsPropertyGroups.FontFamily.class, + StudioChartsPropertyGroups.FontSize.class, + StudioChartsPropertyGroups.LineHeight.class, + StudioPropertyGroups.WidthWithIntegerType.class, + StudioChartsPropertyGroups.Height.class, + StudioChartsPropertyGroups.TextBorderColor.class, + StudioChartsPropertyGroups.TextBorderWidth.class, + StudioChartsPropertyGroups.TextBorderType.class, + StudioChartsPropertyGroups.TextBorderDashOffset.class, + StudioChartsPropertyGroups.TextShadowColor.class, + StudioChartsPropertyGroups.TextShadowBlur.class, + StudioChartsPropertyGroups.TextShadowOffsetX.class, + StudioChartsPropertyGroups.TextShadowOffsetY.class, + StudioChartsPropertyGroups.Overflow.class, + StudioChartsPropertyGroups.Ellipsis.class + }, properties = { @StudioProperty(xmlAttribute = "formatter", type = StudioPropertyType.STRING), @StudioProperty(xmlAttribute = "formatterFunction", type = StudioPropertyType.STRING), @@ -7013,6 +8533,9 @@ public interface StudioChartsElements { xmlnsAlias = "charts", unlimitedCount = false, icon = "io/jmix/chartsflowui/kit/meta/icon/unknownComponent.svg", + propertyGroups = { + StudioChartsPropertyGroups.Radius2.class + }, properties = { @StudioProperty(xmlAttribute = "x", type = StudioPropertyType.VALUES_LIST), @StudioProperty(xmlAttribute = "y", type = StudioPropertyType.VALUES_LIST), @@ -7033,6 +8556,18 @@ public interface StudioChartsElements { xmlnsAlias = "charts", unlimitedCount = false, icon = "io/jmix/chartsflowui/kit/meta/icon/unknownComponent.svg", + propertyGroups = { + StudioChartsPropertyGroups.BorderWidth2.class, + StudioChartsPropertyGroups.BorderType.class, + StudioChartsPropertyGroups.BorderRadius.class, + StudioChartsPropertyGroups.ShadowBlur.class, + StudioChartsPropertyGroups.ShadowOffsetX.class, + StudioChartsPropertyGroups.ShadowOffsetY.class, + StudioChartsPropertyGroups.Opacity.class, + StudioChartsPropertyGroups.ChartColor.class, + StudioChartsPropertyGroups.BorderColor.class, + StudioChartsPropertyGroups.ShadowColor.class + }, properties = { @StudioProperty(xmlAttribute = "borderWidth", type = StudioPropertyType.INTEGER), @StudioProperty(xmlAttribute = "borderType", type = StudioPropertyType.STRING), @@ -7132,6 +8667,9 @@ public interface StudioChartsElements { xmlnsAlias = "charts", unlimitedCount = false, icon = "io/jmix/chartsflowui/kit/meta/icon/unknownComponent.svg", + propertyGroups = { + StudioChartsPropertyGroups.Show.class + }, properties = { @StudioProperty(xmlAttribute = "show", type = StudioPropertyType.BOOLEAN) } @@ -7150,6 +8688,18 @@ public interface StudioChartsElements { xmlnsAlias = "charts", unlimitedCount = false, icon = "io/jmix/chartsflowui/kit/meta/icon/unknownComponent.svg", + propertyGroups = { + StudioChartsPropertyGroups.ChartColor.class, + StudioChartsPropertyGroups.BorderColor.class, + StudioChartsPropertyGroups.BorderWidth2.class, + StudioChartsPropertyGroups.BorderType.class, + StudioChartsPropertyGroups.BorderRadius.class, + StudioChartsPropertyGroups.ShadowBlur.class, + StudioChartsPropertyGroups.ShadowColor.class, + StudioChartsPropertyGroups.ShadowOffsetX.class, + StudioChartsPropertyGroups.ShadowOffsetY.class, + StudioChartsPropertyGroups.Opacity.class + }, properties = { @StudioProperty(xmlAttribute = "color", type = StudioPropertyType.OPTIONS, options = {"ALICEBLUE", "ANTIQUEWHITE", "AQUA", "AQUAMARINE", "AZURE", "BEIGE", "BISQUE", @@ -7246,6 +8796,18 @@ public interface StudioChartsElements { xmlnsAlias = "charts", unlimitedCount = false, icon = "io/jmix/chartsflowui/kit/meta/icon/unknownComponent.svg", + propertyGroups = { + StudioChartsPropertyGroups.ChartColor.class, + StudioChartsPropertyGroups.BorderColor.class, + StudioChartsPropertyGroups.BorderWidth2.class, + StudioChartsPropertyGroups.BorderType.class, + StudioChartsPropertyGroups.BorderRadius.class, + StudioChartsPropertyGroups.ShadowBlur.class, + StudioChartsPropertyGroups.ShadowColor.class, + StudioChartsPropertyGroups.ShadowOffsetX.class, + StudioChartsPropertyGroups.ShadowOffsetY.class, + StudioChartsPropertyGroups.Opacity.class + }, properties = { @StudioProperty(xmlAttribute = "color", type = StudioPropertyType.OPTIONS, options = {"ALICEBLUE", "ANTIQUEWHITE", "AQUA", "AQUAMARINE", "AZURE", "BEIGE", "BISQUE", @@ -7343,6 +8905,12 @@ public interface StudioChartsElements { xmlnsAlias = "charts", unlimitedCount = false, icon = "io/jmix/chartsflowui/kit/meta/icon/unknownComponent.svg", + propertyGroups = { + StudioChartsPropertyGroups.SymbolKeepAspect.class, + StudioPropertyGroups.Rotation.class, + StudioChartsPropertyGroups.ChartColor.class, + StudioChartsPropertyGroups.BackgroundColor.class + }, properties = { @StudioProperty(xmlAttribute = "symbol", type = StudioPropertyType.ENUMERATION, classFqn = "io.jmix.chartsflowui.kit.component.model.shared.HasSymbols.SymbolType", @@ -7419,6 +8987,40 @@ public interface StudioChartsElements { xmlnsAlias = "charts", isInjectable = false, icon = "io/jmix/chartsflowui/kit/meta/icon/element/pieSeries.svg", + propertyGroups = { + StudioChartsPropertyGroups.GeoIndex.class, + StudioChartsPropertyGroups.CalendarIndex.class, + StudioChartsPropertyGroups.Clockwise.class, + StudioChartsPropertyGroups.StartAngle.class, + StudioChartsPropertyGroups.Width.class, + StudioChartsPropertyGroups.Height2.class, + StudioChartsPropertyGroups.Cursor.class, + StudioChartsPropertyGroups.Center.class, + StudioChartsPropertyGroups.Radius.class, + StudioChartsPropertyGroups.Animation.class, + StudioChartsPropertyGroups.AnimationThreshold.class, + StudioChartsPropertyGroups.AnimationDurationUpdate.class, + StudioChartsPropertyGroups.AnimationEasingUpdate.class, + StudioChartsPropertyGroups.AnimationDelayUpdate.class, + StudioChartsPropertyGroups.Left2.class, + StudioChartsPropertyGroups.Bottom2.class, + StudioChartsPropertyGroups.Right2.class, + StudioChartsPropertyGroups.Top2.class, + StudioChartsPropertyGroups.LegendHoverLink.class, + StudioChartsPropertyGroups.SeriesLayoutBy.class, + StudioChartsPropertyGroups.DatasetIndex.class, + StudioPropertyGroups.Id.class, + StudioChartsPropertyGroups.Name.class, + StudioChartsPropertyGroups.ColorBy.class, + StudioChartsPropertyGroups.SelectedMode.class, + StudioChartsPropertyGroups.DataGroupId.class, + StudioChartsPropertyGroups.ZLevel2.class, + StudioChartsPropertyGroups.Z2.class, + StudioChartsPropertyGroups.Silent.class, + StudioChartsPropertyGroups.AnimationDuration.class, + StudioChartsPropertyGroups.AnimationEasing.class, + StudioChartsPropertyGroups.AnimationDelay.class + }, properties = { @StudioProperty(xmlAttribute = "geoIndex", type = StudioPropertyType.INTEGER), @StudioProperty(xmlAttribute = "calendarIndex", type = StudioPropertyType.INTEGER), @@ -7487,6 +9089,13 @@ public interface StudioChartsElements { xmlnsAlias = "charts", unlimitedCount = false, icon = "io/jmix/chartsflowui/kit/meta/icon/unknownComponent.svg", + propertyGroups = { + StudioChartsPropertyGroups.Show.class, + StudioChartsPropertyGroups.ShowAbove.class, + StudioChartsPropertyGroups.Length.class, + StudioChartsPropertyGroups.Smooth.class, + StudioChartsPropertyGroups.MinTurnAngle.class + }, properties = { @StudioProperty(xmlAttribute = "show", type = StudioPropertyType.BOOLEAN), @StudioProperty(xmlAttribute = "showAbove", type = StudioPropertyType.BOOLEAN), @@ -7508,6 +9117,12 @@ public interface StudioChartsElements { xmlnsAlias = "charts", unlimitedCount = false, icon = "io/jmix/chartsflowui/kit/meta/icon/unknownComponent.svg", + propertyGroups = { + StudioChartsPropertyGroups.Disabled.class, + StudioChartsPropertyGroups.Scale.class, + StudioChartsPropertyGroups.Focus.class, + StudioChartsPropertyGroups.BlurScope.class + }, properties = { @StudioProperty(xmlAttribute = "disabled", type = StudioPropertyType.BOOLEAN), @StudioProperty(xmlAttribute = "scale", type = StudioPropertyType.BOOLEAN), @@ -7543,6 +9158,9 @@ public interface StudioChartsElements { xmlnsAlias = "charts", unlimitedCount = false, icon = "io/jmix/chartsflowui/kit/meta/icon/unknownComponent.svg", + propertyGroups = { + StudioChartsPropertyGroups.Disabled.class + }, properties = { @StudioProperty(xmlAttribute = "disabled", type = StudioPropertyType.BOOLEAN) } @@ -7557,6 +9175,46 @@ public interface StudioChartsElements { xmlnsAlias = "charts", isInjectable = false, icon = "io/jmix/chartsflowui/kit/meta/icon/element/scatterSeries.svg", + propertyGroups = { + StudioChartsPropertyGroups.CoordinateSystem.class, + StudioChartsPropertyGroups.XAxisIndex.class, + StudioChartsPropertyGroups.YAxisIndex.class, + StudioChartsPropertyGroups.PolarIndex.class, + StudioChartsPropertyGroups.GeoIndex.class, + StudioChartsPropertyGroups.CalendarIndex.class, + StudioChartsPropertyGroups.Clip.class, + StudioChartsPropertyGroups.Cursor.class, + StudioChartsPropertyGroups.Large.class, + StudioChartsPropertyGroups.LargeThreshold.class, + StudioChartsPropertyGroups.Progressive.class, + StudioChartsPropertyGroups.ProgressiveThreshold.class, + StudioChartsPropertyGroups.Animation.class, + StudioChartsPropertyGroups.AnimationThreshold.class, + StudioChartsPropertyGroups.AnimationDurationUpdate.class, + StudioChartsPropertyGroups.AnimationEasingUpdate.class, + StudioChartsPropertyGroups.AnimationDelayUpdate.class, + StudioPropertyGroups.Symbol.class, + StudioChartsPropertyGroups.SymbolSize.class, + StudioChartsPropertyGroups.SymbolSizeFunction.class, + StudioChartsPropertyGroups.SymbolRotate.class, + StudioChartsPropertyGroups.SymbolKeepAspect.class, + StudioChartsPropertyGroups.SymbolOffset.class, + StudioChartsPropertyGroups.SymbolType.class, + StudioChartsPropertyGroups.LegendHoverLink.class, + StudioChartsPropertyGroups.SeriesLayoutBy.class, + StudioChartsPropertyGroups.DatasetIndex.class, + StudioPropertyGroups.Id.class, + StudioChartsPropertyGroups.Name.class, + StudioChartsPropertyGroups.ColorBy.class, + StudioChartsPropertyGroups.SelectedMode.class, + StudioChartsPropertyGroups.DataGroupId.class, + StudioChartsPropertyGroups.ZLevel2.class, + StudioChartsPropertyGroups.Z2.class, + StudioChartsPropertyGroups.Silent.class, + StudioChartsPropertyGroups.AnimationDuration.class, + StudioChartsPropertyGroups.AnimationEasing.class, + StudioChartsPropertyGroups.AnimationDelay.class + }, properties = { @StudioProperty(xmlAttribute = "coordinateSystem", type = StudioPropertyType.ENUMERATION, classFqn = "io.jmix.chartsflowui.kit.component.model.series.CoordinateSystem", @@ -7620,6 +9278,13 @@ public interface StudioChartsElements { xmlnsAlias = "charts", unlimitedCount = false, icon = "io/jmix/chartsflowui/kit/meta/icon/unknownComponent.svg", + propertyGroups = { + StudioChartsPropertyGroups.Show.class, + StudioChartsPropertyGroups.ShowAbove.class, + StudioChartsPropertyGroups.Length.class, + StudioChartsPropertyGroups.Smooth.class, + StudioChartsPropertyGroups.MinTurnAngle.class + }, properties = { @StudioProperty(xmlAttribute = "show", type = StudioPropertyType.BOOLEAN), @StudioProperty(xmlAttribute = "showAbove", type = StudioPropertyType.BOOLEAN), @@ -7639,6 +9304,12 @@ public interface StudioChartsElements { xmlnsAlias = "charts", unlimitedCount = false, icon = "io/jmix/chartsflowui/kit/meta/icon/unknownComponent.svg", + propertyGroups = { + StudioChartsPropertyGroups.Disabled.class, + StudioChartsPropertyGroups.Scale.class, + StudioChartsPropertyGroups.Focus.class, + StudioChartsPropertyGroups.BlurScope.class + }, properties = { @StudioProperty(xmlAttribute = "disabled", type = StudioPropertyType.BOOLEAN), @StudioProperty(xmlAttribute = "scale", type = StudioPropertyType.BOOLEAN), @@ -7673,6 +9344,9 @@ public interface StudioChartsElements { xmlnsAlias = "charts", unlimitedCount = false, icon = "io/jmix/chartsflowui/kit/meta/icon/unknownComponent.svg", + propertyGroups = { + StudioChartsPropertyGroups.Disabled.class + }, properties = { @StudioProperty(xmlAttribute = "disabled", type = StudioPropertyType.BOOLEAN) } @@ -7687,6 +9361,42 @@ public interface StudioChartsElements { xmlnsAlias = "charts", isInjectable = false, icon = "io/jmix/chartsflowui/kit/meta/icon/element/scatterSeries.svg", + propertyGroups = { + StudioChartsPropertyGroups.CoordinateSystem.class, + StudioChartsPropertyGroups.XAxisIndex.class, + StudioChartsPropertyGroups.YAxisIndex.class, + StudioChartsPropertyGroups.PolarIndex.class, + StudioChartsPropertyGroups.GeoIndex.class, + StudioChartsPropertyGroups.CalendarIndex.class, + StudioChartsPropertyGroups.Clip.class, + StudioChartsPropertyGroups.Cursor.class, + StudioChartsPropertyGroups.Animation.class, + StudioChartsPropertyGroups.AnimationThreshold.class, + StudioChartsPropertyGroups.AnimationDurationUpdate.class, + StudioChartsPropertyGroups.AnimationEasingUpdate.class, + StudioChartsPropertyGroups.AnimationDelayUpdate.class, + StudioPropertyGroups.Symbol.class, + StudioChartsPropertyGroups.SymbolSize.class, + StudioChartsPropertyGroups.SymbolSizeFunction.class, + StudioChartsPropertyGroups.SymbolRotate.class, + StudioChartsPropertyGroups.SymbolKeepAspect.class, + StudioChartsPropertyGroups.SymbolOffset.class, + StudioChartsPropertyGroups.SymbolType.class, + StudioChartsPropertyGroups.LegendHoverLink.class, + StudioChartsPropertyGroups.SeriesLayoutBy.class, + StudioChartsPropertyGroups.DatasetIndex.class, + StudioPropertyGroups.Id.class, + StudioChartsPropertyGroups.Name.class, + StudioChartsPropertyGroups.ColorBy.class, + StudioChartsPropertyGroups.SelectedMode.class, + StudioChartsPropertyGroups.DataGroupId.class, + StudioChartsPropertyGroups.ZLevel2.class, + StudioChartsPropertyGroups.Z2.class, + StudioChartsPropertyGroups.Silent.class, + StudioChartsPropertyGroups.AnimationDuration.class, + StudioChartsPropertyGroups.AnimationEasing.class, + StudioChartsPropertyGroups.AnimationDelay.class + }, properties = { @StudioProperty(xmlAttribute = "coordinateSystem", type = StudioPropertyType.ENUMERATION, classFqn = "io.jmix.chartsflowui.kit.component.model.series.CoordinateSystem", @@ -7750,6 +9460,10 @@ public interface StudioChartsElements { xmlnsAlias = "charts", unlimitedCount = false, icon = "io/jmix/chartsflowui/kit/meta/icon/unknownComponent.svg", + propertyGroups = { + StudioChartsPropertyGroups.ChartColor.class, + StudioChartsPropertyGroups.Scale2.class + }, properties = { @StudioProperty(xmlAttribute = "color", type = StudioPropertyType.OPTIONS, options = {"ALICEBLUE", "ANTIQUEWHITE", "AQUA", "AQUAMARINE", "AZURE", "BEIGE", "BISQUE", @@ -7795,6 +9509,13 @@ public interface StudioChartsElements { xmlnsAlias = "charts", unlimitedCount = false, icon = "io/jmix/chartsflowui/kit/meta/icon/unknownComponent.svg", + propertyGroups = { + StudioChartsPropertyGroups.Show.class, + StudioChartsPropertyGroups.ShowAbove.class, + StudioChartsPropertyGroups.Length.class, + StudioChartsPropertyGroups.Smooth.class, + StudioChartsPropertyGroups.MinTurnAngle.class + }, properties = { @StudioProperty(xmlAttribute = "show", type = StudioPropertyType.BOOLEAN), @StudioProperty(xmlAttribute = "showAbove", type = StudioPropertyType.BOOLEAN), @@ -7814,6 +9535,12 @@ public interface StudioChartsElements { xmlnsAlias = "charts", unlimitedCount = false, icon = "io/jmix/chartsflowui/kit/meta/icon/unknownComponent.svg", + propertyGroups = { + StudioChartsPropertyGroups.Disabled.class, + StudioChartsPropertyGroups.Scale.class, + StudioChartsPropertyGroups.Focus.class, + StudioChartsPropertyGroups.BlurScope.class + }, properties = { @StudioProperty(xmlAttribute = "disabled", type = StudioPropertyType.BOOLEAN), @StudioProperty(xmlAttribute = "scale", type = StudioPropertyType.BOOLEAN), @@ -7847,6 +9574,9 @@ public interface StudioChartsElements { xmlns = "http://jmix.io/schema/charts/ui", xmlnsAlias = "charts", icon = "io/jmix/chartsflowui/kit/meta/icon/unknownComponent.svg", + propertyGroups = { + StudioChartsPropertyGroups.Disabled.class + }, properties = { @StudioProperty(xmlAttribute = "disabled", type = StudioPropertyType.BOOLEAN) } @@ -7861,6 +9591,31 @@ public interface StudioChartsElements { xmlnsAlias = "charts", isInjectable = false, icon = "io/jmix/chartsflowui/kit/meta/icon/element/radarSeries.svg", + propertyGroups = { + StudioChartsPropertyGroups.Animation.class, + StudioChartsPropertyGroups.AnimationThreshold.class, + StudioChartsPropertyGroups.AnimationDurationUpdate.class, + StudioChartsPropertyGroups.AnimationEasingUpdate.class, + StudioChartsPropertyGroups.AnimationDelayUpdate.class, + StudioPropertyGroups.Symbol.class, + StudioChartsPropertyGroups.SymbolSize.class, + StudioChartsPropertyGroups.SymbolSizeFunction.class, + StudioChartsPropertyGroups.SymbolRotate.class, + StudioChartsPropertyGroups.SymbolKeepAspect.class, + StudioChartsPropertyGroups.SymbolOffset.class, + StudioChartsPropertyGroups.SymbolType.class, + StudioPropertyGroups.Id.class, + StudioChartsPropertyGroups.Name.class, + StudioChartsPropertyGroups.ColorBy.class, + StudioChartsPropertyGroups.SelectedMode.class, + StudioChartsPropertyGroups.DataGroupId.class, + StudioChartsPropertyGroups.ZLevel2.class, + StudioChartsPropertyGroups.Z2.class, + StudioChartsPropertyGroups.Silent.class, + StudioChartsPropertyGroups.AnimationDuration.class, + StudioChartsPropertyGroups.AnimationEasing.class, + StudioChartsPropertyGroups.AnimationDelay.class + }, properties = { @StudioProperty(xmlAttribute = "radarIndex", type = StudioPropertyType.INTEGER), @StudioProperty(xmlAttribute = "animation", type = StudioPropertyType.BOOLEAN), @@ -7909,6 +9664,14 @@ public interface StudioChartsElements { xmlnsAlias = "charts", unlimitedCount = false, icon = "io/jmix/chartsflowui/kit/meta/icon/unknownComponent.svg", + propertyGroups = { + StudioChartsPropertyGroups.ChartColor.class, + StudioChartsPropertyGroups.ShadowColor.class, + StudioChartsPropertyGroups.ShadowBlur.class, + StudioChartsPropertyGroups.ShadowOffsetX.class, + StudioChartsPropertyGroups.ShadowOffsetY.class, + StudioChartsPropertyGroups.Opacity.class + }, properties = { @StudioProperty(xmlAttribute = "color", type = StudioPropertyType.OPTIONS, options = {"ALICEBLUE", "ANTIQUEWHITE", "AQUA", "AQUAMARINE", "AZURE", "BEIGE", "BISQUE", @@ -7977,6 +9740,11 @@ public interface StudioChartsElements { xmlnsAlias = "charts", unlimitedCount = false, icon = "io/jmix/chartsflowui/kit/meta/icon/unknownComponent.svg", + propertyGroups = { + StudioChartsPropertyGroups.Disabled.class, + StudioChartsPropertyGroups.Focus.class, + StudioChartsPropertyGroups.BlurScope.class + }, properties = { @StudioProperty(xmlAttribute = "disabled", type = StudioPropertyType.BOOLEAN), @StudioProperty(xmlAttribute = "focus", type = StudioPropertyType.ENUMERATION, @@ -8010,6 +9778,9 @@ public interface StudioChartsElements { xmlnsAlias = "charts", unlimitedCount = false, icon = "io/jmix/chartsflowui/kit/meta/icon/unknownComponent.svg", + propertyGroups = { + StudioChartsPropertyGroups.Disabled.class + }, properties = { @StudioProperty(xmlAttribute = "disabled", type = StudioPropertyType.BOOLEAN) } @@ -8024,6 +9795,27 @@ public interface StudioChartsElements { xmlnsAlias = "charts", isInjectable = false, icon = "io/jmix/chartsflowui/kit/meta/icon/unknownComponent.svg", + propertyGroups = { + StudioChartsPropertyGroups.CoordinateSystem.class, + StudioChartsPropertyGroups.XAxisIndex.class, + StudioChartsPropertyGroups.YAxisIndex.class, + StudioChartsPropertyGroups.HoverAnimation.class, + StudioChartsPropertyGroups.Layout.class, + StudioChartsPropertyGroups.LegendHoverLink.class, + StudioChartsPropertyGroups.SeriesLayoutBy.class, + StudioChartsPropertyGroups.DatasetIndex.class, + StudioPropertyGroups.Id.class, + StudioChartsPropertyGroups.Name.class, + StudioChartsPropertyGroups.ColorBy.class, + StudioChartsPropertyGroups.SelectedMode.class, + StudioChartsPropertyGroups.DataGroupId.class, + StudioChartsPropertyGroups.ZLevel2.class, + StudioChartsPropertyGroups.Z2.class, + StudioChartsPropertyGroups.Silent.class, + StudioChartsPropertyGroups.AnimationDuration.class, + StudioChartsPropertyGroups.AnimationEasing.class, + StudioChartsPropertyGroups.AnimationDelay.class + }, properties = { @StudioProperty(xmlAttribute = "coordinateSystem", type = StudioPropertyType.ENUMERATION, classFqn = "io.jmix.chartsflowui.kit.component.model.series.CoordinateSystem", @@ -8068,6 +9860,11 @@ public interface StudioChartsElements { xmlnsAlias = "charts", unlimitedCount = false, icon = "io/jmix/chartsflowui/kit/meta/icon/unknownComponent.svg", + propertyGroups = { + StudioChartsPropertyGroups.Disabled.class, + StudioChartsPropertyGroups.Focus.class, + StudioChartsPropertyGroups.BlurScope.class + }, properties = { @StudioProperty(xmlAttribute = "disabled", type = StudioPropertyType.BOOLEAN), @StudioProperty(xmlAttribute = "focus", type = StudioPropertyType.ENUMERATION, @@ -8101,6 +9898,9 @@ public interface StudioChartsElements { xmlnsAlias = "charts", unlimitedCount = false, icon = "io/jmix/chartsflowui/kit/meta/icon/unknownComponent.svg", + propertyGroups = { + StudioChartsPropertyGroups.Disabled.class + }, properties = { @StudioProperty(xmlAttribute = "disabled", type = StudioPropertyType.BOOLEAN) } @@ -8115,6 +9915,36 @@ public interface StudioChartsElements { xmlnsAlias = "charts", isInjectable = false, icon = "io/jmix/chartsflowui/kit/meta/icon/element/candlestickSeries.svg", + propertyGroups = { + StudioChartsPropertyGroups.CoordinateSystem.class, + StudioChartsPropertyGroups.XAxisIndex.class, + StudioChartsPropertyGroups.YAxisIndex.class, + StudioChartsPropertyGroups.HoverAnimation.class, + StudioChartsPropertyGroups.Layout.class, + StudioChartsPropertyGroups.BarWidth.class, + StudioChartsPropertyGroups.BarMaxWidth.class, + StudioChartsPropertyGroups.BarMinWidth.class, + StudioChartsPropertyGroups.Large.class, + StudioChartsPropertyGroups.LargeThreshold.class, + StudioChartsPropertyGroups.Progressive.class, + StudioChartsPropertyGroups.ProgressiveThreshold.class, + StudioChartsPropertyGroups.ProgressiveChunkMode.class, + StudioChartsPropertyGroups.Clip.class, + StudioChartsPropertyGroups.LegendHoverLink.class, + StudioChartsPropertyGroups.SeriesLayoutBy.class, + StudioChartsPropertyGroups.DatasetIndex.class, + StudioPropertyGroups.Id.class, + StudioChartsPropertyGroups.Name.class, + StudioChartsPropertyGroups.ColorBy.class, + StudioChartsPropertyGroups.SelectedMode.class, + StudioChartsPropertyGroups.DataGroupId.class, + StudioChartsPropertyGroups.ZLevel2.class, + StudioChartsPropertyGroups.Z2.class, + StudioChartsPropertyGroups.Silent.class, + StudioChartsPropertyGroups.AnimationDuration.class, + StudioChartsPropertyGroups.AnimationEasing.class, + StudioChartsPropertyGroups.AnimationDelay.class + }, properties = { @StudioProperty(xmlAttribute = "coordinateSystem", type = StudioPropertyType.ENUMERATION, classFqn = "io.jmix.chartsflowui.kit.component.model.series.CoordinateSystem", @@ -8169,6 +9999,11 @@ public interface StudioChartsElements { xmlnsAlias = "charts", unlimitedCount = false, icon = "io/jmix/chartsflowui/kit/meta/icon/unknownComponent.svg", + propertyGroups = { + StudioChartsPropertyGroups.Disabled.class, + StudioChartsPropertyGroups.Focus.class, + StudioChartsPropertyGroups.BlurScope.class + }, properties = { @StudioProperty(xmlAttribute = "disabled", type = StudioPropertyType.BOOLEAN), @StudioProperty(xmlAttribute = "focus", type = StudioPropertyType.ENUMERATION, @@ -8202,6 +10037,9 @@ public interface StudioChartsElements { xmlnsAlias = "charts", unlimitedCount = false, icon = "io/jmix/chartsflowui/kit/meta/icon/unknownComponent.svg", + propertyGroups = { + StudioChartsPropertyGroups.Disabled.class + }, properties = { @StudioProperty(xmlAttribute = "disabled", type = StudioPropertyType.BOOLEAN) } @@ -8220,6 +10058,14 @@ public interface StudioChartsElements { xmlnsAlias = "charts", unlimitedCount = false, icon = "io/jmix/chartsflowui/kit/meta/icon/unknownComponent.svg", + propertyGroups = { + StudioChartsPropertyGroups.BorderWidth.class, + StudioChartsPropertyGroups.Opacity.class, + StudioChartsPropertyGroups.ShadowBlur.class, + StudioChartsPropertyGroups.ShadowColor.class, + StudioChartsPropertyGroups.ShadowOffsetX.class, + StudioChartsPropertyGroups.ShadowOffsetY.class + }, properties = { @StudioProperty(xmlAttribute = "bullishColor", type = StudioPropertyType.OPTIONS, options = {"ALICEBLUE", "ANTIQUEWHITE", "AQUA", "AQUAMARINE", "AZURE", "BEIGE", "BISQUE", @@ -8388,6 +10234,36 @@ public interface StudioChartsElements { xmlnsAlias = "charts", isInjectable = false, icon = "io/jmix/chartsflowui/kit/meta/icon/element/funnelSeries.svg", + propertyGroups = { + StudioPropertyGroups.IntegerMax.class, + StudioPropertyGroups.IntegerMin.class, + StudioChartsPropertyGroups.Orientation.class, + StudioChartsPropertyGroups.Width.class, + StudioChartsPropertyGroups.Height2.class, + StudioChartsPropertyGroups.Animation.class, + StudioChartsPropertyGroups.AnimationThreshold.class, + StudioChartsPropertyGroups.AnimationDurationUpdate.class, + StudioChartsPropertyGroups.AnimationEasingUpdate.class, + StudioChartsPropertyGroups.AnimationDelayUpdate.class, + StudioChartsPropertyGroups.Left2.class, + StudioChartsPropertyGroups.Top2.class, + StudioChartsPropertyGroups.Right2.class, + StudioChartsPropertyGroups.Bottom2.class, + StudioChartsPropertyGroups.LegendHoverLink.class, + StudioChartsPropertyGroups.SeriesLayoutBy.class, + StudioChartsPropertyGroups.DatasetIndex.class, + StudioPropertyGroups.Id.class, + StudioChartsPropertyGroups.Name.class, + StudioChartsPropertyGroups.ColorBy.class, + StudioChartsPropertyGroups.SelectedMode.class, + StudioChartsPropertyGroups.DataGroupId.class, + StudioChartsPropertyGroups.ZLevel2.class, + StudioChartsPropertyGroups.Z2.class, + StudioChartsPropertyGroups.Silent.class, + StudioChartsPropertyGroups.AnimationDuration.class, + StudioChartsPropertyGroups.AnimationEasing.class, + StudioChartsPropertyGroups.AnimationDelay.class + }, properties = { @StudioProperty(xmlAttribute = "max", type = StudioPropertyType.INTEGER), @StudioProperty(xmlAttribute = "min", type = StudioPropertyType.INTEGER), @@ -8448,6 +10324,10 @@ public interface StudioChartsElements { xmlnsAlias = "charts", unlimitedCount = false, icon = "io/jmix/chartsflowui/kit/meta/icon/unknownComponent.svg", + propertyGroups = { + StudioChartsPropertyGroups.Show.class, + StudioChartsPropertyGroups.Length.class + }, properties = { @StudioProperty(xmlAttribute = "show", type = StudioPropertyType.BOOLEAN), @StudioProperty(xmlAttribute = "length", type = StudioPropertyType.INTEGER) @@ -8464,6 +10344,11 @@ public interface StudioChartsElements { xmlnsAlias = "charts", unlimitedCount = false, icon = "io/jmix/chartsflowui/kit/meta/icon/unknownComponent.svg", + propertyGroups = { + StudioChartsPropertyGroups.Disabled.class, + StudioChartsPropertyGroups.Focus.class, + StudioChartsPropertyGroups.BlurScope.class + }, properties = { @StudioProperty(xmlAttribute = "disabled", type = StudioPropertyType.BOOLEAN), @StudioProperty(xmlAttribute = "focus", type = StudioPropertyType.ENUMERATION, @@ -8497,6 +10382,9 @@ public interface StudioChartsElements { xmlnsAlias = "charts", unlimitedCount = false, icon = "io/jmix/chartsflowui/kit/meta/icon/unknownComponent.svg", + propertyGroups = { + StudioChartsPropertyGroups.Disabled.class + }, properties = { @StudioProperty(xmlAttribute = "disabled", type = StudioPropertyType.BOOLEAN) } @@ -8511,6 +10399,32 @@ public interface StudioChartsElements { xmlnsAlias = "charts", isInjectable = false, icon = "io/jmix/chartsflowui/kit/meta/icon/element/gaugeSeries.svg", + propertyGroups = { + StudioChartsPropertyGroups.Center2.class, + StudioChartsPropertyGroups.Radius2.class, + StudioChartsPropertyGroups.LegendHoverLink.class, + StudioChartsPropertyGroups.StartAngle.class, + StudioChartsPropertyGroups.Clockwise.class, + StudioPropertyGroups.IntegerMin.class, + StudioPropertyGroups.IntegerMax.class, + StudioChartsPropertyGroups.SplitNumber.class, + StudioChartsPropertyGroups.Animation.class, + StudioChartsPropertyGroups.AnimationThreshold.class, + StudioChartsPropertyGroups.AnimationDurationUpdate.class, + StudioChartsPropertyGroups.AnimationEasingUpdate.class, + StudioChartsPropertyGroups.AnimationDelayUpdate.class, + StudioPropertyGroups.Id.class, + StudioChartsPropertyGroups.Name.class, + StudioChartsPropertyGroups.ColorBy.class, + StudioChartsPropertyGroups.SelectedMode.class, + StudioChartsPropertyGroups.DataGroupId.class, + StudioChartsPropertyGroups.ZLevel2.class, + StudioChartsPropertyGroups.Z2.class, + StudioChartsPropertyGroups.Silent.class, + StudioChartsPropertyGroups.AnimationDuration.class, + StudioChartsPropertyGroups.AnimationEasing.class, + StudioChartsPropertyGroups.AnimationDelay.class + }, properties = { @StudioProperty(xmlAttribute = "center", type = StudioPropertyType.VALUES_LIST), @StudioProperty(xmlAttribute = "radius", type = StudioPropertyType.VALUES_LIST), @@ -8552,6 +10466,10 @@ public interface StudioChartsElements { xmlns = "http://jmix.io/schema/charts/ui", xmlnsAlias = "charts", icon = "io/jmix/chartsflowui/kit/meta/icon/unknownComponent.svg", + propertyGroups = { + StudioPropertyGroups.Name2.class, + StudioChartsPropertyGroups.Value.class + }, properties = { @StudioProperty(xmlAttribute = "name", type = StudioPropertyType.LOCALIZED_STRING), @StudioProperty(xmlAttribute = "value", type = StudioPropertyType.DOUBLE) @@ -8571,6 +10489,40 @@ public interface StudioChartsElements { xmlnsAlias = "charts", unlimitedCount = false, icon = "io/jmix/chartsflowui/kit/meta/icon/unknownComponent.svg", + propertyGroups = { + StudioChartsPropertyGroups.Show.class, + StudioChartsPropertyGroups.OffsetCenter.class, + StudioChartsPropertyGroups.ValueAnimation.class, + StudioChartsPropertyGroups.BackgroundColor.class, + StudioChartsPropertyGroups.BorderColor.class, + StudioChartsPropertyGroups.BorderWidth2.class, + StudioChartsPropertyGroups.BorderType.class, + StudioChartsPropertyGroups.BorderDashOffset.class, + StudioChartsPropertyGroups.BorderRadius.class, + StudioChartsPropertyGroups.Padding.class, + StudioChartsPropertyGroups.ShadowBlur.class, + StudioChartsPropertyGroups.ShadowColor.class, + StudioChartsPropertyGroups.ShadowOffsetX.class, + StudioChartsPropertyGroups.ShadowOffsetY.class, + StudioChartsPropertyGroups.ChartColor.class, + StudioChartsPropertyGroups.Ellipsis.class, + StudioChartsPropertyGroups.FontFamily.class, + StudioChartsPropertyGroups.FontSize.class, + StudioChartsPropertyGroups.FontStyle.class, + StudioChartsPropertyGroups.FontWeight.class, + StudioChartsPropertyGroups.Height.class, + StudioChartsPropertyGroups.LineHeight.class, + StudioChartsPropertyGroups.Overflow.class, + StudioChartsPropertyGroups.TextBorderColor.class, + StudioChartsPropertyGroups.TextBorderDashOffset.class, + StudioChartsPropertyGroups.TextBorderType.class, + StudioChartsPropertyGroups.TextBorderWidth.class, + StudioChartsPropertyGroups.TextShadowBlur.class, + StudioChartsPropertyGroups.TextShadowColor.class, + StudioChartsPropertyGroups.TextShadowOffsetX.class, + StudioChartsPropertyGroups.TextShadowOffsetY.class, + StudioPropertyGroups.WidthWithIntegerType.class + }, properties = { @StudioProperty(xmlAttribute = "show", type = StudioPropertyType.BOOLEAN), @StudioProperty(xmlAttribute = "offsetCenter", type = StudioPropertyType.VALUES_LIST), @@ -8768,6 +10720,42 @@ public interface StudioChartsElements { xmlnsAlias = "charts", unlimitedCount = false, icon = "io/jmix/chartsflowui/kit/meta/icon/unknownComponent.svg", + propertyGroups = { + StudioChartsPropertyGroups.Formatter.class, + StudioChartsPropertyGroups.FormatterFunction.class, + StudioChartsPropertyGroups.Show.class, + StudioChartsPropertyGroups.OffsetCenter.class, + StudioChartsPropertyGroups.ValueAnimation.class, + StudioChartsPropertyGroups.BackgroundColor.class, + StudioChartsPropertyGroups.BorderColor.class, + StudioChartsPropertyGroups.BorderWidth2.class, + StudioChartsPropertyGroups.BorderType.class, + StudioChartsPropertyGroups.BorderDashOffset.class, + StudioChartsPropertyGroups.BorderRadius.class, + StudioChartsPropertyGroups.Padding.class, + StudioChartsPropertyGroups.ShadowBlur.class, + StudioChartsPropertyGroups.ShadowColor.class, + StudioChartsPropertyGroups.ShadowOffsetX.class, + StudioChartsPropertyGroups.ShadowOffsetY.class, + StudioChartsPropertyGroups.ChartColor.class, + StudioChartsPropertyGroups.Ellipsis.class, + StudioChartsPropertyGroups.FontFamily.class, + StudioChartsPropertyGroups.FontSize.class, + StudioChartsPropertyGroups.FontStyle.class, + StudioChartsPropertyGroups.FontWeight.class, + StudioChartsPropertyGroups.Height.class, + StudioChartsPropertyGroups.LineHeight.class, + StudioChartsPropertyGroups.Overflow.class, + StudioChartsPropertyGroups.TextBorderColor.class, + StudioChartsPropertyGroups.TextBorderDashOffset.class, + StudioChartsPropertyGroups.TextBorderType.class, + StudioChartsPropertyGroups.TextBorderWidth.class, + StudioChartsPropertyGroups.TextShadowBlur.class, + StudioChartsPropertyGroups.TextShadowColor.class, + StudioChartsPropertyGroups.TextShadowOffsetX.class, + StudioChartsPropertyGroups.TextShadowOffsetY.class, + StudioPropertyGroups.WidthWithIntegerType.class + }, properties = { @StudioProperty(xmlAttribute = "formatter", type = StudioPropertyType.STRING), @StudioProperty(xmlAttribute = "formatterFunction", type = StudioPropertyType.STRING), @@ -8964,6 +10952,10 @@ public interface StudioChartsElements { xmlnsAlias = "charts", unlimitedCount = false, icon = "io/jmix/chartsflowui/kit/meta/icon/unknownComponent.svg", + propertyGroups = { + StudioChartsPropertyGroups.Show.class, + StudioChartsPropertyGroups.RoundCap.class + }, properties = { @StudioProperty(xmlAttribute = "show", type = StudioPropertyType.BOOLEAN), @StudioProperty(xmlAttribute = "roundCap", type = StudioPropertyType.BOOLEAN) @@ -8980,6 +10972,14 @@ public interface StudioChartsElements { xmlnsAlias = "charts", unlimitedCount = false, icon = "io/jmix/chartsflowui/kit/meta/icon/unknownComponent.svg", + propertyGroups = { + StudioPropertyGroups.WidthWithIntegerType.class, + StudioChartsPropertyGroups.ShadowBlur.class, + StudioChartsPropertyGroups.ShadowColor.class, + StudioChartsPropertyGroups.ShadowOffsetX.class, + StudioChartsPropertyGroups.ShadowOffsetY.class, + StudioChartsPropertyGroups.Opacity.class + }, properties = { @StudioProperty(xmlAttribute = "width", category = StudioProperty.Category.SIZE, type = StudioPropertyType.INTEGER), @StudioProperty(xmlAttribute = "shadowBlur", type = StudioPropertyType.INTEGER), @@ -9062,6 +11062,12 @@ public interface StudioChartsElements { xmlnsAlias = "charts", unlimitedCount = false, icon = "io/jmix/chartsflowui/kit/meta/icon/unknownComponent.svg", + propertyGroups = { + StudioChartsPropertyGroups.Show.class, + StudioPropertyGroups.WidthWithIntegerType.class, + StudioChartsPropertyGroups.RoundCap.class, + StudioChartsPropertyGroups.Clip.class + }, properties = { @StudioProperty(xmlAttribute = "show", type = StudioPropertyType.BOOLEAN), @StudioProperty(xmlAttribute = "overlap", type = StudioPropertyType.BOOLEAN), @@ -9081,6 +11087,11 @@ public interface StudioChartsElements { xmlnsAlias = "charts", unlimitedCount = false, icon = "io/jmix/chartsflowui/kit/meta/icon/unknownComponent.svg", + propertyGroups = { + StudioChartsPropertyGroups.Show.class, + StudioChartsPropertyGroups.Length.class, + StudioChartsPropertyGroups.Distance.class + }, properties = { @StudioProperty(xmlAttribute = "show", type = StudioPropertyType.BOOLEAN), @StudioProperty(xmlAttribute = "length", type = StudioPropertyType.INTEGER), @@ -9098,6 +11109,12 @@ public interface StudioChartsElements { xmlnsAlias = "charts", unlimitedCount = false, icon = "io/jmix/chartsflowui/kit/meta/icon/unknownComponent.svg", + propertyGroups = { + StudioChartsPropertyGroups.Show.class, + StudioChartsPropertyGroups.SplitNumber.class, + StudioChartsPropertyGroups.Length.class, + StudioChartsPropertyGroups.Distance.class + }, properties = { @StudioProperty(xmlAttribute = "show", type = StudioPropertyType.BOOLEAN), @StudioProperty(xmlAttribute = "splitNumber", type = StudioPropertyType.INTEGER), @@ -9116,6 +11133,14 @@ public interface StudioChartsElements { xmlnsAlias = "charts", unlimitedCount = false, icon = "io/jmix/chartsflowui/kit/meta/icon/unknownComponent.svg", + propertyGroups = { + StudioChartsPropertyGroups.Show.class, + StudioChartsPropertyGroups.ShowAbove.class, + StudioChartsPropertyGroups.Icon.class, + StudioChartsPropertyGroups.OffsetCenter.class, + StudioPropertyGroups.WidthWithIntegerType.class, + StudioChartsPropertyGroups.KeepAspect.class + }, properties = { @StudioProperty(xmlAttribute = "show", type = StudioPropertyType.BOOLEAN), @StudioProperty(xmlAttribute = "showAbove", type = StudioPropertyType.BOOLEAN), @@ -9137,6 +11162,13 @@ public interface StudioChartsElements { xmlnsAlias = "charts", unlimitedCount = false, icon = "io/jmix/chartsflowui/kit/meta/icon/unknownComponent.svg", + propertyGroups = { + StudioChartsPropertyGroups.Show.class, + StudioChartsPropertyGroups.ShowAbove.class, + StudioChartsPropertyGroups.Icon.class, + StudioChartsPropertyGroups.OffsetCenter.class, + StudioChartsPropertyGroups.KeepAspect.class + }, properties = { @StudioProperty(xmlAttribute = "show", type = StudioPropertyType.BOOLEAN), @StudioProperty(xmlAttribute = "showAbove", type = StudioPropertyType.BOOLEAN), @@ -9157,6 +11189,9 @@ public interface StudioChartsElements { xmlnsAlias = "charts", unlimitedCount = false, icon = "io/jmix/chartsflowui/kit/meta/icon/unknownComponent.svg", + propertyGroups = { + StudioChartsPropertyGroups.Disabled.class + }, properties = { @StudioProperty(xmlAttribute = "disabled", type = StudioPropertyType.BOOLEAN) } @@ -9172,6 +11207,9 @@ public interface StudioChartsElements { xmlnsAlias = "charts", unlimitedCount = false, icon = "io/jmix/chartsflowui/kit/meta/icon/unknownComponent.svg", + propertyGroups = { + StudioPropertyGroups.Enabled.class + }, properties = { @StudioProperty(xmlAttribute = "enabled", category = StudioProperty.Category.GENERAL, type = StudioPropertyType.BOOLEAN) } @@ -9187,6 +11225,10 @@ public interface StudioChartsElements { xmlnsAlias = "charts", unlimitedCount = false, icon = "io/jmix/chartsflowui/kit/meta/icon/unknownComponent.svg", + propertyGroups = { + StudioPropertyGroups.Enabled.class, + StudioPropertyGroups.Description.class + }, properties = { @StudioProperty(xmlAttribute = "enabled", category = StudioProperty.Category.GENERAL, type = StudioPropertyType.BOOLEAN), @StudioProperty(xmlAttribute = "description", category = StudioProperty.Category.GENERAL, type = StudioPropertyType.LOCALIZED_STRING) @@ -9219,6 +11261,9 @@ public interface StudioChartsElements { xmlnsAlias = "charts", unlimitedCount = false, icon = "io/jmix/chartsflowui/kit/meta/icon/unknownComponent.svg", + propertyGroups = { + StudioChartsPropertyGroups.MaxCount.class + }, properties = { @StudioProperty(xmlAttribute = "maxCount", type = StudioPropertyType.INTEGER) } @@ -9234,6 +11279,11 @@ public interface StudioChartsElements { xmlnsAlias = "charts", unlimitedCount = false, icon = "io/jmix/chartsflowui/kit/meta/icon/unknownComponent.svg", + propertyGroups = { + StudioChartsPropertyGroups.Prefix.class, + StudioChartsPropertyGroups.WithName.class, + StudioChartsPropertyGroups.WithoutName.class + }, properties = { @StudioProperty(xmlAttribute = "prefix", type = StudioPropertyType.LOCALIZED_STRING), @StudioProperty(xmlAttribute = "withName", type = StudioPropertyType.LOCALIZED_STRING), @@ -9251,6 +11301,11 @@ public interface StudioChartsElements { xmlnsAlias = "charts", unlimitedCount = false, icon = "io/jmix/chartsflowui/kit/meta/icon/unknownComponent.svg", + propertyGroups = { + StudioChartsPropertyGroups.Prefix.class, + StudioChartsPropertyGroups.WithName.class, + StudioChartsPropertyGroups.WithoutName.class + }, properties = { @StudioProperty(xmlAttribute = "prefix", type = StudioPropertyType.LOCALIZED_STRING), @StudioProperty(xmlAttribute = "withName", type = StudioPropertyType.LOCALIZED_STRING), @@ -9268,6 +11323,11 @@ public interface StudioChartsElements { xmlnsAlias = "charts", unlimitedCount = false, icon = "io/jmix/chartsflowui/kit/meta/icon/unknownComponent.svg", + propertyGroups = { + StudioChartsPropertyGroups.MaxCount.class, + StudioChartsPropertyGroups.WithName.class, + StudioChartsPropertyGroups.WithoutName.class + }, properties = { @StudioProperty(xmlAttribute = "maxCount", type = StudioPropertyType.INTEGER), @StudioProperty(xmlAttribute = "allData", type = StudioPropertyType.LOCALIZED_STRING), @@ -9287,6 +11347,9 @@ public interface StudioChartsElements { xmlnsAlias = "charts", unlimitedCount = false, icon = "io/jmix/chartsflowui/kit/meta/icon/unknownComponent.svg", + propertyGroups = { + StudioChartsPropertyGroups.Show.class + }, properties = { @StudioProperty(xmlAttribute = "show", type = StudioPropertyType.BOOLEAN) } @@ -9322,6 +11385,20 @@ public interface StudioChartsElements { unlimitedCount = false, isInjectable = false, icon = "io/jmix/chartsflowui/kit/meta/icon/unknownComponent.svg", + propertyGroups = { + StudioPropertyGroups.Id.class, + StudioChartsPropertyGroups.Show.class, + StudioChartsPropertyGroups.Orientation.class, + StudioChartsPropertyGroups.ItemGap.class, + StudioChartsPropertyGroups.ZLevel2.class, + StudioChartsPropertyGroups.Z2.class, + StudioChartsPropertyGroups.Left2.class, + StudioChartsPropertyGroups.Top2.class, + StudioChartsPropertyGroups.Right2.class, + StudioChartsPropertyGroups.Bottom2.class, + StudioChartsPropertyGroups.Width.class, + StudioChartsPropertyGroups.Height2.class + }, properties = { @StudioProperty(xmlAttribute = "id", category = StudioProperty.Category.GENERAL, type = StudioPropertyType.COMPONENT_ID), @StudioProperty(xmlAttribute = "show", type = StudioPropertyType.BOOLEAN), @@ -9367,6 +11444,21 @@ public interface StudioChartsElements { xmlnsAlias = "charts", unlimitedCount = false, icon = "io/jmix/chartsflowui/kit/meta/icon/unknownComponent.svg", + propertyGroups = { + StudioChartsPropertyGroups.ChartColor.class, + StudioChartsPropertyGroups.BorderColor.class, + StudioChartsPropertyGroups.BorderWidth2.class, + StudioChartsPropertyGroups.BorderType.class, + StudioChartsPropertyGroups.BorderDashOffset.class, + StudioChartsPropertyGroups.Cap.class, + StudioChartsPropertyGroups.Join.class, + StudioChartsPropertyGroups.MiterLimit.class, + StudioChartsPropertyGroups.ShadowBlur.class, + StudioChartsPropertyGroups.ShadowColor.class, + StudioChartsPropertyGroups.ShadowOffsetX.class, + StudioChartsPropertyGroups.ShadowOffsetY.class, + StudioChartsPropertyGroups.Opacity.class + }, properties = { @StudioProperty(xmlAttribute = "textPosition", type = StudioPropertyType.ENUMERATION, classFqn = "io.jmix.chartsflowui.kit.component.model.toolbox.Emphasis.IconStyle.TextPosition", @@ -9580,6 +11672,11 @@ public interface StudioChartsElements { xmlns = "http://jmix.io/schema/charts/ui", xmlnsAlias = "charts", icon = "io/jmix/chartsflowui/kit/meta/icon/unknownComponent.svg", + propertyGroups = { + StudioChartsPropertyGroups.Show.class, + StudioPropertyGroups.Title.class, + StudioChartsPropertyGroups.Icon.class + }, properties = { @StudioProperty(xmlAttribute = "show", type = StudioPropertyType.BOOLEAN), @StudioProperty(xmlAttribute = "title", type = StudioPropertyType.LOCALIZED_STRING), @@ -9595,6 +11692,9 @@ public interface StudioChartsElements { xmlns = "http://jmix.io/schema/charts/ui", xmlnsAlias = "charts", icon = "io/jmix/chartsflowui/kit/meta/icon/unknownComponent.svg", + propertyGroups = { + StudioChartsPropertyGroups.Show.class + }, properties = { @StudioProperty(xmlAttribute = "show", type = StudioPropertyType.BOOLEAN), @StudioProperty(xmlAttribute = "types", type = StudioPropertyType.VALUES_LIST, @@ -9612,6 +11712,9 @@ public interface StudioChartsElements { xmlnsAlias = "charts", unlimitedCount = false, icon = "io/jmix/chartsflowui/kit/meta/icon/unknownComponent.svg", + propertyGroups = { + StudioChartsPropertyGroups.Stack.class + }, properties = { @StudioProperty(xmlAttribute = "line", type = StudioPropertyType.STRING), @StudioProperty(xmlAttribute = "bar", type = StudioPropertyType.STRING), @@ -9645,6 +11748,12 @@ public interface StudioChartsElements { xmlns = "http://jmix.io/schema/charts/ui", xmlnsAlias = "charts", icon = "io/jmix/chartsflowui/kit/meta/icon/unknownComponent.svg", + propertyGroups = { + StudioChartsPropertyGroups.Show.class, + StudioChartsPropertyGroups.FilterMode.class, + StudioChartsPropertyGroups.XAxisIndexes.class, + StudioChartsPropertyGroups.YAxisIndexes.class + }, properties = { @StudioProperty(xmlAttribute = "show", type = StudioPropertyType.BOOLEAN), @StudioProperty(xmlAttribute = "filterMode", type = StudioPropertyType.ENUMERATION, @@ -9695,6 +11804,13 @@ public interface StudioChartsElements { xmlns = "http://jmix.io/schema/charts/ui", xmlnsAlias = "charts", icon = "io/jmix/chartsflowui/kit/meta/icon/unknownComponent.svg", + propertyGroups = { + StudioChartsPropertyGroups.Show.class, + StudioChartsPropertyGroups.Name.class, + StudioChartsPropertyGroups.BackgroundColor.class, + StudioPropertyGroups.Title.class, + StudioChartsPropertyGroups.Icon.class + }, properties = { @StudioProperty(xmlAttribute = "show", type = StudioPropertyType.BOOLEAN), @StudioProperty(xmlAttribute = "type", type = StudioPropertyType.ENUMERATION, @@ -9768,6 +11884,9 @@ public interface StudioChartsElements { xmlnsAlias = "charts", isInjectable = false, icon = "io/jmix/chartsflowui/kit/meta/icon/unknownComponent.svg", + propertyGroups = { + StudioPropertyGroups.Id4.class + }, properties = { @StudioProperty(xmlAttribute = "id", type = StudioPropertyType.COMPONENT_ID) } diff --git a/jmix-charts/charts-flowui-kit/src/main/java/io/jmix/chartsflowui/kit/meta/StudioChartsPropertyGroups.java b/jmix-charts/charts-flowui-kit/src/main/java/io/jmix/chartsflowui/kit/meta/StudioChartsPropertyGroups.java new file mode 100644 index 0000000000..59cf031431 --- /dev/null +++ b/jmix-charts/charts-flowui-kit/src/main/java/io/jmix/chartsflowui/kit/meta/StudioChartsPropertyGroups.java @@ -0,0 +1,2170 @@ +/* + * Copyright 2026 Haulmont. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package io.jmix.chartsflowui.kit.meta; + +import io.jmix.flowui.kit.meta.*; + +@StudioAPI +public final class StudioChartsPropertyGroups { + + private StudioChartsPropertyGroups() { + } + + @StudioPropertyGroup( + properties = { + @StudioProperty(xmlAttribute = "align", type = StudioPropertyType.ENUMERATION, + classFqn = "io.jmix.chartsflowui.kit.component.model.shared.Align", + options = {"LEFT", "RIGHT", "CENTER"}) + } + ) + public interface Align { + } + + @StudioPropertyGroup( + properties = { + @StudioProperty(xmlAttribute = "align", type = StudioPropertyType.ENUMERATION, + classFqn = "io.jmix.chartsflowui.kit.component.model.legend.AbstractLegend.Align", + options = {"AUTO", "LEFT", "RIGHT"}) + } + ) + public interface Align2 { + } + + @StudioPropertyGroup( + properties = { + @StudioProperty(xmlAttribute = "align", type = StudioPropertyType.ENUMERATION, + classFqn = "io.jmix.chartsflowui.kit.component.model.visualMap.AbstractVisualMap.MapAlign", + options = {"AUTO", "LEFT", "TOP", "BOTTOM", "RIGHT"}) + } + ) + public interface Align3 { + } + + @StudioPropertyGroup( + properties = { + @StudioProperty(xmlAttribute = "alignTicks", type = StudioPropertyType.BOOLEAN) + } + ) + public interface AlignTicks { + } + + @StudioPropertyGroup( + properties = { + @StudioProperty(xmlAttribute = "angleAxisIndexes", type = StudioPropertyType.VALUES_LIST) + } + ) + public interface AngleAxisIndexes { + } + + @StudioPropertyGroup( + properties = { + @StudioProperty(xmlAttribute = "animation", type = StudioPropertyType.BOOLEAN) + } + ) + public interface Animation { + } + + @StudioPropertyGroup( + properties = { + @StudioProperty(xmlAttribute = "animationDelayFunction", type = StudioPropertyType.STRING) + } + ) + public interface AnimationDelayFunction { + } + + @StudioPropertyGroup( + properties = { + @StudioProperty(xmlAttribute = "animationDelay", type = StudioPropertyType.INTEGER) + } + ) + public interface AnimationDelay { + } + + @StudioPropertyGroup( + properties = { + @StudioProperty(xmlAttribute = "animationDelayUpdateFunction", type = StudioPropertyType.STRING) + } + ) + public interface AnimationDelayUpdateFunction { + } + + @StudioPropertyGroup( + properties = { + @StudioProperty(xmlAttribute = "animationDelayUpdate", type = StudioPropertyType.INTEGER) + } + ) + public interface AnimationDelayUpdate { + } + + @StudioPropertyGroup( + properties = { + @StudioProperty(xmlAttribute = "animationDelayUpdate", type = StudioPropertyType.STRING) + } + ) + public interface AnimationDelayUpdate2 { + } + + @StudioPropertyGroup( + properties = { + @StudioProperty(xmlAttribute = "animationDurationFunction", type = StudioPropertyType.STRING) + } + ) + public interface AnimationDurationFunction { + } + + @StudioPropertyGroup( + properties = { + @StudioProperty(xmlAttribute = "animationDuration", type = StudioPropertyType.INTEGER) + } + ) + public interface AnimationDuration { + } + + @StudioPropertyGroup( + properties = { + @StudioProperty(xmlAttribute = "animationDurationUpdateFunction", type = StudioPropertyType.STRING) + } + ) + public interface AnimationDurationUpdateFunction { + } + + @StudioPropertyGroup( + properties = { + @StudioProperty(xmlAttribute = "animationDurationUpdate", type = StudioPropertyType.INTEGER) + } + ) + public interface AnimationDurationUpdate { + } + + @StudioPropertyGroup( + properties = { + @StudioProperty(xmlAttribute = "animationEasing", type = StudioPropertyType.STRING) + } + ) + public interface AnimationEasing { + } + + @StudioPropertyGroup( + properties = { + @StudioProperty(xmlAttribute = "animationEasingUpdate", type = StudioPropertyType.STRING) + } + ) + public interface AnimationEasingUpdate { + } + + @StudioPropertyGroup( + properties = { + @StudioProperty(xmlAttribute = "animationThreshold", type = StudioPropertyType.INTEGER) + } + ) + public interface AnimationThreshold { + } + + @StudioPropertyGroup( + properties = { + @StudioProperty(xmlAttribute = "backgroundColor", type = StudioPropertyType.OPTIONS, + options = {"ALICEBLUE", "ANTIQUEWHITE", "AQUA", "AQUAMARINE", "AZURE", "BEIGE", "BISQUE", + "BLACK", "BLANCHEDALMOND", "BLUE", "BLUEVIOLET", "BROWN", "BURLYWOOD", "CADETBLUE", + "CHARTREUSE", "CHOCOLATE", "CORAL", "CORNFLOWERBLUE", "CORNSILK", "CRIMSON", "CYAN", + "DARKBLUE", "DARKCYAN", "DARKGOLDENROD", "DARKGRAY", "DARKGREY", "DARKGREEN", + "DARKKHAKI", "DARKMAGENTA", "DARKOLIVEGREEN", "DARKORANGE", "DARKORCHID", "DARKRED", + "DARKSALMON", "DARKSEAGREEN", "DARKSLATEBLUE", "DARKSLATEGRAY", "DARKSLATEGREY", + "DARKTURQUOISE", "DARKVIOLET", "DEEPPINK", "DEEPSKYBLUE", "DIMGRAY", "DIMGREY", + "DODGERBLUE", "FIREBRICK", "FLORALWHITE", "FORESTGREEN", "FUCHSIA", "GAINSBORO", + "GHOSTWHITE", "GOLD", "GOLDENROD", "GRAY", "GREY", "GREEN", "GREENYELLOW", + "HONEYDEW", "HOTPINK", "INDIANRED", "INDIGO", "IVORY", "KHAKI", "LAVENDER", + "LAVENDERBLUSH", "LAWNGREEN", "LEMONCHIFFON", "LIGHTBLUE", "LIGHTCORAL", + "LIGHTCYAN", "LIGHTGOLDENRODYELLOW", "LIGHTGRAY", "LIGHTGREY", "LIGHTGREEN", + "LIGHTPINK", "LIGHTSALMON", "LIGHTSEAGREEN", "LIGHTSKYBLUE", "LIGHTSLATEGRAY", + "LIGHTSLATEGREY", "LIGHTSTEELBLUE", "LIGHTYELLOW", "LIME", "LIMEGREEN", "LINEN", + "MAGENTA", "MAROON", "MEDIUMAQUAMARINE", "MEDIUMBLUE", "MEDIUMORCHID", + "MEDIUMPURPLE", "MEDIUMSEAGREEN", "MEDIUMSLATEBLUE", "MEDIUMSPRINGGREEN", + "MEDIUMTURQUOISE", "MEDIUMVIOLETRED", "MIDNIGHTBLUE", "MINTCREAM", "MISTYROSE", + "MOCCASIN", "NAVAJOWHITE", "NAVY", "OLDLACE", "OLIVE", "OLIVEDRAB", "ORANGE", + "ORANGERED", "ORCHID", "PALEGOLDENROD", "PALEGREEN", "PALETURQUOISE", + "PALEVIOLETRED", "PAPAYAWHIP", "PEACHPUFF", "PERU", "PINK", "PLUM", "POWDERBLUE", + "PURPLE", "RED", "ROSYBROWN", "ROYALBLUE", "SADDLEBROWN", "SALMON", "SANDYBROWN", + "SEAGREEN", "SEASHELL", "SIENNA", "SILVER", "SKYBLUE", "SLATEBLUE", "SLATEGRAY", + "SLATEGREY", "SNOW", "SPRINGGREEN", "STEELBLUE", "TAN", "TEAL", "THISTLE", "TOMATO", + "TURQUOISE", "VIOLET", "WHEAT", "WHITE", "WHITESMOKE", "YELLOW", "YELLOWGREEN"}) + } + ) + public interface BackgroundColor { + } + + @StudioPropertyGroup( + properties = { + @StudioProperty(xmlAttribute = "barMaxWidth", type = StudioPropertyType.STRING) + } + ) + public interface BarMaxWidth { + } + + @StudioPropertyGroup( + properties = { + @StudioProperty(xmlAttribute = "barMinWidth", type = StudioPropertyType.STRING) + } + ) + public interface BarMinWidth { + } + + @StudioPropertyGroup( + properties = { + @StudioProperty(xmlAttribute = "barWidth", type = StudioPropertyType.STRING) + } + ) + public interface BarWidth { + } + + @StudioPropertyGroup( + properties = { + @StudioProperty(xmlAttribute = "blurScope", type = StudioPropertyType.ENUMERATION, + classFqn = "io.jmix.chartsflowui.kit.component.model.series.BlurScopeType", + options = {"COORDINATE_SYSTEM", "SERIES", "GLOBAL"}) + } + ) + public interface BlurScope { + } + + @StudioPropertyGroup( + properties = { + @StudioProperty(xmlAttribute = "borderColor", type = StudioPropertyType.OPTIONS, + options = {"ALICEBLUE", "ANTIQUEWHITE", "AQUA", "AQUAMARINE", "AZURE", "BEIGE", "BISQUE", + "BLACK", "BLANCHEDALMOND", "BLUE", "BLUEVIOLET", "BROWN", "BURLYWOOD", "CADETBLUE", + "CHARTREUSE", "CHOCOLATE", "CORAL", "CORNFLOWERBLUE", "CORNSILK", "CRIMSON", "CYAN", + "DARKBLUE", "DARKCYAN", "DARKGOLDENROD", "DARKGRAY", "DARKGREY", "DARKGREEN", + "DARKKHAKI", "DARKMAGENTA", "DARKOLIVEGREEN", "DARKORANGE", "DARKORCHID", "DARKRED", + "DARKSALMON", "DARKSEAGREEN", "DARKSLATEBLUE", "DARKSLATEGRAY", "DARKSLATEGREY", + "DARKTURQUOISE", "DARKVIOLET", "DEEPPINK", "DEEPSKYBLUE", "DIMGRAY", "DIMGREY", + "DODGERBLUE", "FIREBRICK", "FLORALWHITE", "FORESTGREEN", "FUCHSIA", "GAINSBORO", + "GHOSTWHITE", "GOLD", "GOLDENROD", "GRAY", "GREY", "GREEN", "GREENYELLOW", + "HONEYDEW", "HOTPINK", "INDIANRED", "INDIGO", "IVORY", "KHAKI", "LAVENDER", + "LAVENDERBLUSH", "LAWNGREEN", "LEMONCHIFFON", "LIGHTBLUE", "LIGHTCORAL", + "LIGHTCYAN", "LIGHTGOLDENRODYELLOW", "LIGHTGRAY", "LIGHTGREY", "LIGHTGREEN", + "LIGHTPINK", "LIGHTSALMON", "LIGHTSEAGREEN", "LIGHTSKYBLUE", "LIGHTSLATEGRAY", + "LIGHTSLATEGREY", "LIGHTSTEELBLUE", "LIGHTYELLOW", "LIME", "LIMEGREEN", "LINEN", + "MAGENTA", "MAROON", "MEDIUMAQUAMARINE", "MEDIUMBLUE", "MEDIUMORCHID", + "MEDIUMPURPLE", "MEDIUMSEAGREEN", "MEDIUMSLATEBLUE", "MEDIUMSPRINGGREEN", + "MEDIUMTURQUOISE", "MEDIUMVIOLETRED", "MIDNIGHTBLUE", "MINTCREAM", "MISTYROSE", + "MOCCASIN", "NAVAJOWHITE", "NAVY", "OLDLACE", "OLIVE", "OLIVEDRAB", "ORANGE", + "ORANGERED", "ORCHID", "PALEGOLDENROD", "PALEGREEN", "PALETURQUOISE", + "PALEVIOLETRED", "PAPAYAWHIP", "PEACHPUFF", "PERU", "PINK", "PLUM", "POWDERBLUE", + "PURPLE", "RED", "ROSYBROWN", "ROYALBLUE", "SADDLEBROWN", "SALMON", "SANDYBROWN", + "SEAGREEN", "SEASHELL", "SIENNA", "SILVER", "SKYBLUE", "SLATEBLUE", "SLATEGRAY", + "SLATEGREY", "SNOW", "SPRINGGREEN", "STEELBLUE", "TAN", "TEAL", "THISTLE", "TOMATO", + "TURQUOISE", "VIOLET", "WHEAT", "WHITE", "WHITESMOKE", "YELLOW", "YELLOWGREEN"}) + } + ) + public interface BorderColor { + } + + @StudioPropertyGroup( + properties = { + @StudioProperty(xmlAttribute = "borderDashOffset", type = StudioPropertyType.INTEGER) + } + ) + public interface BorderDashOffset { + } + + @StudioPropertyGroup( + properties = { + @StudioProperty(xmlAttribute = "borderRadius", type = StudioPropertyType.INTEGER) + } + ) + public interface BorderRadius { + } + + @StudioPropertyGroup( + properties = { + @StudioProperty(xmlAttribute = "borderType", type = StudioPropertyType.STRING) + } + ) + public interface BorderType { + } + + @StudioPropertyGroup( + properties = { + @StudioProperty(xmlAttribute = "borderWidth", type = StudioPropertyType.DOUBLE) + } + ) + public interface BorderWidth { + } + + @StudioPropertyGroup( + properties = { + @StudioProperty(xmlAttribute = "borderWidth", type = StudioPropertyType.INTEGER) + } + ) + public interface BorderWidth2 { + } + + @StudioPropertyGroup( + properties = { + @StudioProperty(xmlAttribute = "bottom", type = StudioPropertyType.INTEGER) + } + ) + public interface Bottom { + } + + @StudioPropertyGroup( + properties = { + @StudioProperty(xmlAttribute = "bottom", type = StudioPropertyType.STRING) + } + ) + public interface Bottom2 { + } + + @StudioPropertyGroup( + properties = { + @StudioProperty(xmlAttribute = "calendarIndex", type = StudioPropertyType.INTEGER) + } + ) + public interface CalendarIndex { + } + + @StudioPropertyGroup( + properties = { + @StudioProperty(xmlAttribute = "cap", type = StudioPropertyType.ENUMERATION, + classFqn = "io.jmix.chartsflowui.kit.component.model.HasLineStyle.Cap", + options = {"BUTT", "ROUND", "SQUARE"}) + } + ) + public interface Cap { + } + + @StudioPropertyGroup( + properties = { + @StudioProperty(xmlAttribute = "categoryBoundaryGap", type = StudioPropertyType.BOOLEAN) + } + ) + public interface CategoryBoundaryGap { + } + + @StudioPropertyGroup( + properties = { + @StudioProperty(xmlAttribute = "center", type = StudioPropertyType.STRING) + } + ) + public interface Center { + } + + @StudioPropertyGroup( + properties = { + @StudioProperty(xmlAttribute = "center", type = StudioPropertyType.VALUES_LIST) + } + ) + public interface Center2 { + } + + @StudioPropertyGroup( + properties = { + @StudioProperty(xmlAttribute = "clip", type = StudioPropertyType.BOOLEAN) + } + ) + public interface Clip { + } + + @StudioPropertyGroup( + properties = { + @StudioProperty(xmlAttribute = "clockwise", type = StudioPropertyType.BOOLEAN) + } + ) + public interface Clockwise { + } + + @StudioPropertyGroup( + properties = { + @StudioProperty(xmlAttribute = "colorAlpha", type = StudioPropertyType.VALUES_LIST) + } + ) + public interface ColorAlpha { + } + + @StudioPropertyGroup( + properties = { + @StudioProperty(xmlAttribute = "colorBy", type = StudioPropertyType.ENUMERATION, + classFqn = "io.jmix.chartsflowui.kit.component.model.series.ColorBy", + options = {"SERIES", "DATA"}) + } + ) + public interface ColorBy { + } + + @StudioPropertyGroup( + properties = { + @StudioProperty(xmlAttribute = "colorHue", type = StudioPropertyType.VALUES_LIST) + } + ) + public interface ColorHue { + } + + @StudioPropertyGroup( + properties = { + @StudioProperty(xmlAttribute = "colorLightness", type = StudioPropertyType.VALUES_LIST) + } + ) + public interface ColorLightness { + } + + @StudioPropertyGroup( + properties = { + @StudioProperty(xmlAttribute = "colorSaturation", type = StudioPropertyType.VALUES_LIST) + } + ) + public interface ColorSaturation { + } + + @StudioPropertyGroup( + properties = { + @StudioProperty(xmlAttribute = "color", type = StudioPropertyType.VALUES_LIST, + options = {"ALICEBLUE", "ANTIQUEWHITE", "AQUA", "AQUAMARINE", "AZURE", "BEIGE", "BISQUE", + "BLACK", "BLANCHEDALMOND", "BLUE", "BLUEVIOLET", "BROWN", "BURLYWOOD", "CADETBLUE", + "CHARTREUSE", "CHOCOLATE", "CORAL", "CORNFLOWERBLUE", "CORNSILK", "CRIMSON", "CYAN", + "DARKBLUE", "DARKCYAN", "DARKGOLDENROD", "DARKGRAY", "DARKGREY", "DARKGREEN", + "DARKKHAKI", "DARKMAGENTA", "DARKOLIVEGREEN", "DARKORANGE", "DARKORCHID", "DARKRED", + "DARKSALMON", "DARKSEAGREEN", "DARKSLATEBLUE", "DARKSLATEGRAY", "DARKSLATEGREY", + "DARKTURQUOISE", "DARKVIOLET", "DEEPPINK", "DEEPSKYBLUE", "DIMGRAY", "DIMGREY", + "DODGERBLUE", "FIREBRICK", "FLORALWHITE", "FORESTGREEN", "FUCHSIA", "GAINSBORO", + "GHOSTWHITE", "GOLD", "GOLDENROD", "GRAY", "GREY", "GREEN", "GREENYELLOW", + "HONEYDEW", "HOTPINK", "INDIANRED", "INDIGO", "IVORY", "KHAKI", "LAVENDER", + "LAVENDERBLUSH", "LAWNGREEN", "LEMONCHIFFON", "LIGHTBLUE", "LIGHTCORAL", + "LIGHTCYAN", "LIGHTGOLDENRODYELLOW", "LIGHTGRAY", "LIGHTGREY", "LIGHTGREEN", + "LIGHTPINK", "LIGHTSALMON", "LIGHTSEAGREEN", "LIGHTSKYBLUE", "LIGHTSLATEGRAY", + "LIGHTSLATEGREY", "LIGHTSTEELBLUE", "LIGHTYELLOW", "LIME", "LIMEGREEN", "LINEN", + "MAGENTA", "MAROON", "MEDIUMAQUAMARINE", "MEDIUMBLUE", "MEDIUMORCHID", + "MEDIUMPURPLE", "MEDIUMSEAGREEN", "MEDIUMSLATEBLUE", "MEDIUMSPRINGGREEN", + "MEDIUMTURQUOISE", "MEDIUMVIOLETRED", "MIDNIGHTBLUE", "MINTCREAM", "MISTYROSE", + "MOCCASIN", "NAVAJOWHITE", "NAVY", "OLDLACE", "OLIVE", "OLIVEDRAB", "ORANGE", + "ORANGERED", "ORCHID", "PALEGOLDENROD", "PALEGREEN", "PALETURQUOISE", + "PALEVIOLETRED", "PAPAYAWHIP", "PEACHPUFF", "PERU", "PINK", "PLUM", "POWDERBLUE", + "PURPLE", "RED", "ROSYBROWN", "ROYALBLUE", "SADDLEBROWN", "SALMON", "SANDYBROWN", + "SEAGREEN", "SEASHELL", "SIENNA", "SILVER", "SKYBLUE", "SLATEBLUE", "SLATEGRAY", + "SLATEGREY", "SNOW", "SPRINGGREEN", "STEELBLUE", "TAN", "TEAL", "THISTLE", "TOMATO", + "TURQUOISE", "VIOLET", "WHEAT", "WHITE", "WHITESMOKE", "YELLOW", "YELLOWGREEN"}) + } + ) + public interface Color { + } + + @StudioPropertyGroup( + properties = { + @StudioProperty(xmlAttribute = "coordinateSystem", type = StudioPropertyType.ENUMERATION, + classFqn = "io.jmix.chartsflowui.kit.component.model.series.CoordinateSystem", + options = {"CARTESIAN_2_D", "POLAR"}) + } + ) + public interface CoordinateSystem { + } + + @StudioPropertyGroup( + properties = { + @StudioProperty(xmlAttribute = "cursor", type = StudioPropertyType.STRING) + } + ) + public interface Cursor { + } + + @StudioPropertyGroup( + properties = { + @StudioProperty(xmlAttribute = "dashOffset", type = StudioPropertyType.INTEGER) + } + ) + public interface DashOffset { + } + + @StudioPropertyGroup( + properties = { + @StudioProperty(xmlAttribute = "dataGroupId", type = StudioPropertyType.STRING) + } + ) + public interface DataGroupId { + } + + @StudioPropertyGroup( + properties = { + @StudioProperty(xmlAttribute = "datasetIndex", type = StudioPropertyType.INTEGER) + } + ) + public interface DatasetIndex { + } + + @StudioPropertyGroup( + properties = { + @StudioProperty(xmlAttribute = "dimension", type = StudioPropertyType.STRING) + } + ) + public interface Dimension { + } + + @StudioPropertyGroup( + properties = { + @StudioProperty(xmlAttribute = "disabled", type = StudioPropertyType.BOOLEAN) + } + ) + public interface Disabled { + } + + @StudioPropertyGroup( + properties = { + @StudioProperty(xmlAttribute = "distance", type = StudioPropertyType.INTEGER) + } + ) + public interface Distance { + } + + @StudioPropertyGroup( + properties = { + @StudioProperty(xmlAttribute = "ellipsis", type = StudioPropertyType.STRING) + } + ) + public interface Ellipsis { + } + + @StudioPropertyGroup( + properties = { + @StudioProperty(xmlAttribute = "end", type = StudioPropertyType.DOUBLE) + } + ) + public interface End { + } + + @StudioPropertyGroup( + properties = { + @StudioProperty(xmlAttribute = "endValue", type = StudioPropertyType.STRING) + } + ) + public interface EndValue { + } + + @StudioPropertyGroup( + properties = { + @StudioProperty(xmlAttribute = "extraCssText", type = StudioPropertyType.STRING) + } + ) + public interface ExtraCssText { + } + + @StudioPropertyGroup( + properties = { + @StudioProperty(xmlAttribute = "filterMode", type = StudioPropertyType.ENUMERATION, + classFqn = "io.jmix.chartsflowui.kit.component.model.datazoom.AbstractDataZoom.FilterMode", + options = {"FILTER", "WEAK_FILTER", "EMPTY", "NONE"}) + } + ) + public interface FilterMode { + } + + @StudioPropertyGroup( + properties = { + @StudioProperty(xmlAttribute = "focus", type = StudioPropertyType.ENUMERATION, + classFqn = "io.jmix.chartsflowui.kit.component.model.series.FocusType", + options = {"NONE", "SELF", "SERIES"}) + } + ) + public interface Focus { + } + + @StudioPropertyGroup( + properties = { + @StudioProperty(xmlAttribute = "fontFamily", type = StudioPropertyType.STRING) + } + ) + public interface FontFamily { + } + + @StudioPropertyGroup( + properties = { + @StudioProperty(xmlAttribute = "fontSize", type = StudioPropertyType.INTEGER) + } + ) + public interface FontSize { + } + + @StudioPropertyGroup( + properties = { + @StudioProperty(xmlAttribute = "fontStyle", type = StudioPropertyType.ENUMERATION, + classFqn = "io.jmix.chartsflowui.kit.component.model.shared.FontStyle", + options = {"NORMAL", "ITALIC", "OBLIQUE"}) + } + ) + public interface FontStyle { + } + + @StudioPropertyGroup( + properties = { + @StudioProperty(xmlAttribute = "fontWeight", type = StudioPropertyType.STRING) + } + ) + public interface FontWeight { + } + + @StudioPropertyGroup( + properties = { + @StudioProperty(xmlAttribute = "formatterFunction", type = StudioPropertyType.STRING) + } + ) + public interface FormatterFunction { + } + + @StudioPropertyGroup( + properties = { + @StudioProperty(xmlAttribute = "formatter", type = StudioPropertyType.STRING) + } + ) + public interface Formatter { + } + + @StudioPropertyGroup( + properties = { + @StudioProperty(xmlAttribute = "geoIndex", type = StudioPropertyType.INTEGER) + } + ) + public interface GeoIndex { + } + + @StudioPropertyGroup( + properties = { + @StudioProperty(xmlAttribute = "gridIndex", type = StudioPropertyType.INTEGER) + } + ) + public interface GridIndex { + } + + @StudioPropertyGroup( + properties = { + @StudioProperty(xmlAttribute = "handleIcon", type = StudioPropertyType.STRING) + } + ) + public interface HandleIcon { + } + + @StudioPropertyGroup( + properties = { + @StudioProperty(xmlAttribute = "handleSize", type = StudioPropertyType.STRING) + } + ) + public interface HandleSize { + } + + @StudioPropertyGroup( + properties = { + @StudioProperty(xmlAttribute = "height", category = StudioProperty.Category.SIZE, type = StudioPropertyType.INTEGER) + } + ) + public interface Height { + } + + @StudioPropertyGroup( + properties = { + @StudioProperty(xmlAttribute = "height", category = StudioProperty.Category.SIZE, type = StudioPropertyType.STRING) + } + ) + public interface Height2 { + } + + @StudioPropertyGroup( + properties = { + @StudioProperty(xmlAttribute = "hideOverlap", type = StudioPropertyType.BOOLEAN) + } + ) + public interface HideOverlap { + } + + @StudioPropertyGroup( + properties = { + @StudioProperty(xmlAttribute = "hoverAnimation", type = StudioPropertyType.BOOLEAN) + } + ) + public interface HoverAnimation { + } + + @StudioPropertyGroup( + properties = { + @StudioProperty(xmlAttribute = "hoverLink", type = StudioPropertyType.BOOLEAN) + } + ) + public interface HoverLink { + } + + @StudioPropertyGroup( + properties = { + @StudioProperty(xmlAttribute = "icon", type = StudioPropertyType.STRING) + } + ) + public interface Icon { + } + + @StudioPropertyGroup( + properties = { + @StudioProperty(xmlAttribute = "inactiveBorderColor", type = StudioPropertyType.OPTIONS, + options = {"ALICEBLUE", "ANTIQUEWHITE", "AQUA", "AQUAMARINE", "AZURE", "BEIGE", "BISQUE", + "BLACK", "BLANCHEDALMOND", "BLUE", "BLUEVIOLET", "BROWN", "BURLYWOOD", "CADETBLUE", + "CHARTREUSE", "CHOCOLATE", "CORAL", "CORNFLOWERBLUE", "CORNSILK", "CRIMSON", "CYAN", + "DARKBLUE", "DARKCYAN", "DARKGOLDENROD", "DARKGRAY", "DARKGREY", "DARKGREEN", + "DARKKHAKI", "DARKMAGENTA", "DARKOLIVEGREEN", "DARKORANGE", "DARKORCHID", "DARKRED", + "DARKSALMON", "DARKSEAGREEN", "DARKSLATEBLUE", "DARKSLATEGRAY", "DARKSLATEGREY", + "DARKTURQUOISE", "DARKVIOLET", "DEEPPINK", "DEEPSKYBLUE", "DIMGRAY", "DIMGREY", + "DODGERBLUE", "FIREBRICK", "FLORALWHITE", "FORESTGREEN", "FUCHSIA", "GAINSBORO", + "GHOSTWHITE", "GOLD", "GOLDENROD", "GRAY", "GREY", "GREEN", "GREENYELLOW", + "HONEYDEW", "HOTPINK", "INDIANRED", "INDIGO", "IVORY", "KHAKI", "LAVENDER", + "LAVENDERBLUSH", "LAWNGREEN", "LEMONCHIFFON", "LIGHTBLUE", "LIGHTCORAL", + "LIGHTCYAN", "LIGHTGOLDENRODYELLOW", "LIGHTGRAY", "LIGHTGREY", "LIGHTGREEN", + "LIGHTPINK", "LIGHTSALMON", "LIGHTSEAGREEN", "LIGHTSKYBLUE", "LIGHTSLATEGRAY", + "LIGHTSLATEGREY", "LIGHTSTEELBLUE", "LIGHTYELLOW", "LIME", "LIMEGREEN", "LINEN", + "MAGENTA", "MAROON", "MEDIUMAQUAMARINE", "MEDIUMBLUE", "MEDIUMORCHID", + "MEDIUMPURPLE", "MEDIUMSEAGREEN", "MEDIUMSLATEBLUE", "MEDIUMSPRINGGREEN", + "MEDIUMTURQUOISE", "MEDIUMVIOLETRED", "MIDNIGHTBLUE", "MINTCREAM", "MISTYROSE", + "MOCCASIN", "NAVAJOWHITE", "NAVY", "OLDLACE", "OLIVE", "OLIVEDRAB", "ORANGE", + "ORANGERED", "ORCHID", "PALEGOLDENROD", "PALEGREEN", "PALETURQUOISE", + "PALEVIOLETRED", "PAPAYAWHIP", "PEACHPUFF", "PERU", "PINK", "PLUM", "POWDERBLUE", + "PURPLE", "RED", "ROSYBROWN", "ROYALBLUE", "SADDLEBROWN", "SALMON", "SANDYBROWN", + "SEAGREEN", "SEASHELL", "SIENNA", "SILVER", "SKYBLUE", "SLATEBLUE", "SLATEGRAY", + "SLATEGREY", "SNOW", "SPRINGGREEN", "STEELBLUE", "TAN", "TEAL", "THISTLE", "TOMATO", + "TURQUOISE", "VIOLET", "WHEAT", "WHITE", "WHITESMOKE", "YELLOW", "YELLOWGREEN"}) + } + ) + public interface InactiveBorderColor { + } + + @StudioPropertyGroup( + properties = { + @StudioProperty(xmlAttribute = "inactiveBorderWidth", type = StudioPropertyType.INTEGER) + } + ) + public interface InactiveBorderWidth { + } + + @StudioPropertyGroup( + properties = { + @StudioProperty(xmlAttribute = "inactiveColor", type = StudioPropertyType.OPTIONS, + options = {"ALICEBLUE", "ANTIQUEWHITE", "AQUA", "AQUAMARINE", "AZURE", "BEIGE", "BISQUE", + "BLACK", "BLANCHEDALMOND", "BLUE", "BLUEVIOLET", "BROWN", "BURLYWOOD", "CADETBLUE", + "CHARTREUSE", "CHOCOLATE", "CORAL", "CORNFLOWERBLUE", "CORNSILK", "CRIMSON", "CYAN", + "DARKBLUE", "DARKCYAN", "DARKGOLDENROD", "DARKGRAY", "DARKGREY", "DARKGREEN", + "DARKKHAKI", "DARKMAGENTA", "DARKOLIVEGREEN", "DARKORANGE", "DARKORCHID", "DARKRED", + "DARKSALMON", "DARKSEAGREEN", "DARKSLATEBLUE", "DARKSLATEGRAY", "DARKSLATEGREY", + "DARKTURQUOISE", "DARKVIOLET", "DEEPPINK", "DEEPSKYBLUE", "DIMGRAY", "DIMGREY", + "DODGERBLUE", "FIREBRICK", "FLORALWHITE", "FORESTGREEN", "FUCHSIA", "GAINSBORO", + "GHOSTWHITE", "GOLD", "GOLDENROD", "GRAY", "GREY", "GREEN", "GREENYELLOW", + "HONEYDEW", "HOTPINK", "INDIANRED", "INDIGO", "IVORY", "KHAKI", "LAVENDER", + "LAVENDERBLUSH", "LAWNGREEN", "LEMONCHIFFON", "LIGHTBLUE", "LIGHTCORAL", + "LIGHTCYAN", "LIGHTGOLDENRODYELLOW", "LIGHTGRAY", "LIGHTGREY", "LIGHTGREEN", + "LIGHTPINK", "LIGHTSALMON", "LIGHTSEAGREEN", "LIGHTSKYBLUE", "LIGHTSLATEGRAY", + "LIGHTSLATEGREY", "LIGHTSTEELBLUE", "LIGHTYELLOW", "LIME", "LIMEGREEN", "LINEN", + "MAGENTA", "MAROON", "MEDIUMAQUAMARINE", "MEDIUMBLUE", "MEDIUMORCHID", + "MEDIUMPURPLE", "MEDIUMSEAGREEN", "MEDIUMSLATEBLUE", "MEDIUMSPRINGGREEN", + "MEDIUMTURQUOISE", "MEDIUMVIOLETRED", "MIDNIGHTBLUE", "MINTCREAM", "MISTYROSE", + "MOCCASIN", "NAVAJOWHITE", "NAVY", "OLDLACE", "OLIVE", "OLIVEDRAB", "ORANGE", + "ORANGERED", "ORCHID", "PALEGOLDENROD", "PALEGREEN", "PALETURQUOISE", + "PALEVIOLETRED", "PAPAYAWHIP", "PEACHPUFF", "PERU", "PINK", "PLUM", "POWDERBLUE", + "PURPLE", "RED", "ROSYBROWN", "ROYALBLUE", "SADDLEBROWN", "SALMON", "SANDYBROWN", + "SEAGREEN", "SEASHELL", "SIENNA", "SILVER", "SKYBLUE", "SLATEBLUE", "SLATEGRAY", + "SLATEGREY", "SNOW", "SPRINGGREEN", "STEELBLUE", "TAN", "TEAL", "THISTLE", "TOMATO", + "TURQUOISE", "VIOLET", "WHEAT", "WHITE", "WHITESMOKE", "YELLOW", "YELLOWGREEN"}) + } + ) + public interface InactiveColor { + } + + @StudioPropertyGroup( + properties = { + @StudioProperty(xmlAttribute = "inside", type = StudioPropertyType.BOOLEAN) + } + ) + public interface Inside { + } + + @StudioPropertyGroup( + properties = { + @StudioProperty(xmlAttribute = "intervalFunction", type = StudioPropertyType.STRING) + } + ) + public interface IntervalFunction { + } + + @StudioPropertyGroup( + properties = { + @StudioProperty(xmlAttribute = "interval", type = StudioPropertyType.INTEGER) + } + ) + public interface Interval { + } + + @StudioPropertyGroup( + properties = { + @StudioProperty(xmlAttribute = "inverse", type = StudioPropertyType.BOOLEAN) + } + ) + public interface Inverse { + } + + @StudioPropertyGroup( + properties = { + @StudioProperty(xmlAttribute = "itemGap", type = StudioPropertyType.INTEGER) + } + ) + public interface ItemGap { + } + + @StudioPropertyGroup( + properties = { + @StudioProperty(xmlAttribute = "itemHeight", type = StudioPropertyType.DOUBLE) + } + ) + public interface ItemHeight { + } + + @StudioPropertyGroup( + properties = { + @StudioProperty(xmlAttribute = "itemHeight", type = StudioPropertyType.INTEGER) + } + ) + public interface ItemHeight2 { + } + + @StudioPropertyGroup( + properties = { + @StudioProperty(xmlAttribute = "itemWidth", type = StudioPropertyType.DOUBLE) + } + ) + public interface ItemWidth { + } + + @StudioPropertyGroup( + properties = { + @StudioProperty(xmlAttribute = "itemWidth", type = StudioPropertyType.INTEGER) + } + ) + public interface ItemWidth2 { + } + + @StudioPropertyGroup( + properties = { + @StudioProperty(xmlAttribute = "join", type = StudioPropertyType.ENUMERATION, + classFqn = "io.jmix.chartsflowui.kit.component.model.HasLineStyle.Join", + options = {"BEVEL", "ROUND", "MITER"}) + } + ) + public interface Join { + } + + @StudioPropertyGroup( + properties = { + @StudioProperty(xmlAttribute = "keepAspect", type = StudioPropertyType.BOOLEAN) + } + ) + public interface KeepAspect { + } + + @StudioPropertyGroup( + properties = { + @StudioProperty(xmlAttribute = "large", type = StudioPropertyType.BOOLEAN) + } + ) + public interface Large { + } + + @StudioPropertyGroup( + properties = { + @StudioProperty(xmlAttribute = "largeThreshold", type = StudioPropertyType.INTEGER) + } + ) + public interface LargeThreshold { + } + + @StudioPropertyGroup( + properties = { + @StudioProperty(xmlAttribute = "layout", type = StudioPropertyType.ENUMERATION, + classFqn = "io.jmix.chartsflowui.kit.component.model.shared.Orientation", + options = {"HORIZONTAL", "VERTICAL"}) + } + ) + public interface Layout { + } + + @StudioPropertyGroup( + properties = { + @StudioProperty(xmlAttribute = "left", type = StudioPropertyType.INTEGER) + } + ) + public interface Left { + } + + @StudioPropertyGroup( + properties = { + @StudioProperty(xmlAttribute = "left", type = StudioPropertyType.STRING) + } + ) + public interface Left2 { + } + + @StudioPropertyGroup( + properties = { + @StudioProperty(xmlAttribute = "legendHoverLink", type = StudioPropertyType.BOOLEAN) + } + ) + public interface LegendHoverLink { + } + + @StudioPropertyGroup( + properties = { + @StudioProperty(xmlAttribute = "length", type = StudioPropertyType.INTEGER) + } + ) + public interface Length { + } + + @StudioPropertyGroup( + properties = { + @StudioProperty(xmlAttribute = "lineHeight", type = StudioPropertyType.INTEGER) + } + ) + public interface LineHeight { + } + + @StudioPropertyGroup( + properties = { + @StudioProperty(xmlAttribute = "logBase", type = StudioPropertyType.INTEGER) + } + ) + public interface LogBase { + } + + @StudioPropertyGroup( + properties = { + @StudioProperty(xmlAttribute = "margin", type = StudioPropertyType.INTEGER) + } + ) + public interface Margin { + } + + @StudioPropertyGroup( + properties = { + @StudioProperty(xmlAttribute = "maxCount", type = StudioPropertyType.INTEGER) + } + ) + public interface MaxCount { + } + + @StudioPropertyGroup( + properties = { + @StudioProperty(xmlAttribute = "max", type = StudioPropertyType.DOUBLE) + } + ) + public interface Max { + } + + @StudioPropertyGroup( + properties = { + @StudioProperty(xmlAttribute = "maxFunction", type = StudioPropertyType.STRING) + } + ) + public interface MaxFunction { + } + + @StudioPropertyGroup( + properties = { + @StudioProperty(xmlAttribute = "maxInterval", type = StudioPropertyType.INTEGER) + } + ) + public interface MaxInterval { + } + + @StudioPropertyGroup( + properties = { + @StudioProperty(xmlAttribute = "maxSpan", type = StudioPropertyType.DOUBLE) + } + ) + public interface MaxSpan { + } + + @StudioPropertyGroup( + properties = { + @StudioProperty(xmlAttribute = "max", type = StudioPropertyType.STRING) + } + ) + public interface Max2 { + } + + @StudioPropertyGroup( + properties = { + @StudioProperty(xmlAttribute = "maxValueSpan", type = StudioPropertyType.STRING) + } + ) + public interface MaxValueSpan { + } + + @StudioPropertyGroup( + properties = { + @StudioProperty(xmlAttribute = "min", type = StudioPropertyType.DOUBLE) + } + ) + public interface Min { + } + + @StudioPropertyGroup( + properties = { + @StudioProperty(xmlAttribute = "minFunction", type = StudioPropertyType.STRING) + } + ) + public interface MinFunction { + } + + @StudioPropertyGroup( + properties = { + @StudioProperty(xmlAttribute = "minInterval", type = StudioPropertyType.INTEGER) + } + ) + public interface MinInterval { + } + + @StudioPropertyGroup( + properties = { + @StudioProperty(xmlAttribute = "minSpan", type = StudioPropertyType.DOUBLE) + } + ) + public interface MinSpan { + } + + @StudioPropertyGroup( + properties = { + @StudioProperty(xmlAttribute = "min", type = StudioPropertyType.STRING) + } + ) + public interface Min2 { + } + + @StudioPropertyGroup( + properties = { + @StudioProperty(xmlAttribute = "minTurnAngle", type = StudioPropertyType.INTEGER) + } + ) + public interface MinTurnAngle { + } + + @StudioPropertyGroup( + properties = { + @StudioProperty(xmlAttribute = "minValueSpan", type = StudioPropertyType.STRING) + } + ) + public interface MinValueSpan { + } + + @StudioPropertyGroup( + properties = { + @StudioProperty(xmlAttribute = "miterLimit", type = StudioPropertyType.INTEGER) + } + ) + public interface MiterLimit { + } + + @StudioPropertyGroup( + properties = { + @StudioProperty(xmlAttribute = "nameGap", type = StudioPropertyType.INTEGER) + } + ) + public interface NameGap { + } + + @StudioPropertyGroup( + properties = { + @StudioProperty(xmlAttribute = "nameLocation", type = StudioPropertyType.ENUMERATION, + classFqn = "io.jmix.chartsflowui.kit.component.model.axis.AbstractCartesianAxis.NameLocation", + options = {"END", "CENTER", "START"}) + } + ) + public interface NameLocation { + } + + @StudioPropertyGroup( + properties = { + @StudioProperty(xmlAttribute = "nameRotate", type = StudioPropertyType.INTEGER) + } + ) + public interface NameRotate { + } + + @StudioPropertyGroup( + properties = { + @StudioProperty(xmlAttribute = "name", type = StudioPropertyType.STRING) + } + ) + public interface Name { + } + + @StudioPropertyGroup( + properties = { + @StudioProperty(xmlAttribute = "nextPageIcon", type = StudioPropertyType.STRING, required = true) + } + ) + public interface NextPageIcon { + } + + @StudioPropertyGroup( + properties = { + @StudioProperty(xmlAttribute = "nonCategoryBoundaryGap", type = StudioPropertyType.VALUES_LIST) + } + ) + public interface NonCategoryBoundaryGap { + } + + @StudioPropertyGroup( + properties = { + @StudioProperty(xmlAttribute = "numberCoordinate", type = StudioPropertyType.STRING) + } + ) + public interface NumberCoordinate { + } + + @StudioPropertyGroup( + properties = { + @StudioProperty(xmlAttribute = "offsetCenter", type = StudioPropertyType.VALUES_LIST) + } + ) + public interface OffsetCenter { + } + + @StudioPropertyGroup( + properties = { + @StudioProperty(xmlAttribute = "offset", type = StudioPropertyType.INTEGER) + } + ) + public interface Offset { + } + + @StudioPropertyGroup( + properties = { + @StudioProperty(xmlAttribute = "offset", type = StudioPropertyType.VALUES_LIST) + } + ) + public interface Offset2 { + } + + @StudioPropertyGroup( + properties = { + @StudioProperty(xmlAttribute = "opacity", type = StudioPropertyType.DOUBLE) + } + ) + public interface Opacity { + } + + @StudioPropertyGroup( + properties = { + @StudioProperty(xmlAttribute = "opacity", type = StudioPropertyType.VALUES_LIST) + } + ) + public interface Opacity2 { + } + + @StudioPropertyGroup( + properties = { + @StudioProperty(xmlAttribute = "orientation", type = StudioPropertyType.ENUMERATION, + classFqn = "io.jmix.chartsflowui.kit.component.model.shared.Orientation", + options = {"HORIZONTAL", "VERTICAL"}) + } + ) + public interface Orientation { + } + + @StudioPropertyGroup( + properties = { + @StudioProperty(xmlAttribute = "overflow", type = StudioPropertyType.ENUMERATION, + classFqn = "io.jmix.chartsflowui.kit.component.model.shared.Overflow", + options = {"NONE", "TRUNCATE", "BREAK", "BREAK_ALL"}) + } + ) + public interface Overflow { + } + + @StudioPropertyGroup( + properties = { + @StudioProperty(xmlAttribute = "padding", type = StudioPropertyType.VALUES_LIST) + } + ) + public interface Padding { + } + + @StudioPropertyGroup( + properties = { + @StudioProperty(xmlAttribute = "polarIndex", type = StudioPropertyType.INTEGER) + } + ) + public interface PolarIndex { + } + + @StudioPropertyGroup( + properties = { + @StudioProperty(xmlAttribute = "positionCoordinates", type = StudioPropertyType.STRING) + } + ) + public interface PositionCoordinates { + } + + @StudioPropertyGroup( + properties = { + @StudioProperty(xmlAttribute = "position", type = StudioPropertyType.ENUMERATION, + classFqn = "io.jmix.chartsflowui.kit.component.model.shared.AbstractTooltip.Position.ItemTriggerPosition", + options = {"INSIDE", "TOP", "LEFT", "RIGHT", "BOTTOM"}) + } + ) + public interface Position { + } + + @StudioPropertyGroup( + properties = { + @StudioProperty(xmlAttribute = "position", type = StudioPropertyType.ENUMERATION, + classFqn = "io.jmix.chartsflowui.kit.component.model.axis.AbstractCartesianAxis.Position", + options = {"TOP", "BOTTOM", "RIGHT", "LEFT"}) + } + ) + public interface Position2 { + } + + @StudioPropertyGroup( + properties = { + @StudioProperty(xmlAttribute = "precision", type = StudioPropertyType.DOUBLE) + } + ) + public interface Precision { + } + + @StudioPropertyGroup( + properties = { + @StudioProperty(xmlAttribute = "precision", type = StudioPropertyType.INTEGER) + } + ) + public interface Precision2 { + } + + @StudioPropertyGroup( + properties = { + @StudioProperty(xmlAttribute = "prefix", type = StudioPropertyType.LOCALIZED_STRING) + } + ) + public interface Prefix { + } + + @StudioPropertyGroup( + properties = { + @StudioProperty(xmlAttribute = "prevPageIcon", type = StudioPropertyType.STRING, required = true) + } + ) + public interface PrevPageIcon { + } + + @StudioPropertyGroup( + properties = { + @StudioProperty(xmlAttribute = "progressiveChunkMode", type = StudioPropertyType.ENUMERATION, + classFqn = "io.jmix.chartsflowui.kit.component.model.series.ProgressiveChunkMode", + options = {"SEQUENTIAL", "MOD"}) + } + ) + public interface ProgressiveChunkMode { + } + + @StudioPropertyGroup( + properties = { + @StudioProperty(xmlAttribute = "progressive", type = StudioPropertyType.INTEGER) + } + ) + public interface Progressive { + } + + @StudioPropertyGroup( + properties = { + @StudioProperty(xmlAttribute = "progressiveThreshold", type = StudioPropertyType.INTEGER) + } + ) + public interface ProgressiveThreshold { + } + + @StudioPropertyGroup( + properties = { + @StudioProperty(xmlAttribute = "radiusAxisIndexes", type = StudioPropertyType.VALUES_LIST) + } + ) + public interface RadiusAxisIndexes { + } + + @StudioPropertyGroup( + properties = { + @StudioProperty(xmlAttribute = "radius", type = StudioPropertyType.STRING) + } + ) + public interface Radius { + } + + @StudioPropertyGroup( + properties = { + @StudioProperty(xmlAttribute = "radius", type = StudioPropertyType.VALUES_LIST) + } + ) + public interface Radius2 { + } + + @StudioPropertyGroup( + properties = { + @StudioProperty(xmlAttribute = "rangeMode", type = StudioPropertyType.VALUES_LIST, + options = {"VALUE", "PERCENT"}) + } + ) + public interface RangeMode { + } + + @StudioPropertyGroup( + properties = { + @StudioProperty(xmlAttribute = "realtime", type = StudioPropertyType.BOOLEAN) + } + ) + public interface Realtime { + } + + @StudioPropertyGroup( + properties = { + @StudioProperty(xmlAttribute = "right", type = StudioPropertyType.INTEGER) + } + ) + public interface Right { + } + + @StudioPropertyGroup( + properties = { + @StudioProperty(xmlAttribute = "right", type = StudioPropertyType.STRING) + } + ) + public interface Right2 { + } + + @StudioPropertyGroup( + properties = { + @StudioProperty(xmlAttribute = "rotate", type = StudioPropertyType.INTEGER) + } + ) + public interface Rotate { + } + + @StudioPropertyGroup( + properties = { + @StudioProperty(xmlAttribute = "roundCap", type = StudioPropertyType.BOOLEAN) + } + ) + public interface RoundCap { + } + + @StudioPropertyGroup( + properties = { + @StudioProperty(xmlAttribute = "sampling", type = StudioPropertyType.ENUMERATION, + classFqn = "io.jmix.chartsflowui.kit.component.model.series.SamplingType", + options = {"LARGEST_TRIANGLE_THREE_BUCKET", "AVERAGE", "MAX", "MIN", "SUM"}) + } + ) + public interface Sampling { + } + + @StudioPropertyGroup( + properties = { + @StudioProperty(xmlAttribute = "scale", type = StudioPropertyType.BOOLEAN) + } + ) + public interface Scale { + } + + @StudioPropertyGroup( + properties = { + @StudioProperty(xmlAttribute = "scale", type = StudioPropertyType.DOUBLE) + } + ) + public interface Scale2 { + } + + @StudioPropertyGroup( + properties = { + @StudioProperty(xmlAttribute = "selectedMode", type = StudioPropertyType.ENUMERATION, + classFqn = "io.jmix.chartsflowui.kit.component.model.shared.SelectedMode", + options = {"DISABLED", "SINGLE", "MULTIPLE"}) + } + ) + public interface SelectedMode { + } + + @StudioPropertyGroup( + properties = { + @StudioProperty(xmlAttribute = "selector", type = StudioPropertyType.BOOLEAN) + } + ) + public interface Selector { + } + + @StudioPropertyGroup( + properties = { + @StudioProperty(xmlAttribute = "selectorButtonGap", type = StudioPropertyType.INTEGER) + } + ) + public interface SelectorButtonGap { + } + + @StudioPropertyGroup( + properties = { + @StudioProperty(xmlAttribute = "selectorItemGap", type = StudioPropertyType.INTEGER) + } + ) + public interface SelectorItemGap { + } + + @StudioPropertyGroup( + properties = { + @StudioProperty(xmlAttribute = "selectorPosition", type = StudioPropertyType.ENUMERATION, + classFqn = "io.jmix.chartsflowui.kit.component.model.legend.AbstractLegend.Position", + options = {"START", "END"}) + } + ) + public interface SelectorPosition { + } + + @StudioPropertyGroup( + properties = { + @StudioProperty(xmlAttribute = "seriesIndex", type = StudioPropertyType.VALUES_LIST) + } + ) + public interface SeriesIndex { + } + + @StudioPropertyGroup( + properties = { + @StudioProperty(xmlAttribute = "seriesLayoutBy", type = StudioPropertyType.ENUMERATION, + classFqn = "io.jmix.chartsflowui.kit.component.model.series.AbstractAxisAwareSeries.SeriesLayoutType", + options = {"COLUMN", "ROW"}) + } + ) + public interface SeriesLayoutBy { + } + + @StudioPropertyGroup( + properties = { + @StudioProperty(xmlAttribute = "shadowBlur", type = StudioPropertyType.INTEGER) + } + ) + public interface ShadowBlur { + } + + @StudioPropertyGroup( + properties = { + @StudioProperty(xmlAttribute = "shadowColor", type = StudioPropertyType.OPTIONS, + options = {"ALICEBLUE", "ANTIQUEWHITE", "AQUA", "AQUAMARINE", "AZURE", "BEIGE", "BISQUE", + "BLACK", "BLANCHEDALMOND", "BLUE", "BLUEVIOLET", "BROWN", "BURLYWOOD", "CADETBLUE", + "CHARTREUSE", "CHOCOLATE", "CORAL", "CORNFLOWERBLUE", "CORNSILK", "CRIMSON", "CYAN", + "DARKBLUE", "DARKCYAN", "DARKGOLDENROD", "DARKGRAY", "DARKGREY", "DARKGREEN", + "DARKKHAKI", "DARKMAGENTA", "DARKOLIVEGREEN", "DARKORANGE", "DARKORCHID", "DARKRED", + "DARKSALMON", "DARKSEAGREEN", "DARKSLATEBLUE", "DARKSLATEGRAY", "DARKSLATEGREY", + "DARKTURQUOISE", "DARKVIOLET", "DEEPPINK", "DEEPSKYBLUE", "DIMGRAY", "DIMGREY", + "DODGERBLUE", "FIREBRICK", "FLORALWHITE", "FORESTGREEN", "FUCHSIA", "GAINSBORO", + "GHOSTWHITE", "GOLD", "GOLDENROD", "GRAY", "GREY", "GREEN", "GREENYELLOW", + "HONEYDEW", "HOTPINK", "INDIANRED", "INDIGO", "IVORY", "KHAKI", "LAVENDER", + "LAVENDERBLUSH", "LAWNGREEN", "LEMONCHIFFON", "LIGHTBLUE", "LIGHTCORAL", + "LIGHTCYAN", "LIGHTGOLDENRODYELLOW", "LIGHTGRAY", "LIGHTGREY", "LIGHTGREEN", + "LIGHTPINK", "LIGHTSALMON", "LIGHTSEAGREEN", "LIGHTSKYBLUE", "LIGHTSLATEGRAY", + "LIGHTSLATEGREY", "LIGHTSTEELBLUE", "LIGHTYELLOW", "LIME", "LIMEGREEN", "LINEN", + "MAGENTA", "MAROON", "MEDIUMAQUAMARINE", "MEDIUMBLUE", "MEDIUMORCHID", + "MEDIUMPURPLE", "MEDIUMSEAGREEN", "MEDIUMSLATEBLUE", "MEDIUMSPRINGGREEN", + "MEDIUMTURQUOISE", "MEDIUMVIOLETRED", "MIDNIGHTBLUE", "MINTCREAM", "MISTYROSE", + "MOCCASIN", "NAVAJOWHITE", "NAVY", "OLDLACE", "OLIVE", "OLIVEDRAB", "ORANGE", + "ORANGERED", "ORCHID", "PALEGOLDENROD", "PALEGREEN", "PALETURQUOISE", + "PALEVIOLETRED", "PAPAYAWHIP", "PEACHPUFF", "PERU", "PINK", "PLUM", "POWDERBLUE", + "PURPLE", "RED", "ROSYBROWN", "ROYALBLUE", "SADDLEBROWN", "SALMON", "SANDYBROWN", + "SEAGREEN", "SEASHELL", "SIENNA", "SILVER", "SKYBLUE", "SLATEBLUE", "SLATEGRAY", + "SLATEGREY", "SNOW", "SPRINGGREEN", "STEELBLUE", "TAN", "TEAL", "THISTLE", "TOMATO", + "TURQUOISE", "VIOLET", "WHEAT", "WHITE", "WHITESMOKE", "YELLOW", "YELLOWGREEN"}) + } + ) + public interface ShadowColor { + } + + @StudioPropertyGroup( + properties = { + @StudioProperty(xmlAttribute = "shadowOffsetX", type = StudioPropertyType.INTEGER) + } + ) + public interface ShadowOffsetX { + } + + @StudioPropertyGroup( + properties = { + @StudioProperty(xmlAttribute = "shadowOffsetY", type = StudioPropertyType.INTEGER) + } + ) + public interface ShadowOffsetY { + } + + @StudioPropertyGroup( + properties = { + @StudioProperty(xmlAttribute = "showAbove", type = StudioPropertyType.BOOLEAN) + } + ) + public interface ShowAbove { + } + + @StudioPropertyGroup( + properties = { + @StudioProperty(xmlAttribute = "show", type = StudioPropertyType.BOOLEAN) + } + ) + public interface Show { + } + + @StudioPropertyGroup( + properties = { + @StudioProperty(xmlAttribute = "silent", type = StudioPropertyType.BOOLEAN) + } + ) + public interface Silent { + } + + @StudioPropertyGroup( + properties = { + @StudioProperty(xmlAttribute = "smooth", type = StudioPropertyType.BOOLEAN) + } + ) + public interface Smooth { + } + + @StudioPropertyGroup( + properties = { + @StudioProperty(xmlAttribute = "snap", type = StudioPropertyType.BOOLEAN) + } + ) + public interface Snap { + } + + @StudioPropertyGroup( + properties = { + @StudioProperty(xmlAttribute = "splitNumber", type = StudioPropertyType.INTEGER) + } + ) + public interface SplitNumber { + } + + @StudioPropertyGroup( + properties = { + @StudioProperty(xmlAttribute = "stackStrategy", type = StudioPropertyType.ENUMERATION, + classFqn = "io.jmix.chartsflowui.kit.component.model.series.HasStack.StackStrategy", + options = {"SAME_SIGN", "ALL", "POSITIVE", "NEGATIVE"}) + } + ) + public interface StackStrategy { + } + + @StudioPropertyGroup( + properties = { + @StudioProperty(xmlAttribute = "stack", type = StudioPropertyType.STRING) + } + ) + public interface Stack { + } + + @StudioPropertyGroup( + properties = { + @StudioProperty(xmlAttribute = "startAngle", type = StudioPropertyType.INTEGER) + } + ) + public interface StartAngle { + } + + @StudioPropertyGroup( + properties = { + @StudioProperty(xmlAttribute = "start", type = StudioPropertyType.DOUBLE) + } + ) + public interface Start { + } + + @StudioPropertyGroup( + properties = { + @StudioProperty(xmlAttribute = "startValue", type = StudioPropertyType.STRING) + } + ) + public interface StartValue { + } + + @StudioPropertyGroup( + properties = { + @StudioProperty(xmlAttribute = "status", type = StudioPropertyType.BOOLEAN) + } + ) + public interface Status { + } + + @StudioPropertyGroup( + properties = { + @StudioProperty(xmlAttribute = "stringCoordinate", type = StudioPropertyType.STRING) + } + ) + public interface StringCoordinate { + } + + @StudioPropertyGroup( + properties = { + @StudioProperty(xmlAttribute = "symbolKeepAspect", type = StudioPropertyType.BOOLEAN) + } + ) + public interface SymbolKeepAspect { + } + + @StudioPropertyGroup( + properties = { + @StudioProperty(xmlAttribute = "symbolOffset", type = StudioPropertyType.STRING) + } + ) + public interface SymbolOffset { + } + + @StudioPropertyGroup( + properties = { + @StudioProperty(xmlAttribute = "symbolRotate", type = StudioPropertyType.INTEGER) + } + ) + public interface SymbolRotate { + } + + @StudioPropertyGroup( + properties = { + @StudioProperty(xmlAttribute = "symbolSizeFunction", type = StudioPropertyType.STRING) + } + ) + public interface SymbolSizeFunction { + } + + @StudioPropertyGroup( + properties = { + @StudioProperty(xmlAttribute = "symbolSize", type = StudioPropertyType.INTEGER) + } + ) + public interface SymbolSize { + } + + @StudioPropertyGroup( + properties = { + @StudioProperty(xmlAttribute = "symbolSize", type = StudioPropertyType.VALUES_LIST) + } + ) + public interface SymbolSize2 { + } + + @StudioPropertyGroup( + properties = { + @StudioProperty(xmlAttribute = "symbolType", type = StudioPropertyType.ENUMERATION, + classFqn = "io.jmix.chartsflowui.kit.component.model.shared.HasSymbols.SymbolType", + options = {"CIRCLE", "RECTANGLE", "ROUND_RECTANGLE", "PIN", "TRIANGLE", "DIAMOND", + "ARROW", "NONE"}) + } + ) + public interface SymbolType { + } + + @StudioPropertyGroup( + properties = { + @StudioProperty(xmlAttribute = "symbol", type = StudioPropertyType.VALUES_LIST) + } + ) + public interface Symbol { + } + + @StudioPropertyGroup( + properties = { + @StudioProperty(xmlAttribute = "symbolsSize", type = StudioPropertyType.VALUES_LIST) + } + ) + public interface SymbolsSize { + } + + @StudioPropertyGroup( + properties = { + @StudioProperty(xmlAttribute = "textBorderColor", type = StudioPropertyType.OPTIONS, + options = {"ALICEBLUE", "ANTIQUEWHITE", "AQUA", "AQUAMARINE", "AZURE", "BEIGE", "BISQUE", + "BLACK", "BLANCHEDALMOND", "BLUE", "BLUEVIOLET", "BROWN", "BURLYWOOD", "CADETBLUE", + "CHARTREUSE", "CHOCOLATE", "CORAL", "CORNFLOWERBLUE", "CORNSILK", "CRIMSON", "CYAN", + "DARKBLUE", "DARKCYAN", "DARKGOLDENROD", "DARKGRAY", "DARKGREY", "DARKGREEN", + "DARKKHAKI", "DARKMAGENTA", "DARKOLIVEGREEN", "DARKORANGE", "DARKORCHID", "DARKRED", + "DARKSALMON", "DARKSEAGREEN", "DARKSLATEBLUE", "DARKSLATEGRAY", "DARKSLATEGREY", + "DARKTURQUOISE", "DARKVIOLET", "DEEPPINK", "DEEPSKYBLUE", "DIMGRAY", "DIMGREY", + "DODGERBLUE", "FIREBRICK", "FLORALWHITE", "FORESTGREEN", "FUCHSIA", "GAINSBORO", + "GHOSTWHITE", "GOLD", "GOLDENROD", "GRAY", "GREY", "GREEN", "GREENYELLOW", + "HONEYDEW", "HOTPINK", "INDIANRED", "INDIGO", "IVORY", "KHAKI", "LAVENDER", + "LAVENDERBLUSH", "LAWNGREEN", "LEMONCHIFFON", "LIGHTBLUE", "LIGHTCORAL", + "LIGHTCYAN", "LIGHTGOLDENRODYELLOW", "LIGHTGRAY", "LIGHTGREY", "LIGHTGREEN", + "LIGHTPINK", "LIGHTSALMON", "LIGHTSEAGREEN", "LIGHTSKYBLUE", "LIGHTSLATEGRAY", + "LIGHTSLATEGREY", "LIGHTSTEELBLUE", "LIGHTYELLOW", "LIME", "LIMEGREEN", "LINEN", + "MAGENTA", "MAROON", "MEDIUMAQUAMARINE", "MEDIUMBLUE", "MEDIUMORCHID", + "MEDIUMPURPLE", "MEDIUMSEAGREEN", "MEDIUMSLATEBLUE", "MEDIUMSPRINGGREEN", + "MEDIUMTURQUOISE", "MEDIUMVIOLETRED", "MIDNIGHTBLUE", "MINTCREAM", "MISTYROSE", + "MOCCASIN", "NAVAJOWHITE", "NAVY", "OLDLACE", "OLIVE", "OLIVEDRAB", "ORANGE", + "ORANGERED", "ORCHID", "PALEGOLDENROD", "PALEGREEN", "PALETURQUOISE", + "PALEVIOLETRED", "PAPAYAWHIP", "PEACHPUFF", "PERU", "PINK", "PLUM", "POWDERBLUE", + "PURPLE", "RED", "ROSYBROWN", "ROYALBLUE", "SADDLEBROWN", "SALMON", "SANDYBROWN", + "SEAGREEN", "SEASHELL", "SIENNA", "SILVER", "SKYBLUE", "SLATEBLUE", "SLATEGRAY", + "SLATEGREY", "SNOW", "SPRINGGREEN", "STEELBLUE", "TAN", "TEAL", "THISTLE", "TOMATO", + "TURQUOISE", "VIOLET", "WHEAT", "WHITE", "WHITESMOKE", "YELLOW", "YELLOWGREEN"}) + } + ) + public interface TextBorderColor { + } + + @StudioPropertyGroup( + properties = { + @StudioProperty(xmlAttribute = "textBorderDashOffset", type = StudioPropertyType.INTEGER) + } + ) + public interface TextBorderDashOffset { + } + + @StudioPropertyGroup( + properties = { + @StudioProperty(xmlAttribute = "textBorderType", type = StudioPropertyType.STRING) + } + ) + public interface TextBorderType { + } + + @StudioPropertyGroup( + properties = { + @StudioProperty(xmlAttribute = "textBorderWidth", type = StudioPropertyType.DOUBLE) + } + ) + public interface TextBorderWidth { + } + + @StudioPropertyGroup( + properties = { + @StudioProperty(xmlAttribute = "textGap", type = StudioPropertyType.DOUBLE) + } + ) + public interface TextGap { + } + + @StudioPropertyGroup( + properties = { + @StudioProperty(xmlAttribute = "textShadowBlur", type = StudioPropertyType.INTEGER) + } + ) + public interface TextShadowBlur { + } + + @StudioPropertyGroup( + properties = { + @StudioProperty(xmlAttribute = "textShadowColor", type = StudioPropertyType.OPTIONS, + options = {"ALICEBLUE", "ANTIQUEWHITE", "AQUA", "AQUAMARINE", "AZURE", "BEIGE", "BISQUE", + "BLACK", "BLANCHEDALMOND", "BLUE", "BLUEVIOLET", "BROWN", "BURLYWOOD", "CADETBLUE", + "CHARTREUSE", "CHOCOLATE", "CORAL", "CORNFLOWERBLUE", "CORNSILK", "CRIMSON", "CYAN", + "DARKBLUE", "DARKCYAN", "DARKGOLDENROD", "DARKGRAY", "DARKGREY", "DARKGREEN", + "DARKKHAKI", "DARKMAGENTA", "DARKOLIVEGREEN", "DARKORANGE", "DARKORCHID", "DARKRED", + "DARKSALMON", "DARKSEAGREEN", "DARKSLATEBLUE", "DARKSLATEGRAY", "DARKSLATEGREY", + "DARKTURQUOISE", "DARKVIOLET", "DEEPPINK", "DEEPSKYBLUE", "DIMGRAY", "DIMGREY", + "DODGERBLUE", "FIREBRICK", "FLORALWHITE", "FORESTGREEN", "FUCHSIA", "GAINSBORO", + "GHOSTWHITE", "GOLD", "GOLDENROD", "GRAY", "GREY", "GREEN", "GREENYELLOW", + "HONEYDEW", "HOTPINK", "INDIANRED", "INDIGO", "IVORY", "KHAKI", "LAVENDER", + "LAVENDERBLUSH", "LAWNGREEN", "LEMONCHIFFON", "LIGHTBLUE", "LIGHTCORAL", + "LIGHTCYAN", "LIGHTGOLDENRODYELLOW", "LIGHTGRAY", "LIGHTGREY", "LIGHTGREEN", + "LIGHTPINK", "LIGHTSALMON", "LIGHTSEAGREEN", "LIGHTSKYBLUE", "LIGHTSLATEGRAY", + "LIGHTSLATEGREY", "LIGHTSTEELBLUE", "LIGHTYELLOW", "LIME", "LIMEGREEN", "LINEN", + "MAGENTA", "MAROON", "MEDIUMAQUAMARINE", "MEDIUMBLUE", "MEDIUMORCHID", + "MEDIUMPURPLE", "MEDIUMSEAGREEN", "MEDIUMSLATEBLUE", "MEDIUMSPRINGGREEN", + "MEDIUMTURQUOISE", "MEDIUMVIOLETRED", "MIDNIGHTBLUE", "MINTCREAM", "MISTYROSE", + "MOCCASIN", "NAVAJOWHITE", "NAVY", "OLDLACE", "OLIVE", "OLIVEDRAB", "ORANGE", + "ORANGERED", "ORCHID", "PALEGOLDENROD", "PALEGREEN", "PALETURQUOISE", + "PALEVIOLETRED", "PAPAYAWHIP", "PEACHPUFF", "PERU", "PINK", "PLUM", "POWDERBLUE", + "PURPLE", "RED", "ROSYBROWN", "ROYALBLUE", "SADDLEBROWN", "SALMON", "SANDYBROWN", + "SEAGREEN", "SEASHELL", "SIENNA", "SILVER", "SKYBLUE", "SLATEBLUE", "SLATEGRAY", + "SLATEGREY", "SNOW", "SPRINGGREEN", "STEELBLUE", "TAN", "TEAL", "THISTLE", "TOMATO", + "TURQUOISE", "VIOLET", "WHEAT", "WHITE", "WHITESMOKE", "YELLOW", "YELLOWGREEN"}) + } + ) + public interface TextShadowColor { + } + + @StudioPropertyGroup( + properties = { + @StudioProperty(xmlAttribute = "textShadowOffsetX", type = StudioPropertyType.INTEGER) + } + ) + public interface TextShadowOffsetX { + } + + @StudioPropertyGroup( + properties = { + @StudioProperty(xmlAttribute = "textShadowOffsetY", type = StudioPropertyType.INTEGER) + } + ) + public interface TextShadowOffsetY { + } + + @StudioPropertyGroup( + properties = { + @StudioProperty(xmlAttribute = "text", type = StudioPropertyType.VALUES_LIST) + } + ) + public interface Text { + } + + @StudioPropertyGroup( + properties = { + @StudioProperty(xmlAttribute = "throttle", type = StudioPropertyType.INTEGER) + } + ) + public interface Throttle { + } + + @StudioPropertyGroup( + properties = { + @StudioProperty(xmlAttribute = "top", type = StudioPropertyType.INTEGER) + } + ) + public interface Top { + } + + @StudioPropertyGroup( + properties = { + @StudioProperty(xmlAttribute = "top", type = StudioPropertyType.STRING) + } + ) + public interface Top2 { + } + + @StudioPropertyGroup( + properties = { + @StudioProperty(xmlAttribute = "triggerEmphasis", type = StudioPropertyType.BOOLEAN) + } + ) + public interface TriggerEmphasis { + } + + @StudioPropertyGroup( + properties = { + @StudioProperty(xmlAttribute = "trigger", type = StudioPropertyType.ENUMERATION, + classFqn = "io.jmix.chartsflowui.kit.component.model.shared.AbstractTooltip.Trigger", + options = {"ITEM", "AXIS", "NONE"}) + } + ) + public interface Trigger { + } + + @StudioPropertyGroup( + properties = { + @StudioProperty(xmlAttribute = "triggerEvent", type = StudioPropertyType.BOOLEAN) + } + ) + public interface TriggerEvent { + } + + @StudioPropertyGroup( + properties = { + @StudioProperty(xmlAttribute = "triggerOn", type = StudioPropertyType.ENUMERATION, + classFqn = "io.jmix.chartsflowui.kit.component.model.shared.TriggerOnMode", + options = {"MOUSE_MOVE", "CLICK", "MOUSE_MOVE_CLICK", "NONE"}) + } + ) + public interface TriggerOn { + } + + @StudioPropertyGroup( + properties = { + @StudioProperty(xmlAttribute = "triggerTooltip", type = StudioPropertyType.BOOLEAN) + } + ) + public interface TriggerTooltip { + } + + @StudioPropertyGroup( + properties = { + @StudioProperty(xmlAttribute = "type", type = StudioPropertyType.ENUMERATION, + classFqn = "io.jmix.chartsflowui.kit.component.model.shared.AbstractAxisPointer.IndicatorType", + options = {"LINE", "SHADOW", "NONE"}) + } + ) + public interface Type { + } + + @StudioPropertyGroup( + properties = { + @StudioProperty(xmlAttribute = "type", type = StudioPropertyType.ENUMERATION, + classFqn = "io.jmix.chartsflowui.kit.component.model.axis.AxisType", + options = {"CATEGORY", "VALUE", "TIME", "LOG"}) + } + ) + public interface Type2 { + } + + @StudioPropertyGroup( + properties = { + @StudioProperty(xmlAttribute = "type", type = StudioPropertyType.ENUMERATION, + classFqn = "io.jmix.chartsflowui.kit.component.model.series.mark.LineDataType", + options = {"MIN", "MAX", "AVERAGE", "MEDIAN"}) + } + ) + public interface Type3 { + } + + @StudioPropertyGroup( + properties = { + @StudioProperty(xmlAttribute = "type", type = StudioPropertyType.ENUMERATION, + classFqn = "io.jmix.chartsflowui.kit.component.model.series.mark.PointDataType", + options = {"MIN", "MAX", "AVERAGE"}) + } + ) + public interface Type4 { + } + + @StudioPropertyGroup( + properties = { + @StudioProperty(xmlAttribute = "type", type = StudioPropertyType.STRING) + } + ) + public interface Type5 { + } + + @StudioPropertyGroup( + properties = { + @StudioProperty(xmlAttribute = "unselectedSeries", type = StudioPropertyType.VALUES_LIST) + } + ) + public interface UnselectedSeries { + } + + @StudioPropertyGroup( + properties = { + @StudioProperty(xmlAttribute = "valueAnimation", type = StudioPropertyType.BOOLEAN) + } + ) + public interface ValueAnimation { + } + + @StudioPropertyGroup( + properties = { + @StudioProperty(xmlAttribute = "valueDim", type = StudioPropertyType.INTEGER) + } + ) + public interface ValueDim { + } + + @StudioPropertyGroup( + properties = { + @StudioProperty(xmlAttribute = "value", type = StudioPropertyType.DOUBLE) + } + ) + public interface Value { + } + + @StudioPropertyGroup( + properties = { + @StudioProperty(xmlAttribute = "valueFormatterFunction", type = StudioPropertyType.STRING) + } + ) + public interface ValueFormatterFunction { + } + + @StudioPropertyGroup( + properties = { + @StudioProperty(xmlAttribute = "valueFormatter", type = StudioPropertyType.STRING) + } + ) + public interface ValueFormatter { + } + + @StudioPropertyGroup( + properties = { + @StudioProperty(xmlAttribute = "valueIndex", type = StudioPropertyType.INTEGER) + } + ) + public interface ValueIndex { + } + + @StudioPropertyGroup( + properties = { + @StudioProperty(xmlAttribute = "value", type = StudioPropertyType.INTEGER) + } + ) + public interface Value2 { + } + + @StudioPropertyGroup( + properties = { + @StudioProperty(xmlAttribute = "verticalAlign", type = StudioPropertyType.ENUMERATION, + classFqn = "io.jmix.chartsflowui.kit.component.model.shared.VerticalAlign", + options = {"TOP", "BOTTOM", "MIDDLE"}) + } + ) + public interface VerticalAlign { + } + + @StudioPropertyGroup( + properties = { + @StudioProperty(xmlAttribute = "width", category = StudioProperty.Category.SIZE, type = StudioPropertyType.STRING) + } + ) + public interface Width { + } + + @StudioPropertyGroup( + properties = { + @StudioProperty(xmlAttribute = "withName", type = StudioPropertyType.LOCALIZED_STRING) + } + ) + public interface WithName { + } + + @StudioPropertyGroup( + properties = { + @StudioProperty(xmlAttribute = "withoutName", type = StudioPropertyType.LOCALIZED_STRING) + } + ) + public interface WithoutName { + } + + @StudioPropertyGroup( + properties = { + @StudioProperty(xmlAttribute = "xAxisIndex", type = StudioPropertyType.INTEGER) + } + ) + public interface XAxisIndex { + } + + @StudioPropertyGroup( + properties = { + @StudioProperty(xmlAttribute = "xAxisIndexes", type = StudioPropertyType.VALUES_LIST) + } + ) + public interface XAxisIndexes { + } + + @StudioPropertyGroup( + properties = { + @StudioProperty(xmlAttribute = "xAxis", type = StudioPropertyType.STRING) + } + ) + public interface XAxis { + } + + @StudioPropertyGroup( + properties = { + @StudioProperty(xmlAttribute = "x", type = StudioPropertyType.STRING) + } + ) + public interface X { + } + + @StudioPropertyGroup( + properties = { + @StudioProperty(xmlAttribute = "yAxisIndex", type = StudioPropertyType.INTEGER) + } + ) + public interface YAxisIndex { + } + + @StudioPropertyGroup( + properties = { + @StudioProperty(xmlAttribute = "yAxisIndexes", type = StudioPropertyType.VALUES_LIST) + } + ) + public interface YAxisIndexes { + } + + @StudioPropertyGroup( + properties = { + @StudioProperty(xmlAttribute = "yAxis", type = StudioPropertyType.STRING) + } + ) + public interface YAxis { + } + + @StudioPropertyGroup( + properties = { + @StudioProperty(xmlAttribute = "y", type = StudioPropertyType.STRING) + } + ) + public interface Y { + } + + @StudioPropertyGroup( + properties = { + @StudioProperty(xmlAttribute = "z", type = StudioPropertyType.DOUBLE) + } + ) + public interface Z { + } + + @StudioPropertyGroup( + properties = { + @StudioProperty(xmlAttribute = "z", type = StudioPropertyType.INTEGER) + } + ) + public interface Z2 { + } + + @StudioPropertyGroup( + properties = { + @StudioProperty(xmlAttribute = "zLevel", type = StudioPropertyType.DOUBLE) + } + ) + public interface ZLevel { + } + + @StudioPropertyGroup( + properties = { + @StudioProperty(xmlAttribute = "zLevel", type = StudioPropertyType.INTEGER) + } + ) + public interface ZLevel2 { + } + + @StudioPropertyGroup( + properties = { + @StudioProperty(xmlAttribute = "zoomLock", type = StudioPropertyType.BOOLEAN) + } + ) + public interface ZoomLock { + } + + @StudioPropertyGroup( + properties = { + @StudioProperty(xmlAttribute = "color", type = StudioPropertyType.OPTIONS, + options = {"ALICEBLUE", "ANTIQUEWHITE", "AQUA", "AQUAMARINE", "AZURE", "BEIGE", "BISQUE", + "BLACK", "BLANCHEDALMOND", "BLUE", "BLUEVIOLET", "BROWN", "BURLYWOOD", "CADETBLUE", + "CHARTREUSE", "CHOCOLATE", "CORAL", "CORNFLOWERBLUE", "CORNSILK", "CRIMSON", "CYAN", + "DARKBLUE", "DARKCYAN", "DARKGOLDENROD", "DARKGRAY", "DARKGREY", "DARKGREEN", + "DARKKHAKI", "DARKMAGENTA", "DARKOLIVEGREEN", "DARKORANGE", "DARKORCHID", "DARKRED", + "DARKSALMON", "DARKSEAGREEN", "DARKSLATEBLUE", "DARKSLATEGRAY", "DARKSLATEGREY", + "DARKTURQUOISE", "DARKVIOLET", "DEEPPINK", "DEEPSKYBLUE", "DIMGRAY", "DIMGREY", + "DODGERBLUE", "FIREBRICK", "FLORALWHITE", "FORESTGREEN", "FUCHSIA", "GAINSBORO", + "GHOSTWHITE", "GOLD", "GOLDENROD", "GRAY", "GREY", "GREEN", "GREENYELLOW", + "HONEYDEW", "HOTPINK", "INDIANRED", "INDIGO", "IVORY", "KHAKI", "LAVENDER", + "LAVENDERBLUSH", "LAWNGREEN", "LEMONCHIFFON", "LIGHTBLUE", "LIGHTCORAL", + "LIGHTCYAN", "LIGHTGOLDENRODYELLOW", "LIGHTGRAY", "LIGHTGREY", "LIGHTGREEN", + "LIGHTPINK", "LIGHTSALMON", "LIGHTSEAGREEN", "LIGHTSKYBLUE", "LIGHTSLATEGRAY", + "LIGHTSLATEGREY", "LIGHTSTEELBLUE", "LIGHTYELLOW", "LIME", "LIMEGREEN", "LINEN", + "MAGENTA", "MAROON", "MEDIUMAQUAMARINE", "MEDIUMBLUE", "MEDIUMORCHID", + "MEDIUMPURPLE", "MEDIUMSEAGREEN", "MEDIUMSLATEBLUE", "MEDIUMSPRINGGREEN", + "MEDIUMTURQUOISE", "MEDIUMVIOLETRED", "MIDNIGHTBLUE", "MINTCREAM", "MISTYROSE", + "MOCCASIN", "NAVAJOWHITE", "NAVY", "OLDLACE", "OLIVE", "OLIVEDRAB", "ORANGE", + "ORANGERED", "ORCHID", "PALEGOLDENROD", "PALEGREEN", "PALETURQUOISE", + "PALEVIOLETRED", "PAPAYAWHIP", "PEACHPUFF", "PERU", "PINK", "PLUM", "POWDERBLUE", + "PURPLE", "RED", "ROSYBROWN", "ROYALBLUE", "SADDLEBROWN", "SALMON", "SANDYBROWN", + "SEAGREEN", "SEASHELL", "SIENNA", "SILVER", "SKYBLUE", "SLATEBLUE", "SLATEGRAY", + "SLATEGREY", "SNOW", "SPRINGGREEN", "STEELBLUE", "TAN", "TEAL", "THISTLE", "TOMATO", + "TURQUOISE", "VIOLET", "WHEAT", "WHITE", "WHITESMOKE", "YELLOW", "YELLOWGREEN"}) + } + ) + public interface ChartColor { + } +} diff --git a/jmix-dynattr/dynattr-flowui-kit/src/main/java/io/jmix/dynattrflowui/kit/meta/component/DynAttrStudioComponents.java b/jmix-dynattr/dynattr-flowui-kit/src/main/java/io/jmix/dynattrflowui/kit/meta/component/DynAttrStudioComponents.java index 5355d46a87..c2678fc2f7 100644 --- a/jmix-dynattr/dynattr-flowui-kit/src/main/java/io/jmix/dynattrflowui/kit/meta/component/DynAttrStudioComponents.java +++ b/jmix-dynattr/dynattr-flowui-kit/src/main/java/io/jmix/dynattrflowui/kit/meta/component/DynAttrStudioComponents.java @@ -19,6 +19,7 @@ import io.jmix.flowui.kit.meta.StudioProperty; import io.jmix.flowui.kit.meta.StudioPropertyType; import io.jmix.flowui.kit.meta.StudioUiKit; +import io.jmix.flowui.kit.meta.StudioPropertyGroups; @StudioUiKit public interface DynAttrStudioComponents { @@ -31,11 +32,15 @@ public interface DynAttrStudioComponents { xmlns = "http://jmix.io/schema/dynattr/flowui", xmlnsAlias = "dynattr", icon = "io/jmix/dynattrflowui/icon/component/dynamicAttributesPanel.svg", + propertyGroups = { + StudioPropertyGroups.Id.class + }, properties = { @StudioProperty(xmlAttribute = "id", category = StudioProperty.Category.GENERAL, type = StudioPropertyType.COMPONENT_ID), @StudioProperty(xmlAttribute = "dataContainer", category = StudioProperty.Category.DATA_BINDING, type = StudioPropertyType.DATA_CONTAINER_REF, required = true), @StudioProperty(xmlAttribute = "fieldWidth", type = StudioPropertyType.STRING), @StudioProperty(xmlAttribute = "categoryFieldVisible", type = StudioPropertyType.BOOLEAN), - }) + } + ) void dynamicAttributesPanel(); } diff --git a/jmix-dynattr/dynattr-flowui-kit/src/main/java/io/jmix/dynattrflowui/kit/meta/facet/DynAttrStudioFacets.java b/jmix-dynattr/dynattr-flowui-kit/src/main/java/io/jmix/dynattrflowui/kit/meta/facet/DynAttrStudioFacets.java index c1afb7580d..bf3e5f46c3 100644 --- a/jmix-dynattr/dynattr-flowui-kit/src/main/java/io/jmix/dynattrflowui/kit/meta/facet/DynAttrStudioFacets.java +++ b/jmix-dynattr/dynattr-flowui-kit/src/main/java/io/jmix/dynattrflowui/kit/meta/facet/DynAttrStudioFacets.java @@ -19,6 +19,7 @@ import io.jmix.flowui.kit.meta.StudioProperty; import io.jmix.flowui.kit.meta.StudioPropertyType; import io.jmix.flowui.kit.meta.StudioUiKit; +import io.jmix.flowui.kit.meta.StudioPropertyGroups; @StudioUiKit public interface DynAttrStudioFacets { @@ -30,6 +31,9 @@ public interface DynAttrStudioFacets { xmlns = "http://jmix.io/schema/dynattr/flowui", xmlnsAlias = "dynattr", icon = "io/jmix/dynattrflowui/icon/facet/dynamicAttributes.svg", + propertyGroups = { + StudioPropertyGroups.Id4.class + }, properties = { @StudioProperty(xmlAttribute = "id", type = StudioPropertyType.COMPONENT_ID), } diff --git a/jmix-flowui/flowui-kit/src/main/java/io/jmix/flowui/kit/meta/StudioPropertyGroups.java b/jmix-flowui/flowui-kit/src/main/java/io/jmix/flowui/kit/meta/StudioPropertyGroups.java index f2c8393a0d..dd7e9190bc 100644 --- a/jmix-flowui/flowui-kit/src/main/java/io/jmix/flowui/kit/meta/StudioPropertyGroups.java +++ b/jmix-flowui/flowui-kit/src/main/java/io/jmix/flowui/kit/meta/StudioPropertyGroups.java @@ -25,314 +25,1733 @@ public final class StudioPropertyGroups { private StudioPropertyGroups() { } + @StudioPropertyGroup(properties = @StudioProperty(xmlAttribute = "id", category = StudioProperty.Category.GENERAL, type = StudioPropertyType.COMPONENT_ID)) + public interface Id { + } + + @StudioPropertyGroup(properties = @StudioProperty(xmlAttribute = "id", type = StudioPropertyType.COMPONENT_ID)) + public interface IdWithoutCategory { + } + + @StudioPropertyGroup(properties = @StudioProperty(xmlAttribute = "id", category = StudioProperty.Category.GENERAL, type = StudioPropertyType.COMPONENT_ID, required = true)) + public interface RequiredId { + } + + @StudioPropertyGroup(properties = @StudioProperty(xmlAttribute = "visible", type = StudioPropertyType.BOOLEAN, category = StudioProperty.Category.GENERAL, defaultValue = "true")) + public interface Visible { + } + + @StudioPropertyGroup + public interface IdAndVisible extends Id, Visible { + } + + @StudioPropertyGroup(properties = @StudioProperty(xmlAttribute = "alignSelf", type = StudioPropertyType.ENUMERATION, category = StudioProperty.Category.POSITION, classFqn = "com.vaadin.flow.component.orderedlayout.FlexComponent$Alignment", defaultValue = "AUTO", options = {"START", "END", "CENTER", "STRETCH", "BASELINE", "AUTO"})) + public interface AlignSelf { + } + + @StudioPropertyGroup(properties = @StudioProperty(xmlAttribute = "justifySelf", type = StudioPropertyType.ENUMERATION, category = StudioProperty.Category.POSITION, classFqn = "io.jmix.flowui.kit.component.Alignment", defaultValue = "AUTO", options = {"START", "END", "CENTER", "STRETCH", "BASELINE", "AUTO"})) + public interface JustifySelf { + } + + @StudioPropertyGroup + public interface AlignSelfAndJustifySelf extends AlignSelf, JustifySelf { + } + + @StudioPropertyGroup(properties = @StudioProperty(xmlAttribute = "colspan", type = StudioPropertyType.INTEGER, category = StudioProperty.Category.POSITION)) + public interface Colspan { + } + + @StudioPropertyGroup + public interface AlignSelfAndJustifySelfAndColspan extends AlignSelfAndJustifySelf, Colspan { + } + + @StudioPropertyGroup(properties = @StudioProperty(xmlAttribute = "classNames", type = StudioPropertyType.VALUES_LIST, category = StudioProperty.Category.LOOK_AND_FEEL)) + public interface ClassNames { + } + + @StudioPropertyGroup + public interface Css { + } + + @StudioPropertyGroup + public interface ClassNamesAndCss extends ClassNames, Css { + } + + @StudioPropertyGroup(properties = @StudioProperty(xmlAttribute = "enabled", category = StudioProperty.Category.GENERAL, type = StudioPropertyType.BOOLEAN)) + public interface Enabled { + } + + @StudioPropertyGroup(properties = @StudioProperty(xmlAttribute = "enabled", type = StudioPropertyType.BOOLEAN, + category = StudioProperty.Category.GENERAL, defaultValue = "true")) + public interface EnabledWithTrueDefaultValue { + } + + @StudioPropertyGroup(properties = @StudioProperty(xmlAttribute = "height", type = StudioPropertyType.SIZE, + category = StudioProperty.Category.SIZE)) + public interface HeightWithoutOptions { + } + + @StudioPropertyGroup(properties = @StudioProperty(xmlAttribute = "maxHeight", type = StudioPropertyType.SIZE, + category = StudioProperty.Category.SIZE)) + public interface MaxHeightWithoutOptions { + } + + @StudioPropertyGroup(properties = @StudioProperty(xmlAttribute = "minHeight", type = StudioPropertyType.SIZE, + category = StudioProperty.Category.SIZE)) + public interface MinHeightWithoutOptions { + + } + + @StudioPropertyGroup + public interface MinAndMaxHeightWithoutOptions extends MinHeightWithoutOptions, MaxHeightWithoutOptions { + } + + @StudioPropertyGroup + public interface HeightWithoutOptionsGroup extends HeightWithoutOptions, MinAndMaxHeightWithoutOptions { + } + + @StudioPropertyGroup(properties = @StudioProperty(xmlAttribute = "width", type = StudioPropertyType.SIZE, category = StudioProperty.Category.SIZE)) + public interface WidthWithoutOptions { + } + + @StudioPropertyGroup(properties = @StudioProperty(xmlAttribute = "maxWidth", type = StudioPropertyType.SIZE, category = StudioProperty.Category.SIZE)) + public interface MaxWidthWithoutOptions { + } + + @StudioPropertyGroup(properties = @StudioProperty(xmlAttribute = "minWidth", type = StudioPropertyType.SIZE, category = StudioProperty.Category.SIZE)) + public interface MinWidthWithoutOptions { + } + + @StudioPropertyGroup + public interface MinAndMaxWidthWithoutOptions extends MinWidthWithoutOptions, MaxWidthWithoutOptions { + } + + @StudioPropertyGroup + public interface WidthWithoutOptionsGroup extends WidthWithoutOptions, MinAndMaxWidthWithoutOptions { + + } + + @StudioPropertyGroup + public interface SizeWithoutOptions extends WidthWithoutOptionsGroup, HeightWithoutOptionsGroup { + } + + @StudioPropertyGroup(properties = @StudioProperty(xmlAttribute = "height", type = StudioPropertyType.SIZE, + category = StudioProperty.Category.SIZE, options = {"AUTO", "100%"})) + public interface Height { + } + + @StudioPropertyGroup(properties = @StudioProperty(xmlAttribute = "maxHeight", type = StudioPropertyType.SIZE, + category = StudioProperty.Category.SIZE, options = {"AUTO", "100%"})) + public interface MaxHeight { + } + + @StudioPropertyGroup(properties = @StudioProperty(xmlAttribute = "minHeight", type = StudioPropertyType.SIZE, + category = StudioProperty.Category.SIZE, options = {"AUTO", "100%"})) + public interface MinHeight { + } + + @StudioPropertyGroup + public interface MinAndMaxHeight extends MinHeight, MaxHeight { + } + + @StudioPropertyGroup + public interface HeightGroup extends Height, MinAndMaxHeight { + } + + @StudioPropertyGroup(properties = @StudioProperty(xmlAttribute = "width", type = StudioPropertyType.SIZE, + category = StudioProperty.Category.SIZE, options = {"AUTO", "100%"})) + public interface Width { + } + + @StudioPropertyGroup(properties = @StudioProperty(xmlAttribute = "maxWidth", type = StudioPropertyType.SIZE, + category = StudioProperty.Category.SIZE, options = {"AUTO", "100%"})) + public interface MaxWidth { + } + + @StudioPropertyGroup(properties = @StudioProperty(xmlAttribute = "minWidth", type = StudioPropertyType.SIZE, + category = StudioProperty.Category.SIZE, options = {"AUTO", "100%"})) + public interface MinWidth { + } + + @StudioPropertyGroup + public interface MinAndMaxWidth extends MinWidth, MaxWidth { + } + + @StudioPropertyGroup + public interface WidthGroup extends Width, MinAndMaxWidth { + } + + @StudioPropertyGroup + public interface Size extends WidthGroup, HeightGroup { + } + + @StudioPropertyGroup( + properties = { + @StudioProperty(xmlAttribute = "ariaLabel", type = StudioPropertyType.LOCALIZED_STRING) + } + ) + public interface AriaLabel { + } + + @StudioPropertyGroup( + properties = { + @StudioProperty(xmlAttribute = "ariaLabelledBy", type = StudioPropertyType.LOCALIZED_STRING) + } + ) + public interface AriaLabelledBy { + } + + @StudioPropertyGroup( + properties = { + @StudioProperty(xmlAttribute = "tabIndex", type = StudioPropertyType.INTEGER) + } + ) + public interface TabIndex { + } + + @StudioPropertyGroup( + properties = { + @StudioProperty(xmlAttribute = "focusShortcut", type = StudioPropertyType.SHORTCUT_COMBINATION) + } + ) + public interface FocusShortcut { + } + + @StudioPropertyGroup + public interface AriaLabelAndTabIndexAndFocusShortcut extends AriaLabel, AriaLabelledBy, TabIndex, FocusShortcut { + } + + @StudioPropertyGroup( + properties = { + @StudioProperty(xmlAttribute = "required", type = StudioPropertyType.BOOLEAN, + category = StudioProperty.Category.VALIDATION, defaultValue = "false") + } + ) + public interface Required { + } + + @StudioPropertyGroup( + properties = { + @StudioProperty(xmlAttribute = "requiredMessage", type = StudioPropertyType.LOCALIZED_STRING, + category = StudioProperty.Category.VALIDATION) + } + ) + public interface RequiredMessage { + } + + @StudioPropertyGroup( + properties = { + @StudioProperty(xmlAttribute = "errorMessage", type = StudioPropertyType.LOCALIZED_STRING, + category = StudioProperty.Category.VALIDATION) + } + ) + public interface ErrorMessage { + } + + @StudioPropertyGroup + public interface RequiredAndRequiredMessageAndErrorMessage extends Required, RequiredMessage, ErrorMessage { + } + + @StudioPropertyGroup( + properties = { + @StudioProperty(xmlAttribute = "acceptedFileTypes", category = StudioProperty.Category.VALIDATION, type = StudioPropertyType.VALUES_LIST) + } + ) + public interface AcceptedFileTypes { + } + + @StudioPropertyGroup( + properties = { + @StudioProperty(xmlAttribute = "action", type = StudioPropertyType.ACTION_REF, + classFqn = "io.jmix.flowui.kit.action.Action") + } + ) + public interface Action { + } + + @StudioPropertyGroup( + properties = { + @StudioProperty(xmlAttribute = "actionVariant", category = StudioProperty.Category.LOOK_AND_FEEL, type = StudioPropertyType.ENUMERATION, + setMethod = "setVariant", classFqn = "io.jmix.flowui.kit.action.ActionVariant", + defaultValue = "DEFAULT", options = {"DEFAULT", "PRIMARY", "DANGER", "SUCCESS"}) + } + ) + public interface ActionVariantWithDefaultDefaultValue { + } + + @StudioPropertyGroup( + properties = { + @StudioProperty(xmlAttribute = "actionVariant", category = StudioProperty.Category.LOOK_AND_FEEL, type = StudioPropertyType.ENUMERATION, + setMethod = "setVariant", classFqn = "io.jmix.flowui.kit.action.ActionVariant", + defaultValue = "DANGER", options = {"DEFAULT", "PRIMARY", "DANGER", "SUCCESS"}) + } + ) + public interface ActionVariantWithDangerDefaultValue { + } + + @StudioPropertyGroup( + properties = { + @StudioProperty(xmlAttribute = "actionVariant", category = StudioProperty.Category.LOOK_AND_FEEL, type = StudioPropertyType.ENUMERATION, + setMethod = "setVariant", classFqn = "io.jmix.flowui.kit.action.ActionVariant", + defaultValue = "PRIMARY", options = {"DEFAULT", "PRIMARY", "DANGER", "SUCCESS"}) + } + ) + public interface ActionVariantWithPrimaryDefaultValue { + } + + @StudioPropertyGroup( + properties = { + @StudioProperty(xmlAttribute = "aggregatable", category = StudioProperty.Category.GENERAL, type = StudioPropertyType.BOOLEAN, + defaultValue = "false") + } + ) + public interface Aggregatable { + } + + @StudioPropertyGroup( + properties = { + @StudioProperty(xmlAttribute = "aggregationPosition", type = StudioPropertyType.ENUMERATION, + classFqn = "io.jmix.flowui.component.grid.EnhancedDataGrid$AggregationPosition", + defaultValue = "BOTTOM", options = {"TOP", "BOTTOM"}) + } + ) + public interface AggregationPosition { + } + + @StudioPropertyGroup( + properties = { + @StudioProperty(xmlAttribute = "alignItems", category = StudioProperty.Category.POSITION, type = StudioPropertyType.ENUMERATION, + setParameterFqn = "com.vaadin.flow.component.orderedlayout.FlexComponent$Alignment", + classFqn = "com.vaadin.flow.component.orderedlayout.FlexComponent$Alignment", + defaultValue = "START", + options = {"START", "END", "CENTER", "STRETCH", "BASELINE", "AUTO"}) + } + ) + public interface AlignItems { + } + + @StudioPropertyGroup( + properties = { + @StudioProperty(xmlAttribute = "alignSelf", category = StudioProperty.Category.POSITION, type = StudioPropertyType.ENUMERATION, + classFqn = "com.vaadin.flow.component.orderedlayout.FlexComponent$Alignment", + options = {"START", "END", "CENTER", "STRETCH", "BASELINE", "AUTO"}) + } + ) + public interface GridAlignSelf { + } + + @StudioPropertyGroup( + properties = { + @StudioProperty(xmlAttribute = "allRowsVisible", type = StudioPropertyType.BOOLEAN, + defaultValue = "false") + } + ) + public interface AllRowsVisible { + } + + @StudioPropertyGroup( + properties = { + @StudioProperty(xmlAttribute = "allowCustomValue", type = StudioPropertyType.BOOLEAN, + defaultValue = "false") + } + ) + public interface AllowCustomValue { + } + + @StudioPropertyGroup( + properties = { + @StudioProperty(xmlAttribute = "allowedCharPattern", category = StudioProperty.Category.VALIDATION, type = StudioPropertyType.LOCALIZED_STRING) + } + ) + public interface AllowedCharPattern { + } + + @StudioPropertyGroup( + properties = { + @StudioProperty(xmlAttribute = "alternateText", type = StudioPropertyType.LOCALIZED_STRING, + setMethod = "setAlt") + } + ) + public interface AlternateText { + } + + @StudioPropertyGroup( + properties = { + @StudioProperty(xmlAttribute = "autoApply", type = StudioPropertyType.BOOLEAN) + } + ) + public interface AutoApply { + } + + @StudioPropertyGroup( + properties = { + @StudioProperty(xmlAttribute = "auto", type = StudioPropertyType.BOOLEAN, + defaultValue = "false", initialValue = "true") + } + ) + public interface Auto { + } + + @StudioPropertyGroup( + properties = { + @StudioProperty(xmlAttribute = "autoOpen", type = StudioPropertyType.BOOLEAN, + defaultValue = "false") + } + ) + public interface AutoOpen { + } + + @StudioPropertyGroup( + properties = { + @StudioProperty(xmlAttribute = "autoWidth", category = StudioProperty.Category.SIZE, type = StudioPropertyType.BOOLEAN, + defaultValue = "false") + } + ) + public interface AutoWidth { + } + + @StudioPropertyGroup( + properties = { + @StudioProperty(xmlAttribute = "autocapitalize", type = StudioPropertyType.ENUMERATION, + classFqn = "com.vaadin.flow.component.textfield.Autocapitalize", defaultValue = "NONE", + options = {"NONE", "SENTENCES", "WORDS", "CHARACTERS"}) + } + ) + public interface Autocapitalize { + } + + @StudioPropertyGroup( + properties = { + @StudioProperty(xmlAttribute = "autocomplete", type = StudioPropertyType.ENUMERATION, + classFqn = "com.vaadin.flow.component.textfield.Autocomplete", defaultValue = "OFF", + options = {"OFF", "ON", "NAME", "HONORIFIC_PREFIX", "GIVEN_NAME", "ADDITIONAL_NAME", + "FAMILY_NAME", "HONORIFIC_SUFFIX", "NICKNAME", "EMAIL", "USERNAME", "NEW_PASSWORD", + "CURRENT_PASSWORD", "ORGANIZATION_TITLE", "ORGANIZATION", "STREET_ADDRESS", + "ADDRESS_LINE1", "ADDRESS_LINE2", "ADDRESS_LINE3", "ADDRESS_LEVEL1", + "ADDRESS_LEVEL2", "ADDRESS_LEVEL3", "ADDRESS_LEVEL4", "COUNTRY", "COUNTRY_NAME", + "POSTAL_CODE", "CC_NAME", "CC_GIVEN_NAME", "CC_ADDITIONAL_NAME", "CC_FAMILY_NAME", + "CC_NUMBER", "CC_EXP", "CC_EXP_MONTH", "CC_EXP_YEAR", "CC_CSC", "CC_TYPE", + "TRANSACTION_CURRENCY", "TRANSACTION_AMOUNT", "LANGUAGE", "BDAY", "BDAY_DAY", + "BDAY_MONTH", "BDAY_YEAR", "SEX", "TEL", "TEL_COUNTRY_CODE", "TEL_NATIONAL", + "TEL_AREA_CODE", "TEL_LOCAL", "TEL_LOCAL_PREFIX", "TEL_LOCAL_SUFFIX", + "TEL_EXTENSION", "URL", "PHOTO",}) + } + ) + public interface Autocomplete { + } + + @StudioPropertyGroup( + properties = { + @StudioProperty(xmlAttribute = "autocorrect", type = StudioPropertyType.BOOLEAN, + defaultValue = "false") + } + ) + public interface Autocorrect { + } + + @StudioPropertyGroup( + properties = { + @StudioProperty(xmlAttribute = "autofocus", type = StudioPropertyType.BOOLEAN, + defaultValue = "false") + } + ) + public interface Autofocus { + } + + @StudioPropertyGroup( + properties = { + @StudioProperty(xmlAttribute = "autoselect", type = StudioPropertyType.BOOLEAN, + defaultValue = "false") + } + ) + public interface Autoselect { + } + + @StudioPropertyGroup( + properties = { + @StudioProperty( + xmlAttribute = "bean", + type = StudioPropertyType.STRING, + required = true + ) + } + ) + public interface Bean { + } + + @StudioPropertyGroup( + properties = { + @StudioProperty(xmlAttribute = "boxSizing", category = StudioProperty.Category.SIZE, type = StudioPropertyType.ENUMERATION, + setParameterFqn = "com.vaadin.flow.component.orderedlayout.BoxSizing", + classFqn = "com.vaadin.flow.component.orderedlayout.BoxSizing", + defaultValue = "UNDEFINED", + options = {"UNDEFINED", "CONTENT_BOX", "BORDER_BOX"}) + } + ) + public interface BoxSizing { + } + + @StudioPropertyGroup( + properties = { + @StudioProperty(xmlAttribute = "cellTitle", type = StudioPropertyType.LOCALIZED_STRING) + } + ) + public interface CellTitle { + } + + @StudioPropertyGroup( + properties = { + @StudioProperty(xmlAttribute = "charCode", type = StudioPropertyType.STRING) + } + ) + public interface CharCode { + } + + @StudioPropertyGroup( + properties = { + @StudioProperty( + xmlAttribute = "checkSeconds", + type = StudioPropertyType.BOOLEAN, + defaultValue = "false" + ) + } + ) + public interface CheckSeconds { + } + + @StudioPropertyGroup( + properties = { + @StudioProperty(xmlAttribute = "checkable", category = StudioProperty.Category.GENERAL, type = StudioPropertyType.BOOLEAN, + defaultValue = "false") + } + ) + public interface Checkable { + } + + @StudioPropertyGroup( + properties = { + @StudioProperty(xmlAttribute = "checked", category = StudioProperty.Category.GENERAL, type = StudioPropertyType.BOOLEAN, + defaultValue = "false") + } + ) + public interface Checked { + } + + @StudioPropertyGroup( + properties = { + @StudioProperty(xmlAttribute = "class", type = StudioPropertyType.ENTITY_CLASS, required = true) + } + ) + public interface RequiredEntityClass { + } + + @StudioPropertyGroup( + properties = { + @StudioProperty(xmlAttribute = "class", type = StudioPropertyType.ENTITY_CLASS) + } + ) + public interface EntityClass { + } + + @StudioPropertyGroup( + properties = { + @StudioProperty(xmlAttribute = "class", category = StudioProperty.Category.GENERAL, + type = StudioPropertyType.FRAGMENT_CLASS, required = true) + } + ) + public interface RequiredFragmentClass { + } + + @StudioPropertyGroup( + properties = { + @StudioProperty(xmlAttribute = "clearButtonAriaLabel", type = StudioPropertyType.LOCALIZED_STRING) + } + ) + public interface ClearButtonAriaLabel { + } + + @StudioPropertyGroup( + properties = { + @StudioProperty(xmlAttribute = "clearButtonVisible", category = StudioProperty.Category.LOOK_AND_FEEL, type = StudioPropertyType.BOOLEAN, + defaultValue = "false") + } + ) + public interface ClearButtonVisible { + } + + @StudioPropertyGroup( + properties = { + @StudioProperty(xmlAttribute = "clickShortcut", category = StudioProperty.Category.GENERAL, type = StudioPropertyType.SHORTCUT_COMBINATION) + } + ) + public interface ClickShortcut { + } + + @StudioPropertyGroup( + properties = { + @StudioProperty(xmlAttribute = "color", category = StudioProperty.Category.LOOK_AND_FEEL, type = StudioPropertyType.LOCALIZED_STRING) + } + ) + public interface Color { + } + + @StudioPropertyGroup( + properties = { + @StudioProperty(xmlAttribute = "columnRendering", type = StudioPropertyType.ENUMERATION, + classFqn = "com.vaadin.flow.component.grid.ColumnRendering", defaultValue = "EAGER", + options = {"EAGER", "LAZY"}) + } + ) + public interface ColumnRendering { + } + + @StudioPropertyGroup( + properties = { + @StudioProperty(xmlAttribute = "columnReorderingAllowed", category = StudioProperty.Category.GENERAL, type = StudioPropertyType.BOOLEAN, + defaultValue = "false") + } + ) + public interface ColumnReorderingAllowed { + } + + @StudioPropertyGroup( + properties = { + @StudioProperty(xmlAttribute = "columns", category = StudioProperty.Category.GENERAL, type = StudioPropertyType.INTEGER, required = true) + } + ) + public interface Columns { + } + + @StudioPropertyGroup( + properties = { + @StudioProperty(xmlAttribute = "componentPrefix", type = StudioPropertyType.STRING, + defaultValue = "component_") + } + ) + public interface ComponentPrefix { + } + + @StudioPropertyGroup( + properties = { + @StudioProperty(xmlAttribute = "connectingStatusText", type = StudioPropertyType.LOCALIZED_STRING) + } + ) + public interface ConnectingStatusText { + } + + @StudioPropertyGroup( + properties = { + @StudioProperty(xmlAttribute = "containerPrefix", type = StudioPropertyType.STRING, + defaultValue = "container_") + } + ) + public interface ContainerPrefix { + } + + @StudioPropertyGroup( + properties = { + @StudioProperty(xmlAttribute = "content", category = StudioProperty.Category.GENERAL, type = StudioPropertyType.LOCALIZED_STRING) + } + ) + public interface Content { + } + + @StudioPropertyGroup( + properties = { + @StudioProperty(xmlAttribute = "dataContainer", category = StudioProperty.Category.DATA_BINDING, + type = StudioPropertyType.COLLECTION_DATA_CONTAINER_REF, required = true, + typeParameter = "E") + } + ) + public interface CollectionDataContainer { + } + + @StudioPropertyGroup( + properties = { + @StudioProperty(xmlAttribute = "dataContainer", category = StudioProperty.Category.DATA_BINDING, type = StudioPropertyType.COLLECTION_OR_INSTANCE_DATA_CONTAINER_REF) + } + ) + public interface CollectionOrInstanceDataContainer { + } + + @StudioPropertyGroup( + properties = { + @StudioProperty(xmlAttribute = "dataLoader", category = StudioProperty.Category.DATA_BINDING, type = StudioPropertyType.DATA_LOADER_REF, + required = true) + } + ) + public interface DataLoader { + } + + @StudioPropertyGroup( + properties = { + @StudioProperty(xmlAttribute = "datatype", category = StudioProperty.Category.DATA_BINDING, type = StudioPropertyType.DATATYPE_ID, + typeParameter = "V") + } + ) + public interface Datatype { + } + + @StudioPropertyGroup( + properties = { + @StudioProperty(xmlAttribute = "defaultValue", category = StudioProperty.Category.GENERAL, type = StudioPropertyType.STRING) + } + ) + public interface DefaultValue { + } + + @StudioPropertyGroup( + properties = { + @StudioProperty(xmlAttribute = "description", category = StudioProperty.Category.GENERAL, type = StudioPropertyType.LOCALIZED_STRING) + } + ) + public interface Description { + } + + @StudioPropertyGroup( + properties = { + @StudioProperty(xmlAttribute = "detailsVisibleOnClick", type = StudioPropertyType.BOOLEAN, + defaultValue = "false") + } + ) + public interface DetailsVisibleOnClick { + } + + @StudioPropertyGroup( + properties = { + @StudioProperty(xmlAttribute = "dropAllowed", category = StudioProperty.Category.GENERAL, type = StudioPropertyType.BOOLEAN, + defaultValue = "false") + } + ) + public interface DropAllowed { + } + + @StudioPropertyGroup( + properties = { + @StudioProperty(xmlAttribute = "dropMode", type = StudioPropertyType.ENUMERATION, + classFqn = "com.vaadin.flow.component.grid.dnd.GridDropMode", options = {"BETWEEN", "ON_TOP", + "ON_TOP_OR_BETWEEN", "ON_GRID"}) + } + ) + public interface DropMode { + } + + @StudioPropertyGroup( + properties = { + @StudioProperty(xmlAttribute = "editable", category = StudioProperty.Category.GENERAL, type = StudioPropertyType.BOOLEAN, + defaultValue = "false") + } + ) + public interface Editable { + } + + @StudioPropertyGroup( + properties = { + @StudioProperty(xmlAttribute = "editorBuffered", type = StudioPropertyType.BOOLEAN, + defaultValue = "false") + } + ) + public interface EditorBuffered { + } + + @StudioPropertyGroup( + properties = { + @StudioProperty(xmlAttribute = "emptyStateText", category = StudioProperty.Category.GENERAL, + type = StudioPropertyType.LOCALIZED_STRING) + } + ) + public interface EmptyStateText { + } + + @StudioPropertyGroup( + properties = { + @StudioProperty(xmlAttribute = "escapeValueForLike", type = StudioPropertyType.BOOLEAN, + defaultValue = "false") + } + ) + public interface EscapeValueForLike { + } + + @StudioPropertyGroup( + properties = { + @StudioProperty(xmlAttribute = "exclude", type = StudioPropertyType.STRING) + } + ) + public interface Exclude { + } + + @StudioPropertyGroup( + properties = { + @StudioProperty(xmlAttribute = "expand", category = StudioProperty.Category.POSITION, type = StudioPropertyType.STRING) + } + ) + public interface Expand { + } + + @StudioPropertyGroup( + properties = { + @StudioProperty(xmlAttribute = "fetchPlan", type = StudioPropertyType.FETCH_PLAN) + } + ) + public interface FetchPlan { + } + + @StudioPropertyGroup( + properties = { + @StudioProperty(xmlAttribute = "fileNameVisible", category = StudioProperty.Category.LOOK_AND_FEEL, type = StudioPropertyType.BOOLEAN, + defaultValue = "false") + } + ) + public interface FileNameVisible { + } + + @StudioPropertyGroup( + properties = { + @StudioProperty(xmlAttribute = "fileNotSelectedText", type = StudioPropertyType.LOCALIZED_STRING) + } + ) + public interface FileNotSelectedText { + } + + @StudioPropertyGroup( + properties = { + @StudioProperty(xmlAttribute = "fileStorageName", category = StudioProperty.Category.GENERAL, type = StudioPropertyType.STRING) + } + ) + public interface FileStorageName { + } + + @StudioPropertyGroup( + properties = { + @StudioProperty(xmlAttribute = "fileStoragePutMode", category = StudioProperty.Category.GENERAL, type = StudioPropertyType.ENUMERATION, + options = {"MANUAL", "IMMEDIATE"}, defaultValue = "IMMEDIATE") + } + ) + public interface FileStoragePutMode { + } + + @StudioPropertyGroup( + properties = { + @StudioProperty(xmlAttribute = "fileTooBigText", type = StudioPropertyType.LOCALIZED_STRING) + } + ) + public interface FileTooBigText { + } + + @StudioPropertyGroup(properties = @StudioProperty(xmlAttribute = "firstResult", + type = StudioPropertyType.INTEGER, defaultValue = "0")) + public interface FirstResult { + } + + @StudioPropertyGroup(properties = @StudioProperty(xmlAttribute = "flexGrow", + category = StudioProperty.Category.POSITION, type = StudioPropertyType.INTEGER)) + public interface FlexGrow { + } + + @StudioPropertyGroup(properties = @StudioProperty(xmlAttribute = "fontFamily", + category = StudioProperty.Category.LOOK_AND_FEEL, type = StudioPropertyType.STRING)) + public interface FontFamily { + } + + @StudioPropertyGroup(properties = @StudioProperty(xmlAttribute = "footer", + type = StudioPropertyType.LOCALIZED_STRING)) + public interface Footer { + } + + @StudioPropertyGroup(properties = @StudioProperty(xmlAttribute = "forgotPassword", + type = StudioPropertyType.LOCALIZED_STRING)) + public interface ForgotPassword { + } + + @StudioPropertyGroup(properties = @StudioProperty(xmlAttribute = "format", + type = StudioPropertyType.LOCALIZED_STRING, required = true)) + public interface Format { + } + + @StudioPropertyGroup(properties = @StudioProperty(xmlAttribute = "frozen", + category = StudioProperty.Category.POSITION, type = StudioPropertyType.BOOLEAN, defaultValue = "false")) + public interface Frozen { + } + + @StudioPropertyGroup(properties = @StudioProperty(xmlAttribute = "gap", + category = StudioProperty.Category.LOOK_AND_FEEL, type = StudioPropertyType.STRING)) + public interface Gap { + } + + @StudioPropertyGroup(properties = @StudioProperty(xmlAttribute = "hasInExpression", + type = StudioPropertyType.BOOLEAN, defaultValue = "false")) + public interface HasInExpression { + } + + @StudioPropertyGroup(properties = @StudioProperty(xmlAttribute = "header", + type = StudioPropertyType.LOCALIZED_STRING)) + public interface Header { + } + + @StudioPropertyGroup(properties = @StudioProperty(xmlAttribute = "helperText", + category = StudioProperty.Category.GENERAL, type = StudioPropertyType.LOCALIZED_STRING)) + public interface HelperText { + } + + @StudioPropertyGroup(properties = @StudioProperty(xmlAttribute = "hideDelay", + type = StudioPropertyType.INTEGER)) + public interface HideDelay { + } + + @StudioPropertyGroup(properties = @StudioProperty(xmlAttribute = "iconAfterText", + type = StudioPropertyType.BOOLEAN, defaultValue = "false")) + public interface IconAfterText { + } + + @StudioPropertyGroup(properties = @StudioProperty(xmlAttribute = "iconClassNames", + category = StudioProperty.Category.LOOK_AND_FEEL, type = StudioPropertyType.VALUES_LIST)) + public interface IconClassNames { + } + + @StudioPropertyGroup(properties = @StudioProperty(xmlAttribute = "icon", + category = StudioProperty.Category.GENERAL, type = StudioPropertyType.ICON)) + public interface Icon { + } + + @StudioPropertyGroup(properties = @StudioProperty(xmlAttribute = "icon", + category = StudioProperty.Category.GENERAL, type = StudioPropertyType.ICON, required = true)) + public interface RequiredIcon { + } + + @StudioPropertyGroup(properties = @StudioProperty(xmlAttribute = "icon", + category = StudioProperty.Category.LOOK_AND_FEEL, type = StudioPropertyType.ICON, + setParameterFqn = "com.vaadin.flow.component.icon.Icon")) + public interface LookAndFeelIcon { + } + + @StudioPropertyGroup(properties = @StudioProperty(xmlAttribute = "includeAll", + type = StudioPropertyType.BOOLEAN, defaultValue = "false")) + public interface IncludeAll { + } + + @StudioPropertyGroup(properties = @StudioProperty(xmlAttribute = "inclusive", + type = StudioPropertyType.BOOLEAN)) + public interface Inclusive { + } + + @StudioPropertyGroup(properties = @StudioProperty(xmlAttribute = "incorrectFileTypeText", + type = StudioPropertyType.LOCALIZED_STRING)) + public interface IncorrectFileTypeText { + } + + @StudioPropertyGroup(properties = @StudioProperty(xmlAttribute = "indeterminate", + category = StudioProperty.Category.LOOK_AND_FEEL, type = StudioPropertyType.BOOLEAN, defaultValue = "false")) + public interface Indeterminate { + } + + @StudioPropertyGroup(properties = @StudioProperty(xmlAttribute = "itemsContainer", + category = StudioProperty.Category.DATA_BINDING, type = StudioPropertyType.COLLECTION_DATA_CONTAINER_REF, typeParameter = "T")) + public interface ItemsContainerTypeParameterT { + } + + @StudioPropertyGroup(properties = @StudioProperty(xmlAttribute = "itemsContainer", + category = StudioProperty.Category.DATA_BINDING, type = StudioPropertyType.COLLECTION_DATA_CONTAINER_REF, typeParameter = "V")) + public interface ItemsContainerTypeParameterV { + } + + @StudioPropertyGroup(properties = @StudioProperty(xmlAttribute = "itemsEnum", + category = StudioProperty.Category.DATA_BINDING, type = StudioPropertyType.ENUM_CLASS, typeParameter = "V")) + public interface ItemsEnum { + } + + @StudioPropertyGroup( + properties = @StudioProperty(xmlAttribute = "justifyContent", + category = StudioProperty.Category.POSITION, type = StudioPropertyType.ENUMERATION, + setParameterFqn = "com.vaadin.flow.component.orderedlayout.FlexComponent$JustifyContentMode", + classFqn = "com.vaadin.flow.component.orderedlayout.FlexComponent$JustifyContentMode", + setMethod = "setJustifyContentMode", defaultValue = "START", + options = {"START", "END", "CENTER", "BETWEEN", "AROUND", "EVENLY"}) + ) + public interface JustifyContent { + } + + @StudioPropertyGroup(properties = @StudioProperty(xmlAttribute = "key", + type = StudioPropertyType.STRING)) + public interface Key { + } + + @StudioPropertyGroup(properties = @StudioProperty(xmlAttribute = "label", + category = StudioProperty.Category.GENERAL, type = StudioPropertyType.LOCALIZED_STRING)) + public interface Label { + } + + @StudioPropertyGroup( + properties = @StudioProperty(xmlAttribute = "labelPosition", + category = StudioProperty.Category.POSITION, type = StudioPropertyType.ENUMERATION, + classFqn = "io.jmix.flowui.component.SupportsLabelPosition$LabelPosition", + options = {"ASIDE", "TOP"}, defaultValue = "ASIDE") + + ) + public interface LabelPosition { + } + + @StudioPropertyGroup(properties = @StudioProperty(xmlAttribute = "labelVisible", + category = StudioProperty.Category.LOOK_AND_FEEL, type = StudioPropertyType.BOOLEAN, defaultValue = "true")) + public interface LabelVisible { + } + + @StudioPropertyGroup(properties = @StudioProperty(xmlAttribute = "labelWidth", + category = StudioProperty.Category.SIZE, type = StudioPropertyType.SIZE)) + public interface LabelWidth { + } + + @StudioPropertyGroup(properties = @StudioProperty(xmlAttribute = "ligature", type = StudioPropertyType.STRING)) + public interface Ligature { + } + + @StudioPropertyGroup(properties = @StudioProperty(xmlAttribute = "loadMenuConfig", + category = StudioProperty.Category.GENERAL, type = StudioPropertyType.BOOLEAN, defaultValue = "true")) + public interface LoadMenuConfig { + } + + @StudioPropertyGroup(properties = @StudioProperty(xmlAttribute = "margin", + category = StudioProperty.Category.LOOK_AND_FEEL, type = StudioPropertyType.BOOLEAN, defaultValue = "false")) + public interface Margin { + } + + @StudioPropertyGroup(properties = @StudioProperty(xmlAttribute = "max", + category = StudioProperty.Category.VALIDATION, type = StudioPropertyType.DOUBLE)) + public interface ValidationDoubleMax { + } + + @StudioPropertyGroup(properties = @StudioProperty(xmlAttribute = "maxFileSize", + category = StudioProperty.Category.VALIDATION, type = StudioPropertyType.INTEGER)) + public interface MaxFileSize { + } + + @StudioPropertyGroup(properties = @StudioProperty(xmlAttribute = "max", + type = StudioPropertyType.INTEGER)) + public interface IntegerMax { + } + + @StudioPropertyGroup(properties = @StudioProperty(xmlAttribute = "maxLength", + category = StudioProperty.Category.VALIDATION, type = StudioPropertyType.INTEGER)) + public interface MaxLength { + } + + @StudioPropertyGroup(properties = @StudioProperty(xmlAttribute = "maxResults", + type = StudioPropertyType.INTEGER, defaultValue = "0")) + public interface MaxResults { + } + + @StudioPropertyGroup(properties = @StudioProperty(xmlAttribute = "max", + category = StudioProperty.Category.VALIDATION, type = StudioPropertyType.STRING)) + public interface ValidationStringMax { + } + + @StudioPropertyGroup(properties = @StudioProperty(xmlAttribute = "value", + type = StudioPropertyType.STRING, required = true)) + public interface RequiredStringValue { + } + + @StudioPropertyGroup(properties = @StudioProperty(xmlAttribute = "integer", + type = StudioPropertyType.INTEGER, required = true)) + public interface RequiredInteger { + + } + + @StudioPropertyGroup(properties = @StudioProperty(xmlAttribute = "message", + type = StudioPropertyType.LOCALIZED_STRING)) + public interface Message { + } + + @StudioPropertyGroup(properties = @StudioProperty(xmlAttribute = "messagesGroup", + type = StudioPropertyType.STRING)) + public interface MessagesGroup { + } + + @StudioPropertyGroup(properties = @StudioProperty(xmlAttribute = "metaClass", + category = StudioProperty.Category.DATA_BINDING, type = StudioPropertyType.ENTITY_NAME, typeParameter = "V")) + public interface MetaClassTypeParameterV { + } + + @StudioPropertyGroup(properties = @StudioProperty(xmlAttribute = "metaClass", + category = StudioProperty.Category.DATA_BINDING, type = StudioPropertyType.ENTITY_NAME, typeParameter = "E")) + public interface MetaClassTypeParameterE { + } + + @StudioPropertyGroup(properties = @StudioProperty(xmlAttribute = "min", + category = StudioProperty.Category.VALIDATION, type = StudioPropertyType.DOUBLE)) + public interface ValidationDoubleMin { + } + + @StudioPropertyGroup(properties = @StudioProperty(xmlAttribute = "min", + type = StudioPropertyType.INTEGER)) + public interface IntegerMin { + } + + @StudioPropertyGroup(properties = @StudioProperty(xmlAttribute = "minLength", + category = StudioProperty.Category.VALIDATION, type = StudioPropertyType.INTEGER)) + public interface MinLength { + } + + @StudioPropertyGroup(properties = @StudioProperty(xmlAttribute = "min", + category = StudioProperty.Category.VALIDATION, type = StudioPropertyType.STRING)) + public interface ValidationStringMin { + } + + @StudioPropertyGroup(properties = @StudioProperty(xmlAttribute = "minWidth", + category = StudioProperty.Category.GENERAL, type = StudioPropertyType.SIZE, options = {"AUTO", "100%"}, required = true)) + public interface RequiredMinWidthWithOptions { + } + + @StudioPropertyGroup(properties = @StudioProperty(xmlAttribute = "multiSort", + type = StudioPropertyType.BOOLEAN, defaultValue = "false")) + public interface MultiSort { + } + + @StudioPropertyGroup(properties = @StudioProperty(xmlAttribute = "multiSortOnShiftClickOnly", + type = StudioPropertyType.BOOLEAN, defaultValue = "false")) + public interface MultiSortOnShiftClickOnly { + } + + @StudioPropertyGroup(properties = @StudioProperty(xmlAttribute = "multiSortPriority", + type = StudioPropertyType.ENUMERATION, + classFqn = "com.vaadin.flow.component.grid.Grid.MultiSortPriority", + options = {"APPEND", "PREPEND"}, defaultValue = "PREPEND")) + public interface MultiSortPriority { + } + + @StudioPropertyGroup(properties = @StudioProperty(xmlAttribute = "name", + category = StudioProperty.Category.GENERAL, type = StudioPropertyType.LOCALIZED_STRING)) + public interface Name { + } + + @StudioPropertyGroup(properties = @StudioProperty(xmlAttribute = "nestedNullBehavior", + type = StudioPropertyType.ENUMERATION, + classFqn = "com.vaadin.flow.component.grid.Grid.NestedNullBehavior", + options = {"THROW", "ALLOW_NULLS"}, defaultValue = "THROW")) + public interface NestedNullBehavior { + } + + @StudioPropertyGroup(properties = @StudioProperty(xmlAttribute = "nullRepresentation", + type = StudioPropertyType.LOCALIZED_STRING)) + public interface NullRepresentation { + } + + @StudioPropertyGroup(properties = @StudioProperty(xmlAttribute = "openOnHover", + category = StudioProperty.Category.GENERAL, type = StudioPropertyType.BOOLEAN, defaultValue = "false")) + public interface OpenOnHover { + } + + @StudioPropertyGroup(properties = @StudioProperty(xmlAttribute = "opened", + category = StudioProperty.Category.GENERAL, type = StudioPropertyType.BOOLEAN, defaultValue = "false")) + public interface Opened { + } + + @StudioPropertyGroup( + properties = { + @StudioProperty(xmlAttribute = "operationTextVisible", category = StudioProperty.Category.LOOK_AND_FEEL, type = StudioPropertyType.BOOLEAN, + defaultValue = "true") + } + ) + public interface OperationTextVisible { + } + + @StudioPropertyGroup( + properties = { + @StudioProperty(xmlAttribute = "overlayWidth", category = StudioProperty.Category.LOOK_AND_FEEL, type = StudioPropertyType.SIZE) + } + ) + public interface OverlayWidth { + } + + @StudioPropertyGroup( + properties = { + @StudioProperty(xmlAttribute = "padding", category = StudioProperty.Category.LOOK_AND_FEEL, type = StudioPropertyType.BOOLEAN, + defaultValue = "true") + } + ) + public interface Padding { + } + + @StudioPropertyGroup( + properties = { + @StudioProperty(xmlAttribute = "pageSize", type = StudioPropertyType.INTEGER) + } + ) + public interface PageSize { + } + + @StudioPropertyGroup( + properties = { + @StudioProperty(xmlAttribute = "pageSize", type = StudioPropertyType.INTEGER, defaultValue = "50") + } + ) + public interface PageSizeWithDefaultValue50 { + } + + @StudioPropertyGroup( + properties = { + @StudioProperty(xmlAttribute = "param", type = StudioPropertyType.STRING) + } + ) + public interface Param { + } + + @StudioPropertyGroup( + properties = { + @StudioProperty(xmlAttribute = "parameterName", category = StudioProperty.Category.GENERAL, type = StudioPropertyType.STRING) + } + ) + public interface ParameterName { + } + + @StudioPropertyGroup( + properties = { + @StudioProperty(xmlAttribute = "password", type = StudioPropertyType.LOCALIZED_STRING) + } + ) + public interface Password { + } + @StudioPropertyGroup( properties = { - @StudioProperty(xmlAttribute = "id", type = StudioPropertyType.COMPONENT_ID, - category = StudioProperty.Category.GENERAL) + @StudioProperty(xmlAttribute = "pattern", category = StudioProperty.Category.VALIDATION, type = StudioPropertyType.STRING) } ) - public interface Id { + public interface Pattern { } @StudioPropertyGroup( properties = { - @StudioProperty(xmlAttribute = "visible", type = StudioPropertyType.BOOLEAN, - category = StudioProperty.Category.GENERAL, defaultValue = "true") + @StudioProperty(xmlAttribute = "placeholder", category = StudioProperty.Category.GENERAL, type = StudioPropertyType.LOCALIZED_STRING) } ) - public interface Visible { + public interface Placeholder { } - @StudioPropertyGroup - public interface IdAndVisible extends Id, Visible { + @StudioPropertyGroup( + properties = { + @StudioProperty(xmlAttribute = "processingStatusText", type = StudioPropertyType.LOCALIZED_STRING) + } + ) + public interface ProcessingStatusText { } @StudioPropertyGroup( properties = { - @StudioProperty(xmlAttribute = "alignSelf", type = StudioPropertyType.ENUMERATION, - category = StudioProperty.Category.POSITION, - classFqn = "com.vaadin.flow.component.orderedlayout.FlexComponent$Alignment", - defaultValue = "AUTO", - options = {"START", "END", "CENTER", "STRETCH", "BASELINE", "AUTO"}) + @StudioProperty(xmlAttribute = "property", category = StudioProperty.Category.DATA_BINDING, type = StudioPropertyType.PROPERTY_REF, + typeParameter = "T", required = true) } ) - public interface AlignSelf { + public interface PropertyTypeParameterT { } @StudioPropertyGroup( properties = { - @StudioProperty(xmlAttribute = "justifySelf", type = StudioPropertyType.ENUMERATION, - category = StudioProperty.Category.POSITION, - classFqn = "io.jmix.flowui.kit.component.Alignment", - defaultValue = "AUTO", - options = {"START", "END", "CENTER", "STRETCH", "BASELINE", "AUTO"}) + @StudioProperty(xmlAttribute = "property", category = StudioProperty.Category.DATA_BINDING, type = StudioPropertyType.PROPERTY_REF, + typeParameter = "V") } ) - public interface JustifySelf { + public interface PropertyTypeParameterV { } - @StudioPropertyGroup - public interface AlignSelfAndJustifySelf extends AlignSelf, JustifySelf { + @StudioPropertyGroup( + properties = { + @StudioProperty(xmlAttribute = "property", category = StudioProperty.Category.DATA_BINDING, type = StudioPropertyType.PROPERTY_REF) + } + ) + public interface Property { } @StudioPropertyGroup( properties = { - @StudioProperty(xmlAttribute = "colspan", type = StudioPropertyType.INTEGER, - category = StudioProperty.Category.POSITION) + @StudioProperty(xmlAttribute = "query", type = StudioPropertyType.JPA_QUERY) } ) - public interface Colspan { + public interface Query { } - @StudioPropertyGroup - public interface AlignSelfAndJustifySelfAndColspan extends AlignSelfAndJustifySelf, Colspan { + @StudioPropertyGroup( + properties = { + @StudioProperty(xmlAttribute = "readOnly", type = StudioPropertyType.BOOLEAN, + category = StudioProperty.Category.GENERAL, + defaultValue = "false") + } + ) + public interface ReadOnly { } @StudioPropertyGroup( properties = { - @StudioProperty(xmlAttribute = "classNames", type = StudioPropertyType.VALUES_LIST, - category = StudioProperty.Category.LOOK_AND_FEEL) + @StudioProperty(xmlAttribute = "readOnly", type = StudioPropertyType.BOOLEAN, + defaultValue = "false") } ) - public interface ClassNames { + public interface ReadOnlyWithoutCategory { } @StudioPropertyGroup( properties = { - @StudioProperty(xmlAttribute = "css", type = StudioPropertyType.STRING, - category = StudioProperty.Category.LOOK_AND_FEEL) + @StudioProperty(xmlAttribute = "remainingTimeText", type = StudioPropertyType.LOCALIZED_STRING) } ) - public interface Css { + public interface RemainingTimeText { } - @StudioPropertyGroup - public interface ClassNamesAndCss extends ClassNames, Css { + @StudioPropertyGroup( + properties = { + @StudioProperty(xmlAttribute = "remainingTimeUnknownText", type = StudioPropertyType.LOCALIZED_STRING) + } + ) + public interface RemainingTimeUnknownText { } @StudioPropertyGroup( properties = { - @StudioProperty(xmlAttribute = "enabled", type = StudioPropertyType.BOOLEAN, - category = StudioProperty.Category.GENERAL, defaultValue = "true") + @StudioProperty(xmlAttribute = "resource", category = StudioProperty.Category.GENERAL, type = StudioPropertyType.STRING) } ) - public interface Enabled { + public interface Resource { } @StudioPropertyGroup( properties = { - @StudioProperty(xmlAttribute = "height", type = StudioPropertyType.SIZE, - category = StudioProperty.Category.SIZE) + @StudioProperty(xmlAttribute = "resource", category = StudioProperty.Category.GENERAL, type = StudioPropertyType.STRING, + setMethod = "setSrc") } ) - public interface HeightWithoutOptions { + public interface ImageResource { } @StudioPropertyGroup( properties = { - @StudioProperty(xmlAttribute = "maxHeight", type = StudioPropertyType.SIZE, - category = StudioProperty.Category.SIZE) + @StudioProperty(xmlAttribute = "rotation", type = StudioPropertyType.DOUBLE) } ) - public interface MaxHeightWithoutOptions { + public interface Rotation { } @StudioPropertyGroup( properties = { - @StudioProperty(xmlAttribute = "minHeight", type = StudioPropertyType.SIZE, - category = StudioProperty.Category.SIZE) + @StudioProperty(xmlAttribute = "rowsDraggable", type = StudioPropertyType.BOOLEAN, + defaultValue = "false") } ) - public interface MinHeightWithoutOptions { + public interface RowsDraggable { + } + @StudioPropertyGroup( + properties = { + @StudioProperty(xmlAttribute = "searchStringFormat", type = StudioPropertyType.STRING) + } + ) + public interface SearchStringFormat { } - @StudioPropertyGroup - public interface MinAndMaxHeightWithoutOptions extends MinHeightWithoutOptions, MaxHeightWithoutOptions { + @StudioPropertyGroup( + properties = { + @StudioProperty(xmlAttribute = "selectionMode", category = StudioProperty.Category.GENERAL, type = StudioPropertyType.ENUMERATION, + classFqn = "com.vaadin.flow.component.grid.Grid.SelectionMode", defaultValue = "SINGLE", + options = {"SINGLE", "MULTI", "NONE"}) + } + ) + public interface SelectionMode { } - @StudioPropertyGroup - public interface HeightWithoutOptionsGroup extends HeightWithoutOptions, MinAndMaxHeightWithoutOptions { + @StudioPropertyGroup( + properties = { + @StudioProperty(xmlAttribute = "shortcutCombination", category = StudioProperty.Category.GENERAL, type = StudioPropertyType.SHORTCUT_COMBINATION) + } + ) + public interface ShortcutCombination { } @StudioPropertyGroup( properties = { - @StudioProperty(xmlAttribute = "width", type = StudioPropertyType.SIZE, - category = StudioProperty.Category.SIZE) + @StudioProperty( + xmlAttribute = "showInContextMenuEnabled", + type = StudioPropertyType.BOOLEAN, + defaultValue = "true" + ) } ) - public interface WidthWithoutOptions { + public interface ShowInContextMenuEnabled { } @StudioPropertyGroup( properties = { - @StudioProperty(xmlAttribute = "maxWidth", type = StudioPropertyType.SIZE, - category = StudioProperty.Category.SIZE) + @StudioProperty(xmlAttribute = "sortable", category = StudioProperty.Category.GENERAL, type = StudioPropertyType.BOOLEAN, + defaultValueRef = "parent:sortable") } ) - public interface MaxWidthWithoutOptions { + public interface ColumnSortable { } @StudioPropertyGroup( properties = { - @StudioProperty(xmlAttribute = "minWidth", type = StudioPropertyType.SIZE, - category = StudioProperty.Category.SIZE) + @StudioProperty(xmlAttribute = "sortable", type = StudioPropertyType.BOOLEAN, + defaultValue = "true") } ) - public interface MinWidthWithoutOptions { + public interface Sortable { } - @StudioPropertyGroup - public interface MinAndMaxWidthWithoutOptions extends MinWidthWithoutOptions, MaxWidthWithoutOptions { + @StudioPropertyGroup( + properties = { + @StudioProperty(xmlAttribute = "spacing", category = StudioProperty.Category.POSITION, type = StudioPropertyType.BOOLEAN, + defaultValue = "true") + } + ) + public interface Spacing { } - @StudioPropertyGroup - public interface WidthWithoutOptionsGroup extends WidthWithoutOptions, MinAndMaxWidthWithoutOptions { + @StudioPropertyGroup( + properties = { + @StudioProperty(xmlAttribute = "stepButtonsVisible", category = StudioProperty.Category.LOOK_AND_FEEL, type = StudioPropertyType.BOOLEAN, + defaultValue = "false") + } + ) + public interface StepButtonsVisible { + } + @StudioPropertyGroup( + properties = { + @StudioProperty(xmlAttribute = "step", category = StudioProperty.Category.GENERAL, type = StudioPropertyType.DOUBLE) + } + ) + public interface Step { } - @StudioPropertyGroup - public interface SizeWithoutOptions extends WidthWithoutOptionsGroup, HeightWithoutOptionsGroup { + @StudioPropertyGroup( + properties = { + @StudioProperty(xmlAttribute = "step", category = StudioProperty.Category.GENERAL, type = StudioPropertyType.STRING, + options = {"900s", "15m", "20m", "30m", "2h", "3h", "4h", "6h", "8h", "12h"}) + } + ) + public interface TimeStep { } @StudioPropertyGroup( properties = { - @StudioProperty(xmlAttribute = "height", type = StudioPropertyType.SIZE, - category = StudioProperty.Category.SIZE, options = {"AUTO", "100%"}) + @StudioProperty(xmlAttribute = "store", type = StudioPropertyType.STORE) } ) - public interface Height { + public interface Store { } @StudioPropertyGroup( properties = { - @StudioProperty(xmlAttribute = "maxHeight", type = StudioPropertyType.SIZE, - category = StudioProperty.Category.SIZE, options = {"AUTO", "100%"}) + @StudioProperty(xmlAttribute = "strategyClass", type = StudioPropertyType.STRING) } ) - public interface MaxHeight { + public interface StrategyClass { } @StudioPropertyGroup( properties = { - @StudioProperty(xmlAttribute = "minHeight", type = StudioPropertyType.SIZE, - category = StudioProperty.Category.SIZE, options = {"AUTO", "100%"}) + @StudioProperty(xmlAttribute = "submit", type = StudioPropertyType.LOCALIZED_STRING) } ) - public interface MinHeight { + public interface Submit { } - @StudioPropertyGroup - public interface MinAndMaxHeight extends MinHeight, MaxHeight { + @StudioPropertyGroup( + properties = { + @StudioProperty(xmlAttribute = "summaryText", category = StudioProperty.Category.GENERAL, type = StudioPropertyType.LOCALIZED_STRING) + } + ) + public interface DetailsSummaryText { } - @StudioPropertyGroup - public interface HeightGroup extends Height, MinAndMaxHeight { + @StudioPropertyGroup( + properties = { + @StudioProperty(xmlAttribute = "summaryText", type = StudioPropertyType.LOCALIZED_STRING) + } + ) + public interface SummaryText { } @StudioPropertyGroup( properties = { - @StudioProperty(xmlAttribute = "width", type = StudioPropertyType.SIZE, - category = StudioProperty.Category.SIZE, options = {"AUTO", "100%"}) + @StudioProperty(xmlAttribute = "symbol", type = StudioPropertyType.STRING) } ) - public interface Width { + public interface Symbol { } @StudioPropertyGroup( properties = { - @StudioProperty(xmlAttribute = "maxWidth", type = StudioPropertyType.SIZE, - category = StudioProperty.Category.SIZE, options = {"AUTO", "100%"}) + @StudioProperty(xmlAttribute = "text", category = StudioProperty.Category.GENERAL, type = StudioPropertyType.LOCALIZED_STRING) } ) - public interface MaxWidth { + public interface Text { } @StudioPropertyGroup( properties = { - @StudioProperty(xmlAttribute = "minWidth", type = StudioPropertyType.SIZE, - category = StudioProperty.Category.SIZE, options = {"AUTO", "100%"}) + @StudioProperty(xmlAttribute = "text", category = StudioProperty.Category.GENERAL, type = StudioPropertyType.LOCALIZED_STRING, required = true) } ) - public interface MinWidth { + public interface RequiredText { } - @StudioPropertyGroup - public interface MinAndMaxWidth extends MinWidth, MaxWidth { + @StudioPropertyGroup( + properties = { + @StudioProperty(xmlAttribute = "themeNames", category = StudioProperty.Category.LOOK_AND_FEEL, type = StudioPropertyType.VALUES_LIST, + options = {"small", "align-center", "align-right", "helper-above-field", + "always-float-label"}) + } + ) + public interface FieldThemeNames { } - @StudioPropertyGroup - public interface WidthGroup extends Width, MinAndMaxWidth { + @StudioPropertyGroup( + properties = { + @StudioProperty(xmlAttribute = "themeNames", category = StudioProperty.Category.LOOK_AND_FEEL, type = StudioPropertyType.VALUES_LIST, + options = {"filled", "reverse", "small"}) + } + ) + public interface DetailsThemeNames { } - @StudioPropertyGroup - public interface Size extends WidthGroup, HeightGroup { + @StudioPropertyGroup( + properties = { + @StudioProperty(xmlAttribute = "themeNames", category = StudioProperty.Category.LOOK_AND_FEEL, type = StudioPropertyType.VALUES_LIST, + options = {"small", "large", "tertiary", "tertiary-inline", + "primary", "success", "warning", "error", "contrast", "icon", "contained", "outlined"}) + } + ) + public interface ButtonThemeNames { } @StudioPropertyGroup( properties = { - @StudioProperty(xmlAttribute = "ariaLabel", type = StudioPropertyType.LOCALIZED_STRING) + @StudioProperty(xmlAttribute = "themeNames", category = StudioProperty.Category.LOOK_AND_FEEL, type = StudioPropertyType.VALUES_LIST, + options = {"non-checkable"}) } ) - public interface AriaLabel { + public interface UserMenuItemThemeNames { } @StudioPropertyGroup( properties = { - @StudioProperty(xmlAttribute = "ariaLabelledBy", type = StudioPropertyType.LOCALIZED_STRING) + @StudioProperty(xmlAttribute = "themeNames", category = StudioProperty.Category.LOOK_AND_FEEL, type = StudioPropertyType.VALUES_LIST, + options = {"fill", "contain", "cover", "scale-down"}) } ) - public interface AriaLabelledBy { + public interface ImageThemeNames { } @StudioPropertyGroup( properties = { - @StudioProperty(xmlAttribute = "tabIndex", type = StudioPropertyType.INTEGER) + @StudioProperty(xmlAttribute = "themeNames", category = StudioProperty.Category.LOOK_AND_FEEL, type = StudioPropertyType.VALUES_LIST, + options = {"spacing-xs", "spacing-s", "spacing", "spacing-l", "spacing-xl"}) } ) - public interface TabIndex { + public interface LayoutThemeNames { } @StudioPropertyGroup( properties = { - @StudioProperty(xmlAttribute = "focusShortcut", type = StudioPropertyType.SHORTCUT_COMBINATION) + @StudioProperty(xmlAttribute = "themeNames", category = StudioProperty.Category.LOOK_AND_FEEL, type = StudioPropertyType.VALUES_LIST, + options = {"small", "align-left", "align-center", "align-right", "helper-above-field", + "always-float-label"}) } ) - public interface FocusShortcut { + public interface ComboBoxThemeNames { } - @StudioPropertyGroup - public interface AriaLabelAndTabIndexAndFocusShortcut extends AriaLabel, AriaLabelledBy, TabIndex, FocusShortcut { + @StudioPropertyGroup( + properties = { + @StudioProperty(xmlAttribute = "themeNames", category = StudioProperty.Category.LOOK_AND_FEEL, type = StudioPropertyType.VALUES_LIST, + options = {"no-border", "no-row-borders", "column-borders", "row-stripes", + "compact", "wrap-cell-content", "column-dividers"}) + } + ) + public interface GridThemeNames { } @StudioPropertyGroup( properties = { - @StudioProperty(xmlAttribute = "required", type = StudioPropertyType.BOOLEAN, - category = StudioProperty.Category.VALIDATION, defaultValue = "false") + @StudioProperty(xmlAttribute = "themeNames", category = StudioProperty.Category.LOOK_AND_FEEL, type = StudioPropertyType.VALUES_LIST, + options = {"normal", "success", "warning", "error", "contrast", "primary", "small", "pill", "badge"}) } ) - public interface Required { + public interface HtmlComponentThemeNames { } @StudioPropertyGroup( properties = { - @StudioProperty(xmlAttribute = "requiredMessage", type = StudioPropertyType.LOCALIZED_STRING, - category = StudioProperty.Category.VALIDATION) + @StudioProperty(xmlAttribute = "themeNames", category = StudioProperty.Category.LOOK_AND_FEEL, type = StudioPropertyType.VALUES_LIST) } ) - public interface RequiredMessage { + public interface ThemeNames { } @StudioPropertyGroup( properties = { - @StudioProperty(xmlAttribute = "errorMessage", type = StudioPropertyType.LOCALIZED_STRING, - category = StudioProperty.Category.VALIDATION) + @StudioProperty(xmlAttribute = "themeNames", category = StudioProperty.Category.LOOK_AND_FEEL, type = StudioPropertyType.VALUES_LIST, + options = {"normal", "success", "warning", "error", "contrast", "primary", "small", "pill"}) } ) - public interface ErrorMessage { + public interface NativeLabelThemeNames { + } + + @StudioPropertyGroup( + properties = { + @StudioProperty(xmlAttribute = "title", category = StudioProperty.Category.GENERAL, type = StudioPropertyType.LOCALIZED_STRING) + } + ) + public interface Title { + } + + @StudioPropertyGroup( + properties = { + @StudioProperty(xmlAttribute = "trimEnabled", type = StudioPropertyType.BOOLEAN, defaultValue = "true", + defaultValueRef = "application_property:jmix.ui.component.default-trim-enabled") + } + ) + public interface TrimEnabled { + } + + @StudioPropertyGroup( + properties = { + @StudioProperty(xmlAttribute = "uploadDialogCancelText", type = StudioPropertyType.LOCALIZED_STRING) + } + ) + public interface UploadDialogCancelText { + } + + @StudioPropertyGroup( + properties = { + @StudioProperty(xmlAttribute = "uploadDialogTitle", type = StudioPropertyType.LOCALIZED_STRING) + } + ) + public interface UploadDialogTitle { + } + + @StudioPropertyGroup( + properties = { + @StudioProperty(xmlAttribute = "uploadIcon", category = StudioProperty.Category.LOOK_AND_FEEL, type = StudioPropertyType.ICON) + } + ) + public interface UploadIcon { + } + + @StudioPropertyGroup( + properties = { + @StudioProperty(xmlAttribute = "uploadText", category = StudioProperty.Category.LOOK_AND_FEEL, type = StudioPropertyType.LOCALIZED_STRING) + } + ) + public interface UploadText { + } + + @StudioPropertyGroup( + properties = { + @StudioProperty(xmlAttribute = "username", type = StudioPropertyType.LOCALIZED_STRING) + } + ) + public interface Username { + } + + @StudioPropertyGroup( + properties = { + @StudioProperty(xmlAttribute = "valueChangeMode", category = StudioProperty.Category.GENERAL, type = StudioPropertyType.ENUMERATION, + classFqn = "com.vaadin.flow.data.value.ValueChangeMode", + options = {"EAGER", "LAZY", "TIMEOUT", "ON_BLUR", "ON_CHANGE"}) + } + ) + public interface ValueChangeMode { + } + + @StudioPropertyGroup( + properties = { + @StudioProperty(xmlAttribute = "valueChangeTimeout", category = StudioProperty.Category.GENERAL, type = StudioPropertyType.INTEGER) + } + ) + public interface ValueChangeTimeout { + } + + @StudioPropertyGroup( + properties = { + @StudioProperty(xmlAttribute = "visible", type = StudioPropertyType.BOOLEAN, defaultValue = "true") + } + ) + public interface VisibleWithDefaultValueTrue { + } + + @StudioPropertyGroup( + properties = { + @StudioProperty(xmlAttribute = "weekNumbersVisible", category = StudioProperty.Category.LOOK_AND_FEEL, type = StudioPropertyType.BOOLEAN, + defaultValue = "false") + } + ) + public interface WeekNumbersVisible { + } + + @StudioPropertyGroup( + properties = { + @StudioProperty(xmlAttribute = "whiteSpace", category = StudioProperty.Category.LOOK_AND_FEEL, type = StudioPropertyType.ENUMERATION, + classFqn = "com.vaadin.flow.component.HasText$WhiteSpace", defaultValue = "NORMAL", + options = {"NORMAL", "NOWRAP", "PRE", "PRE_WRAP", "PRE_LINE", "BREAK_SPACES", "INHERIT", + "INITIAL"}) + } + ) + public interface WhiteSpace { + } + + @StudioPropertyGroup( + properties = { + @StudioProperty(xmlAttribute = "width", category = StudioProperty.Category.SIZE, type = StudioPropertyType.INTEGER) + } + ) + public interface WidthWithIntegerType { + } + + @StudioPropertyGroup( + properties = { + @StudioProperty(xmlAttribute = "width", category = StudioProperty.Category.SIZE, type = StudioPropertyType.SIZE, options = {"AUTO", "100%"}, defaultValue = "100%") + } + ) + public interface WidthWithDefaultValue100 { + } + + @StudioPropertyGroup( + properties = { + @StudioProperty(xmlAttribute = "width", category = StudioProperty.Category.SIZE, type = StudioPropertyType.SIZE, options = {"AUTO", "100%"}, + defaultValue = "AUTO") + } + ) + public interface WidthWithDefaultValueAuto { + } + + @StudioPropertyGroup( + properties = { + @StudioProperty(xmlAttribute = "width", category = StudioProperty.Category.SIZE, type = StudioPropertyType.SIZE, options = {"AUTO", "100%"}, defaultValue = "UNDEFINED") + } + ) + public interface WidthWithDefaultValueUndefined { + } + + @StudioPropertyGroup( + properties = { + @StudioProperty(xmlAttribute = "width", category = StudioProperty.Category.SIZE, type = StudioPropertyType.SIZE, options = {"AUTO", "100%"}, initialValue = "100%") + } + ) + public interface WidthWithInitialValue100 { + } + + @StudioPropertyGroup( + properties = { + @StudioProperty(xmlAttribute = "wrap", category = StudioProperty.Category.LOOK_AND_FEEL, + type = StudioPropertyType.BOOLEAN, defaultValue = "false") + } + ) + public interface Wrap { } @StudioPropertyGroup - public interface RequiredAndRequiredMessageAndErrorMessage extends Required, RequiredMessage, ErrorMessage { + public interface MessageAndRequiredStringValue extends Message, RequiredStringValue { + } + + @StudioPropertyGroup + public interface MessageAndInclusiveRequiredStringValue extends Message, Inclusive, RequiredStringValue { } } diff --git a/jmix-flowui/flowui-kit/src/main/java/io/jmix/flowui/kit/meta/action/StudioActions.java b/jmix-flowui/flowui-kit/src/main/java/io/jmix/flowui/kit/meta/action/StudioActions.java index 5f72477a7f..63c7741510 100644 --- a/jmix-flowui/flowui-kit/src/main/java/io/jmix/flowui/kit/meta/action/StudioActions.java +++ b/jmix-flowui/flowui-kit/src/main/java/io/jmix/flowui/kit/meta/action/StudioActions.java @@ -20,6 +20,7 @@ import io.jmix.flowui.kit.meta.StudioProperty; import io.jmix.flowui.kit.meta.StudioPropertyType; import io.jmix.flowui.kit.meta.StudioUiKit; +import io.jmix.flowui.kit.meta.StudioPropertyGroups; @StudioUiKit interface StudioActions { @@ -30,6 +31,16 @@ interface StudioActions { "io.jmix.flowui.component.PickerComponent" }, documentationLink = "%VERSION%/flow-ui/actions/declarative-actions.html", + propertyGroups = { + StudioPropertyGroups.ActionVariantWithDefaultDefaultValue.class, + StudioPropertyGroups.Description.class, + StudioPropertyGroups.EnabledWithTrueDefaultValue.class, + StudioPropertyGroups.LookAndFeelIcon.class, + StudioPropertyGroups.RequiredId.class, + StudioPropertyGroups.ShortcutCombination.class, + StudioPropertyGroups.Text.class, + StudioPropertyGroups.Visible.class + }, properties = { @StudioProperty(xmlAttribute = "actionVariant", category = StudioProperty.Category.LOOK_AND_FEEL, type = StudioPropertyType.ENUMERATION, setMethod = "setVariant", classFqn = "io.jmix.flowui.kit.action.ActionVariant", diff --git a/jmix-flowui/flowui-kit/src/main/java/io/jmix/flowui/kit/meta/action/StudioBulkEditorActions.java b/jmix-flowui/flowui-kit/src/main/java/io/jmix/flowui/kit/meta/action/StudioBulkEditorActions.java index 175a83fd4a..26e247393e 100644 --- a/jmix-flowui/flowui-kit/src/main/java/io/jmix/flowui/kit/meta/action/StudioBulkEditorActions.java +++ b/jmix-flowui/flowui-kit/src/main/java/io/jmix/flowui/kit/meta/action/StudioBulkEditorActions.java @@ -21,6 +21,7 @@ import io.jmix.flowui.kit.meta.StudioProperty; import io.jmix.flowui.kit.meta.StudioPropertyType; import io.jmix.flowui.kit.meta.StudioUiKit; +import io.jmix.flowui.kit.meta.StudioPropertyGroups; @StudioUiKit(requiredDependencies = "io.jmix.bulkeditor:jmix-bulkeditor-starter") interface StudioBulkEditorActions { @@ -31,6 +32,13 @@ interface StudioBulkEditorActions { classFqn = "io.jmix.bulkeditor.action.BulkEditAction", documentationLink = "%VERSION%/bulk-edit/index.html#usage", availableInViewWizard = true, + propertyGroups = { + StudioPropertyGroups.ActionVariantWithDefaultDefaultValue.class, + StudioPropertyGroups.Description.class, + StudioPropertyGroups.EnabledWithTrueDefaultValue.class, + StudioPropertyGroups.ShortcutCombination.class, + StudioPropertyGroups.Visible.class + }, properties = { @StudioProperty(xmlAttribute = "actionVariant", category = StudioProperty.Category.LOOK_AND_FEEL, type = StudioPropertyType.ENUMERATION, setMethod = "setVariant", classFqn = "io.jmix.flowui.kit.action.ActionVariant", diff --git a/jmix-flowui/flowui-kit/src/main/java/io/jmix/flowui/kit/meta/action/StudioDataToolsActions.java b/jmix-flowui/flowui-kit/src/main/java/io/jmix/flowui/kit/meta/action/StudioDataToolsActions.java index 10680e76f5..86d8bd83d9 100644 --- a/jmix-flowui/flowui-kit/src/main/java/io/jmix/flowui/kit/meta/action/StudioDataToolsActions.java +++ b/jmix-flowui/flowui-kit/src/main/java/io/jmix/flowui/kit/meta/action/StudioDataToolsActions.java @@ -26,6 +26,14 @@ interface StudioDataToolsActions { description = "Displays a dialog window with detailed information about the selected entity", classFqn = "io.jmix.datatoolsflowui.action.ShowEntityInfoAction", documentationLink = "%VERSION%/data-tools/entity-info-action.html", + propertyGroups = { + StudioPropertyGroups.ActionVariantWithDefaultDefaultValue.class, + StudioPropertyGroups.Description.class, + StudioPropertyGroups.EnabledWithTrueDefaultValue.class, + StudioPropertyGroups.LookAndFeelIcon.class, + StudioPropertyGroups.ShortcutCombination.class, + StudioPropertyGroups.Visible.class + }, properties = { @StudioProperty(xmlAttribute = "actionVariant", category = StudioProperty.Category.LOOK_AND_FEEL, type = StudioPropertyType.ENUMERATION, setMethod = "setVariant", classFqn = "io.jmix.flowui.kit.action.ActionVariant", diff --git a/jmix-flowui/flowui-kit/src/main/java/io/jmix/flowui/kit/meta/action/StudioGenericFilterActions.java b/jmix-flowui/flowui-kit/src/main/java/io/jmix/flowui/kit/meta/action/StudioGenericFilterActions.java index 75f4a3f302..93046b3325 100644 --- a/jmix-flowui/flowui-kit/src/main/java/io/jmix/flowui/kit/meta/action/StudioGenericFilterActions.java +++ b/jmix-flowui/flowui-kit/src/main/java/io/jmix/flowui/kit/meta/action/StudioGenericFilterActions.java @@ -25,6 +25,14 @@ interface StudioGenericFilterActions { type = "genericFilter_addCondition", description = "Adds condition to current filter configuration", classFqn = "io.jmix.flowui.action.genericfilter.GenericFilterAddConditionAction", + propertyGroups = { + StudioPropertyGroups.ActionVariantWithDefaultDefaultValue.class, + StudioPropertyGroups.Description.class, + StudioPropertyGroups.EnabledWithTrueDefaultValue.class, + StudioPropertyGroups.ShortcutCombination.class, + StudioPropertyGroups.Text.class, + StudioPropertyGroups.Visible.class + }, properties = { @StudioProperty(xmlAttribute = "actionVariant", category = StudioProperty.Category.LOOK_AND_FEEL, type = StudioPropertyType.ENUMERATION, setMethod = "setVariant", classFqn = "io.jmix.flowui.kit.action.ActionVariant", @@ -46,7 +54,14 @@ interface StudioGenericFilterActions { type = "genericFilter_clearValues", description = "Clears the filter condition values", classFqn = "io.jmix.flowui.action.genericfilter.GenericFilterClearValuesAction", - + propertyGroups = { + StudioPropertyGroups.ActionVariantWithDefaultDefaultValue.class, + StudioPropertyGroups.Description.class, + StudioPropertyGroups.EnabledWithTrueDefaultValue.class, + StudioPropertyGroups.ShortcutCombination.class, + StudioPropertyGroups.Text.class, + StudioPropertyGroups.Visible.class + }, properties = { @StudioProperty(xmlAttribute = "actionVariant", category = StudioProperty.Category.LOOK_AND_FEEL, type = StudioPropertyType.ENUMERATION, setMethod = "setVariant", classFqn = "io.jmix.flowui.kit.action.ActionVariant", @@ -68,6 +83,14 @@ interface StudioGenericFilterActions { type = "genericFilter_copy", description = "Copies all conditions from design-time configuration to run-time configuration", classFqn = "io.jmix.flowui.action.genericfilter.GenericFilterCopyAction", + propertyGroups = { + StudioPropertyGroups.ActionVariantWithDefaultDefaultValue.class, + StudioPropertyGroups.Description.class, + StudioPropertyGroups.EnabledWithTrueDefaultValue.class, + StudioPropertyGroups.ShortcutCombination.class, + StudioPropertyGroups.Text.class, + StudioPropertyGroups.Visible.class + }, properties = { @StudioProperty(xmlAttribute = "actionVariant", category = StudioProperty.Category.LOOK_AND_FEEL, type = StudioPropertyType.ENUMERATION, setMethod = "setVariant", classFqn = "io.jmix.flowui.kit.action.ActionVariant", @@ -89,6 +112,14 @@ interface StudioGenericFilterActions { type = "genericFilter_edit", description = "Edits current configuration", classFqn = "io.jmix.flowui.action.genericfilter.GenericFilterEditAction", + propertyGroups = { + StudioPropertyGroups.ActionVariantWithDefaultDefaultValue.class, + StudioPropertyGroups.Description.class, + StudioPropertyGroups.EnabledWithTrueDefaultValue.class, + StudioPropertyGroups.ShortcutCombination.class, + StudioPropertyGroups.Text.class, + StudioPropertyGroups.Visible.class + }, properties = { @StudioProperty(xmlAttribute = "actionVariant", category = StudioProperty.Category.LOOK_AND_FEEL, type = StudioPropertyType.ENUMERATION, setMethod = "setVariant", classFqn = "io.jmix.flowui.kit.action.ActionVariant", @@ -110,6 +141,15 @@ interface StudioGenericFilterActions { type = "genericFilter_reset", description = "Resets current configuration", classFqn = "io.jmix.flowui.action.genericfilter.GenericFilterResetAction", + propertyGroups = { + StudioPropertyGroups.ActionVariantWithDefaultDefaultValue.class, + StudioPropertyGroups.Description.class, + StudioPropertyGroups.EnabledWithTrueDefaultValue.class, + StudioPropertyGroups.LookAndFeelIcon.class, + StudioPropertyGroups.ShortcutCombination.class, + StudioPropertyGroups.Text.class, + StudioPropertyGroups.Visible.class + }, properties = { @StudioProperty(xmlAttribute = "actionVariant", category = StudioProperty.Category.LOOK_AND_FEEL, type = StudioPropertyType.ENUMERATION, setMethod = "setVariant", classFqn = "io.jmix.flowui.kit.action.ActionVariant", diff --git a/jmix-flowui/flowui-kit/src/main/java/io/jmix/flowui/kit/meta/action/StudioGenericFilterDataActions.java b/jmix-flowui/flowui-kit/src/main/java/io/jmix/flowui/kit/meta/action/StudioGenericFilterDataActions.java index 104b20141b..e347b82930 100644 --- a/jmix-flowui/flowui-kit/src/main/java/io/jmix/flowui/kit/meta/action/StudioGenericFilterDataActions.java +++ b/jmix-flowui/flowui-kit/src/main/java/io/jmix/flowui/kit/meta/action/StudioGenericFilterDataActions.java @@ -25,6 +25,14 @@ interface StudioGenericFilterDataActions { type = "genericFilter_remove", description = "Removes current run-time filter configuration", classFqn = "io.jmix.flowuidata.action.genericfilter.GenericFilterRemoveAction", + propertyGroups = { + StudioPropertyGroups.ActionVariantWithDefaultDefaultValue.class, + StudioPropertyGroups.Description.class, + StudioPropertyGroups.EnabledWithTrueDefaultValue.class, + StudioPropertyGroups.ShortcutCombination.class, + StudioPropertyGroups.Text.class, + StudioPropertyGroups.Visible.class + }, properties = { @StudioProperty(xmlAttribute = "actionVariant", category = StudioProperty.Category.LOOK_AND_FEEL, type = StudioPropertyType.ENUMERATION, setMethod = "setVariant", classFqn = "io.jmix.flowui.kit.action.ActionVariant", @@ -46,6 +54,14 @@ interface StudioGenericFilterDataActions { type = "genericFilter_makeDefault", description = "Makes the filter configuration default for this view", classFqn = "io.jmix.flowuidata.action.genericfilter.GenericFilterMakeDefaultAction", + propertyGroups = { + StudioPropertyGroups.ActionVariantWithDefaultDefaultValue.class, + StudioPropertyGroups.Description.class, + StudioPropertyGroups.EnabledWithTrueDefaultValue.class, + StudioPropertyGroups.ShortcutCombination.class, + StudioPropertyGroups.Text.class, + StudioPropertyGroups.Visible.class + }, properties = { @StudioProperty(xmlAttribute = "actionVariant", category = StudioProperty.Category.LOOK_AND_FEEL, type = StudioPropertyType.ENUMERATION, setMethod = "setVariant", classFqn = "io.jmix.flowui.kit.action.ActionVariant", @@ -67,6 +83,14 @@ interface StudioGenericFilterDataActions { type = "genericFilter_save", description = "Saves changes to current filter configuration", classFqn = "io.jmix.flowuidata.action.genericfilter.GenericFilterSaveAction", + propertyGroups = { + StudioPropertyGroups.ActionVariantWithDefaultDefaultValue.class, + StudioPropertyGroups.Description.class, + StudioPropertyGroups.EnabledWithTrueDefaultValue.class, + StudioPropertyGroups.ShortcutCombination.class, + StudioPropertyGroups.Text.class, + StudioPropertyGroups.Visible.class + }, properties = { @StudioProperty(xmlAttribute = "actionVariant", category = StudioProperty.Category.LOOK_AND_FEEL, type = StudioPropertyType.ENUMERATION, setMethod = "setVariant", classFqn = "io.jmix.flowui.kit.action.ActionVariant", @@ -88,6 +112,14 @@ interface StudioGenericFilterDataActions { type = "genericFilter_saveAs", description = "Saves current filter configuration under a new id and name", classFqn = "io.jmix.flowuidata.action.genericfilter.GenericFilterSaveAsAction", + propertyGroups = { + StudioPropertyGroups.ActionVariantWithDefaultDefaultValue.class, + StudioPropertyGroups.Description.class, + StudioPropertyGroups.EnabledWithTrueDefaultValue.class, + StudioPropertyGroups.ShortcutCombination.class, + StudioPropertyGroups.Text.class, + StudioPropertyGroups.Visible.class + }, properties = { @StudioProperty(xmlAttribute = "actionVariant", category = StudioProperty.Category.LOOK_AND_FEEL, type = StudioPropertyType.ENUMERATION, setMethod = "setVariant", classFqn = "io.jmix.flowui.kit.action.ActionVariant", @@ -109,6 +141,14 @@ interface StudioGenericFilterDataActions { type = "genericFilter_saveWithValues", description = "Saves changes to current filter configuration using the values in filter components as default values", classFqn = "io.jmix.flowuidata.action.genericfilter.GenericFilterSaveWithValuesAction", + propertyGroups = { + StudioPropertyGroups.ActionVariantWithDefaultDefaultValue.class, + StudioPropertyGroups.Description.class, + StudioPropertyGroups.EnabledWithTrueDefaultValue.class, + StudioPropertyGroups.ShortcutCombination.class, + StudioPropertyGroups.Text.class, + StudioPropertyGroups.Visible.class + }, properties = { @StudioProperty(xmlAttribute = "actionVariant", category = StudioProperty.Category.LOOK_AND_FEEL, type = StudioPropertyType.ENUMERATION, setMethod = "setVariant", classFqn = "io.jmix.flowui.kit.action.ActionVariant", diff --git a/jmix-flowui/flowui-kit/src/main/java/io/jmix/flowui/kit/meta/action/StudioGridExportActions.java b/jmix-flowui/flowui-kit/src/main/java/io/jmix/flowui/kit/meta/action/StudioGridExportActions.java index 0eef94e08c..6a4003b3eb 100644 --- a/jmix-flowui/flowui-kit/src/main/java/io/jmix/flowui/kit/meta/action/StudioGridExportActions.java +++ b/jmix-flowui/flowui-kit/src/main/java/io/jmix/flowui/kit/meta/action/StudioGridExportActions.java @@ -21,6 +21,7 @@ import io.jmix.flowui.kit.meta.StudioProperty; import io.jmix.flowui.kit.meta.StudioPropertyType; import io.jmix.flowui.kit.meta.StudioUiKit; +import io.jmix.flowui.kit.meta.StudioPropertyGroups; @StudioUiKit(requiredDependencies = "io.jmix.gridexport:jmix-gridexport-flowui-starter") interface StudioGridExportActions { @@ -32,6 +33,13 @@ interface StudioGridExportActions { target = {"io.jmix.flowui.component.ListDataComponent"}, documentationLink = "%VERSION%/grid-export/index.html", availableInViewWizard = true, + propertyGroups = { + StudioPropertyGroups.ActionVariantWithDefaultDefaultValue.class, + StudioPropertyGroups.Description.class, + StudioPropertyGroups.EnabledWithTrueDefaultValue.class, + StudioPropertyGroups.ShortcutCombination.class, + StudioPropertyGroups.Visible.class + }, properties = { @StudioProperty(xmlAttribute = "actionVariant", category = StudioProperty.Category.LOOK_AND_FEEL, type = StudioPropertyType.ENUMERATION, setMethod = "setVariant", classFqn = "io.jmix.flowui.kit.action.ActionVariant", @@ -64,6 +72,13 @@ interface StudioGridExportActions { target = {"io.jmix.flowui.component.ListDataComponent"}, documentationLink = "%VERSION%/grid-export/index.html", availableInViewWizard = true, + propertyGroups = { + StudioPropertyGroups.ActionVariantWithDefaultDefaultValue.class, + StudioPropertyGroups.Description.class, + StudioPropertyGroups.EnabledWithTrueDefaultValue.class, + StudioPropertyGroups.ShortcutCombination.class, + StudioPropertyGroups.Visible.class + }, properties = { @StudioProperty(xmlAttribute = "actionVariant", category = StudioProperty.Category.LOOK_AND_FEEL, type = StudioPropertyType.ENUMERATION, setMethod = "setVariant", classFqn = "io.jmix.flowui.kit.action.ActionVariant", diff --git a/jmix-flowui/flowui-kit/src/main/java/io/jmix/flowui/kit/meta/action/StudioListDataComponentActions.java b/jmix-flowui/flowui-kit/src/main/java/io/jmix/flowui/kit/meta/action/StudioListDataComponentActions.java index f0dc4bc9a8..e3acb2a16c 100644 --- a/jmix-flowui/flowui-kit/src/main/java/io/jmix/flowui/kit/meta/action/StudioListDataComponentActions.java +++ b/jmix-flowui/flowui-kit/src/main/java/io/jmix/flowui/kit/meta/action/StudioListDataComponentActions.java @@ -21,6 +21,7 @@ import io.jmix.flowui.kit.meta.StudioProperty; import io.jmix.flowui.kit.meta.StudioPropertyType; import io.jmix.flowui.kit.meta.StudioUiKit; +import io.jmix.flowui.kit.meta.StudioPropertyGroups; @StudioUiKit interface StudioListDataComponentActions { @@ -31,6 +32,13 @@ interface StudioListDataComponentActions { classFqn = "io.jmix.flowui.action.list.CreateAction", documentationLink = "%VERSION%/flow-ui/actions/list-actions.html#list_create", availableInViewWizard = true, + propertyGroups = { + StudioPropertyGroups.ActionVariantWithPrimaryDefaultValue.class, + StudioPropertyGroups.Description.class, + StudioPropertyGroups.EnabledWithTrueDefaultValue.class, + StudioPropertyGroups.ShortcutCombination.class, + StudioPropertyGroups.Visible.class + }, properties = { @StudioProperty(xmlAttribute = "actionVariant", category = StudioProperty.Category.LOOK_AND_FEEL, type = StudioPropertyType.ENUMERATION, setMethod = "setVariant", classFqn = "io.jmix.flowui.kit.action.ActionVariant", @@ -62,6 +70,12 @@ interface StudioListDataComponentActions { classFqn = "io.jmix.flowui.action.list.EditAction", documentationLink = "%VERSION%/flow-ui/actions/list-actions.html#list_edit", availableInViewWizard = true, + propertyGroups = { + StudioPropertyGroups.ActionVariantWithDefaultDefaultValue.class, + StudioPropertyGroups.Description.class, + StudioPropertyGroups.EnabledWithTrueDefaultValue.class, + StudioPropertyGroups.Visible.class + }, properties = { @StudioProperty(xmlAttribute = "actionVariant", category = StudioProperty.Category.LOOK_AND_FEEL, type = StudioPropertyType.ENUMERATION, setMethod = "setVariant", classFqn = "io.jmix.flowui.kit.action.ActionVariant", @@ -94,6 +108,13 @@ interface StudioListDataComponentActions { classFqn = "io.jmix.flowui.action.list.RemoveAction", documentationLink = "%VERSION%/flow-ui/actions/list-actions.html#list_remove", availableInViewWizard = true, + propertyGroups = { + StudioPropertyGroups.ActionVariantWithDangerDefaultValue.class, + StudioPropertyGroups.Description.class, + StudioPropertyGroups.EnabledWithTrueDefaultValue.class, + StudioPropertyGroups.ShortcutCombination.class, + StudioPropertyGroups.Visible.class + }, properties = { @StudioProperty(xmlAttribute = "actionVariant", category = StudioProperty.Category.LOOK_AND_FEEL, type = StudioPropertyType.ENUMERATION, setMethod = "setVariant", classFqn = "io.jmix.flowui.kit.action.ActionVariant", @@ -124,6 +145,13 @@ interface StudioListDataComponentActions { classFqn = "io.jmix.flowui.action.list.AddAction", documentationLink = "%VERSION%/flow-ui/actions/list-actions.html#list_add", availableInViewWizard = true, + propertyGroups = { + StudioPropertyGroups.ActionVariantWithPrimaryDefaultValue.class, + StudioPropertyGroups.Description.class, + StudioPropertyGroups.EnabledWithTrueDefaultValue.class, + StudioPropertyGroups.ShortcutCombination.class, + StudioPropertyGroups.Visible.class + }, properties = { @StudioProperty(xmlAttribute = "actionVariant", category = StudioProperty.Category.LOOK_AND_FEEL, type = StudioPropertyType.ENUMERATION, setMethod = "setVariant", classFqn = "io.jmix.flowui.kit.action.ActionVariant", @@ -152,6 +180,13 @@ interface StudioListDataComponentActions { classFqn = "io.jmix.flowui.action.list.ExcludeAction", documentationLink = "%VERSION%/flow-ui/actions/list-actions.html#list_exclude", availableInViewWizard = true, + propertyGroups = { + StudioPropertyGroups.ActionVariantWithDangerDefaultValue.class, + StudioPropertyGroups.Description.class, + StudioPropertyGroups.EnabledWithTrueDefaultValue.class, + StudioPropertyGroups.ShortcutCombination.class, + StudioPropertyGroups.Visible.class + }, properties = { @StudioProperty(xmlAttribute = "actionVariant", category = StudioProperty.Category.LOOK_AND_FEEL, type = StudioPropertyType.ENUMERATION, setMethod = "setVariant", classFqn = "io.jmix.flowui.kit.action.ActionVariant", @@ -182,6 +217,12 @@ interface StudioListDataComponentActions { classFqn = "io.jmix.flowui.action.list.ReadAction", documentationLink = "%VERSION%/flow-ui/actions/list-actions.html#list_read", availableInViewWizard = true, + propertyGroups = { + StudioPropertyGroups.ActionVariantWithDefaultDefaultValue.class, + StudioPropertyGroups.Description.class, + StudioPropertyGroups.EnabledWithTrueDefaultValue.class, + StudioPropertyGroups.Visible.class + }, properties = { @StudioProperty(xmlAttribute = "actionVariant", category = StudioProperty.Category.LOOK_AND_FEEL, type = StudioPropertyType.ENUMERATION, setMethod = "setVariant", classFqn = "io.jmix.flowui.kit.action.ActionVariant", @@ -214,6 +255,13 @@ interface StudioListDataComponentActions { classFqn = "io.jmix.flowui.action.list.RefreshAction", documentationLink = "%VERSION%/flow-ui/actions/list-actions.html#list_refresh", availableInViewWizard = true, + propertyGroups = { + StudioPropertyGroups.ActionVariantWithDefaultDefaultValue.class, + StudioPropertyGroups.Description.class, + StudioPropertyGroups.EnabledWithTrueDefaultValue.class, + StudioPropertyGroups.ShortcutCombination.class, + StudioPropertyGroups.Visible.class + }, properties = { @StudioProperty(xmlAttribute = "actionVariant", category = StudioProperty.Category.LOOK_AND_FEEL, type = StudioPropertyType.ENUMERATION, setMethod = "setVariant", classFqn = "io.jmix.flowui.kit.action.ActionVariant", @@ -236,6 +284,15 @@ interface StudioListDataComponentActions { type = "list_itemTracking", description = "Tracks the selected item from the bound ListDataComponent", classFqn = "io.jmix.flowui.action.list.ItemTrackingAction", + propertyGroups = { + StudioPropertyGroups.ActionVariantWithDefaultDefaultValue.class, + StudioPropertyGroups.Description.class, + StudioPropertyGroups.EnabledWithTrueDefaultValue.class, + StudioPropertyGroups.LookAndFeelIcon.class, + StudioPropertyGroups.ShortcutCombination.class, + StudioPropertyGroups.Text.class, + StudioPropertyGroups.Visible.class + }, properties = { @StudioProperty(xmlAttribute = "actionVariant", category = StudioProperty.Category.LOOK_AND_FEEL, type = StudioPropertyType.ENUMERATION, setMethod = "setVariant", classFqn = "io.jmix.flowui.kit.action.ActionVariant", diff --git a/jmix-flowui/flowui-kit/src/main/java/io/jmix/flowui/kit/meta/action/StudioMainViewActions.java b/jmix-flowui/flowui-kit/src/main/java/io/jmix/flowui/kit/meta/action/StudioMainViewActions.java index f47f98f422..86d9bf486a 100644 --- a/jmix-flowui/flowui-kit/src/main/java/io/jmix/flowui/kit/meta/action/StudioMainViewActions.java +++ b/jmix-flowui/flowui-kit/src/main/java/io/jmix/flowui/kit/meta/action/StudioMainViewActions.java @@ -20,6 +20,7 @@ import io.jmix.flowui.kit.meta.StudioProperty; import io.jmix.flowui.kit.meta.StudioPropertyType; import io.jmix.flowui.kit.meta.StudioUiKit; +import io.jmix.flowui.kit.meta.StudioPropertyGroups; @StudioUiKit interface StudioMainViewActions { @@ -28,6 +29,13 @@ interface StudioMainViewActions { type = "logout", description = "Logouts from application", classFqn = "io.jmix.flowui.action.security.LogoutAction", + propertyGroups = { + StudioPropertyGroups.ActionVariantWithDefaultDefaultValue.class, + StudioPropertyGroups.Description.class, + StudioPropertyGroups.EnabledWithTrueDefaultValue.class, + StudioPropertyGroups.ShortcutCombination.class, + StudioPropertyGroups.Visible.class + }, properties = { @StudioProperty(xmlAttribute = "actionVariant", category = StudioProperty.Category.LOOK_AND_FEEL, type = StudioPropertyType.ENUMERATION, setMethod = "setVariant", classFqn = "io.jmix.flowui.kit.action.ActionVariant", diff --git a/jmix-flowui/flowui-kit/src/main/java/io/jmix/flowui/kit/meta/action/StudioPickerActions.java b/jmix-flowui/flowui-kit/src/main/java/io/jmix/flowui/kit/meta/action/StudioPickerActions.java index 6df257baef..bb45963318 100644 --- a/jmix-flowui/flowui-kit/src/main/java/io/jmix/flowui/kit/meta/action/StudioPickerActions.java +++ b/jmix-flowui/flowui-kit/src/main/java/io/jmix/flowui/kit/meta/action/StudioPickerActions.java @@ -30,6 +30,15 @@ interface StudioPickerActions { "io.jmix.flowui.component.ListDataComponent" }, documentationLink = "%VERSION%/flow-ui/actions/declarative-actions.html", + propertyGroups = { + StudioPropertyGroups.ActionVariantWithDefaultDefaultValue.class, + StudioPropertyGroups.Description.class, + StudioPropertyGroups.EnabledWithTrueDefaultValue.class, + StudioPropertyGroups.RequiredId.class, + StudioPropertyGroups.ShortcutCombination.class, + StudioPropertyGroups.Text.class, + StudioPropertyGroups.Visible.class + }, properties = { @StudioProperty(xmlAttribute = "actionVariant", category = StudioProperty.Category.LOOK_AND_FEEL, type = StudioPropertyType.ENUMERATION, setMethod = "setVariant", classFqn = "io.jmix.flowui.kit.action.ActionVariant", @@ -52,6 +61,13 @@ interface StudioPickerActions { description = "Clears the value of picker component", classFqn = "io.jmix.flowui.action.valuepicker.ValueClearAction", documentationLink = "%VERSION%/flow-ui/actions/value-picker-actions.html#value_clear", + propertyGroups = { + StudioPropertyGroups.ActionVariantWithDefaultDefaultValue.class, + StudioPropertyGroups.Description.class, + StudioPropertyGroups.EnabledWithTrueDefaultValue.class, + StudioPropertyGroups.ShortcutCombination.class, + StudioPropertyGroups.Visible.class + }, properties = { @StudioProperty(xmlAttribute = "actionVariant", category = StudioProperty.Category.LOOK_AND_FEEL, type = StudioPropertyType.ENUMERATION, setMethod = "setVariant", classFqn = "io.jmix.flowui.kit.action.ActionVariant", @@ -81,6 +97,13 @@ interface StudioPickerActions { "io.jmix.flowui.component.valuepicker.JmixMultiValuePicker" }, documentationLink = "%VERSION%/flow-ui/actions/entity-picker-actions.html#entity_clear", + propertyGroups = { + StudioPropertyGroups.ActionVariantWithDefaultDefaultValue.class, + StudioPropertyGroups.Description.class, + StudioPropertyGroups.EnabledWithTrueDefaultValue.class, + StudioPropertyGroups.ShortcutCombination.class, + StudioPropertyGroups.Visible.class + }, properties = { @StudioProperty(xmlAttribute = "actionVariant", category = StudioProperty.Category.LOOK_AND_FEEL, type = StudioPropertyType.ENUMERATION, setMethod = "setVariant", classFqn = "io.jmix.flowui.kit.action.ActionVariant", @@ -110,6 +133,13 @@ interface StudioPickerActions { "io.jmix.flowui.component.valuepicker.JmixMultiValuePicker" }, documentationLink = "%VERSION%/flow-ui/actions/entity-picker-actions.html#entity_lookup", + propertyGroups = { + StudioPropertyGroups.ActionVariantWithDefaultDefaultValue.class, + StudioPropertyGroups.Description.class, + StudioPropertyGroups.EnabledWithTrueDefaultValue.class, + StudioPropertyGroups.ShortcutCombination.class, + StudioPropertyGroups.Visible.class + }, properties = { @StudioProperty(xmlAttribute = "actionVariant", category = StudioProperty.Category.LOOK_AND_FEEL, type = StudioPropertyType.ENUMERATION, setMethod = "setVariant", classFqn = "io.jmix.flowui.kit.action.ActionVariant", @@ -143,6 +173,13 @@ interface StudioPickerActions { "io.jmix.flowui.component.valuepicker.JmixMultiValuePicker" }, documentationLink = "%VERSION%/flow-ui/actions/entity-picker-actions.html#entity_open", + propertyGroups = { + StudioPropertyGroups.ActionVariantWithDefaultDefaultValue.class, + StudioPropertyGroups.Description.class, + StudioPropertyGroups.EnabledWithTrueDefaultValue.class, + StudioPropertyGroups.ShortcutCombination.class, + StudioPropertyGroups.Visible.class + }, properties = { @StudioProperty(xmlAttribute = "actionVariant", category = StudioProperty.Category.LOOK_AND_FEEL, type = StudioPropertyType.ENUMERATION, setMethod = "setVariant", classFqn = "io.jmix.flowui.kit.action.ActionVariant", @@ -176,6 +213,13 @@ interface StudioPickerActions { "io.jmix.flowui.component.valuepicker.JmixMultiValuePicker" }, documentationLink = "%VERSION%/flow-ui/actions/entity-picker-actions.html#entity_openComposition", + propertyGroups = { + StudioPropertyGroups.ActionVariantWithDefaultDefaultValue.class, + StudioPropertyGroups.Description.class, + StudioPropertyGroups.EnabledWithTrueDefaultValue.class, + StudioPropertyGroups.ShortcutCombination.class, + StudioPropertyGroups.Visible.class + }, properties = { @StudioProperty(xmlAttribute = "actionVariant", category = StudioProperty.Category.LOOK_AND_FEEL, type = StudioPropertyType.ENUMERATION, setMethod = "setVariant", classFqn = "io.jmix.flowui.kit.action.ActionVariant", @@ -204,6 +248,13 @@ interface StudioPickerActions { classFqn = "io.jmix.flowui.action.multivaluepicker.MultiValueSelectAction", target = {"io.jmix.flowui.component.valuepicker.JmixMultiValuePicker"}, documentationLink = "%VERSION%/flow-ui/actions/value-picker-actions.html#multi_value_select", + propertyGroups = { + StudioPropertyGroups.ActionVariantWithDefaultDefaultValue.class, + StudioPropertyGroups.Description.class, + StudioPropertyGroups.EnabledWithTrueDefaultValue.class, + StudioPropertyGroups.ShortcutCombination.class, + StudioPropertyGroups.Visible.class + }, properties = { @StudioProperty(xmlAttribute = "actionVariant", category = StudioProperty.Category.LOOK_AND_FEEL, type = StudioPropertyType.ENUMERATION, setMethod = "setVariant", classFqn = "io.jmix.flowui.kit.action.ActionVariant", diff --git a/jmix-flowui/flowui-kit/src/main/java/io/jmix/flowui/kit/meta/action/StudioReportsActions.java b/jmix-flowui/flowui-kit/src/main/java/io/jmix/flowui/kit/meta/action/StudioReportsActions.java index 93858dd20b..0d0b2a1bb0 100644 --- a/jmix-flowui/flowui-kit/src/main/java/io/jmix/flowui/kit/meta/action/StudioReportsActions.java +++ b/jmix-flowui/flowui-kit/src/main/java/io/jmix/flowui/kit/meta/action/StudioReportsActions.java @@ -25,8 +25,17 @@ interface StudioReportsActions { type = "report_runReport", description = "A standard action that displays the list of all available reports.", classFqn = "io.jmix.reportsflowui.action.RunReportAction", - target = {"io.jmix.flowui.action.list.ListDataComponentAction"}, + propertyGroups = { + StudioPropertyGroups.ActionVariantWithDefaultDefaultValue.class, + StudioPropertyGroups.Description.class, + StudioPropertyGroups.EnabledWithTrueDefaultValue.class, + StudioPropertyGroups.LookAndFeelIcon.class, + StudioPropertyGroups.RequiredId.class, + StudioPropertyGroups.ShortcutCombination.class, + StudioPropertyGroups.Text.class, + StudioPropertyGroups.Visible.class + }, properties = { @StudioProperty(xmlAttribute = "actionVariant", category = StudioProperty.Category.LOOK_AND_FEEL, type = StudioPropertyType.ENUMERATION, setMethod = "setVariant", classFqn = "io.jmix.flowui.kit.action.ActionVariant", @@ -49,8 +58,17 @@ interface StudioReportsActions { type = "report_runSingleEntityReport", description = "A standard action for printing reports for entity instance.", classFqn = "io.jmix.reportsflowui.action.RunSingleEntityReportAction", - target = {"io.jmix.flowui.action.view.OperationResultViewAction"}, + propertyGroups = { + StudioPropertyGroups.ActionVariantWithDefaultDefaultValue.class, + StudioPropertyGroups.Description.class, + StudioPropertyGroups.EnabledWithTrueDefaultValue.class, + StudioPropertyGroups.LookAndFeelIcon.class, + StudioPropertyGroups.RequiredId.class, + StudioPropertyGroups.ShortcutCombination.class, + StudioPropertyGroups.Text.class, + StudioPropertyGroups.Visible.class + }, properties = { @StudioProperty(xmlAttribute = "actionVariant", category = StudioProperty.Category.LOOK_AND_FEEL, type = StudioPropertyType.ENUMERATION, setMethod = "setVariant", classFqn = "io.jmix.flowui.kit.action.ActionVariant", @@ -73,8 +91,17 @@ interface StudioReportsActions { type = "report_runListEntityReport", description = "A standard action for printing reports for entity instances associated with a list component (Table, DataGrid, etc.).", classFqn = "io.jmix.reportsflowui.action.RunListEntityReportAction", - target = {"io.jmix.flowui.action.list.ListDataComponentAction"}, + propertyGroups = { + StudioPropertyGroups.ActionVariantWithDefaultDefaultValue.class, + StudioPropertyGroups.Description.class, + StudioPropertyGroups.EnabledWithTrueDefaultValue.class, + StudioPropertyGroups.LookAndFeelIcon.class, + StudioPropertyGroups.RequiredId.class, + StudioPropertyGroups.ShortcutCombination.class, + StudioPropertyGroups.Text.class, + StudioPropertyGroups.Visible.class + }, properties = { @StudioProperty(xmlAttribute = "actionVariant", category = StudioProperty.Category.LOOK_AND_FEEL, type = StudioPropertyType.ENUMERATION, setMethod = "setVariant", classFqn = "io.jmix.flowui.kit.action.ActionVariant", @@ -96,8 +123,17 @@ interface StudioReportsActions { type = "report_showExecutionReportHistory", description = "A standard action for displaying the report execution history.", classFqn = "io.jmix.reportsflowui.action.ShowExecutionReportHistoryAction", - target = {"io.jmix.flowui.action.list.ListDataComponentAction"}, + propertyGroups = { + StudioPropertyGroups.ActionVariantWithDefaultDefaultValue.class, + StudioPropertyGroups.Description.class, + StudioPropertyGroups.EnabledWithTrueDefaultValue.class, + StudioPropertyGroups.LookAndFeelIcon.class, + StudioPropertyGroups.RequiredId.class, + StudioPropertyGroups.ShortcutCombination.class, + StudioPropertyGroups.Text.class, + StudioPropertyGroups.Visible.class + }, properties = { @StudioProperty(xmlAttribute = "actionVariant", category = StudioProperty.Category.LOOK_AND_FEEL, type = StudioPropertyType.ENUMERATION, setMethod = "setVariant", classFqn = "io.jmix.flowui.kit.action.ActionVariant", diff --git a/jmix-flowui/flowui-kit/src/main/java/io/jmix/flowui/kit/meta/action/StudioSecurityActions.java b/jmix-flowui/flowui-kit/src/main/java/io/jmix/flowui/kit/meta/action/StudioSecurityActions.java index 53447a9a13..e0525d6d32 100644 --- a/jmix-flowui/flowui-kit/src/main/java/io/jmix/flowui/kit/meta/action/StudioSecurityActions.java +++ b/jmix-flowui/flowui-kit/src/main/java/io/jmix/flowui/kit/meta/action/StudioSecurityActions.java @@ -20,6 +20,7 @@ import io.jmix.flowui.kit.meta.StudioProperty; import io.jmix.flowui.kit.meta.StudioPropertyType; import io.jmix.flowui.kit.meta.StudioUiKit; +import io.jmix.flowui.kit.meta.StudioPropertyGroups; @StudioUiKit(requiredDependencies = "io.jmix.security:jmix-security-flowui-starter") interface StudioSecurityActions { @@ -28,7 +29,13 @@ interface StudioSecurityActions { type = "sec_showRoleAssignments", description = "Shows the role assignments for the UserDetails instance", classFqn = "io.jmix.securityflowui.action.ShowRoleAssignmentsAction", - + propertyGroups = { + StudioPropertyGroups.ActionVariantWithDefaultDefaultValue.class, + StudioPropertyGroups.Description.class, + StudioPropertyGroups.EnabledWithTrueDefaultValue.class, + StudioPropertyGroups.ShortcutCombination.class, + StudioPropertyGroups.Visible.class + }, properties = { @StudioProperty(xmlAttribute = "actionVariant", category = StudioProperty.Category.LOOK_AND_FEEL, type = StudioPropertyType.ENUMERATION, setMethod = "setVariant", classFqn = "io.jmix.flowui.kit.action.ActionVariant", @@ -53,7 +60,13 @@ interface StudioSecurityActions { type = "sec_showUserSubstitutions", description = "Shows the user substitutions", classFqn = "io.jmix.securityflowui.action.ShowUserSubstitutionsAction", - + propertyGroups = { + StudioPropertyGroups.ActionVariantWithDefaultDefaultValue.class, + StudioPropertyGroups.Description.class, + StudioPropertyGroups.EnabledWithTrueDefaultValue.class, + StudioPropertyGroups.ShortcutCombination.class, + StudioPropertyGroups.Visible.class + }, properties = { @StudioProperty(xmlAttribute = "actionVariant", category = StudioProperty.Category.LOOK_AND_FEEL, type = StudioPropertyType.ENUMERATION, setMethod = "setVariant", classFqn = "io.jmix.flowui.kit.action.ActionVariant", @@ -77,7 +90,13 @@ interface StudioSecurityActions { type = "sec_assignToUsers", description = "Assign the role to selected users", classFqn = "io.jmix.securityflowui.action.AssignToUsersAction", - + propertyGroups = { + StudioPropertyGroups.ActionVariantWithDefaultDefaultValue.class, + StudioPropertyGroups.Description.class, + StudioPropertyGroups.EnabledWithTrueDefaultValue.class, + StudioPropertyGroups.ShortcutCombination.class, + StudioPropertyGroups.Visible.class + }, properties = { @StudioProperty(xmlAttribute = "actionVariant", category = StudioProperty.Category.LOOK_AND_FEEL, type = StudioPropertyType.ENUMERATION, setMethod = "setVariant", classFqn = "io.jmix.flowui.kit.action.ActionVariant", @@ -101,7 +120,14 @@ interface StudioSecurityActions { type = "sec_changePassword", description = "Changes the password of the UserDetails instance", classFqn = "io.jmix.securityflowui.action.ChangePasswordAction", - + propertyGroups = { + StudioPropertyGroups.ActionVariantWithDefaultDefaultValue.class, + StudioPropertyGroups.Description.class, + StudioPropertyGroups.EnabledWithTrueDefaultValue.class, + StudioPropertyGroups.LookAndFeelIcon.class, + StudioPropertyGroups.ShortcutCombination.class, + StudioPropertyGroups.Visible.class + }, properties = { @StudioProperty(xmlAttribute = "actionVariant", category = StudioProperty.Category.LOOK_AND_FEEL, type = StudioPropertyType.ENUMERATION, setMethod = "setVariant", classFqn = "io.jmix.flowui.kit.action.ActionVariant", @@ -125,7 +151,14 @@ interface StudioSecurityActions { type = "sec_resetPassword", description = "Resets the password of the UserDetails instance", classFqn = "io.jmix.securityflowui.action.ResetPasswordAction", - + propertyGroups = { + StudioPropertyGroups.ActionVariantWithDefaultDefaultValue.class, + StudioPropertyGroups.Description.class, + StudioPropertyGroups.EnabledWithTrueDefaultValue.class, + StudioPropertyGroups.LookAndFeelIcon.class, + StudioPropertyGroups.ShortcutCombination.class, + StudioPropertyGroups.Visible.class + }, properties = { @StudioProperty(xmlAttribute = "actionVariant", category = StudioProperty.Category.LOOK_AND_FEEL, type = StudioPropertyType.ENUMERATION, setMethod = "setVariant", classFqn = "io.jmix.flowui.kit.action.ActionVariant", @@ -150,6 +183,13 @@ interface StudioSecurityActions { description = "An action that, depending on the number of substituted users, either opens a lookup view " + "to select a substituted user or shows a submenu with the substituted users.", classFqn = "io.jmix.securityflowui.action.UserMenuSubstituteUserAction", + propertyGroups = { + StudioPropertyGroups.Description.class, + StudioPropertyGroups.EnabledWithTrueDefaultValue.class, + StudioPropertyGroups.Visible.class, + StudioPropertyGroups.ShortcutCombination.class, + StudioPropertyGroups.ActionVariantWithDefaultDefaultValue.class + }, properties = { @StudioProperty(xmlAttribute = "id", category = StudioProperty.Category.GENERAL, type = StudioPropertyType.COMPONENT_ID, required = true, diff --git a/jmix-flowui/flowui-kit/src/main/java/io/jmix/flowui/kit/meta/action/StudioUserMenuActions.java b/jmix-flowui/flowui-kit/src/main/java/io/jmix/flowui/kit/meta/action/StudioUserMenuActions.java index 7c0774d580..ad8816e652 100644 --- a/jmix-flowui/flowui-kit/src/main/java/io/jmix/flowui/kit/meta/action/StudioUserMenuActions.java +++ b/jmix-flowui/flowui-kit/src/main/java/io/jmix/flowui/kit/meta/action/StudioUserMenuActions.java @@ -20,6 +20,7 @@ import io.jmix.flowui.kit.meta.StudioProperty; import io.jmix.flowui.kit.meta.StudioPropertyType; import io.jmix.flowui.kit.meta.StudioUiKit; +import io.jmix.flowui.kit.meta.StudioPropertyGroups; @StudioUiKit interface StudioUserMenuActions { @@ -30,6 +31,14 @@ interface StudioUserMenuActions { "'@JsModule(\"./src/theme/color-scheme-switching-support.js\")' " + "import to be added to the main application class", classFqn = "io.jmix.flowui.action.usermenu.UserMenuThemeSwitchAction", + propertyGroups = { + StudioPropertyGroups.ActionVariantWithDefaultDefaultValue.class, + StudioPropertyGroups.Description.class, + StudioPropertyGroups.EnabledWithTrueDefaultValue.class, + StudioPropertyGroups.LookAndFeelIcon.class, + StudioPropertyGroups.ShortcutCombination.class, + StudioPropertyGroups.Visible.class + }, properties = { @StudioProperty(xmlAttribute = "actionVariant", category = StudioProperty.Category.LOOK_AND_FEEL, type = StudioPropertyType.ENUMERATION, setMethod = "setVariant", classFqn = "io.jmix.flowui.kit.action.ActionVariant", diff --git a/jmix-flowui/flowui-kit/src/main/java/io/jmix/flowui/kit/meta/action/StudioViewActions.java b/jmix-flowui/flowui-kit/src/main/java/io/jmix/flowui/kit/meta/action/StudioViewActions.java index f8fb16870b..dcd5ac3f88 100644 --- a/jmix-flowui/flowui-kit/src/main/java/io/jmix/flowui/kit/meta/action/StudioViewActions.java +++ b/jmix-flowui/flowui-kit/src/main/java/io/jmix/flowui/kit/meta/action/StudioViewActions.java @@ -21,6 +21,7 @@ import io.jmix.flowui.kit.meta.StudioProperty; import io.jmix.flowui.kit.meta.StudioPropertyType; import io.jmix.flowui.kit.meta.StudioUiKit; +import io.jmix.flowui.kit.meta.StudioPropertyGroups; @StudioUiKit interface StudioViewActions { @@ -30,6 +31,13 @@ interface StudioViewActions { description = "Closes the view", classFqn = "io.jmix.flowui.action.view.ViewCloseAction", documentationLink = "%VERSION%/flow-ui/actions/view-actions.html#view_close", + propertyGroups = { + StudioPropertyGroups.ActionVariantWithDefaultDefaultValue.class, + StudioPropertyGroups.Description.class, + StudioPropertyGroups.EnabledWithTrueDefaultValue.class, + StudioPropertyGroups.ShortcutCombination.class, + StudioPropertyGroups.Visible.class + }, properties = { @StudioProperty(xmlAttribute = "actionVariant", category = StudioProperty.Category.LOOK_AND_FEEL, type = StudioPropertyType.ENUMERATION, setMethod = "setVariant", classFqn = "io.jmix.flowui.kit.action.ActionVariant", @@ -58,6 +66,13 @@ interface StudioViewActions { description = "Selects item in lookup view", classFqn = "io.jmix.flowui.action.view.LookupSelectAction", documentationLink = "%VERSION%/flow-ui/actions/view-actions.html#lookup_select", + propertyGroups = { + StudioPropertyGroups.ActionVariantWithPrimaryDefaultValue.class, + StudioPropertyGroups.Description.class, + StudioPropertyGroups.EnabledWithTrueDefaultValue.class, + StudioPropertyGroups.ShortcutCombination.class, + StudioPropertyGroups.Visible.class + }, properties = { @StudioProperty(xmlAttribute = "actionVariant", category = StudioProperty.Category.LOOK_AND_FEEL, type = StudioPropertyType.ENUMERATION, setMethod = "setVariant", classFqn = "io.jmix.flowui.kit.action.ActionVariant", @@ -81,6 +96,13 @@ interface StudioViewActions { description = "Discards selection in lookup view", classFqn = "io.jmix.flowui.action.view.LookupDiscardAction", documentationLink = "%VERSION%/flow-ui/actions/view-actions.html#lookup_discard", + propertyGroups = { + StudioPropertyGroups.ActionVariantWithDefaultDefaultValue.class, + StudioPropertyGroups.Description.class, + StudioPropertyGroups.EnabledWithTrueDefaultValue.class, + StudioPropertyGroups.ShortcutCombination.class, + StudioPropertyGroups.Visible.class + }, properties = { @StudioProperty(xmlAttribute = "actionVariant", category = StudioProperty.Category.LOOK_AND_FEEL, type = StudioPropertyType.ENUMERATION, setMethod = "setVariant", classFqn = "io.jmix.flowui.kit.action.ActionVariant", @@ -104,6 +126,13 @@ interface StudioViewActions { description = "Closes the detail view", classFqn = "io.jmix.flowui.action.view.DetailCloseAction", documentationLink = "%VERSION%/flow-ui/actions/view-actions.html#detail_close", + propertyGroups = { + StudioPropertyGroups.ActionVariantWithDefaultDefaultValue.class, + StudioPropertyGroups.Description.class, + StudioPropertyGroups.EnabledWithTrueDefaultValue.class, + StudioPropertyGroups.ShortcutCombination.class, + StudioPropertyGroups.Visible.class + }, properties = { @StudioProperty(xmlAttribute = "actionVariant", category = StudioProperty.Category.LOOK_AND_FEEL, type = StudioPropertyType.ENUMERATION, setMethod = "setVariant", classFqn = "io.jmix.flowui.kit.action.ActionVariant", @@ -127,6 +156,13 @@ interface StudioViewActions { description = "Saves changes in the detail view", classFqn = "io.jmix.flowui.action.view.DetailSaveAction", documentationLink = "%VERSION%/flow-ui/actions/view-actions.html#detail_save", + propertyGroups = { + StudioPropertyGroups.ActionVariantWithDefaultDefaultValue.class, + StudioPropertyGroups.Description.class, + StudioPropertyGroups.EnabledWithTrueDefaultValue.class, + StudioPropertyGroups.ShortcutCombination.class, + StudioPropertyGroups.Visible.class + }, properties = { @StudioProperty(xmlAttribute = "actionVariant", category = StudioProperty.Category.LOOK_AND_FEEL, type = StudioPropertyType.ENUMERATION, setMethod = "setVariant", classFqn = "io.jmix.flowui.kit.action.ActionVariant", @@ -150,6 +186,13 @@ interface StudioViewActions { description = "Saves changes and closes the detail view", classFqn = "io.jmix.flowui.action.view.DetailSaveCloseAction", documentationLink = "%VERSION%/flow-ui/actions/view-actions.html#detail_saveClose", + propertyGroups = { + StudioPropertyGroups.ActionVariantWithPrimaryDefaultValue.class, + StudioPropertyGroups.Description.class, + StudioPropertyGroups.EnabledWithTrueDefaultValue.class, + StudioPropertyGroups.ShortcutCombination.class, + StudioPropertyGroups.Visible.class + }, properties = { @StudioProperty(xmlAttribute = "actionVariant", category = StudioProperty.Category.LOOK_AND_FEEL, type = StudioPropertyType.ENUMERATION, setMethod = "setVariant", classFqn = "io.jmix.flowui.kit.action.ActionVariant", @@ -173,6 +216,13 @@ interface StudioViewActions { description = "Discards changes in the detail view", classFqn = "io.jmix.flowui.action.view.DetailDiscardAction", documentationLink = "%VERSION%/flow-ui/actions/view-actions.html#detail_discard", + propertyGroups = { + StudioPropertyGroups.ActionVariantWithDefaultDefaultValue.class, + StudioPropertyGroups.Description.class, + StudioPropertyGroups.EnabledWithTrueDefaultValue.class, + StudioPropertyGroups.ShortcutCombination.class, + StudioPropertyGroups.Visible.class + }, properties = { @StudioProperty(xmlAttribute = "actionVariant", category = StudioProperty.Category.LOOK_AND_FEEL, type = StudioPropertyType.ENUMERATION, setMethod = "setVariant", classFqn = "io.jmix.flowui.kit.action.ActionVariant", @@ -196,6 +246,13 @@ interface StudioViewActions { description = "Enables editing in the detail view", classFqn = "io.jmix.flowui.action.view.DetailEnableEditingAction", documentationLink = "%VERSION%/flow-ui/actions/view-actions.html#detail_enableEditing", + propertyGroups = { + StudioPropertyGroups.ActionVariantWithDefaultDefaultValue.class, + StudioPropertyGroups.Description.class, + StudioPropertyGroups.EnabledWithTrueDefaultValue.class, + StudioPropertyGroups.ShortcutCombination.class, + StudioPropertyGroups.Visible.class + }, properties = { @StudioProperty(xmlAttribute = "actionVariant", category = StudioProperty.Category.LOOK_AND_FEEL, type = StudioPropertyType.ENUMERATION, setMethod = "setVariant", classFqn = "io.jmix.flowui.kit.action.ActionVariant", diff --git a/jmix-flowui/flowui-kit/src/main/java/io/jmix/flowui/kit/meta/actionsgroup/StudioActionsGroups.java b/jmix-flowui/flowui-kit/src/main/java/io/jmix/flowui/kit/meta/actionsgroup/StudioActionsGroups.java index 92eff686ce..0b2065cc29 100644 --- a/jmix-flowui/flowui-kit/src/main/java/io/jmix/flowui/kit/meta/actionsgroup/StudioActionsGroups.java +++ b/jmix-flowui/flowui-kit/src/main/java/io/jmix/flowui/kit/meta/actionsgroup/StudioActionsGroups.java @@ -20,6 +20,7 @@ import io.jmix.flowui.kit.meta.StudioProperty; import io.jmix.flowui.kit.meta.StudioPropertyType; import io.jmix.flowui.kit.meta.StudioUiKit; +import io.jmix.flowui.kit.meta.StudioPropertyGroups; @StudioUiKit interface StudioActionsGroups { @@ -56,6 +57,9 @@ interface StudioActionsGroups { name = "Actions", actionClassFqn = "io.jmix.flowui.action.list.ListDataComponentAction", target = {"io.jmix.flowui.component.ListDataComponent"}, + propertyGroups = { + StudioPropertyGroups.ShowInContextMenuEnabled.class + }, properties = { @StudioProperty( xmlAttribute = "showInContextMenuEnabled", diff --git a/jmix-flowui/flowui-kit/src/main/java/io/jmix/flowui/kit/meta/component/StudioComponents.java b/jmix-flowui/flowui-kit/src/main/java/io/jmix/flowui/kit/meta/component/StudioComponents.java index 1b0944293d..3ce10127a4 100644 --- a/jmix-flowui/flowui-kit/src/main/java/io/jmix/flowui/kit/meta/component/StudioComponents.java +++ b/jmix-flowui/flowui-kit/src/main/java/io/jmix/flowui/kit/meta/component/StudioComponents.java @@ -78,6 +78,7 @@ interface StudioComponents { propertyGroups = { StudioPropertyGroups.AlignSelfAndJustifySelfAndColspan.class, StudioPropertyGroups.IdAndVisible.class, + StudioPropertyGroups.Css.class }, properties = { @StudioProperty(xmlAttribute = "id", category = StudioProperty.Category.GENERAL, type = StudioPropertyType.COMPONENT_ID), @@ -108,6 +109,7 @@ interface StudioComponents { propertyGroups = { StudioPropertyGroups.AlignSelfAndJustifySelfAndColspan.class, StudioPropertyGroups.IdAndVisible.class, + StudioPropertyGroups.Css.class }, properties = { @StudioProperty(xmlAttribute = "id", category = StudioProperty.Category.GENERAL, type = StudioPropertyType.COMPONENT_ID), @@ -141,6 +143,7 @@ interface StudioComponents { StudioPropertyGroups.ClassNamesAndCss.class, StudioPropertyGroups.IdAndVisible.class, StudioPropertyGroups.Size.class, + StudioPropertyGroups.Name.class }, properties = { @StudioProperty(xmlAttribute = "alignSelf", category = StudioProperty.Category.POSITION, type = StudioPropertyType.ENUMERATION, @@ -188,6 +191,9 @@ interface StudioComponents { StudioPropertyGroups.AlignSelfAndJustifySelfAndColspan.class, StudioPropertyGroups.ClassNamesAndCss.class, StudioPropertyGroups.IdAndVisible.class, + StudioPropertyGroups.ClickShortcut.class, + StudioPropertyGroups.Color.class, + StudioPropertyGroups.RequiredIcon.class, }, properties = { @StudioProperty(xmlAttribute = "alignSelf", category = StudioProperty.Category.POSITION, type = StudioPropertyType.ENUMERATION, @@ -226,6 +232,10 @@ interface StudioComponents { StudioPropertyGroups.AlignSelfAndJustifySelfAndColspan.class, StudioPropertyGroups.ClassNamesAndCss.class, StudioPropertyGroups.IdAndVisible.class, + StudioPropertyGroups.ClickShortcut.class, + StudioPropertyGroups.Color.class, + StudioPropertyGroups.Resource.class, + StudioPropertyGroups.Symbol.class }, properties = { @StudioProperty(xmlAttribute = "alignSelf", category = StudioProperty.Category.POSITION, type = StudioPropertyType.ENUMERATION, @@ -265,6 +275,12 @@ interface StudioComponents { StudioPropertyGroups.AlignSelfAndJustifySelfAndColspan.class, StudioPropertyGroups.ClassNamesAndCss.class, StudioPropertyGroups.IdAndVisible.class, + StudioPropertyGroups.CharCode.class, + StudioPropertyGroups.ClickShortcut.class, + StudioPropertyGroups.Color.class, + StudioPropertyGroups.FontFamily.class, + StudioPropertyGroups.IconClassNames.class, + StudioPropertyGroups.Ligature.class }, properties = { @StudioProperty(xmlAttribute = "alignSelf", category = StudioProperty.Category.POSITION, type = StudioPropertyType.ENUMERATION, @@ -308,10 +324,26 @@ interface StudioComponents { StudioPropertyGroups.AlignSelfAndJustifySelfAndColspan.class, StudioPropertyGroups.ClassNamesAndCss.class, StudioPropertyGroups.IdAndVisible.class, - StudioPropertyGroups.Enabled.class, + StudioPropertyGroups.EnabledWithTrueDefaultValue.class, StudioPropertyGroups.Size.class, StudioPropertyGroups.AriaLabelAndTabIndexAndFocusShortcut.class, StudioPropertyGroups.RequiredAndRequiredMessageAndErrorMessage.class, + StudioPropertyGroups.Autocapitalize.class, + StudioPropertyGroups.Autocomplete.class, + StudioPropertyGroups.Autocorrect.class, + StudioPropertyGroups.Autofocus.class, + StudioPropertyGroups.Autoselect.class, + StudioPropertyGroups.ClearButtonVisible.class, + StudioPropertyGroups.CollectionOrInstanceDataContainer.class, + StudioPropertyGroups.HelperText.class, + StudioPropertyGroups.Label.class, + StudioPropertyGroups.Placeholder.class, + StudioPropertyGroups.Property.class, + StudioPropertyGroups.ReadOnly.class, + StudioPropertyGroups.FieldThemeNames.class, + StudioPropertyGroups.Title.class, + StudioPropertyGroups.ValueChangeMode.class, + StudioPropertyGroups.ValueChangeTimeout.class }, properties = { @StudioProperty(xmlAttribute = "alignSelf", category = StudioProperty.Category.POSITION, type = StudioPropertyType.ENUMERATION, @@ -408,9 +440,16 @@ interface StudioComponents { StudioPropertyGroups.AlignSelfAndJustifySelfAndColspan.class, StudioPropertyGroups.ClassNamesAndCss.class, StudioPropertyGroups.IdAndVisible.class, - StudioPropertyGroups.Enabled.class, + StudioPropertyGroups.EnabledWithTrueDefaultValue.class, StudioPropertyGroups.Size.class, StudioPropertyGroups.AriaLabelAndTabIndexAndFocusShortcut.class, + StudioPropertyGroups.Autofocus.class, + StudioPropertyGroups.LookAndFeelIcon.class, + StudioPropertyGroups.ShortcutCombination.class, + StudioPropertyGroups.Text.class, + StudioPropertyGroups.ButtonThemeNames.class, + StudioPropertyGroups.Title.class, + StudioPropertyGroups.WhiteSpace.class }, properties = { @StudioProperty(xmlAttribute = "alignSelf", category = StudioProperty.Category.POSITION, type = StudioPropertyType.ENUMERATION, @@ -476,9 +515,18 @@ interface StudioComponents { StudioPropertyGroups.AlignSelfAndJustifySelfAndColspan.class, StudioPropertyGroups.ClassNamesAndCss.class, StudioPropertyGroups.IdAndVisible.class, - StudioPropertyGroups.Enabled.class, + StudioPropertyGroups.EnabledWithTrueDefaultValue.class, StudioPropertyGroups.Size.class, StudioPropertyGroups.RequiredAndRequiredMessageAndErrorMessage.class, + StudioPropertyGroups.AriaLabel.class, + StudioPropertyGroups.AriaLabelledBy.class, + StudioPropertyGroups.CollectionOrInstanceDataContainer.class, + StudioPropertyGroups.HelperText.class, + StudioPropertyGroups.ItemsContainerTypeParameterT.class, + StudioPropertyGroups.ItemsEnum.class, + StudioPropertyGroups.Label.class, + StudioPropertyGroups.PropertyTypeParameterV.class, + StudioPropertyGroups.ReadOnly.class }, properties = { @StudioProperty(xmlAttribute = "alignSelf", category = StudioProperty.Category.POSITION, type = StudioPropertyType.ENUMERATION, @@ -549,10 +597,17 @@ interface StudioComponents { StudioPropertyGroups.AlignSelfAndJustifySelfAndColspan.class, StudioPropertyGroups.ClassNamesAndCss.class, StudioPropertyGroups.IdAndVisible.class, - StudioPropertyGroups.Enabled.class, + StudioPropertyGroups.EnabledWithTrueDefaultValue.class, StudioPropertyGroups.Size.class, StudioPropertyGroups.AriaLabelAndTabIndexAndFocusShortcut.class, StudioPropertyGroups.RequiredAndRequiredMessageAndErrorMessage.class, + StudioPropertyGroups.Autofocus.class, + StudioPropertyGroups.ClickShortcut.class, + StudioPropertyGroups.CollectionOrInstanceDataContainer.class, + StudioPropertyGroups.Indeterminate.class, + StudioPropertyGroups.Label.class, + StudioPropertyGroups.PropertyTypeParameterV.class, + StudioPropertyGroups.ReadOnly.class }, properties = { @StudioProperty(xmlAttribute = "alignSelf", category = StudioProperty.Category.POSITION, type = StudioPropertyType.ENUMERATION, @@ -618,10 +673,16 @@ interface StudioComponents { StudioPropertyGroups.AlignSelfAndJustifySelfAndColspan.class, StudioPropertyGroups.ClassNamesAndCss.class, StudioPropertyGroups.IdAndVisible.class, - StudioPropertyGroups.Enabled.class, + StudioPropertyGroups.EnabledWithTrueDefaultValue.class, StudioPropertyGroups.Size.class, StudioPropertyGroups.AriaLabelAndTabIndexAndFocusShortcut.class, StudioPropertyGroups.RequiredAndRequiredMessageAndErrorMessage.class, + StudioPropertyGroups.Autofocus.class, + StudioPropertyGroups.ClickShortcut.class, + StudioPropertyGroups.CollectionOrInstanceDataContainer.class, + StudioPropertyGroups.Label.class, + StudioPropertyGroups.PropertyTypeParameterV.class, + StudioPropertyGroups.ReadOnly.class }, properties = { @StudioProperty(xmlAttribute = "alignSelf", category = StudioProperty.Category.POSITION, type = StudioPropertyType.ENUMERATION, @@ -689,10 +750,26 @@ interface StudioComponents { StudioPropertyGroups.AlignSelfAndJustifySelfAndColspan.class, StudioPropertyGroups.ClassNamesAndCss.class, StudioPropertyGroups.IdAndVisible.class, - StudioPropertyGroups.Enabled.class, + StudioPropertyGroups.EnabledWithTrueDefaultValue.class, StudioPropertyGroups.Size.class, StudioPropertyGroups.AriaLabelAndTabIndexAndFocusShortcut.class, StudioPropertyGroups.RequiredAndRequiredMessageAndErrorMessage.class, + StudioPropertyGroups.AllowCustomValue.class, + StudioPropertyGroups.Autofocus.class, + StudioPropertyGroups.Datatype.class, + StudioPropertyGroups.OverlayWidth.class, + StudioPropertyGroups.ClearButtonVisible.class, + StudioPropertyGroups.CollectionOrInstanceDataContainer.class, + StudioPropertyGroups.HelperText.class, + StudioPropertyGroups.ItemsEnum.class, + StudioPropertyGroups.Label.class, + StudioPropertyGroups.PageSize.class, + StudioPropertyGroups.Pattern.class, + StudioPropertyGroups.Placeholder.class, + StudioPropertyGroups.PropertyTypeParameterV.class, + StudioPropertyGroups.ReadOnly.class, + StudioPropertyGroups.ComboBoxThemeNames.class, + StudioPropertyGroups.Title.class }, properties = { @StudioProperty(xmlAttribute = "alignSelf", category = StudioProperty.Category.POSITION, type = StudioPropertyType.ENUMERATION, @@ -783,9 +860,30 @@ interface StudioComponents { StudioPropertyGroups.AlignSelfAndJustifySelfAndColspan.class, StudioPropertyGroups.ClassNamesAndCss.class, StudioPropertyGroups.IdAndVisible.class, - StudioPropertyGroups.Enabled.class, + StudioPropertyGroups.EnabledWithTrueDefaultValue.class, StudioPropertyGroups.Size.class, StudioPropertyGroups.AriaLabelAndTabIndexAndFocusShortcut.class, + StudioPropertyGroups.AllowCustomValue.class, + StudioPropertyGroups.AllowedCharPattern.class, + StudioPropertyGroups.Autofocus.class, + StudioPropertyGroups.AutoOpen.class, + StudioPropertyGroups.OverlayWidth.class, + StudioPropertyGroups.ClearButtonVisible.class, + StudioPropertyGroups.CollectionOrInstanceDataContainer.class, + StudioPropertyGroups.ErrorMessage.class, + StudioPropertyGroups.HelperText.class, + StudioPropertyGroups.ItemsContainerTypeParameterV.class, + StudioPropertyGroups.ItemsEnum.class, + StudioPropertyGroups.Label.class, + StudioPropertyGroups.MetaClassTypeParameterV.class, + StudioPropertyGroups.Opened.class, + StudioPropertyGroups.PageSize.class, + StudioPropertyGroups.Placeholder.class, + StudioPropertyGroups.PropertyTypeParameterV.class, + StudioPropertyGroups.ReadOnly.class, + StudioPropertyGroups.Required.class, + StudioPropertyGroups.ComboBoxThemeNames.class, + StudioPropertyGroups.Title.class }, properties = { @StudioProperty(xmlAttribute = "alignSelf", category = StudioProperty.Category.POSITION, type = StudioPropertyType.ENUMERATION, @@ -881,9 +979,30 @@ interface StudioComponents { StudioPropertyGroups.AlignSelfAndJustifySelfAndColspan.class, StudioPropertyGroups.ClassNamesAndCss.class, StudioPropertyGroups.IdAndVisible.class, - StudioPropertyGroups.Enabled.class, + StudioPropertyGroups.EnabledWithTrueDefaultValue.class, StudioPropertyGroups.Size.class, StudioPropertyGroups.AriaLabelAndTabIndexAndFocusShortcut.class, + StudioPropertyGroups.AllowCustomValue.class, + StudioPropertyGroups.AllowedCharPattern.class, + StudioPropertyGroups.Autofocus.class, + StudioPropertyGroups.AutoOpen.class, + StudioPropertyGroups.OverlayWidth.class, + StudioPropertyGroups.ClearButtonVisible.class, + StudioPropertyGroups.CollectionOrInstanceDataContainer.class, + StudioPropertyGroups.ErrorMessage.class, + StudioPropertyGroups.HelperText.class, + StudioPropertyGroups.ItemsContainerTypeParameterV.class, + StudioPropertyGroups.ItemsEnum.class, + StudioPropertyGroups.Label.class, + StudioPropertyGroups.MetaClassTypeParameterV.class, + StudioPropertyGroups.Opened.class, + StudioPropertyGroups.PageSize.class, + StudioPropertyGroups.Placeholder.class, + StudioPropertyGroups.PropertyTypeParameterV.class, + StudioPropertyGroups.ReadOnly.class, + StudioPropertyGroups.Required.class, + StudioPropertyGroups.ComboBoxThemeNames.class, + StudioPropertyGroups.Title.class }, properties = { @StudioProperty(xmlAttribute = "alignSelf", category = StudioProperty.Category.POSITION, type = StudioPropertyType.ENUMERATION, @@ -971,10 +1090,18 @@ interface StudioComponents { // TODO: gg, add link when available // documentationLink = "%VERSION%/flow-ui/vc/components/userMenu.html", propertyGroups = { - StudioPropertyGroups.AlignSelfAndJustifySelfAndColspan.class, - StudioPropertyGroups.ClassNamesAndCss.class, - StudioPropertyGroups.IdAndVisible.class, - StudioPropertyGroups.Enabled.class, + StudioPropertyGroups.Id.class, + StudioPropertyGroups.EnabledWithTrueDefaultValue.class, + StudioPropertyGroups.Visible.class, + StudioPropertyGroups.OpenOnHover.class, + StudioPropertyGroups.AlignSelf.class, + StudioPropertyGroups.JustifySelf.class, + StudioPropertyGroups.Colspan.class, + StudioPropertyGroups.ClassNames.class, + StudioPropertyGroups.Css.class, + StudioPropertyGroups.TabIndex.class, + StudioPropertyGroups.FocusShortcut.class, + StudioPropertyGroups.Title.class }, properties = { @StudioProperty(xmlAttribute = "id", category = StudioProperty.Category.GENERAL, type = StudioPropertyType.COMPONENT_ID), @@ -1015,8 +1142,15 @@ interface StudioComponents { StudioPropertyGroups.AlignSelfAndJustifySelfAndColspan.class, StudioPropertyGroups.ClassNamesAndCss.class, StudioPropertyGroups.IdAndVisible.class, - StudioPropertyGroups.Enabled.class, + StudioPropertyGroups.EnabledWithTrueDefaultValue.class, StudioPropertyGroups.Size.class, + StudioPropertyGroups.LookAndFeelIcon.class, + StudioPropertyGroups.OpenOnHover.class, + StudioPropertyGroups.TabIndex.class, + StudioPropertyGroups.FocusShortcut.class, + StudioPropertyGroups.Text.class, + StudioPropertyGroups.Title.class, + StudioPropertyGroups.WhiteSpace.class }, properties = { @StudioProperty(xmlAttribute = "alignSelf", category = StudioProperty.Category.POSITION, type = StudioPropertyType.ENUMERATION, @@ -1075,8 +1209,15 @@ interface StudioComponents { StudioPropertyGroups.AlignSelfAndJustifySelfAndColspan.class, StudioPropertyGroups.ClassNamesAndCss.class, StudioPropertyGroups.IdAndVisible.class, - StudioPropertyGroups.Enabled.class, + StudioPropertyGroups.EnabledWithTrueDefaultValue.class, StudioPropertyGroups.Size.class, + StudioPropertyGroups.ShortcutCombination.class, + StudioPropertyGroups.OpenOnHover.class, + StudioPropertyGroups.TabIndex.class, + StudioPropertyGroups.FocusShortcut.class, + StudioPropertyGroups.Text.class, + StudioPropertyGroups.Title.class, + StudioPropertyGroups.WhiteSpace.class }, properties = { @StudioProperty(xmlAttribute = "alignSelf", category = StudioProperty.Category.POSITION, type = StudioPropertyType.ENUMERATION, @@ -1137,10 +1278,24 @@ interface StudioComponents { StudioPropertyGroups.AlignSelfAndJustifySelfAndColspan.class, StudioPropertyGroups.ClassNamesAndCss.class, StudioPropertyGroups.IdAndVisible.class, - StudioPropertyGroups.Enabled.class, + StudioPropertyGroups.EnabledWithTrueDefaultValue.class, StudioPropertyGroups.Size.class, StudioPropertyGroups.AriaLabelAndTabIndexAndFocusShortcut.class, StudioPropertyGroups.RequiredAndRequiredMessageAndErrorMessage.class, + StudioPropertyGroups.AllowedCharPattern.class, + StudioPropertyGroups.AutoOpen.class, + StudioPropertyGroups.ClearButtonVisible.class, + StudioPropertyGroups.CollectionOrInstanceDataContainer.class, + StudioPropertyGroups.HelperText.class, + StudioPropertyGroups.Label.class, + StudioPropertyGroups.ValidationStringMax.class, + StudioPropertyGroups.ValidationStringMin.class, + StudioPropertyGroups.Opened.class, + StudioPropertyGroups.Placeholder.class, + StudioPropertyGroups.PropertyTypeParameterV.class, + StudioPropertyGroups.ReadOnly.class, + StudioPropertyGroups.ComboBoxThemeNames.class, + StudioPropertyGroups.WeekNumbersVisible.class }, properties = { @StudioProperty(xmlAttribute = "alignSelf", category = StudioProperty.Category.POSITION, type = StudioPropertyType.ENUMERATION, @@ -1225,10 +1380,21 @@ interface StudioComponents { StudioPropertyGroups.AlignSelfAndJustifySelfAndColspan.class, StudioPropertyGroups.ClassNamesAndCss.class, StudioPropertyGroups.IdAndVisible.class, - StudioPropertyGroups.Enabled.class, + StudioPropertyGroups.EnabledWithTrueDefaultValue.class, StudioPropertyGroups.Size.class, StudioPropertyGroups.AriaLabelAndTabIndexAndFocusShortcut.class, StudioPropertyGroups.RequiredAndRequiredMessageAndErrorMessage.class, + StudioPropertyGroups.AutoOpen.class, + StudioPropertyGroups.CollectionOrInstanceDataContainer.class, + StudioPropertyGroups.HelperText.class, + StudioPropertyGroups.Label.class, + StudioPropertyGroups.ValidationStringMax.class, + StudioPropertyGroups.ValidationStringMin.class, + StudioPropertyGroups.PropertyTypeParameterV.class, + StudioPropertyGroups.ReadOnly.class, + StudioPropertyGroups.TimeStep.class, + StudioPropertyGroups.ThemeNames.class, + StudioPropertyGroups.WeekNumbersVisible.class }, properties = { @StudioProperty(xmlAttribute = "alignSelf", category = StudioProperty.Category.POSITION, type = StudioPropertyType.ENUMERATION, @@ -1306,6 +1472,8 @@ interface StudioComponents { StudioPropertyGroups.IdAndVisible.class, StudioPropertyGroups.Size.class, StudioPropertyGroups.AriaLabelAndTabIndexAndFocusShortcut.class, + StudioPropertyGroups.ClickShortcut.class, + StudioPropertyGroups.ThemeNames.class }, properties = { @StudioProperty(xmlAttribute = "alignSelf", category = StudioProperty.Category.POSITION, type = StudioPropertyType.ENUMERATION, @@ -1352,6 +1520,7 @@ interface StudioComponents { StudioPropertyGroups.IdAndVisible.class, StudioPropertyGroups.Size.class, StudioPropertyGroups.AriaLabelAndTabIndexAndFocusShortcut.class, + StudioPropertyGroups.ThemeNames.class }, properties = { @StudioProperty(xmlAttribute = "alignSelf", category = StudioProperty.Category.POSITION, type = StudioPropertyType.ENUMERATION, @@ -1398,10 +1567,30 @@ interface StudioComponents { StudioPropertyGroups.AlignSelfAndJustifySelfAndColspan.class, StudioPropertyGroups.ClassNamesAndCss.class, StudioPropertyGroups.IdAndVisible.class, - StudioPropertyGroups.Enabled.class, + StudioPropertyGroups.EnabledWithTrueDefaultValue.class, StudioPropertyGroups.Size.class, StudioPropertyGroups.AriaLabelAndTabIndexAndFocusShortcut.class, StudioPropertyGroups.RequiredAndRequiredMessageAndErrorMessage.class, + StudioPropertyGroups.AllowedCharPattern.class, + StudioPropertyGroups.Autocapitalize.class, + StudioPropertyGroups.Autocomplete.class, + StudioPropertyGroups.Autocorrect.class, + StudioPropertyGroups.Autofocus.class, + StudioPropertyGroups.Autoselect.class, + StudioPropertyGroups.ClearButtonVisible.class, + StudioPropertyGroups.CollectionOrInstanceDataContainer.class, + StudioPropertyGroups.HelperText.class, + StudioPropertyGroups.Label.class, + StudioPropertyGroups.MaxLength.class, + StudioPropertyGroups.MinLength.class, + StudioPropertyGroups.Pattern.class, + StudioPropertyGroups.Placeholder.class, + StudioPropertyGroups.Property.class, + StudioPropertyGroups.ReadOnly.class, + StudioPropertyGroups.FieldThemeNames.class, + StudioPropertyGroups.Title.class, + StudioPropertyGroups.ValueChangeMode.class, + StudioPropertyGroups.ValueChangeTimeout.class }, properties = { @StudioProperty(xmlAttribute = "alignSelf", category = StudioProperty.Category.POSITION, type = StudioPropertyType.ENUMERATION, @@ -1503,10 +1692,28 @@ interface StudioComponents { StudioPropertyGroups.AlignSelfAndJustifySelfAndColspan.class, StudioPropertyGroups.ClassNamesAndCss.class, StudioPropertyGroups.IdAndVisible.class, - StudioPropertyGroups.Enabled.class, + StudioPropertyGroups.EnabledWithTrueDefaultValue.class, StudioPropertyGroups.Size.class, StudioPropertyGroups.AriaLabelAndTabIndexAndFocusShortcut.class, StudioPropertyGroups.RequiredAndRequiredMessageAndErrorMessage.class, + StudioPropertyGroups.AllowedCharPattern.class, + StudioPropertyGroups.AllowCustomValue.class, + StudioPropertyGroups.Autofocus.class, + StudioPropertyGroups.AutoOpen.class, + StudioPropertyGroups.OverlayWidth.class, + StudioPropertyGroups.CollectionOrInstanceDataContainer.class, + StudioPropertyGroups.HelperText.class, + StudioPropertyGroups.ItemsContainerTypeParameterV.class, + StudioPropertyGroups.Label.class, + StudioPropertyGroups.MetaClassTypeParameterV.class, + StudioPropertyGroups.Opened.class, + StudioPropertyGroups.PageSize.class, + StudioPropertyGroups.Pattern.class, + StudioPropertyGroups.Placeholder.class, + StudioPropertyGroups.PropertyTypeParameterV.class, + StudioPropertyGroups.ReadOnly.class, + StudioPropertyGroups.ComboBoxThemeNames.class, + StudioPropertyGroups.Title.class }, properties = { @StudioProperty(xmlAttribute = "alignSelf", category = StudioProperty.Category.POSITION, type = StudioPropertyType.ENUMERATION, @@ -1605,10 +1812,21 @@ interface StudioComponents { StudioPropertyGroups.AlignSelfAndJustifySelfAndColspan.class, StudioPropertyGroups.ClassNamesAndCss.class, StudioPropertyGroups.IdAndVisible.class, - StudioPropertyGroups.Enabled.class, + StudioPropertyGroups.EnabledWithTrueDefaultValue.class, StudioPropertyGroups.Size.class, StudioPropertyGroups.AriaLabelAndTabIndexAndFocusShortcut.class, StudioPropertyGroups.RequiredAndRequiredMessageAndErrorMessage.class, + StudioPropertyGroups.AllowCustomValue.class, + StudioPropertyGroups.Autofocus.class, + StudioPropertyGroups.CollectionOrInstanceDataContainer.class, + StudioPropertyGroups.HelperText.class, + StudioPropertyGroups.Label.class, + StudioPropertyGroups.MetaClassTypeParameterV.class, + StudioPropertyGroups.Placeholder.class, + StudioPropertyGroups.PropertyTypeParameterV.class, + StudioPropertyGroups.ReadOnly.class, + StudioPropertyGroups.ThemeNames.class, + StudioPropertyGroups.Title.class }, properties = { @StudioProperty(xmlAttribute = "alignSelf", category = StudioProperty.Category.POSITION, type = StudioPropertyType.ENUMERATION, @@ -1680,7 +1898,37 @@ interface StudioComponents { propertyGroups = { StudioPropertyGroups.ClassNamesAndCss.class, StudioPropertyGroups.IdAndVisible.class, - StudioPropertyGroups.Enabled.class, + StudioPropertyGroups.EnabledWithTrueDefaultValue.class, + StudioPropertyGroups.GridAlignSelf.class, + StudioPropertyGroups.JustifySelf.class, + StudioPropertyGroups.AriaLabel.class, + StudioPropertyGroups.Aggregatable.class, + StudioPropertyGroups.AggregationPosition.class, + StudioPropertyGroups.AllRowsVisible.class, + StudioPropertyGroups.Colspan.class, + StudioPropertyGroups.ColumnReorderingAllowed.class, + StudioPropertyGroups.CollectionDataContainer.class, + StudioPropertyGroups.DetailsVisibleOnClick.class, + StudioPropertyGroups.DropMode.class, + StudioPropertyGroups.EmptyStateText.class, + StudioPropertyGroups.Height.class, + StudioPropertyGroups.MaxHeight.class, + StudioPropertyGroups.MaxWidth.class, + StudioPropertyGroups.MetaClassTypeParameterE.class, + StudioPropertyGroups.MinHeight.class, + StudioPropertyGroups.MultiSort.class, + StudioPropertyGroups.MultiSortOnShiftClickOnly.class, + StudioPropertyGroups.MultiSortPriority.class, + StudioPropertyGroups.NestedNullBehavior.class, + StudioPropertyGroups.PageSizeWithDefaultValue50.class, + StudioPropertyGroups.RowsDraggable.class, + StudioPropertyGroups.SelectionMode.class, + StudioPropertyGroups.TabIndex.class, + StudioPropertyGroups.FocusShortcut.class, + StudioPropertyGroups.GridThemeNames.class, + StudioPropertyGroups.WidthWithInitialValue100.class, + StudioPropertyGroups.EditorBuffered.class, + StudioPropertyGroups.ColumnRendering.class }, properties = { @StudioProperty(xmlAttribute = "alignSelf", category = StudioProperty.Category.POSITION, type = StudioPropertyType.ENUMERATION, @@ -1721,8 +1969,7 @@ interface StudioComponents { @StudioProperty(xmlAttribute = "maxWidth", category = StudioProperty.Category.SIZE, type = StudioPropertyType.SIZE, options = {"AUTO", "100%"}), @StudioProperty(xmlAttribute = "metaClass", category = StudioProperty.Category.DATA_BINDING, type = StudioPropertyType.ENTITY_NAME, typeParameter = "E"), @StudioProperty(xmlAttribute = "minHeight", category = StudioProperty.Category.SIZE, type = StudioPropertyType.SIZE, options = {"AUTO", "100%"}), - @StudioProperty(xmlAttribute = "minWidth", category = StudioProperty.Category.SIZE, - type = StudioPropertyType.SIZE, options = {"AUTO", "100%"}, + @StudioProperty(xmlAttribute = "minWidth", category = StudioProperty.Category.SIZE, type = StudioPropertyType.SIZE, options = {"AUTO", "100%"}, initialValue = "100px"), @StudioProperty(xmlAttribute = "multiSort", type = StudioPropertyType.BOOLEAN, defaultValue = "false"), @@ -1776,7 +2023,35 @@ interface StudioComponents { propertyGroups = { StudioPropertyGroups.ClassNamesAndCss.class, StudioPropertyGroups.IdAndVisible.class, - StudioPropertyGroups.Enabled.class, + StudioPropertyGroups.EnabledWithTrueDefaultValue.class, + StudioPropertyGroups.GridAlignSelf.class, + StudioPropertyGroups.JustifySelf.class, + StudioPropertyGroups.AriaLabel.class, + StudioPropertyGroups.AggregationPosition.class, + StudioPropertyGroups.AllRowsVisible.class, + StudioPropertyGroups.Colspan.class, + StudioPropertyGroups.ColumnReorderingAllowed.class, + StudioPropertyGroups.CollectionDataContainer.class, + StudioPropertyGroups.DropMode.class, + StudioPropertyGroups.EmptyStateText.class, + StudioPropertyGroups.Height.class, + StudioPropertyGroups.MaxHeight.class, + StudioPropertyGroups.MaxWidth.class, + StudioPropertyGroups.MetaClassTypeParameterE.class, + StudioPropertyGroups.MinHeight.class, + StudioPropertyGroups.MultiSort.class, + StudioPropertyGroups.MultiSortOnShiftClickOnly.class, + StudioPropertyGroups.MultiSortPriority.class, + StudioPropertyGroups.NestedNullBehavior.class, + StudioPropertyGroups.PageSizeWithDefaultValue50.class, + StudioPropertyGroups.RowsDraggable.class, + StudioPropertyGroups.SelectionMode.class, + StudioPropertyGroups.TabIndex.class, + StudioPropertyGroups.FocusShortcut.class, + StudioPropertyGroups.GridThemeNames.class, + StudioPropertyGroups.WidthWithInitialValue100.class, + StudioPropertyGroups.EditorBuffered.class, + StudioPropertyGroups.ColumnRendering.class }, properties = { @StudioProperty(xmlAttribute = "alignSelf", category = StudioProperty.Category.POSITION, type = StudioPropertyType.ENUMERATION, @@ -1883,10 +2158,27 @@ interface StudioComponents { StudioPropertyGroups.AlignSelfAndJustifySelfAndColspan.class, StudioPropertyGroups.ClassNamesAndCss.class, StudioPropertyGroups.IdAndVisible.class, - StudioPropertyGroups.Enabled.class, + StudioPropertyGroups.EnabledWithTrueDefaultValue.class, StudioPropertyGroups.Size.class, StudioPropertyGroups.AriaLabelAndTabIndexAndFocusShortcut.class, StudioPropertyGroups.RequiredAndRequiredMessageAndErrorMessage.class, + StudioPropertyGroups.Autocapitalize.class, + StudioPropertyGroups.Autocomplete.class, + StudioPropertyGroups.Autocorrect.class, + StudioPropertyGroups.Autofocus.class, + StudioPropertyGroups.Autoselect.class, + StudioPropertyGroups.ClearButtonVisible.class, + StudioPropertyGroups.CollectionOrInstanceDataContainer.class, + StudioPropertyGroups.HelperText.class, + StudioPropertyGroups.Label.class, + StudioPropertyGroups.Placeholder.class, + StudioPropertyGroups.Property.class, + StudioPropertyGroups.ReadOnly.class, + StudioPropertyGroups.StepButtonsVisible.class, + StudioPropertyGroups.FieldThemeNames.class, + StudioPropertyGroups.Title.class, + StudioPropertyGroups.ValueChangeMode.class, + StudioPropertyGroups.ValueChangeTimeout.class }, properties = { @StudioProperty(xmlAttribute = "alignSelf", category = StudioProperty.Category.POSITION, type = StudioPropertyType.ENUMERATION, @@ -1990,10 +2282,31 @@ interface StudioComponents { StudioPropertyGroups.AlignSelfAndJustifySelfAndColspan.class, StudioPropertyGroups.ClassNamesAndCss.class, StudioPropertyGroups.IdAndVisible.class, - StudioPropertyGroups.Enabled.class, + StudioPropertyGroups.EnabledWithTrueDefaultValue.class, StudioPropertyGroups.Size.class, StudioPropertyGroups.AriaLabelAndTabIndexAndFocusShortcut.class, StudioPropertyGroups.RequiredAndRequiredMessageAndErrorMessage.class, + StudioPropertyGroups.AllowedCharPattern.class, + StudioPropertyGroups.Autocapitalize.class, + StudioPropertyGroups.Autocomplete.class, + StudioPropertyGroups.Autocorrect.class, + StudioPropertyGroups.Autofocus.class, + StudioPropertyGroups.Autoselect.class, + StudioPropertyGroups.ClearButtonVisible.class, + StudioPropertyGroups.CollectionOrInstanceDataContainer.class, + StudioPropertyGroups.HelperText.class, + StudioPropertyGroups.Label.class, + StudioPropertyGroups.ValidationDoubleMax.class, + StudioPropertyGroups.ValidationDoubleMin.class, + StudioPropertyGroups.Placeholder.class, + StudioPropertyGroups.Property.class, + StudioPropertyGroups.ReadOnly.class, + StudioPropertyGroups.Step.class, + StudioPropertyGroups.StepButtonsVisible.class, + StudioPropertyGroups.FieldThemeNames.class, + StudioPropertyGroups.Title.class, + StudioPropertyGroups.ValueChangeMode.class, + StudioPropertyGroups.ValueChangeTimeout.class }, properties = { @StudioProperty(xmlAttribute = "alignSelf", category = StudioProperty.Category.POSITION, type = StudioPropertyType.ENUMERATION, @@ -2096,10 +2409,28 @@ interface StudioComponents { StudioPropertyGroups.AlignSelfAndJustifySelfAndColspan.class, StudioPropertyGroups.ClassNamesAndCss.class, StudioPropertyGroups.IdAndVisible.class, - StudioPropertyGroups.Enabled.class, + StudioPropertyGroups.EnabledWithTrueDefaultValue.class, StudioPropertyGroups.Size.class, StudioPropertyGroups.AriaLabelAndTabIndexAndFocusShortcut.class, StudioPropertyGroups.RequiredAndRequiredMessageAndErrorMessage.class, + StudioPropertyGroups.AllowedCharPattern.class, + StudioPropertyGroups.Autocapitalize.class, + StudioPropertyGroups.Autocomplete.class, + StudioPropertyGroups.Autocorrect.class, + StudioPropertyGroups.Autofocus.class, + StudioPropertyGroups.Autoselect.class, + StudioPropertyGroups.ClearButtonVisible.class, + StudioPropertyGroups.CollectionOrInstanceDataContainer.class, + StudioPropertyGroups.HelperText.class, + StudioPropertyGroups.Label.class, + StudioPropertyGroups.Pattern.class, + StudioPropertyGroups.Placeholder.class, + StudioPropertyGroups.Property.class, + StudioPropertyGroups.ReadOnly.class, + StudioPropertyGroups.FieldThemeNames.class, + StudioPropertyGroups.Title.class, + StudioPropertyGroups.ValueChangeMode.class, + StudioPropertyGroups.ValueChangeTimeout.class }, properties = { @StudioProperty(xmlAttribute = "alignSelf", category = StudioProperty.Category.POSITION, type = StudioPropertyType.ENUMERATION, @@ -2198,6 +2529,9 @@ interface StudioComponents { StudioPropertyGroups.ClassNamesAndCss.class, StudioPropertyGroups.IdAndVisible.class, StudioPropertyGroups.Size.class, + StudioPropertyGroups.Indeterminate.class, + StudioPropertyGroups.ValidationDoubleMax.class, + StudioPropertyGroups.ValidationDoubleMin.class, }, properties = { @StudioProperty(xmlAttribute = "alignSelf", category = StudioProperty.Category.POSITION, type = StudioPropertyType.ENUMERATION, @@ -2245,8 +2579,20 @@ interface StudioComponents { StudioPropertyGroups.AlignSelfAndJustifySelfAndColspan.class, StudioPropertyGroups.ClassNamesAndCss.class, StudioPropertyGroups.IdAndVisible.class, - StudioPropertyGroups.Enabled.class, + StudioPropertyGroups.EnabledWithTrueDefaultValue.class, StudioPropertyGroups.Size.class, + StudioPropertyGroups.AriaLabel.class, + StudioPropertyGroups.AriaLabelledBy.class, + StudioPropertyGroups.CollectionOrInstanceDataContainer.class, + StudioPropertyGroups.Datatype.class, + StudioPropertyGroups.ErrorMessage.class, + StudioPropertyGroups.HelperText.class, + StudioPropertyGroups.ItemsContainerTypeParameterV.class, + StudioPropertyGroups.ItemsEnum.class, + StudioPropertyGroups.Label.class, + StudioPropertyGroups.PropertyTypeParameterV.class, + StudioPropertyGroups.ReadOnly.class, + StudioPropertyGroups.Required.class }, properties = { @StudioProperty(xmlAttribute = "alignSelf", category = StudioProperty.Category.POSITION, type = StudioPropertyType.ENUMERATION, @@ -2323,10 +2669,20 @@ interface StudioComponents { StudioPropertyGroups.AlignSelfAndJustifySelfAndColspan.class, StudioPropertyGroups.ClassNamesAndCss.class, StudioPropertyGroups.IdAndVisible.class, - StudioPropertyGroups.Enabled.class, + StudioPropertyGroups.EnabledWithTrueDefaultValue.class, StudioPropertyGroups.Size.class, StudioPropertyGroups.AriaLabelAndTabIndexAndFocusShortcut.class, StudioPropertyGroups.RequiredAndRequiredMessageAndErrorMessage.class, + StudioPropertyGroups.Autofocus.class, + StudioPropertyGroups.Datatype.class, + StudioPropertyGroups.OverlayWidth.class, + StudioPropertyGroups.CollectionOrInstanceDataContainer.class, + StudioPropertyGroups.HelperText.class, + StudioPropertyGroups.ItemsContainerTypeParameterT.class, + StudioPropertyGroups.Label.class, + StudioPropertyGroups.Placeholder.class, + StudioPropertyGroups.PropertyTypeParameterV.class, + StudioPropertyGroups.ReadOnly.class }, properties = { @StudioProperty(xmlAttribute = "alignSelf", category = StudioProperty.Category.POSITION, type = StudioPropertyType.ENUMERATION, @@ -2483,8 +2839,13 @@ interface StudioComponents { StudioPropertyGroups.AlignSelfAndJustifySelfAndColspan.class, StudioPropertyGroups.ClassNamesAndCss.class, StudioPropertyGroups.IdAndVisible.class, - StudioPropertyGroups.Enabled.class, + StudioPropertyGroups.EnabledWithTrueDefaultValue.class, StudioPropertyGroups.Size.class, + StudioPropertyGroups.AriaLabel.class, + StudioPropertyGroups.AriaLabelledBy.class, + StudioPropertyGroups.ItemsContainerTypeParameterV.class, + StudioPropertyGroups.ItemsEnum.class, + StudioPropertyGroups.ReadOnly.class }, properties = { @StudioProperty(xmlAttribute = "alignSelf", category = StudioProperty.Category.POSITION, type = StudioPropertyType.ENUMERATION, @@ -2553,8 +2914,13 @@ interface StudioComponents { StudioPropertyGroups.AlignSelfAndJustifySelfAndColspan.class, StudioPropertyGroups.ClassNamesAndCss.class, StudioPropertyGroups.IdAndVisible.class, - StudioPropertyGroups.Enabled.class, + StudioPropertyGroups.EnabledWithTrueDefaultValue.class, StudioPropertyGroups.Size.class, + StudioPropertyGroups.AriaLabel.class, + StudioPropertyGroups.AriaLabelledBy.class, + StudioPropertyGroups.ItemsContainerTypeParameterV.class, + StudioPropertyGroups.ItemsEnum.class, + StudioPropertyGroups.ReadOnly.class }, properties = { @StudioProperty(xmlAttribute = "alignSelf", category = StudioProperty.Category.POSITION, type = StudioPropertyType.ENUMERATION, @@ -2613,9 +2979,31 @@ interface StudioComponents { StudioPropertyGroups.AlignSelfAndJustifySelfAndColspan.class, StudioPropertyGroups.ClassNamesAndCss.class, StudioPropertyGroups.IdAndVisible.class, - StudioPropertyGroups.Enabled.class, + StudioPropertyGroups.EnabledWithTrueDefaultValue.class, StudioPropertyGroups.Size.class, StudioPropertyGroups.AriaLabelAndTabIndexAndFocusShortcut.class, + StudioPropertyGroups.AllowedCharPattern.class, + StudioPropertyGroups.Autocapitalize.class, + StudioPropertyGroups.Autocomplete.class, + StudioPropertyGroups.Autocorrect.class, + StudioPropertyGroups.Autofocus.class, + StudioPropertyGroups.Autoselect.class, + StudioPropertyGroups.ClearButtonVisible.class, + StudioPropertyGroups.CollectionOrInstanceDataContainer.class, + StudioPropertyGroups.ErrorMessage.class, + StudioPropertyGroups.HelperText.class, + StudioPropertyGroups.Label.class, + StudioPropertyGroups.MaxLength.class, + StudioPropertyGroups.MinLength.class, + StudioPropertyGroups.Pattern.class, + StudioPropertyGroups.Placeholder.class, + StudioPropertyGroups.Property.class, + StudioPropertyGroups.ReadOnly.class, + StudioPropertyGroups.Required.class, + StudioPropertyGroups.TrimEnabled.class, + StudioPropertyGroups.FieldThemeNames.class, + StudioPropertyGroups.ValueChangeMode.class, + StudioPropertyGroups.ValueChangeTimeout.class }, properties = { @StudioProperty(xmlAttribute = "alignSelf", category = StudioProperty.Category.POSITION, type = StudioPropertyType.ENUMERATION, @@ -2727,10 +3115,32 @@ interface StudioComponents { StudioPropertyGroups.AlignSelfAndJustifySelfAndColspan.class, StudioPropertyGroups.ClassNamesAndCss.class, StudioPropertyGroups.IdAndVisible.class, - StudioPropertyGroups.Enabled.class, + StudioPropertyGroups.EnabledWithTrueDefaultValue.class, StudioPropertyGroups.Size.class, StudioPropertyGroups.AriaLabelAndTabIndexAndFocusShortcut.class, StudioPropertyGroups.RequiredAndRequiredMessageAndErrorMessage.class, + StudioPropertyGroups.AllowedCharPattern.class, + StudioPropertyGroups.Autocapitalize.class, + StudioPropertyGroups.Autocomplete.class, + StudioPropertyGroups.Autocorrect.class, + StudioPropertyGroups.Autofocus.class, + StudioPropertyGroups.Autoselect.class, + StudioPropertyGroups.ClearButtonVisible.class, + StudioPropertyGroups.CollectionOrInstanceDataContainer.class, + StudioPropertyGroups.Datatype.class, + StudioPropertyGroups.HelperText.class, + StudioPropertyGroups.Label.class, + StudioPropertyGroups.MaxLength.class, + StudioPropertyGroups.MinLength.class, + StudioPropertyGroups.Pattern.class, + StudioPropertyGroups.Placeholder.class, + StudioPropertyGroups.PropertyTypeParameterV.class, + StudioPropertyGroups.ReadOnly.class, + StudioPropertyGroups.FieldThemeNames.class, + StudioPropertyGroups.Title.class, + StudioPropertyGroups.TrimEnabled.class, + StudioPropertyGroups.ValueChangeMode.class, + StudioPropertyGroups.ValueChangeTimeout.class }, properties = { @StudioProperty(xmlAttribute = "alignSelf", category = StudioProperty.Category.POSITION, type = StudioPropertyType.ENUMERATION, @@ -2837,10 +3247,22 @@ interface StudioComponents { StudioPropertyGroups.AlignSelfAndJustifySelfAndColspan.class, StudioPropertyGroups.ClassNamesAndCss.class, StudioPropertyGroups.IdAndVisible.class, - StudioPropertyGroups.Enabled.class, + StudioPropertyGroups.EnabledWithTrueDefaultValue.class, StudioPropertyGroups.Size.class, StudioPropertyGroups.AriaLabelAndTabIndexAndFocusShortcut.class, StudioPropertyGroups.RequiredAndRequiredMessageAndErrorMessage.class, + StudioPropertyGroups.AllowedCharPattern.class, + StudioPropertyGroups.AutoOpen.class, + StudioPropertyGroups.ClearButtonVisible.class, + StudioPropertyGroups.CollectionOrInstanceDataContainer.class, + StudioPropertyGroups.HelperText.class, + StudioPropertyGroups.Label.class, + StudioPropertyGroups.ValidationStringMax.class, + StudioPropertyGroups.ValidationStringMin.class, + StudioPropertyGroups.Placeholder.class, + StudioPropertyGroups.PropertyTypeParameterV.class, + StudioPropertyGroups.ReadOnly.class, + StudioPropertyGroups.TimeStep.class }, properties = { @StudioProperty(xmlAttribute = "alignSelf", category = StudioProperty.Category.POSITION, type = StudioPropertyType.ENUMERATION, @@ -2914,10 +3336,20 @@ interface StudioComponents { StudioPropertyGroups.AlignSelfAndJustifySelfAndColspan.class, StudioPropertyGroups.ClassNamesAndCss.class, StudioPropertyGroups.IdAndVisible.class, - StudioPropertyGroups.Enabled.class, + StudioPropertyGroups.EnabledWithTrueDefaultValue.class, StudioPropertyGroups.Size.class, StudioPropertyGroups.AriaLabelAndTabIndexAndFocusShortcut.class, StudioPropertyGroups.RequiredAndRequiredMessageAndErrorMessage.class, + StudioPropertyGroups.AllowCustomValue.class, + StudioPropertyGroups.Autofocus.class, + StudioPropertyGroups.CollectionOrInstanceDataContainer.class, + StudioPropertyGroups.HelperText.class, + StudioPropertyGroups.Label.class, + StudioPropertyGroups.Placeholder.class, + StudioPropertyGroups.PropertyTypeParameterV.class, + StudioPropertyGroups.ReadOnly.class, + StudioPropertyGroups.ThemeNames.class, + StudioPropertyGroups.Title.class }, properties = { @StudioProperty(xmlAttribute = "alignSelf", category = StudioProperty.Category.POSITION, type = StudioPropertyType.ENUMERATION, @@ -2985,10 +3417,20 @@ interface StudioComponents { StudioPropertyGroups.AlignSelfAndJustifySelfAndColspan.class, StudioPropertyGroups.ClassNamesAndCss.class, StudioPropertyGroups.IdAndVisible.class, - StudioPropertyGroups.Enabled.class, + StudioPropertyGroups.EnabledWithTrueDefaultValue.class, StudioPropertyGroups.Size.class, StudioPropertyGroups.AriaLabelAndTabIndexAndFocusShortcut.class, StudioPropertyGroups.RequiredAndRequiredMessageAndErrorMessage.class, + StudioPropertyGroups.AllowCustomValue.class, + StudioPropertyGroups.Autofocus.class, + StudioPropertyGroups.CollectionOrInstanceDataContainer.class, + StudioPropertyGroups.HelperText.class, + StudioPropertyGroups.Label.class, + StudioPropertyGroups.Placeholder.class, + StudioPropertyGroups.PropertyTypeParameterV.class, + StudioPropertyGroups.ReadOnly.class, + StudioPropertyGroups.ThemeNames.class, + StudioPropertyGroups.Title.class }, properties = { @StudioProperty(xmlAttribute = "alignSelf", category = StudioProperty.Category.POSITION, type = StudioPropertyType.ENUMERATION, @@ -3056,7 +3498,7 @@ interface StudioComponents { StudioPropertyGroups.AlignSelfAndJustifySelfAndColspan.class, StudioPropertyGroups.ClassNamesAndCss.class, StudioPropertyGroups.IdAndVisible.class, - StudioPropertyGroups.Enabled.class, + StudioPropertyGroups.EnabledWithTrueDefaultValue.class, }, properties = { @StudioProperty(xmlAttribute = "alignSelf", category = StudioProperty.Category.POSITION, type = StudioPropertyType.ENUMERATION, @@ -3095,7 +3537,8 @@ interface StudioComponents { StudioPropertyGroups.AlignSelfAndJustifySelfAndColspan.class, StudioPropertyGroups.ClassNamesAndCss.class, StudioPropertyGroups.IdAndVisible.class, - StudioPropertyGroups.Enabled.class, + StudioPropertyGroups.EnabledWithTrueDefaultValue.class, + StudioPropertyGroups.Opened.class }, properties = { @StudioProperty(xmlAttribute = "alignSelf", category = StudioProperty.Category.POSITION, type = StudioPropertyType.ENUMERATION, @@ -3118,7 +3561,6 @@ interface StudioComponents { @StudioProperty(xmlAttribute = "visible", category = StudioProperty.Category.GENERAL, type = StudioPropertyType.BOOLEAN, defaultValue = "true") } - ) LoginOverlay loginOverlay(); @@ -3174,8 +3616,11 @@ interface StudioComponents { StudioPropertyGroups.AlignSelfAndJustifySelfAndColspan.class, StudioPropertyGroups.ClassNamesAndCss.class, StudioPropertyGroups.IdAndVisible.class, - StudioPropertyGroups.Enabled.class, + StudioPropertyGroups.EnabledWithTrueDefaultValue.class, StudioPropertyGroups.Size.class, + StudioPropertyGroups.MaxFileSize.class, + StudioPropertyGroups.UploadText.class, + StudioPropertyGroups.UploadIcon.class }, properties = { @StudioProperty(xmlAttribute = "alignSelf", category = StudioProperty.Category.POSITION, type = StudioPropertyType.ENUMERATION, @@ -3236,9 +3681,31 @@ interface StudioComponents { StudioPropertyGroups.AlignSelfAndJustifySelfAndColspan.class, StudioPropertyGroups.ClassNamesAndCss.class, StudioPropertyGroups.IdAndVisible.class, - StudioPropertyGroups.Enabled.class, + StudioPropertyGroups.EnabledWithTrueDefaultValue.class, StudioPropertyGroups.Size.class, StudioPropertyGroups.RequiredAndRequiredMessageAndErrorMessage.class, + StudioPropertyGroups.AcceptedFileTypes.class, + StudioPropertyGroups.ClearButtonAriaLabel.class, + StudioPropertyGroups.ClearButtonVisible.class, + StudioPropertyGroups.ConnectingStatusText.class, + StudioPropertyGroups.CollectionOrInstanceDataContainer.class, + StudioPropertyGroups.DropAllowed.class, + StudioPropertyGroups.FileNameVisible.class, + StudioPropertyGroups.FileNotSelectedText.class, + StudioPropertyGroups.FileTooBigText.class, + StudioPropertyGroups.HelperText.class, + StudioPropertyGroups.IncorrectFileTypeText.class, + StudioPropertyGroups.Label.class, + StudioPropertyGroups.MaxFileSize.class, + StudioPropertyGroups.ProcessingStatusText.class, + StudioPropertyGroups.Property.class, + StudioPropertyGroups.ReadOnly.class, + StudioPropertyGroups.RemainingTimeText.class, + StudioPropertyGroups.RemainingTimeUnknownText.class, + StudioPropertyGroups.UploadDialogCancelText.class, + StudioPropertyGroups.UploadDialogTitle.class, + StudioPropertyGroups.UploadIcon.class, + StudioPropertyGroups.UploadText.class }, properties = { @StudioProperty(xmlAttribute = "alignSelf", category = StudioProperty.Category.POSITION, type = StudioPropertyType.ENUMERATION, @@ -3318,9 +3785,33 @@ interface StudioComponents { StudioPropertyGroups.AlignSelfAndJustifySelfAndColspan.class, StudioPropertyGroups.ClassNamesAndCss.class, StudioPropertyGroups.IdAndVisible.class, - StudioPropertyGroups.Enabled.class, + StudioPropertyGroups.EnabledWithTrueDefaultValue.class, StudioPropertyGroups.Size.class, StudioPropertyGroups.RequiredAndRequiredMessageAndErrorMessage.class, + StudioPropertyGroups.AcceptedFileTypes.class, + StudioPropertyGroups.ClearButtonAriaLabel.class, + StudioPropertyGroups.ClearButtonVisible.class, + StudioPropertyGroups.ConnectingStatusText.class, + StudioPropertyGroups.CollectionOrInstanceDataContainer.class, + StudioPropertyGroups.DropAllowed.class, + StudioPropertyGroups.FileNameVisible.class, + StudioPropertyGroups.FileNotSelectedText.class, + StudioPropertyGroups.FileStorageName.class, + StudioPropertyGroups.FileStoragePutMode.class, + StudioPropertyGroups.FileTooBigText.class, + StudioPropertyGroups.HelperText.class, + StudioPropertyGroups.IncorrectFileTypeText.class, + StudioPropertyGroups.Label.class, + StudioPropertyGroups.MaxFileSize.class, + StudioPropertyGroups.ProcessingStatusText.class, + StudioPropertyGroups.Property.class, + StudioPropertyGroups.ReadOnly.class, + StudioPropertyGroups.RemainingTimeText.class, + StudioPropertyGroups.RemainingTimeUnknownText.class, + StudioPropertyGroups.UploadDialogCancelText.class, + StudioPropertyGroups.UploadDialogTitle.class, + StudioPropertyGroups.UploadIcon.class, + StudioPropertyGroups.UploadText.class }, properties = { @StudioProperty(xmlAttribute = "alignSelf", category = StudioProperty.Category.POSITION, type = StudioPropertyType.ENUMERATION, @@ -3399,8 +3890,10 @@ interface StudioComponents { StudioPropertyGroups.AlignSelfAndJustifySelfAndColspan.class, StudioPropertyGroups.ClassNamesAndCss.class, StudioPropertyGroups.IdAndVisible.class, - StudioPropertyGroups.Enabled.class, + StudioPropertyGroups.EnabledWithTrueDefaultValue.class, StudioPropertyGroups.Size.class, + StudioPropertyGroups.DataLoader.class, + StudioPropertyGroups.DetailsThemeNames.class }, properties = { @StudioProperty(xmlAttribute = "alignSelf", category = StudioProperty.Category.POSITION, type = StudioPropertyType.ENUMERATION, @@ -3458,10 +3951,22 @@ interface StudioComponents { StudioPropertyGroups.AlignSelfAndJustifySelfAndColspan.class, StudioPropertyGroups.ClassNamesAndCss.class, StudioPropertyGroups.IdAndVisible.class, - StudioPropertyGroups.Enabled.class, + StudioPropertyGroups.EnabledWithTrueDefaultValue.class, StudioPropertyGroups.Size.class, StudioPropertyGroups.AriaLabelAndTabIndexAndFocusShortcut.class, StudioPropertyGroups.RequiredAndRequiredMessageAndErrorMessage.class, + StudioPropertyGroups.AutoApply.class, + StudioPropertyGroups.DataLoader.class, + StudioPropertyGroups.DefaultValue.class, + StudioPropertyGroups.HelperText.class, + StudioPropertyGroups.Label.class, + StudioPropertyGroups.Label.class, + StudioPropertyGroups.LabelVisible.class, + StudioPropertyGroups.LabelWidth.class, + StudioPropertyGroups.OperationTextVisible.class, + StudioPropertyGroups.ParameterName.class, + StudioPropertyGroups.ReadOnly.class, + StudioPropertyGroups.ThemeNames.class }, properties = { @StudioProperty(xmlAttribute = "alignSelf", category = StudioProperty.Category.POSITION, type = StudioPropertyType.ENUMERATION, @@ -3538,10 +4043,22 @@ interface StudioComponents { StudioPropertyGroups.AlignSelfAndJustifySelfAndColspan.class, StudioPropertyGroups.ClassNamesAndCss.class, StudioPropertyGroups.IdAndVisible.class, - StudioPropertyGroups.Enabled.class, + StudioPropertyGroups.EnabledWithTrueDefaultValue.class, StudioPropertyGroups.Size.class, StudioPropertyGroups.AriaLabelAndTabIndexAndFocusShortcut.class, StudioPropertyGroups.RequiredAndRequiredMessageAndErrorMessage.class, + StudioPropertyGroups.AutoApply.class, + StudioPropertyGroups.DataLoader.class, + StudioPropertyGroups.DefaultValue.class, + StudioPropertyGroups.HasInExpression.class, + StudioPropertyGroups.HelperText.class, + StudioPropertyGroups.Label.class, + StudioPropertyGroups.Label.class, + StudioPropertyGroups.LabelVisible.class, + StudioPropertyGroups.LabelWidth.class, + StudioPropertyGroups.ParameterName.class, + StudioPropertyGroups.ReadOnly.class, + StudioPropertyGroups.ThemeNames.class }, properties = { @StudioProperty(xmlAttribute = "alignSelf", category = StudioProperty.Category.POSITION, type = StudioPropertyType.ENUMERATION, @@ -3609,7 +4126,11 @@ interface StudioComponents { StudioPropertyGroups.AlignSelfAndJustifySelfAndColspan.class, StudioPropertyGroups.ClassNamesAndCss.class, StudioPropertyGroups.IdAndVisible.class, - StudioPropertyGroups.Enabled.class, + StudioPropertyGroups.EnabledWithTrueDefaultValue.class, + StudioPropertyGroups.AutoApply.class, + StudioPropertyGroups.DataLoader.class, + StudioPropertyGroups.OperationTextVisible.class, + StudioPropertyGroups.SummaryText.class }, properties = { @StudioProperty(xmlAttribute = "alignSelf", category = StudioProperty.Category.POSITION, type = StudioPropertyType.ENUMERATION, @@ -3638,7 +4159,6 @@ interface StudioComponents { @StudioProperty(xmlAttribute = "visible", category = StudioProperty.Category.GENERAL, type = StudioPropertyType.BOOLEAN, defaultValue = "true"), } - ) HorizontalLayout groupFilter(); @@ -3648,7 +4168,16 @@ interface StudioComponents { icon = "io/jmix/flowui/kit/meta/icon/view/layout.svg", propertyGroups = { StudioPropertyGroups.ClassNamesAndCss.class, - StudioPropertyGroups.Enabled.class, + StudioPropertyGroups.EnabledWithTrueDefaultValue.class, + StudioPropertyGroups.MaxHeight.class, + StudioPropertyGroups.MaxWidth.class, + StudioPropertyGroups.MinHeight.class, + StudioPropertyGroups.MinWidth.class, + StudioPropertyGroups.WidthWithDefaultValue100.class, + StudioPropertyGroups.Padding.class, + StudioPropertyGroups.Spacing.class, + StudioPropertyGroups.AlignItems.class, + StudioPropertyGroups.JustifyContent.class }, properties = { @StudioProperty(xmlAttribute = "classNames", category = StudioProperty.Category.LOOK_AND_FEEL, type = StudioPropertyType.VALUES_LIST), @@ -3700,6 +4229,9 @@ interface StudioComponents { @StudioAvailableChildrenInfo.TagInfo(qualifiedName = "layout", maxCount = 1) } ), + propertyGroups = { + StudioPropertyGroups.Title.class + }, properties = { @StudioProperty(xmlAttribute = "focusComponent", category = StudioProperty.Category.GENERAL, type = StudioPropertyType.COMPONENT_REF), @StudioProperty(xmlAttribute = "focusMode", category = StudioProperty.Category.GENERAL, type = StudioPropertyType.VALUES_LIST, @@ -3727,9 +4259,17 @@ interface StudioComponents { StudioPropertyGroups.AlignSelfAndJustifySelfAndColspan.class, StudioPropertyGroups.ClassNamesAndCss.class, StudioPropertyGroups.IdAndVisible.class, - StudioPropertyGroups.Enabled.class, + StudioPropertyGroups.EnabledWithTrueDefaultValue.class, StudioPropertyGroups.Size.class, StudioPropertyGroups.RequiredAndRequiredMessageAndErrorMessage.class, + StudioPropertyGroups.CollectionOrInstanceDataContainer.class, + StudioPropertyGroups.HelperText.class, + StudioPropertyGroups.Label.class, + StudioPropertyGroups.Property.class, + StudioPropertyGroups.ReadOnly.class, + StudioPropertyGroups.TabIndex.class, + StudioPropertyGroups.FocusShortcut.class, + StudioPropertyGroups.Title.class }, properties = { @StudioProperty(xmlAttribute = "alignSelf", category = StudioProperty.Category.POSITION, type = StudioPropertyType.ENUMERATION, @@ -3847,8 +4387,12 @@ interface StudioComponents { StudioPropertyGroups.AlignSelfAndJustifySelfAndColspan.class, StudioPropertyGroups.ClassNamesAndCss.class, StudioPropertyGroups.IdAndVisible.class, - StudioPropertyGroups.Enabled.class, + StudioPropertyGroups.EnabledWithTrueDefaultValue.class, StudioPropertyGroups.Size.class, + StudioPropertyGroups.ItemsContainerTypeParameterV.class, + StudioPropertyGroups.ItemsEnum.class, + StudioPropertyGroups.TabIndex.class, + StudioPropertyGroups.FocusShortcut.class }, properties = { @StudioProperty(xmlAttribute = "alignSelf", category = StudioProperty.Category.POSITION, type = StudioPropertyType.ENUMERATION, @@ -3904,8 +4448,19 @@ interface StudioComponents { StudioPropertyGroups.AlignSelfAndJustifySelfAndColspan.class, StudioPropertyGroups.ClassNamesAndCss.class, StudioPropertyGroups.IdAndVisible.class, - StudioPropertyGroups.Enabled.class, + StudioPropertyGroups.EnabledWithTrueDefaultValue.class, StudioPropertyGroups.Size.class, + StudioPropertyGroups.AriaLabel.class, + StudioPropertyGroups.AriaLabelledBy.class, + StudioPropertyGroups.CollectionOrInstanceDataContainer.class, + StudioPropertyGroups.HelperText.class, + StudioPropertyGroups.ItemsContainerTypeParameterV.class, + StudioPropertyGroups.ItemsEnum.class, + StudioPropertyGroups.Label.class, + StudioPropertyGroups.ReadOnly.class, + StudioPropertyGroups.Property.class, + StudioPropertyGroups.Required.class, + StudioPropertyGroups.RequiredMessage.class }, properties = { @StudioProperty(xmlAttribute = "alignSelf", category = StudioProperty.Category.POSITION, type = StudioPropertyType.ENUMERATION, @@ -3975,8 +4530,13 @@ interface StudioComponents { StudioPropertyGroups.AlignSelfAndJustifySelfAndColspan.class, StudioPropertyGroups.ClassNamesAndCss.class, StudioPropertyGroups.IdAndVisible.class, - StudioPropertyGroups.Enabled.class, + StudioPropertyGroups.EnabledWithTrueDefaultValue.class, StudioPropertyGroups.Size.class, + StudioPropertyGroups.TabIndex.class, + StudioPropertyGroups.FocusShortcut.class, + StudioPropertyGroups.Text.class, + StudioPropertyGroups.ButtonThemeNames.class, + StudioPropertyGroups.WhiteSpace.class }, properties = { @StudioProperty(xmlAttribute = "alignSelf", category = StudioProperty.Category.POSITION, type = StudioPropertyType.ENUMERATION, @@ -4034,9 +4594,19 @@ interface StudioComponents { StudioPropertyGroups.AlignSelfAndJustifySelfAndColspan.class, StudioPropertyGroups.ClassNamesAndCss.class, StudioPropertyGroups.IdAndVisible.class, - StudioPropertyGroups.Enabled.class, + StudioPropertyGroups.EnabledWithTrueDefaultValue.class, StudioPropertyGroups.Size.class, StudioPropertyGroups.AriaLabelAndTabIndexAndFocusShortcut.class, + StudioPropertyGroups.Autofocus.class, + StudioPropertyGroups.Autoselect.class, + StudioPropertyGroups.HelperText.class, + StudioPropertyGroups.Label.class, + StudioPropertyGroups.Placeholder.class, + StudioPropertyGroups.ReadOnly.class, + StudioPropertyGroups.FieldThemeNames.class, + StudioPropertyGroups.Title.class, + StudioPropertyGroups.ValueChangeMode.class, + StudioPropertyGroups.ValueChangeTimeout.class }, properties = { @StudioProperty(xmlAttribute = "alignSelf", category = StudioProperty.Category.POSITION, type = StudioPropertyType.ENUMERATION, @@ -4109,8 +4679,16 @@ interface StudioComponents { StudioPropertyGroups.AlignSelfAndJustifySelfAndColspan.class, StudioPropertyGroups.ClassNamesAndCss.class, StudioPropertyGroups.IdAndVisible.class, - StudioPropertyGroups.Enabled.class, + StudioPropertyGroups.EnabledWithTrueDefaultValue.class, StudioPropertyGroups.Size.class, + StudioPropertyGroups.ReadOnly.class, + StudioPropertyGroups.AriaLabel.class, + StudioPropertyGroups.AriaLabelledBy.class, + StudioPropertyGroups.Label.class, + StudioPropertyGroups.HelperText.class, + StudioPropertyGroups.ValueChangeMode.class, + StudioPropertyGroups.CollectionOrInstanceDataContainer.class, + StudioPropertyGroups.Property.class }, properties = { @StudioProperty(xmlAttribute = "id", category = StudioProperty.Category.GENERAL, type = StudioPropertyType.COMPONENT_ID), @@ -4163,6 +4741,7 @@ interface StudioComponents { StudioPropertyGroups.ClassNamesAndCss.class, StudioPropertyGroups.IdAndVisible.class, StudioPropertyGroups.Size.class, + StudioPropertyGroups.LoadMenuConfig.class }, properties = { @StudioProperty(xmlAttribute = "alignSelf", category = StudioProperty.Category.POSITION, type = StudioPropertyType.ENUMERATION, @@ -4202,6 +4781,7 @@ interface StudioComponents { StudioPropertyGroups.ClassNamesAndCss.class, StudioPropertyGroups.IdAndVisible.class, StudioPropertyGroups.Size.class, + StudioPropertyGroups.LoadMenuConfig.class }, properties = { @StudioProperty(xmlAttribute = "classNames", category = StudioProperty.Category.LOOK_AND_FEEL, type = StudioPropertyType.VALUES_LIST), @@ -4241,6 +4821,7 @@ interface StudioComponents { StudioPropertyGroups.AlignSelfAndJustifySelfAndColspan.class, StudioPropertyGroups.ClassNamesAndCss.class, StudioPropertyGroups.IdAndVisible.class, + StudioPropertyGroups.Content.class }, properties = { @StudioProperty(xmlAttribute = "alignSelf", category = StudioProperty.Category.POSITION, type = StudioPropertyType.ENUMERATION, @@ -4280,6 +4861,7 @@ interface StudioComponents { StudioPropertyGroups.ClassNamesAndCss.class, StudioPropertyGroups.IdAndVisible.class, StudioPropertyGroups.Size.class, + StudioPropertyGroups.Content.class }, properties = { @StudioProperty(xmlAttribute = "alignSelf", category = StudioProperty.Category.POSITION, type = StudioPropertyType.ENUMERATION, diff --git a/jmix-flowui/flowui-kit/src/main/java/io/jmix/flowui/kit/meta/component/StudioHTMLComponents.java b/jmix-flowui/flowui-kit/src/main/java/io/jmix/flowui/kit/meta/component/StudioHTMLComponents.java index 02bb62e134..15ff181fc3 100644 --- a/jmix-flowui/flowui-kit/src/main/java/io/jmix/flowui/kit/meta/component/StudioHTMLComponents.java +++ b/jmix-flowui/flowui-kit/src/main/java/io/jmix/flowui/kit/meta/component/StudioHTMLComponents.java @@ -33,9 +33,15 @@ interface StudioHTMLComponents { StudioPropertyGroups.AlignSelfAndJustifySelfAndColspan.class, StudioPropertyGroups.ClassNamesAndCss.class, StudioPropertyGroups.IdAndVisible.class, - StudioPropertyGroups.Enabled.class, + StudioPropertyGroups.EnabledWithTrueDefaultValue.class, StudioPropertyGroups.Size.class, StudioPropertyGroups.AriaLabelAndTabIndexAndFocusShortcut.class, + StudioPropertyGroups.CollectionOrInstanceDataContainer.class, + StudioPropertyGroups.Property.class, + StudioPropertyGroups.Text.class, + StudioPropertyGroups.HtmlComponentThemeNames.class, + StudioPropertyGroups.Title.class, + StudioPropertyGroups.WhiteSpace.class }, properties = { @StudioProperty(xmlAttribute = "alignSelf", category = StudioProperty.Category.POSITION, type = StudioPropertyType.ENUMERATION, @@ -99,8 +105,15 @@ interface StudioHTMLComponents { StudioPropertyGroups.AlignSelfAndJustifySelfAndColspan.class, StudioPropertyGroups.ClassNamesAndCss.class, StudioPropertyGroups.IdAndVisible.class, - StudioPropertyGroups.Enabled.class, + StudioPropertyGroups.EnabledWithTrueDefaultValue.class, StudioPropertyGroups.Size.class, + StudioPropertyGroups.ClickShortcut.class, + StudioPropertyGroups.CollectionOrInstanceDataContainer.class, + StudioPropertyGroups.Property.class, + StudioPropertyGroups.Text.class, + StudioPropertyGroups.HtmlComponentThemeNames.class, + StudioPropertyGroups.Title.class, + StudioPropertyGroups.WhiteSpace.class }, properties = { @StudioProperty(xmlAttribute = "alignSelf", category = StudioProperty.Category.POSITION, type = StudioPropertyType.ENUMERATION, @@ -157,8 +170,15 @@ interface StudioHTMLComponents { StudioPropertyGroups.AlignSelfAndJustifySelfAndColspan.class, StudioPropertyGroups.ClassNamesAndCss.class, StudioPropertyGroups.IdAndVisible.class, - StudioPropertyGroups.Enabled.class, + StudioPropertyGroups.EnabledWithTrueDefaultValue.class, StudioPropertyGroups.Size.class, + StudioPropertyGroups.ClickShortcut.class, + StudioPropertyGroups.CollectionOrInstanceDataContainer.class, + StudioPropertyGroups.Property.class, + StudioPropertyGroups.Text.class, + StudioPropertyGroups.HtmlComponentThemeNames.class, + StudioPropertyGroups.Title.class, + StudioPropertyGroups.WhiteSpace.class }, properties = { @StudioProperty(xmlAttribute = "alignSelf", category = StudioProperty.Category.POSITION, type = StudioPropertyType.ENUMERATION, @@ -215,8 +235,15 @@ interface StudioHTMLComponents { StudioPropertyGroups.AlignSelfAndJustifySelfAndColspan.class, StudioPropertyGroups.ClassNamesAndCss.class, StudioPropertyGroups.IdAndVisible.class, - StudioPropertyGroups.Enabled.class, + StudioPropertyGroups.EnabledWithTrueDefaultValue.class, StudioPropertyGroups.Size.class, + StudioPropertyGroups.ClickShortcut.class, + StudioPropertyGroups.CollectionOrInstanceDataContainer.class, + StudioPropertyGroups.Property.class, + StudioPropertyGroups.Text.class, + StudioPropertyGroups.HtmlComponentThemeNames.class, + StudioPropertyGroups.Title.class, + StudioPropertyGroups.WhiteSpace.class }, properties = { @StudioProperty(xmlAttribute = "alignSelf", category = StudioProperty.Category.POSITION, type = StudioPropertyType.ENUMERATION, @@ -280,8 +307,15 @@ interface StudioHTMLComponents { StudioPropertyGroups.AlignSelfAndJustifySelfAndColspan.class, StudioPropertyGroups.ClassNamesAndCss.class, StudioPropertyGroups.IdAndVisible.class, - StudioPropertyGroups.Enabled.class, + StudioPropertyGroups.EnabledWithTrueDefaultValue.class, StudioPropertyGroups.Size.class, + StudioPropertyGroups.ClickShortcut.class, + StudioPropertyGroups.CollectionOrInstanceDataContainer.class, + StudioPropertyGroups.Property.class, + StudioPropertyGroups.Text.class, + StudioPropertyGroups.HtmlComponentThemeNames.class, + StudioPropertyGroups.Title.class, + StudioPropertyGroups.WhiteSpace.class }, properties = { @StudioProperty(xmlAttribute = "alignSelf", category = StudioProperty.Category.POSITION, type = StudioPropertyType.ENUMERATION, @@ -338,8 +372,15 @@ interface StudioHTMLComponents { StudioPropertyGroups.AlignSelfAndJustifySelfAndColspan.class, StudioPropertyGroups.ClassNamesAndCss.class, StudioPropertyGroups.IdAndVisible.class, - StudioPropertyGroups.Enabled.class, + StudioPropertyGroups.EnabledWithTrueDefaultValue.class, StudioPropertyGroups.Size.class, + StudioPropertyGroups.ClickShortcut.class, + StudioPropertyGroups.CollectionOrInstanceDataContainer.class, + StudioPropertyGroups.Property.class, + StudioPropertyGroups.Text.class, + StudioPropertyGroups.HtmlComponentThemeNames.class, + StudioPropertyGroups.Title.class, + StudioPropertyGroups.WhiteSpace.class }, properties = { @StudioProperty(xmlAttribute = "alignSelf", category = StudioProperty.Category.POSITION, type = StudioPropertyType.ENUMERATION, @@ -396,8 +437,15 @@ interface StudioHTMLComponents { StudioPropertyGroups.AlignSelfAndJustifySelfAndColspan.class, StudioPropertyGroups.ClassNamesAndCss.class, StudioPropertyGroups.IdAndVisible.class, - StudioPropertyGroups.Enabled.class, + StudioPropertyGroups.EnabledWithTrueDefaultValue.class, StudioPropertyGroups.Size.class, + StudioPropertyGroups.ClickShortcut.class, + StudioPropertyGroups.CollectionOrInstanceDataContainer.class, + StudioPropertyGroups.Property.class, + StudioPropertyGroups.Text.class, + StudioPropertyGroups.HtmlComponentThemeNames.class, + StudioPropertyGroups.Title.class, + StudioPropertyGroups.WhiteSpace.class }, properties = { @StudioProperty(xmlAttribute = "alignSelf", category = StudioProperty.Category.POSITION, type = StudioPropertyType.ENUMERATION, @@ -463,8 +511,15 @@ interface StudioHTMLComponents { StudioPropertyGroups.AlignSelfAndJustifySelfAndColspan.class, StudioPropertyGroups.ClassNamesAndCss.class, StudioPropertyGroups.IdAndVisible.class, - StudioPropertyGroups.Enabled.class, + StudioPropertyGroups.EnabledWithTrueDefaultValue.class, StudioPropertyGroups.Size.class, + StudioPropertyGroups.ClickShortcut.class, + StudioPropertyGroups.CollectionOrInstanceDataContainer.class, + StudioPropertyGroups.Property.class, + StudioPropertyGroups.Text.class, + StudioPropertyGroups.HtmlComponentThemeNames.class, + StudioPropertyGroups.Title.class, + StudioPropertyGroups.WhiteSpace.class }, properties = { @StudioProperty(xmlAttribute = "alignSelf", category = StudioProperty.Category.POSITION, type = StudioPropertyType.ENUMERATION, @@ -537,8 +592,15 @@ interface StudioHTMLComponents { StudioPropertyGroups.AlignSelfAndJustifySelfAndColspan.class, StudioPropertyGroups.ClassNamesAndCss.class, StudioPropertyGroups.IdAndVisible.class, - StudioPropertyGroups.Enabled.class, + StudioPropertyGroups.EnabledWithTrueDefaultValue.class, StudioPropertyGroups.Size.class, + StudioPropertyGroups.ClickShortcut.class, + StudioPropertyGroups.CollectionOrInstanceDataContainer.class, + StudioPropertyGroups.Property.class, + StudioPropertyGroups.Text.class, + StudioPropertyGroups.HtmlComponentThemeNames.class, + StudioPropertyGroups.Title.class, + StudioPropertyGroups.WhiteSpace.class }, properties = { @StudioProperty(xmlAttribute = "alignSelf", category = StudioProperty.Category.POSITION, type = StudioPropertyType.ENUMERATION, @@ -611,8 +673,15 @@ interface StudioHTMLComponents { StudioPropertyGroups.AlignSelfAndJustifySelfAndColspan.class, StudioPropertyGroups.ClassNamesAndCss.class, StudioPropertyGroups.IdAndVisible.class, - StudioPropertyGroups.Enabled.class, + StudioPropertyGroups.EnabledWithTrueDefaultValue.class, StudioPropertyGroups.Size.class, + StudioPropertyGroups.ClickShortcut.class, + StudioPropertyGroups.CollectionOrInstanceDataContainer.class, + StudioPropertyGroups.Property.class, + StudioPropertyGroups.Text.class, + StudioPropertyGroups.HtmlComponentThemeNames.class, + StudioPropertyGroups.Title.class, + StudioPropertyGroups.WhiteSpace.class }, properties = { @StudioProperty(xmlAttribute = "alignSelf", category = StudioProperty.Category.POSITION, type = StudioPropertyType.ENUMERATION, @@ -685,8 +754,15 @@ interface StudioHTMLComponents { StudioPropertyGroups.AlignSelfAndJustifySelfAndColspan.class, StudioPropertyGroups.ClassNamesAndCss.class, StudioPropertyGroups.IdAndVisible.class, - StudioPropertyGroups.Enabled.class, + StudioPropertyGroups.EnabledWithTrueDefaultValue.class, StudioPropertyGroups.Size.class, + StudioPropertyGroups.ClickShortcut.class, + StudioPropertyGroups.CollectionOrInstanceDataContainer.class, + StudioPropertyGroups.Property.class, + StudioPropertyGroups.Text.class, + StudioPropertyGroups.HtmlComponentThemeNames.class, + StudioPropertyGroups.Title.class, + StudioPropertyGroups.WhiteSpace.class }, properties = { @StudioProperty(xmlAttribute = "alignSelf", category = StudioProperty.Category.POSITION, type = StudioPropertyType.ENUMERATION, @@ -759,8 +835,15 @@ interface StudioHTMLComponents { StudioPropertyGroups.AlignSelfAndJustifySelfAndColspan.class, StudioPropertyGroups.ClassNamesAndCss.class, StudioPropertyGroups.IdAndVisible.class, - StudioPropertyGroups.Enabled.class, + StudioPropertyGroups.EnabledWithTrueDefaultValue.class, StudioPropertyGroups.Size.class, + StudioPropertyGroups.ClickShortcut.class, + StudioPropertyGroups.CollectionOrInstanceDataContainer.class, + StudioPropertyGroups.Property.class, + StudioPropertyGroups.Text.class, + StudioPropertyGroups.HtmlComponentThemeNames.class, + StudioPropertyGroups.Title.class, + StudioPropertyGroups.WhiteSpace.class }, properties = { @StudioProperty(xmlAttribute = "alignSelf", category = StudioProperty.Category.POSITION, type = StudioPropertyType.ENUMERATION, @@ -833,8 +916,15 @@ interface StudioHTMLComponents { StudioPropertyGroups.AlignSelfAndJustifySelfAndColspan.class, StudioPropertyGroups.ClassNamesAndCss.class, StudioPropertyGroups.IdAndVisible.class, - StudioPropertyGroups.Enabled.class, + StudioPropertyGroups.EnabledWithTrueDefaultValue.class, StudioPropertyGroups.Size.class, + StudioPropertyGroups.ClickShortcut.class, + StudioPropertyGroups.CollectionOrInstanceDataContainer.class, + StudioPropertyGroups.Property.class, + StudioPropertyGroups.Text.class, + StudioPropertyGroups.HtmlComponentThemeNames.class, + StudioPropertyGroups.Title.class, + StudioPropertyGroups.WhiteSpace.class }, properties = { @StudioProperty(xmlAttribute = "alignSelf", category = StudioProperty.Category.POSITION, type = StudioPropertyType.ENUMERATION, @@ -898,8 +988,15 @@ interface StudioHTMLComponents { StudioPropertyGroups.AlignSelfAndJustifySelfAndColspan.class, StudioPropertyGroups.ClassNamesAndCss.class, StudioPropertyGroups.IdAndVisible.class, - StudioPropertyGroups.Enabled.class, + StudioPropertyGroups.EnabledWithTrueDefaultValue.class, StudioPropertyGroups.Size.class, + StudioPropertyGroups.ClickShortcut.class, + StudioPropertyGroups.CollectionOrInstanceDataContainer.class, + StudioPropertyGroups.Property.class, + StudioPropertyGroups.Text.class, + StudioPropertyGroups.HtmlComponentThemeNames.class, + StudioPropertyGroups.Title.class, + StudioPropertyGroups.WhiteSpace.class }, properties = { @StudioProperty(xmlAttribute = "alignSelf", category = StudioProperty.Category.POSITION, type = StudioPropertyType.ENUMERATION, @@ -957,6 +1054,7 @@ interface StudioHTMLComponents { StudioPropertyGroups.ClassNamesAndCss.class, StudioPropertyGroups.IdAndVisible.class, StudioPropertyGroups.Size.class, + StudioPropertyGroups.Title.class }, properties = { @StudioProperty(xmlAttribute = "alignSelf", category = StudioProperty.Category.POSITION, type = StudioPropertyType.ENUMERATION, @@ -995,8 +1093,17 @@ interface StudioHTMLComponents { StudioPropertyGroups.AlignSelfAndJustifySelfAndColspan.class, StudioPropertyGroups.ClassNamesAndCss.class, StudioPropertyGroups.IdAndVisible.class, - StudioPropertyGroups.Enabled.class, + StudioPropertyGroups.EnabledWithTrueDefaultValue.class, StudioPropertyGroups.Size.class, + StudioPropertyGroups.ClickShortcut.class, + StudioPropertyGroups.CollectionOrInstanceDataContainer.class, + StudioPropertyGroups.Property.class, + StudioPropertyGroups.TabIndex.class, + StudioPropertyGroups.FocusShortcut.class, + StudioPropertyGroups.Text.class, + StudioPropertyGroups.HtmlComponentThemeNames.class, + StudioPropertyGroups.Title.class, + StudioPropertyGroups.WhiteSpace.class }, properties = { @StudioProperty(xmlAttribute = "alignSelf", category = StudioProperty.Category.POSITION, type = StudioPropertyType.ENUMERATION, @@ -1058,6 +1165,9 @@ interface StudioHTMLComponents { StudioPropertyGroups.ClassNamesAndCss.class, StudioPropertyGroups.IdAndVisible.class, StudioPropertyGroups.Size.class, + StudioPropertyGroups.Name.class, + StudioPropertyGroups.Resource.class, + StudioPropertyGroups.Title.class }, properties = { @StudioProperty(xmlAttribute = "alignSelf", category = StudioProperty.Category.POSITION, type = StudioPropertyType.ENUMERATION, @@ -1111,8 +1221,19 @@ interface StudioHTMLComponents { StudioPropertyGroups.AlignSelfAndJustifySelfAndColspan.class, StudioPropertyGroups.ClassNamesAndCss.class, StudioPropertyGroups.IdAndVisible.class, - StudioPropertyGroups.Enabled.class, + StudioPropertyGroups.EnabledWithTrueDefaultValue.class, StudioPropertyGroups.Size.class, + StudioPropertyGroups.AlternateText.class, + StudioPropertyGroups.AriaLabel.class, + StudioPropertyGroups.AriaLabelledBy.class, + StudioPropertyGroups.ClickShortcut.class, + StudioPropertyGroups.CollectionOrInstanceDataContainer.class, + StudioPropertyGroups.Property.class, + StudioPropertyGroups.ImageResource.class, + StudioPropertyGroups.Text.class, + StudioPropertyGroups.ImageThemeNames.class, + StudioPropertyGroups.Title.class, + StudioPropertyGroups.WhiteSpace.class }, properties = { @StudioProperty(xmlAttribute = "alignSelf", category = StudioProperty.Category.POSITION, type = StudioPropertyType.ENUMERATION, @@ -1175,9 +1296,13 @@ interface StudioHTMLComponents { StudioPropertyGroups.AlignSelfAndJustifySelfAndColspan.class, StudioPropertyGroups.ClassNamesAndCss.class, StudioPropertyGroups.IdAndVisible.class, - StudioPropertyGroups.Enabled.class, + StudioPropertyGroups.EnabledWithTrueDefaultValue.class, StudioPropertyGroups.Size.class, StudioPropertyGroups.AriaLabelAndTabIndexAndFocusShortcut.class, + StudioPropertyGroups.Placeholder.class, + StudioPropertyGroups.ValueChangeMode.class, + StudioPropertyGroups.ValueChangeTimeout.class, + StudioPropertyGroups.Title.class }, properties = { @StudioProperty(xmlAttribute = "alignSelf", category = StudioProperty.Category.POSITION, type = StudioPropertyType.ENUMERATION, @@ -1231,8 +1356,15 @@ interface StudioHTMLComponents { StudioPropertyGroups.AlignSelfAndJustifySelfAndColspan.class, StudioPropertyGroups.ClassNamesAndCss.class, StudioPropertyGroups.IdAndVisible.class, - StudioPropertyGroups.Enabled.class, + StudioPropertyGroups.EnabledWithTrueDefaultValue.class, StudioPropertyGroups.Size.class, + StudioPropertyGroups.ClickShortcut.class, + StudioPropertyGroups.CollectionOrInstanceDataContainer.class, + StudioPropertyGroups.Property.class, + StudioPropertyGroups.Text.class, + StudioPropertyGroups.HtmlComponentThemeNames.class, + StudioPropertyGroups.Title.class, + StudioPropertyGroups.WhiteSpace.class }, properties = { @StudioProperty(xmlAttribute = "alignSelf", category = StudioProperty.Category.POSITION, type = StudioPropertyType.ENUMERATION, @@ -1289,8 +1421,17 @@ interface StudioHTMLComponents { StudioPropertyGroups.AlignSelfAndJustifySelfAndColspan.class, StudioPropertyGroups.ClassNamesAndCss.class, StudioPropertyGroups.IdAndVisible.class, - StudioPropertyGroups.Enabled.class, + StudioPropertyGroups.EnabledWithTrueDefaultValue.class, StudioPropertyGroups.Size.class, + StudioPropertyGroups.AriaLabel.class, + StudioPropertyGroups.AriaLabelledBy.class, + StudioPropertyGroups.ClickShortcut.class, + StudioPropertyGroups.CollectionOrInstanceDataContainer.class, + StudioPropertyGroups.Property.class, + StudioPropertyGroups.Text.class, + StudioPropertyGroups.HtmlComponentThemeNames.class, + StudioPropertyGroups.Title.class, + StudioPropertyGroups.WhiteSpace.class }, properties = { @StudioProperty(xmlAttribute = "alignSelf", category = StudioProperty.Category.POSITION, type = StudioPropertyType.ENUMERATION, @@ -1349,8 +1490,17 @@ interface StudioHTMLComponents { StudioPropertyGroups.AlignSelfAndJustifySelfAndColspan.class, StudioPropertyGroups.ClassNamesAndCss.class, StudioPropertyGroups.IdAndVisible.class, - StudioPropertyGroups.Enabled.class, + StudioPropertyGroups.EnabledWithTrueDefaultValue.class, StudioPropertyGroups.Size.class, + StudioPropertyGroups.AriaLabel.class, + StudioPropertyGroups.AriaLabelledBy.class, + StudioPropertyGroups.ClickShortcut.class, + StudioPropertyGroups.CollectionOrInstanceDataContainer.class, + StudioPropertyGroups.Property.class, + StudioPropertyGroups.Text.class, + StudioPropertyGroups.HtmlComponentThemeNames.class, + StudioPropertyGroups.Title.class, + StudioPropertyGroups.WhiteSpace.class }, properties = { @StudioProperty(xmlAttribute = "alignSelf", category = StudioProperty.Category.POSITION, type = StudioPropertyType.ENUMERATION, @@ -1409,8 +1559,15 @@ interface StudioHTMLComponents { StudioPropertyGroups.AlignSelfAndJustifySelfAndColspan.class, StudioPropertyGroups.ClassNamesAndCss.class, StudioPropertyGroups.IdAndVisible.class, - StudioPropertyGroups.Enabled.class, + StudioPropertyGroups.EnabledWithTrueDefaultValue.class, StudioPropertyGroups.Size.class, + StudioPropertyGroups.ClickShortcut.class, + StudioPropertyGroups.CollectionOrInstanceDataContainer.class, + StudioPropertyGroups.Property.class, + StudioPropertyGroups.Text.class, + StudioPropertyGroups.HtmlComponentThemeNames.class, + StudioPropertyGroups.Title.class, + StudioPropertyGroups.WhiteSpace.class }, properties = { @StudioProperty(xmlAttribute = "alignSelf", category = StudioProperty.Category.POSITION, type = StudioPropertyType.ENUMERATION, @@ -1471,8 +1628,15 @@ interface StudioHTMLComponents { StudioPropertyGroups.AlignSelfAndJustifySelfAndColspan.class, StudioPropertyGroups.ClassNamesAndCss.class, StudioPropertyGroups.IdAndVisible.class, - StudioPropertyGroups.Enabled.class, + StudioPropertyGroups.EnabledWithTrueDefaultValue.class, StudioPropertyGroups.Size.class, + StudioPropertyGroups.ClickShortcut.class, + StudioPropertyGroups.CollectionOrInstanceDataContainer.class, + StudioPropertyGroups.Property.class, + StudioPropertyGroups.Text.class, + StudioPropertyGroups.HtmlComponentThemeNames.class, + StudioPropertyGroups.Title.class, + StudioPropertyGroups.WhiteSpace.class }, properties = { @StudioProperty(xmlAttribute = "alignSelf", category = StudioProperty.Category.POSITION, type = StudioPropertyType.ENUMERATION, @@ -1530,6 +1694,7 @@ interface StudioHTMLComponents { StudioPropertyGroups.ClassNamesAndCss.class, StudioPropertyGroups.IdAndVisible.class, StudioPropertyGroups.Size.class, + StudioPropertyGroups.Title.class }, properties = { @StudioProperty(xmlAttribute = "alignSelf", category = StudioProperty.Category.POSITION, type = StudioPropertyType.ENUMERATION, @@ -1570,8 +1735,15 @@ interface StudioHTMLComponents { StudioPropertyGroups.AlignSelfAndJustifySelfAndColspan.class, StudioPropertyGroups.ClassNamesAndCss.class, StudioPropertyGroups.IdAndVisible.class, - StudioPropertyGroups.Enabled.class, + StudioPropertyGroups.EnabledWithTrueDefaultValue.class, StudioPropertyGroups.Size.class, + StudioPropertyGroups.ClickShortcut.class, + StudioPropertyGroups.CollectionOrInstanceDataContainer.class, + StudioPropertyGroups.Property.class, + StudioPropertyGroups.Text.class, + StudioPropertyGroups.HtmlComponentThemeNames.class, + StudioPropertyGroups.Title.class, + StudioPropertyGroups.WhiteSpace.class }, properties = { @StudioProperty(xmlAttribute = "alignSelf", category = StudioProperty.Category.POSITION, type = StudioPropertyType.ENUMERATION, @@ -1628,8 +1800,14 @@ interface StudioHTMLComponents { StudioPropertyGroups.AlignSelfAndJustifySelfAndColspan.class, StudioPropertyGroups.ClassNamesAndCss.class, StudioPropertyGroups.IdAndVisible.class, - StudioPropertyGroups.Enabled.class, + StudioPropertyGroups.EnabledWithTrueDefaultValue.class, StudioPropertyGroups.Size.class, + StudioPropertyGroups.CollectionOrInstanceDataContainer.class, + StudioPropertyGroups.Property.class, + StudioPropertyGroups.Text.class, + StudioPropertyGroups.HtmlComponentThemeNames.class, + StudioPropertyGroups.Title.class, + StudioPropertyGroups.WhiteSpace.class }, properties = { @StudioProperty(xmlAttribute = "alignSelf", category = StudioProperty.Category.POSITION, type = StudioPropertyType.ENUMERATION, @@ -1684,9 +1862,12 @@ interface StudioHTMLComponents { StudioPropertyGroups.AlignSelfAndJustifySelfAndColspan.class, StudioPropertyGroups.ClassNamesAndCss.class, StudioPropertyGroups.IdAndVisible.class, - StudioPropertyGroups.Enabled.class, + StudioPropertyGroups.EnabledWithTrueDefaultValue.class, StudioPropertyGroups.Size.class, StudioPropertyGroups.AriaLabelAndTabIndexAndFocusShortcut.class, + StudioPropertyGroups.Step.class, + StudioPropertyGroups.ValueChangeMode.class, + StudioPropertyGroups.ValueChangeTimeout.class }, properties = { @StudioProperty(xmlAttribute = "alignSelf", category = StudioProperty.Category.POSITION, type = StudioPropertyType.ENUMERATION, @@ -1741,8 +1922,15 @@ interface StudioHTMLComponents { StudioPropertyGroups.AlignSelfAndJustifySelfAndColspan.class, StudioPropertyGroups.ClassNamesAndCss.class, StudioPropertyGroups.IdAndVisible.class, - StudioPropertyGroups.Enabled.class, + StudioPropertyGroups.EnabledWithTrueDefaultValue.class, StudioPropertyGroups.Size.class, + StudioPropertyGroups.ClickShortcut.class, + StudioPropertyGroups.CollectionOrInstanceDataContainer.class, + StudioPropertyGroups.Property.class, + StudioPropertyGroups.Text.class, + StudioPropertyGroups.HtmlComponentThemeNames.class, + StudioPropertyGroups.Title.class, + StudioPropertyGroups.WhiteSpace.class }, properties = { @StudioProperty(xmlAttribute = "alignSelf", category = StudioProperty.Category.POSITION, type = StudioPropertyType.ENUMERATION, @@ -1807,8 +1995,15 @@ interface StudioHTMLComponents { StudioPropertyGroups.AlignSelfAndJustifySelfAndColspan.class, StudioPropertyGroups.ClassNamesAndCss.class, StudioPropertyGroups.IdAndVisible.class, - StudioPropertyGroups.Enabled.class, + StudioPropertyGroups.EnabledWithTrueDefaultValue.class, StudioPropertyGroups.Size.class, + StudioPropertyGroups.ClickShortcut.class, + StudioPropertyGroups.CollectionOrInstanceDataContainer.class, + StudioPropertyGroups.Property.class, + StudioPropertyGroups.Text.class, + StudioPropertyGroups.HtmlComponentThemeNames.class, + StudioPropertyGroups.Title.class, + StudioPropertyGroups.WhiteSpace.class }, properties = { @StudioProperty(xmlAttribute = "alignSelf", category = StudioProperty.Category.POSITION, type = StudioPropertyType.ENUMERATION, @@ -1872,8 +2067,15 @@ interface StudioHTMLComponents { StudioPropertyGroups.AlignSelfAndJustifySelfAndColspan.class, StudioPropertyGroups.ClassNamesAndCss.class, StudioPropertyGroups.IdAndVisible.class, - StudioPropertyGroups.Enabled.class, + StudioPropertyGroups.EnabledWithTrueDefaultValue.class, StudioPropertyGroups.Size.class, + StudioPropertyGroups.ClickShortcut.class, + StudioPropertyGroups.CollectionOrInstanceDataContainer.class, + StudioPropertyGroups.Property.class, + StudioPropertyGroups.Text.class, + StudioPropertyGroups.HtmlComponentThemeNames.class, + StudioPropertyGroups.Title.class, + StudioPropertyGroups.WhiteSpace.class }, properties = { @StudioProperty(xmlAttribute = "alignSelf", category = StudioProperty.Category.POSITION, type = StudioPropertyType.ENUMERATION, @@ -1938,8 +2140,14 @@ interface StudioHTMLComponents { StudioPropertyGroups.AlignSelfAndJustifySelfAndColspan.class, StudioPropertyGroups.ClassNamesAndCss.class, StudioPropertyGroups.IdAndVisible.class, - StudioPropertyGroups.Enabled.class, + StudioPropertyGroups.EnabledWithTrueDefaultValue.class, StudioPropertyGroups.Size.class, + StudioPropertyGroups.CollectionOrInstanceDataContainer.class, + StudioPropertyGroups.Property.class, + StudioPropertyGroups.Text.class, + StudioPropertyGroups.NativeLabelThemeNames.class, + StudioPropertyGroups.Title.class, + StudioPropertyGroups.WhiteSpace.class }, properties = { @StudioProperty(xmlAttribute = "alignSelf", category = StudioProperty.Category.POSITION, type = StudioPropertyType.ENUMERATION, @@ -2003,9 +2211,16 @@ interface StudioHTMLComponents { StudioPropertyGroups.AlignSelfAndJustifySelfAndColspan.class, StudioPropertyGroups.ClassNamesAndCss.class, StudioPropertyGroups.IdAndVisible.class, - StudioPropertyGroups.Enabled.class, + StudioPropertyGroups.EnabledWithTrueDefaultValue.class, StudioPropertyGroups.Size.class, StudioPropertyGroups.AriaLabelAndTabIndexAndFocusShortcut.class, + StudioPropertyGroups.ClickShortcut.class, + StudioPropertyGroups.CollectionOrInstanceDataContainer.class, + StudioPropertyGroups.Property.class, + StudioPropertyGroups.Text.class, + StudioPropertyGroups.NativeLabelThemeNames.class, + StudioPropertyGroups.Title.class, + StudioPropertyGroups.WhiteSpace.class }, properties = { @StudioProperty(xmlAttribute = "alignSelf", category = StudioProperty.Category.POSITION, type = StudioPropertyType.ENUMERATION, @@ -2065,8 +2280,15 @@ interface StudioHTMLComponents { StudioPropertyGroups.AlignSelfAndJustifySelfAndColspan.class, StudioPropertyGroups.ClassNamesAndCss.class, StudioPropertyGroups.IdAndVisible.class, - StudioPropertyGroups.Enabled.class, + StudioPropertyGroups.EnabledWithTrueDefaultValue.class, StudioPropertyGroups.Size.class, + StudioPropertyGroups.ClickShortcut.class, + StudioPropertyGroups.CollectionOrInstanceDataContainer.class, + StudioPropertyGroups.Property.class, + StudioPropertyGroups.Text.class, + StudioPropertyGroups.HtmlComponentThemeNames.class, + StudioPropertyGroups.Title.class, + StudioPropertyGroups.WhiteSpace.class }, properties = { @StudioProperty(xmlAttribute = "alignSelf", category = StudioProperty.Category.POSITION, type = StudioPropertyType.ENUMERATION, @@ -2122,8 +2344,15 @@ interface StudioHTMLComponents { StudioPropertyGroups.AlignSelfAndJustifySelfAndColspan.class, StudioPropertyGroups.ClassNamesAndCss.class, StudioPropertyGroups.IdAndVisible.class, - StudioPropertyGroups.Enabled.class, + StudioPropertyGroups.EnabledWithTrueDefaultValue.class, StudioPropertyGroups.Size.class, + StudioPropertyGroups.ClickShortcut.class, + StudioPropertyGroups.CollectionOrInstanceDataContainer.class, + StudioPropertyGroups.Property.class, + StudioPropertyGroups.Text.class, + StudioPropertyGroups.HtmlComponentThemeNames.class, + StudioPropertyGroups.Title.class, + StudioPropertyGroups.WhiteSpace.class }, properties = { @StudioProperty(xmlAttribute = "alignSelf", category = StudioProperty.Category.POSITION, type = StudioPropertyType.ENUMERATION, @@ -2181,6 +2410,9 @@ interface StudioHTMLComponents { StudioPropertyGroups.ClassNamesAndCss.class, StudioPropertyGroups.IdAndVisible.class, StudioPropertyGroups.Size.class, + StudioPropertyGroups.ClickShortcut.class, + StudioPropertyGroups.DetailsSummaryText.class, + StudioPropertyGroups.Title.class }, properties = { @StudioProperty(xmlAttribute = "alignSelf", category = StudioProperty.Category.POSITION, type = StudioPropertyType.ENUMERATION, @@ -2230,8 +2462,16 @@ interface StudioHTMLComponents { StudioPropertyGroups.AlignSelfAndJustifySelfAndColspan.class, StudioPropertyGroups.ClassNamesAndCss.class, StudioPropertyGroups.IdAndVisible.class, - StudioPropertyGroups.Enabled.class, + StudioPropertyGroups.EnabledWithTrueDefaultValue.class, StudioPropertyGroups.Size.class, + StudioPropertyGroups.CollectionOrInstanceDataContainer.class, + StudioPropertyGroups.Property.class, + StudioPropertyGroups.Text.class, + StudioPropertyGroups.HtmlComponentThemeNames.class, + StudioPropertyGroups.Title.class, + StudioPropertyGroups.WhiteSpace.class, + StudioPropertyGroups.AriaLabel.class, + StudioPropertyGroups.AriaLabelledBy.class }, properties = { @StudioProperty(xmlAttribute = "alignSelf", category = StudioProperty.Category.POSITION, type = StudioPropertyType.ENUMERATION, diff --git a/jmix-flowui/flowui-kit/src/main/java/io/jmix/flowui/kit/meta/component/StudioLayouts.java b/jmix-flowui/flowui-kit/src/main/java/io/jmix/flowui/kit/meta/component/StudioLayouts.java index e2eb9dbb31..514c08db3b 100644 --- a/jmix-flowui/flowui-kit/src/main/java/io/jmix/flowui/kit/meta/component/StudioLayouts.java +++ b/jmix-flowui/flowui-kit/src/main/java/io/jmix/flowui/kit/meta/component/StudioLayouts.java @@ -57,7 +57,16 @@ interface StudioLayouts { StudioPropertyGroups.AlignSelfAndJustifySelfAndColspan.class, StudioPropertyGroups.ClassNamesAndCss.class, StudioPropertyGroups.IdAndVisible.class, - StudioPropertyGroups.Enabled.class, + StudioPropertyGroups.EnabledWithTrueDefaultValue.class, + StudioPropertyGroups.Height.class, + StudioPropertyGroups.MaxHeight.class, + StudioPropertyGroups.MaxWidth.class, + StudioPropertyGroups.MinHeight.class, + StudioPropertyGroups.MinWidth.class, + StudioPropertyGroups.Opened.class, + StudioPropertyGroups.DetailsSummaryText.class, + StudioPropertyGroups.DetailsThemeNames.class, + StudioPropertyGroups.WidthWithDefaultValueAuto.class }, properties = { @StudioProperty(xmlAttribute = "alignSelf", category = StudioProperty.Category.POSITION, type = StudioPropertyType.ENUMERATION, @@ -110,7 +119,22 @@ interface StudioLayouts { StudioPropertyGroups.AlignSelfAndJustifySelfAndColspan.class, StudioPropertyGroups.ClassNamesAndCss.class, StudioPropertyGroups.IdAndVisible.class, - StudioPropertyGroups.Enabled.class, + StudioPropertyGroups.EnabledWithTrueDefaultValue.class, + StudioPropertyGroups.AlignItems.class, + StudioPropertyGroups.BoxSizing.class, + StudioPropertyGroups.ClickShortcut.class, + StudioPropertyGroups.Expand.class, + StudioPropertyGroups.Height.class, + StudioPropertyGroups.JustifyContent.class, + StudioPropertyGroups.Margin.class, + StudioPropertyGroups.MaxHeight.class, + StudioPropertyGroups.MaxWidth.class, + StudioPropertyGroups.MinHeight.class, + StudioPropertyGroups.MinWidth.class, + StudioPropertyGroups.Spacing.class, + StudioPropertyGroups.LayoutThemeNames.class, + StudioPropertyGroups.WidthWithDefaultValueAuto.class, + StudioPropertyGroups.Wrap.class }, properties = { @StudioProperty(xmlAttribute = "alignSelf", category = StudioProperty.Category.POSITION, type = StudioPropertyType.ENUMERATION, @@ -185,7 +209,23 @@ interface StudioLayouts { StudioPropertyGroups.AlignSelfAndJustifySelfAndColspan.class, StudioPropertyGroups.ClassNamesAndCss.class, StudioPropertyGroups.IdAndVisible.class, - StudioPropertyGroups.Enabled.class, + StudioPropertyGroups.EnabledWithTrueDefaultValue.class, + StudioPropertyGroups.AlignItems.class, + StudioPropertyGroups.BoxSizing.class, + StudioPropertyGroups.ClickShortcut.class, + StudioPropertyGroups.Expand.class, + StudioPropertyGroups.Height.class, + StudioPropertyGroups.JustifyContent.class, + StudioPropertyGroups.Margin.class, + StudioPropertyGroups.MaxHeight.class, + StudioPropertyGroups.MaxWidth.class, + StudioPropertyGroups.MinHeight.class, + StudioPropertyGroups.MinWidth.class, + StudioPropertyGroups.Padding.class, + StudioPropertyGroups.Spacing.class, + StudioPropertyGroups.LayoutThemeNames.class, + StudioPropertyGroups.WidthWithDefaultValue100.class, + StudioPropertyGroups.Wrap.class }, properties = { @StudioProperty(xmlAttribute = "alignSelf", category = StudioProperty.Category.POSITION, type = StudioPropertyType.ENUMERATION, @@ -258,7 +298,17 @@ interface StudioLayouts { StudioPropertyGroups.AlignSelfAndJustifySelfAndColspan.class, StudioPropertyGroups.ClassNamesAndCss.class, StudioPropertyGroups.IdAndVisible.class, - StudioPropertyGroups.Enabled.class, + StudioPropertyGroups.EnabledWithTrueDefaultValue.class, + StudioPropertyGroups.ClickShortcut.class, + StudioPropertyGroups.Height.class, + StudioPropertyGroups.MaxHeight.class, + StudioPropertyGroups.MinHeight.class, + StudioPropertyGroups.WidthWithDefaultValueAuto.class, + StudioPropertyGroups.MaxWidth.class, + StudioPropertyGroups.MinWidth.class, + StudioPropertyGroups.Expand.class, + StudioPropertyGroups.AlignItems.class, + StudioPropertyGroups.JustifyContent.class }, properties = { @StudioProperty(xmlAttribute = "alignSelf", category = StudioProperty.Category.POSITION, type = StudioPropertyType.ENUMERATION, @@ -336,7 +386,13 @@ interface StudioLayouts { StudioPropertyGroups.AlignSelfAndJustifySelfAndColspan.class, StudioPropertyGroups.ClassNamesAndCss.class, StudioPropertyGroups.IdAndVisible.class, - StudioPropertyGroups.Enabled.class, + StudioPropertyGroups.EnabledWithTrueDefaultValue.class, + StudioPropertyGroups.Height.class, + StudioPropertyGroups.MaxHeight.class, + StudioPropertyGroups.MaxWidth.class, + StudioPropertyGroups.MinHeight.class, + StudioPropertyGroups.MinWidth.class, + StudioPropertyGroups.WidthWithDefaultValueAuto.class }, properties = { @StudioProperty(xmlAttribute = "alignSelf", category = StudioProperty.Category.POSITION, type = StudioPropertyType.ENUMERATION, @@ -388,6 +444,13 @@ interface StudioLayouts { StudioPropertyGroups.AlignSelfAndJustifySelfAndColspan.class, StudioPropertyGroups.ClassNamesAndCss.class, StudioPropertyGroups.IdAndVisible.class, + StudioPropertyGroups.ClickShortcut.class, + StudioPropertyGroups.Height.class, + StudioPropertyGroups.MaxHeight.class, + StudioPropertyGroups.MaxWidth.class, + StudioPropertyGroups.MinHeight.class, + StudioPropertyGroups.MinWidth.class, + StudioPropertyGroups.WidthWithDefaultValueAuto.class }, properties = { @StudioProperty(xmlAttribute = "alignSelf", category = StudioProperty.Category.POSITION, type = StudioPropertyType.ENUMERATION, @@ -433,6 +496,12 @@ interface StudioLayouts { StudioPropertyGroups.AlignSelfAndJustifySelfAndColspan.class, StudioPropertyGroups.ClassNamesAndCss.class, StudioPropertyGroups.IdAndVisible.class, + StudioPropertyGroups.Height.class, + StudioPropertyGroups.MaxHeight.class, + StudioPropertyGroups.MaxWidth.class, + StudioPropertyGroups.MinHeight.class, + StudioPropertyGroups.MinWidth.class, + StudioPropertyGroups.WidthWithDefaultValueAuto.class }, properties = { @StudioProperty(xmlAttribute = "alignSelf", category = StudioProperty.Category.POSITION, type = StudioPropertyType.ENUMERATION, @@ -468,6 +537,12 @@ interface StudioLayouts { propertyGroups = { StudioPropertyGroups.AlignSelfAndJustifySelfAndColspan.class, StudioPropertyGroups.IdAndVisible.class, + StudioPropertyGroups.Css.class, + StudioPropertyGroups.MaxHeight.class, + StudioPropertyGroups.MaxWidth.class, + StudioPropertyGroups.MinHeight.class, + StudioPropertyGroups.MinWidth.class, + StudioPropertyGroups.WidthWithInitialValue100.class }, properties = { @StudioProperty(xmlAttribute = "alignSelf", category = StudioProperty.Category.POSITION, type = StudioPropertyType.ENUMERATION, @@ -550,7 +625,8 @@ interface StudioLayouts { parentPath = "headerBox", qualifiedName = "sidePanelLayoutCloser" ) - })) + }) + ) JmixSidePanelLayout sidePanelLayout(); @StudioComponent( @@ -564,7 +640,13 @@ interface StudioLayouts { StudioPropertyGroups.AlignSelfAndJustifySelfAndColspan.class, StudioPropertyGroups.ClassNamesAndCss.class, StudioPropertyGroups.IdAndVisible.class, - StudioPropertyGroups.Enabled.class, + StudioPropertyGroups.EnabledWithTrueDefaultValue.class, + StudioPropertyGroups.Height.class, + StudioPropertyGroups.MaxHeight.class, + StudioPropertyGroups.MaxWidth.class, + StudioPropertyGroups.MinHeight.class, + StudioPropertyGroups.MinWidth.class, + StudioPropertyGroups.WidthWithDefaultValueAuto.class }, properties = { @StudioProperty(xmlAttribute = "alignSelf", category = StudioProperty.Category.POSITION, type = StudioPropertyType.ENUMERATION, @@ -623,6 +705,12 @@ interface StudioLayouts { StudioPropertyGroups.AlignSelfAndJustifySelfAndColspan.class, StudioPropertyGroups.ClassNamesAndCss.class, StudioPropertyGroups.IdAndVisible.class, + StudioPropertyGroups.Height.class, + StudioPropertyGroups.MaxHeight.class, + StudioPropertyGroups.MaxWidth.class, + StudioPropertyGroups.MinHeight.class, + StudioPropertyGroups.MinWidth.class, + StudioPropertyGroups.WidthWithDefaultValueAuto.class }, properties = { @StudioProperty(xmlAttribute = "alignSelf", category = StudioProperty.Category.POSITION, type = StudioPropertyType.ENUMERATION, @@ -661,8 +749,11 @@ interface StudioLayouts { StudioPropertyGroups.AlignSelfAndJustifySelfAndColspan.class, StudioPropertyGroups.ClassNamesAndCss.class, StudioPropertyGroups.IdAndVisible.class, - StudioPropertyGroups.Enabled.class, + StudioPropertyGroups.EnabledWithTrueDefaultValue.class, StudioPropertyGroups.Size.class, + StudioPropertyGroups.AriaLabel.class, + StudioPropertyGroups.AriaLabelledBy.class, + StudioPropertyGroups.Title.class }, properties = { @StudioProperty(xmlAttribute = "alignSelf", category = StudioProperty.Category.POSITION, @@ -736,8 +827,9 @@ interface StudioLayouts { StudioPropertyGroups.AlignSelfAndJustifySelfAndColspan.class, StudioPropertyGroups.ClassNamesAndCss.class, StudioPropertyGroups.IdAndVisible.class, - StudioPropertyGroups.Enabled.class, + StudioPropertyGroups.EnabledWithTrueDefaultValue.class, StudioPropertyGroups.Size.class, + StudioPropertyGroups.Gap.class }, properties = { @StudioProperty(xmlAttribute = "alignSelf", category = StudioProperty.Category.POSITION, type = StudioPropertyType.ENUMERATION, diff --git a/jmix-flowui/flowui-kit/src/main/java/io/jmix/flowui/kit/meta/component/StudioMainViewComponents.java b/jmix-flowui/flowui-kit/src/main/java/io/jmix/flowui/kit/meta/component/StudioMainViewComponents.java index 9d20bce572..0b496ce98a 100644 --- a/jmix-flowui/flowui-kit/src/main/java/io/jmix/flowui/kit/meta/component/StudioMainViewComponents.java +++ b/jmix-flowui/flowui-kit/src/main/java/io/jmix/flowui/kit/meta/component/StudioMainViewComponents.java @@ -57,13 +57,13 @@ interface StudioMainViewComponents { icon = "io/jmix/flowui/kit/meta/icon/mainview/userIndicator.svg", availablePlaceRegExp = "(^(mainView/appLayout)?((/drawerLayout)|(/navigationBar))$)" + "|(^((mainView/appLayout)?((/drawerLayout)|(/navigationBar)))?(/hasComponents)*$)", - propertyGroups = { + propertyGroups = { StudioPropertyGroups.Size.class, StudioPropertyGroups.ClassNamesAndCss.class, StudioPropertyGroups.IdAndVisible.class, - StudioPropertyGroups.Enabled.class, + StudioPropertyGroups.EnabledWithTrueDefaultValue.class, + StudioPropertyGroups.Title.class }, - properties = { @StudioProperty(xmlAttribute = "classNames", category = StudioProperty.Category.LOOK_AND_FEEL, type = StudioPropertyType.VALUES_LIST), @StudioProperty(xmlAttribute = "css", category = StudioProperty.Category.LOOK_AND_FEEL, type = StudioPropertyType.STRING), @@ -97,6 +97,10 @@ interface StudioMainViewComponents { @StudioAvailableChildrenInfo.TagInfo(qualifiedName = "appLayout", maxCount = 1) } ), + propertyGroups = { + StudioPropertyGroups.MessagesGroup.class, + StudioPropertyGroups.Title.class + }, properties = { @StudioProperty(xmlAttribute = "messagesGroup", type = StudioPropertyType.STRING), @StudioProperty(xmlAttribute = "title", type = StudioPropertyType.LOCALIZED_STRING) diff --git a/jmix-flowui/flowui-kit/src/main/java/io/jmix/flowui/kit/meta/datacomponent/StudioDataComponentPropertyGroups.java b/jmix-flowui/flowui-kit/src/main/java/io/jmix/flowui/kit/meta/datacomponent/StudioDataComponentPropertyGroups.java new file mode 100644 index 0000000000..28105769f1 --- /dev/null +++ b/jmix-flowui/flowui-kit/src/main/java/io/jmix/flowui/kit/meta/datacomponent/StudioDataComponentPropertyGroups.java @@ -0,0 +1,44 @@ +/* + * Copyright 2026 Haulmont. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package io.jmix.flowui.kit.meta.datacomponent; + +import io.jmix.flowui.kit.meta.StudioAPI; +import io.jmix.flowui.kit.meta.StudioProperty; +import io.jmix.flowui.kit.meta.StudioPropertyGroup; +import io.jmix.flowui.kit.meta.StudioPropertyType; + +@StudioAPI +public class StudioDataComponentPropertyGroups { + @StudioPropertyGroup( + properties = { + @StudioProperty(xmlAttribute = "id", type = StudioPropertyType.COMPONENT_ID, required = true), + @StudioProperty(xmlAttribute = "class", type = StudioPropertyType.ENTITY_CLASS, required = true), + @StudioProperty(xmlAttribute = "fetchPlan", type = StudioPropertyType.FETCH_PLAN) + } + ) + public interface DataContainerDefaultProperties { + } + + @StudioPropertyGroup( + properties = { + @StudioProperty(xmlAttribute = "id", type = StudioPropertyType.COMPONENT_ID, required = true), + @StudioProperty(xmlAttribute = "property", type = StudioPropertyType.STRING, required = true), + } + ) + public interface NestedDataContainerDefaultProperties { + } +} diff --git a/jmix-flowui/flowui-kit/src/main/java/io/jmix/flowui/kit/meta/datacomponent/StudioDataComponents.java b/jmix-flowui/flowui-kit/src/main/java/io/jmix/flowui/kit/meta/datacomponent/StudioDataComponents.java index 9903e15c5a..e24a45c7ae 100644 --- a/jmix-flowui/flowui-kit/src/main/java/io/jmix/flowui/kit/meta/datacomponent/StudioDataComponents.java +++ b/jmix-flowui/flowui-kit/src/main/java/io/jmix/flowui/kit/meta/datacomponent/StudioDataComponents.java @@ -20,6 +20,7 @@ import io.jmix.flowui.kit.meta.StudioProperty; import io.jmix.flowui.kit.meta.StudioPropertyType; import io.jmix.flowui.kit.meta.StudioUiKit; +import io.jmix.flowui.kit.meta.StudioPropertyGroups; @StudioUiKit interface StudioDataComponents { @@ -31,6 +32,7 @@ interface StudioDataComponents { xmlElement = "collection", icon = "io/jmix/flowui/kit/meta/icon/datacomponent/collection.svg", documentationLink = "%VERSION%/flow-ui/data/collection-container.html", + propertyGroups = StudioDataComponentPropertyGroups.DataContainerDefaultProperties.class, properties = { @StudioProperty(xmlAttribute = "id", type = StudioPropertyType.COMPONENT_ID, required = true), @StudioProperty(xmlAttribute = "class", type = StudioPropertyType.ENTITY_CLASS, required = true), @@ -46,6 +48,7 @@ interface StudioDataComponents { xmlElement = "instance", icon = "io/jmix/flowui/kit/meta/icon/datacomponent/instance.svg", documentationLink = "%VERSION%/flow-ui/data/instance-container.html", + propertyGroups = StudioDataComponentPropertyGroups.DataContainerDefaultProperties.class, properties = { @StudioProperty(xmlAttribute = "id", type = StudioPropertyType.COMPONENT_ID, required = true), @StudioProperty(xmlAttribute = "class", type = StudioPropertyType.ENTITY_CLASS, required = true), @@ -61,9 +64,8 @@ interface StudioDataComponents { xmlElement = "keyValueInstance", icon = "io/jmix/flowui/kit/meta/icon/datacomponent/keyValueInstance.svg", documentationLink = "%VERSION%/flow-ui/data/key-value-containers.html", - properties = { - @StudioProperty(xmlAttribute = "id", type = StudioPropertyType.COMPONENT_ID, required = true) - } + propertyGroups = StudioPropertyGroups.RequiredId.class, + properties = @StudioProperty(xmlAttribute = "id", type = StudioPropertyType.COMPONENT_ID, required = true) ) void keyValueInstance(); @@ -74,9 +76,8 @@ interface StudioDataComponents { xmlElement = "keyValueCollection", icon = "io/jmix/flowui/kit/meta/icon/datacomponent/keyValueCollection.svg", documentationLink = "%VERSION%/flow-ui/data/key-value-containers.html", - properties = { - @StudioProperty(xmlAttribute = "id", type = StudioPropertyType.COMPONENT_ID, required = true) - } + propertyGroups = StudioPropertyGroups.RequiredId.class, + properties = @StudioProperty(xmlAttribute = "id", type = StudioPropertyType.COMPONENT_ID, required = true) ) void keyValueCollection(); } diff --git a/jmix-flowui/flowui-kit/src/main/java/io/jmix/flowui/kit/meta/element/StudioDataElements.java b/jmix-flowui/flowui-kit/src/main/java/io/jmix/flowui/kit/meta/element/StudioDataElements.java index 8f07494215..d30beec14d 100644 --- a/jmix-flowui/flowui-kit/src/main/java/io/jmix/flowui/kit/meta/element/StudioDataElements.java +++ b/jmix-flowui/flowui-kit/src/main/java/io/jmix/flowui/kit/meta/element/StudioDataElements.java @@ -20,6 +20,8 @@ import io.jmix.flowui.kit.meta.StudioProperty; import io.jmix.flowui.kit.meta.StudioPropertyType; import io.jmix.flowui.kit.meta.StudioUiKit; +import io.jmix.flowui.kit.meta.StudioPropertyGroups; +import io.jmix.flowui.kit.meta.datacomponent.StudioDataComponentPropertyGroups; @StudioUiKit interface StudioDataElements { @@ -33,6 +35,7 @@ interface StudioDataElements { unsupportedTarget = {"io.jmix.flowui.model.KeyValueContainer", "io.jmix.flowui.model.KeyValueCollectionContainer"}, documentationLink = "%VERSION%/flow-ui/data/property-containers.html", + propertyGroups = StudioDataComponentPropertyGroups.NestedDataContainerDefaultProperties.class, properties = { @StudioProperty(xmlAttribute = "id", type = StudioPropertyType.COMPONENT_ID, required = true), @StudioProperty(xmlAttribute = "property", type = StudioPropertyType.STRING, required = true), @@ -49,6 +52,7 @@ interface StudioDataElements { documentationLink = "%VERSION%/flow-ui/data/property-containers.html", unsupportedTarget = {"io.jmix.flowui.model.KeyValueContainer", "io.jmix.flowui.model.KeyValueCollectionContainer"}, + propertyGroups = StudioDataComponentPropertyGroups.NestedDataContainerDefaultProperties.class, properties = { @StudioProperty(xmlAttribute = "id", type = StudioPropertyType.COMPONENT_ID, required = true), @StudioProperty(xmlAttribute = "property", type = StudioPropertyType.STRING, required = true), @@ -66,6 +70,12 @@ interface StudioDataElements { "io.jmix.flowui.model.KeyValueCollectionContainer", "io.jmix.flowui.model.CollectionContainer"}, documentationLink = "%VERSION%/flow-ui/data/data-loaders.html", + propertyGroups = { + StudioPropertyGroups.FirstResult.class, + StudioPropertyGroups.MaxResults.class, + StudioPropertyGroups.ReadOnlyWithoutCategory.class, + StudioPropertyGroups.Query.class + }, properties = { @StudioProperty(xmlAttribute = "id", type = StudioPropertyType.COMPONENT_ID), @StudioProperty(xmlAttribute = "firstResult", type = StudioPropertyType.INTEGER, @@ -88,6 +98,12 @@ interface StudioDataElements { unsupportedTarget = {"io.jmix.flowui.model.KeyValueContainer", "io.jmix.flowui.model.KeyValueCollectionContainer"}, documentationLink = "%VERSION%/flow-ui/data/data-loaders.html", + propertyGroups = { + StudioPropertyGroups.FirstResult.class, + StudioPropertyGroups.MaxResults.class, + StudioPropertyGroups.ReadOnlyWithoutCategory.class, + StudioPropertyGroups.Query.class + }, properties = { @StudioProperty(xmlAttribute = "id", type = StudioPropertyType.COMPONENT_ID), @StudioProperty(xmlAttribute = "firstResult", type = StudioPropertyType.INTEGER, @@ -112,6 +128,10 @@ interface StudioDataElements { unsupportedTarget = {"io.jmix.flowui.model.CollectionContainer", "io.jmix.flowui.model.KeyValueCollectionContainer"}, documentationLink = "%VERSION%/flow-ui/data/data-loaders.html", + propertyGroups = { + StudioPropertyGroups.Store.class, + StudioPropertyGroups.Query.class + }, properties = { @StudioProperty(xmlAttribute = "id", type = StudioPropertyType.COMPONENT_ID), @StudioProperty(xmlAttribute = "store", type = StudioPropertyType.STORE), @@ -127,6 +147,12 @@ interface StudioDataElements { icon = "io/jmix/flowui/kit/meta/icon/datacomponent/keyValueLoader.svg", target = "io.jmix.flowui.model.KeyValueCollectionContainer", documentationLink = "%VERSION%/flow-ui/data/data-loaders.html", + propertyGroups = { + StudioPropertyGroups.FirstResult.class, + StudioPropertyGroups.MaxResults.class, + StudioPropertyGroups.Store.class, + StudioPropertyGroups.Query.class + }, properties = { @StudioProperty(xmlAttribute = "id", type = StudioPropertyType.COMPONENT_ID), @StudioProperty(xmlAttribute = "firstResult", type = StudioPropertyType.INTEGER, @@ -144,6 +170,9 @@ interface StudioDataElements { classFqn = "io.jmix.core.impl.keyvalue.KeyValueMetaProperty", xmlElement = "property", icon = "io/jmix/flowui/kit/meta/icon/element/property.svg", + propertyGroups = { + StudioPropertyGroups.EntityClass.class + }, properties = { @StudioProperty(xmlAttribute = "name", type = StudioPropertyType.STRING, required = true), @StudioProperty(xmlAttribute = "datatype", type = StudioPropertyType.DATATYPE_ID), @@ -181,6 +210,9 @@ interface StudioDataElements { classFqn = "io.jmix.flowui.facet.dataloadcoordinator.OnComponentValueChangedLoadTrigger", xmlElement = "onComponentValueChanged", icon = "io/jmix/flowui/kit/meta/icon/element/onComponentValueChangedLoadTrigger.svg", + propertyGroups = { + StudioPropertyGroups.Param.class + }, properties = { @StudioProperty(xmlAttribute = "param", type = StudioPropertyType.STRING), @StudioProperty(xmlAttribute = "likeClause", type = StudioPropertyType.ENUMERATION, @@ -195,6 +227,9 @@ interface StudioDataElements { classFqn = "io.jmix.flowui.facet.dataloadcoordinator.OnContainerItemChangedLoadTrigger", xmlElement = "onContainerItemChanged", icon = "io/jmix/flowui/kit/meta/icon/element/onContainerItemChangedLoadTrigger.svg", + propertyGroups = { + StudioPropertyGroups.Param.class + }, properties = { @StudioProperty(xmlAttribute = "param", type = StudioPropertyType.STRING), @StudioProperty(xmlAttribute = "container", type = StudioPropertyType.COLLECTION_OR_INSTANCE_DATA_CONTAINER_REF, required = true) diff --git a/jmix-flowui/flowui-kit/src/main/java/io/jmix/flowui/kit/meta/element/StudioElements.java b/jmix-flowui/flowui-kit/src/main/java/io/jmix/flowui/kit/meta/element/StudioElements.java index a1cff9598b..5af05a81c3 100644 --- a/jmix-flowui/flowui-kit/src/main/java/io/jmix/flowui/kit/meta/element/StudioElements.java +++ b/jmix-flowui/flowui-kit/src/main/java/io/jmix/flowui/kit/meta/element/StudioElements.java @@ -30,7 +30,6 @@ import com.vaadin.flow.component.tabs.Tab; import io.jmix.flowui.kit.component.dropdownbutton.DropdownButtonItem; import io.jmix.flowui.kit.component.loginform.JmixLoginI18n; -import io.jmix.flowui.kit.component.twincolumn.JmixTwinColumn; import io.jmix.flowui.kit.component.usermenu.UserMenuItem; import io.jmix.flowui.kit.meta.*; import io.jmix.flowui.kit.meta.GenericResolvingInfo.ResolvingStrategy; @@ -49,6 +48,23 @@ interface StudioElements { icon = "io/jmix/flowui/kit/meta/icon/element/tab.svg", documentationLink = "%VERSION%/flow-ui/vc/layouts/accordion.html#_accordionpanel", visible = true, + propertyGroups = { + StudioPropertyGroups.ClassNames.class, + StudioPropertyGroups.Css.class, + StudioPropertyGroups.Colspan.class, + StudioPropertyGroups.Enabled.class, + StudioPropertyGroups.Height.class, + StudioPropertyGroups.Id.class, + StudioPropertyGroups.MaxHeight.class, + StudioPropertyGroups.MaxWidth.class, + StudioPropertyGroups.MinHeight.class, + StudioPropertyGroups.MinWidth.class, + StudioPropertyGroups.SummaryText.class, + StudioPropertyGroups.Opened.class, + StudioPropertyGroups.DetailsThemeNames.class, + StudioPropertyGroups.Visible.class, + StudioPropertyGroups.WidthWithDefaultValue100.class + }, properties = { @StudioProperty(xmlAttribute = "classNames", category = StudioProperty.Category.LOOK_AND_FEEL, type = StudioPropertyType.VALUES_LIST), @StudioProperty(xmlAttribute = "css", category = StudioProperty.Category.LOOK_AND_FEEL, type = StudioPropertyType.STRING), @@ -96,6 +112,9 @@ interface StudioElements { xmlElement = "actionItem", documentationLink = "%VERSION%/flow-ui/vc/components/dropdownButton.html#actionItem", isInjectable = false, + propertyGroups = { + StudioPropertyGroups.RequiredId.class + }, properties = { @StudioProperty(xmlAttribute = "id", category = StudioProperty.Category.GENERAL, type = StudioPropertyType.COMPONENT_ID, required = true), @StudioProperty(xmlAttribute = "ref", type = StudioPropertyType.ACTION_REF) @@ -113,6 +132,15 @@ interface StudioElements { icon = "io/jmix/flowui/kit/meta/icon/action/action.svg", target = {"io.jmix.flowui.kit.component.dropdownbutton.ActionItem"}, unlimitedCount = false, + propertyGroups = { + StudioPropertyGroups.ActionVariantWithDefaultDefaultValue.class, + StudioPropertyGroups.Description.class, + StudioPropertyGroups.EnabledWithTrueDefaultValue.class, + StudioPropertyGroups.LookAndFeelIcon.class, + StudioPropertyGroups.RequiredId.class, + StudioPropertyGroups.Text.class, + StudioPropertyGroups.Visible.class + }, properties = { @StudioProperty(xmlAttribute = "type", category = StudioProperty.Category.GENERAL, type = StudioPropertyType.STRING), @StudioProperty(xmlAttribute = "actionVariant", category = StudioProperty.Category.LOOK_AND_FEEL, type = StudioPropertyType.ENUMERATION, @@ -134,6 +162,9 @@ interface StudioElements { xmlElement = "additionalInformation", target = {"com.vaadin.flow.component.login.AbstractLogin"}, unlimitedCount = false, + propertyGroups = { + StudioPropertyGroups.Message.class + }, properties = { @StudioProperty(xmlAttribute = "message", type = StudioPropertyType.LOCALIZED_STRING) } @@ -148,6 +179,19 @@ interface StudioElements { documentationLink = "%VERSION%/flow-ui/vc/components/dataGrid.html#column", visible = true, isInjectable = false, + propertyGroups = { + StudioPropertyGroups.AutoWidth.class, + StudioPropertyGroups.FlexGrow.class, + StudioPropertyGroups.Footer.class, + StudioPropertyGroups.Frozen.class, + StudioPropertyGroups.Header.class, + StudioPropertyGroups.Key.class, + StudioPropertyGroups.PropertyTypeParameterT.class, + StudioPropertyGroups.ColumnSortable.class, + StudioPropertyGroups.Visible.class, + StudioPropertyGroups.WidthWithDefaultValueUndefined.class, + StudioPropertyGroups.Editable.class + }, properties = { @StudioProperty(xmlAttribute = "autoWidth", category = StudioProperty.Category.SIZE, type = StudioPropertyType.BOOLEAN, defaultValue = "false"), @@ -217,6 +261,14 @@ interface StudioElements { icon = "io/jmix/flowui/kit/meta/icon/element/column.svg", documentationLink = "%VERSION%/flow-ui/vc/components/dataGrid.html#editorActionsColumn", unlimitedCount = false, + propertyGroups = { + StudioPropertyGroups.AutoWidth.class, + StudioPropertyGroups.FlexGrow.class, + StudioPropertyGroups.Footer.class, + StudioPropertyGroups.Header.class, + StudioPropertyGroups.Visible.class, + StudioPropertyGroups.WidthWithDefaultValueUndefined.class + }, properties = { @StudioProperty(xmlAttribute = "autoWidth", type = StudioPropertyType.BOOLEAN, defaultValue = "false"), @@ -240,6 +292,14 @@ interface StudioElements { xmlElement = "editButton", target = "io.jmix.flowui.kit.component.grid.EditorActionsColumn", unlimitedCount = false, + propertyGroups = { + StudioPropertyGroups.Title.class, + StudioPropertyGroups.ShortcutCombination.class, + StudioPropertyGroups.WhiteSpace.class, + StudioPropertyGroups.ButtonThemeNames.class, + StudioPropertyGroups.ClassNames.class, + StudioPropertyGroups.IconAfterText.class + }, properties = { @StudioProperty(xmlAttribute = "title", type = StudioPropertyType.LOCALIZED_STRING), @StudioProperty(xmlAttribute = "icon", category = StudioProperty.Category.LOOK_AND_FEEL, type = StudioPropertyType.ICON, @@ -267,6 +327,15 @@ interface StudioElements { xmlElement = "saveButton", target = "io.jmix.flowui.kit.component.grid.EditorActionsColumn", unlimitedCount = false, + propertyGroups = { + StudioPropertyGroups.Title.class, + StudioPropertyGroups.Text.class, + StudioPropertyGroups.ShortcutCombination.class, + StudioPropertyGroups.WhiteSpace.class, + StudioPropertyGroups.ButtonThemeNames.class, + StudioPropertyGroups.ClassNames.class, + StudioPropertyGroups.IconAfterText.class + }, properties = { @StudioProperty(xmlAttribute = "title", type = StudioPropertyType.LOCALIZED_STRING), @StudioProperty(xmlAttribute = "icon", category = StudioProperty.Category.LOOK_AND_FEEL, type = StudioPropertyType.ICON, @@ -293,6 +362,15 @@ interface StudioElements { xmlElement = "closeButton", target = "io.jmix.flowui.kit.component.grid.EditorActionsColumn", unlimitedCount = false, + propertyGroups = { + StudioPropertyGroups.Title.class, + StudioPropertyGroups.Text.class, + StudioPropertyGroups.ShortcutCombination.class, + StudioPropertyGroups.WhiteSpace.class, + StudioPropertyGroups.ButtonThemeNames.class, + StudioPropertyGroups.ClassNames.class, + StudioPropertyGroups.IconAfterText.class + }, properties = { @StudioProperty(xmlAttribute = "title", type = StudioPropertyType.LOCALIZED_STRING), @StudioProperty(xmlAttribute = "icon", category = StudioProperty.Category.LOOK_AND_FEEL, type = StudioPropertyType.ICON, @@ -319,6 +397,14 @@ interface StudioElements { xmlElement = "cancelButton", target = "io.jmix.flowui.kit.component.grid.EditorActionsColumn", unlimitedCount = false, + propertyGroups = { + StudioPropertyGroups.Title.class, + StudioPropertyGroups.ShortcutCombination.class, + StudioPropertyGroups.WhiteSpace.class, + StudioPropertyGroups.ButtonThemeNames.class, + StudioPropertyGroups.ClassNames.class, + StudioPropertyGroups.IconAfterText.class + }, properties = { @StudioProperty(xmlAttribute = "title", type = StudioPropertyType.LOCALIZED_STRING), @StudioProperty(xmlAttribute = "icon", category = StudioProperty.Category.LOOK_AND_FEEL, type = StudioPropertyType.ICON, @@ -347,6 +433,10 @@ interface StudioElements { xmlElement = "aggregation", target = {"com.vaadin.flow.component.grid.Grid.Column"}, unsupportedTarget = {"io.jmix.flowui.kit.component.grid.EditorActionsColumn"}, + propertyGroups = { + StudioPropertyGroups.CellTitle.class, + StudioPropertyGroups.StrategyClass.class + }, properties = { @StudioProperty(xmlAttribute = "cellTitle", type = StudioPropertyType.LOCALIZED_STRING), @StudioProperty(xmlAttribute = "strategyClass", type = StudioPropertyType.STRING), @@ -364,6 +454,10 @@ interface StudioElements { target = {"com.vaadin.flow.component.grid.Grid.Column"}, unsupportedTarget = {"io.jmix.flowui.kit.component.grid.EditorActionsColumn"}, documentationLink = "%VERSION%/flow-ui/vc/components/dataGrid.html#renderers", + propertyGroups = { + StudioPropertyGroups.Format.class, + StudioPropertyGroups.NullRepresentation.class + }, properties = { @StudioProperty(xmlAttribute = "format", type = StudioPropertyType.LOCALIZED_STRING, required = true), @@ -381,6 +475,10 @@ interface StudioElements { target = {"com.vaadin.flow.component.grid.Grid.Column"}, unsupportedTarget = {"io.jmix.flowui.kit.component.grid.EditorActionsColumn"}, documentationLink = "%VERSION%/flow-ui/vc/components/dataGrid.html#renderers", + propertyGroups = { + StudioPropertyGroups.Format.class, + StudioPropertyGroups.NullRepresentation.class + }, properties = { @StudioProperty(xmlAttribute = "format", type = StudioPropertyType.LOCALIZED_STRING, required = true), @@ -398,6 +496,10 @@ interface StudioElements { target = {"com.vaadin.flow.component.grid.Grid.Column"}, unsupportedTarget = {"io.jmix.flowui.kit.component.grid.EditorActionsColumn"}, documentationLink = "%VERSION%/flow-ui/vc/components/dataGrid.html#renderers", + propertyGroups = { + StudioPropertyGroups.Format.class, + StudioPropertyGroups.NullRepresentation.class + }, properties = { @StudioProperty(xmlAttribute = "format", type = StudioPropertyType.LOCALIZED_STRING, required = true), @@ -420,6 +522,9 @@ interface StudioElements { maxCount = 1 ) ), + propertyGroups = { + StudioPropertyGroups.RequiredId.class + }, properties = { @StudioProperty(xmlAttribute = "id", category = StudioProperty.Category.GENERAL, type = StudioPropertyType.COMPONENT_ID, required = true) } @@ -432,6 +537,12 @@ interface StudioElements { xmlElement = "errorMessage", unlimitedCount = false, target = {"com.vaadin.flow.component.login.AbstractLogin"}, + propertyGroups = { + StudioPropertyGroups.Title.class, + StudioPropertyGroups.Message.class, + StudioPropertyGroups.Username.class, + StudioPropertyGroups.Password.class + }, properties = { @StudioProperty(xmlAttribute = "title", type = StudioPropertyType.LOCALIZED_STRING), @StudioProperty(xmlAttribute = "message", type = StudioPropertyType.LOCALIZED_STRING), @@ -447,6 +558,13 @@ interface StudioElements { xmlElement = "form", unlimitedCount = false, target = {"io.jmix.flowui.kit.component.loginform.EnhancedLoginForm"}, + propertyGroups = { + StudioPropertyGroups.ForgotPassword.class, + StudioPropertyGroups.Password.class, + StudioPropertyGroups.Submit.class, + StudioPropertyGroups.Title.class, + StudioPropertyGroups.Username.class + }, properties = { @StudioProperty(xmlAttribute = "forgotPassword", type = StudioPropertyType.LOCALIZED_STRING), @StudioProperty(xmlAttribute = "password", type = StudioPropertyType.LOCALIZED_STRING), @@ -464,6 +582,13 @@ interface StudioElements { xmlElement = "form", target = {"com.vaadin.flow.component.login.LoginOverlay"}, unlimitedCount = false, + propertyGroups = { + StudioPropertyGroups.ForgotPassword.class, + StudioPropertyGroups.Password.class, + StudioPropertyGroups.Submit.class, + StudioPropertyGroups.Title.class, + StudioPropertyGroups.Username.class + }, properties = { @StudioProperty(xmlAttribute = "forgotPassword", type = StudioPropertyType.LOCALIZED_STRING), @StudioProperty(xmlAttribute = "password", type = StudioPropertyType.LOCALIZED_STRING), @@ -479,6 +604,10 @@ interface StudioElements { xmlElement = "header", target = {"com.vaadin.flow.component.login.LoginOverlay"}, unlimitedCount = false, + propertyGroups = { + StudioPropertyGroups.Title.class, + StudioPropertyGroups.Description.class + }, properties = { @StudioProperty(xmlAttribute = "title", type = StudioPropertyType.LOCALIZED_STRING), @StudioProperty(xmlAttribute = "description", category = StudioProperty.Category.GENERAL, type = StudioPropertyType.LOCALIZED_STRING) @@ -520,6 +649,9 @@ interface StudioElements { xmlElement = "genericFilter", target = {"io.jmix.flowui.facet.UrlQueryParametersFacet"}, icon = "io/jmix/flowui/kit/meta/icon/element/filter.svg", + propertyGroups = { + StudioPropertyGroups.Id.class + }, properties = { @StudioProperty(xmlAttribute = "component", category = StudioProperty.Category.GENERAL, type = StudioPropertyType.COMPONENT_REF, componentRefTags = "genericFilter", required = true), @@ -538,6 +670,16 @@ interface StudioElements { icon = "io/jmix/flowui/kit/meta/icon/element/tab.svg", documentationLink = "%VERSION%/flow-ui/vc/components/tabs.html#tab", visible = true, + propertyGroups = { + StudioPropertyGroups.AriaLabel.class, + StudioPropertyGroups.AriaLabelledBy.class, + StudioPropertyGroups.ClassNames.class, + StudioPropertyGroups.Css.class, + StudioPropertyGroups.Enabled.class, + StudioPropertyGroups.RequiredId.class, + StudioPropertyGroups.Label.class, + StudioPropertyGroups.Visible.class + }, properties = { @StudioProperty(xmlAttribute = "ariaLabel", type = StudioPropertyType.LOCALIZED_STRING), @StudioProperty(xmlAttribute = "ariaLabelledBy", type = StudioPropertyType.LOCALIZED_STRING), @@ -563,6 +705,10 @@ interface StudioElements { xmlElement = "textItem", isInjectable = false, documentationLink = "%VERSION%/flow-ui/vc/components/dropdownButton.html#textItem", + propertyGroups = { + StudioPropertyGroups.RequiredId.class, + StudioPropertyGroups.Text.class + }, properties = { @StudioProperty(xmlAttribute = "id", category = StudioProperty.Category.GENERAL, type = StudioPropertyType.COMPONENT_ID, required = true), @StudioProperty(xmlAttribute = "text", category = StudioProperty.Category.GENERAL, type = StudioPropertyType.LOCALIZED_STRING) @@ -586,6 +732,16 @@ interface StudioElements { xmlElement = "textItem", isInjectable = false, documentationLink = "%VERSION%/flow-ui/vc/components/userMenu.html#textItem", + propertyGroups = { + StudioPropertyGroups.RequiredId.class, + StudioPropertyGroups.RequiredText.class, + StudioPropertyGroups.Icon.class, + StudioPropertyGroups.Visible.class, + StudioPropertyGroups.Enabled.class, + StudioPropertyGroups.Checkable.class, + StudioPropertyGroups.Checked.class, + StudioPropertyGroups.UserMenuItemThemeNames.class + }, properties = { @StudioProperty(xmlAttribute = "id", category = StudioProperty.Category.GENERAL, type = StudioPropertyType.COMPONENT_ID, required = true), @StudioProperty(xmlAttribute = "text", category = StudioProperty.Category.GENERAL, type = StudioPropertyType.LOCALIZED_STRING, required = true), @@ -609,6 +765,14 @@ interface StudioElements { xmlElement = "actionItem", documentationLink = "%VERSION%/flow-ui/vc/components/userMenu.html#actionItem", isInjectable = false, + propertyGroups = { + StudioPropertyGroups.RequiredId.class, + StudioPropertyGroups.Visible.class, + StudioPropertyGroups.Enabled.class, + StudioPropertyGroups.Checkable.class, + StudioPropertyGroups.Checked.class, + StudioPropertyGroups.UserMenuItemThemeNames.class + }, properties = { @StudioProperty(xmlAttribute = "id", category = StudioProperty.Category.GENERAL, type = StudioPropertyType.COMPONENT_ID, required = true), @StudioProperty(xmlAttribute = "ref", category = StudioProperty.Category.GENERAL, type = StudioPropertyType.ACTION_REF), @@ -635,6 +799,15 @@ interface StudioElements { icon = "io/jmix/flowui/kit/meta/icon/action/action.svg", target = {"io.jmix.flowui.kit.component.usermenu.ActionUserMenuItem"}, unlimitedCount = false, + propertyGroups = { + StudioPropertyGroups.RequiredId.class, + StudioPropertyGroups.Text.class, + StudioPropertyGroups.Visible.class, + StudioPropertyGroups.Description.class, + StudioPropertyGroups.EnabledWithTrueDefaultValue.class, + StudioPropertyGroups.ActionVariantWithDefaultDefaultValue.class, + StudioPropertyGroups.LookAndFeelIcon.class + }, properties = { @StudioProperty(xmlAttribute = "id", category = StudioProperty.Category.GENERAL, type = StudioPropertyType.COMPONENT_ID, required = true), @StudioProperty(xmlAttribute = "text", category = StudioProperty.Category.GENERAL, type = StudioPropertyType.LOCALIZED_STRING), @@ -663,6 +836,14 @@ interface StudioElements { maxCount = 1 ) ), + propertyGroups = { + StudioPropertyGroups.RequiredId.class, + StudioPropertyGroups.Visible.class, + StudioPropertyGroups.Enabled.class, + StudioPropertyGroups.Checkable.class, + StudioPropertyGroups.Checked.class, + StudioPropertyGroups.UserMenuItemThemeNames.class + }, properties = { @StudioProperty(xmlAttribute = "id", category = StudioProperty.Category.GENERAL, type = StudioPropertyType.COMPONENT_ID, required = true), @StudioProperty(xmlAttribute = "visible", category = StudioProperty.Category.GENERAL, type = StudioPropertyType.BOOLEAN, @@ -684,6 +865,16 @@ interface StudioElements { xmlElement = "viewItem", isInjectable = false, documentationLink = "%VERSION%/flow-ui/vc/components/userMenu.html#viewItem", + propertyGroups = { + StudioPropertyGroups.RequiredId.class, + StudioPropertyGroups.RequiredText.class, + StudioPropertyGroups.Icon.class, + StudioPropertyGroups.Visible.class, + StudioPropertyGroups.Enabled.class, + StudioPropertyGroups.Checkable.class, + StudioPropertyGroups.Checked.class, + StudioPropertyGroups.UserMenuItemThemeNames.class + }, properties = { @StudioProperty(xmlAttribute = "id", category = StudioProperty.Category.GENERAL, type = StudioPropertyType.COMPONENT_ID, required = true), @StudioProperty(xmlAttribute = "text", category = StudioProperty.Category.GENERAL, type = StudioPropertyType.LOCALIZED_STRING, required = true), @@ -761,6 +952,10 @@ interface StudioElements { "io.jmix.flowui.component.propertyfilter.PropertyFilter", "io.jmix.flowui.component.jpqlfilter.JpqlFilter", "io.jmix.flowui.component.menufilterfield.MenuFilterField"}, + propertyGroups = { + StudioPropertyGroups.RequiredText.class, + StudioPropertyGroups.HideDelay.class + }, properties = { @StudioProperty(xmlAttribute = "text", category = StudioProperty.Category.GENERAL, type = StudioPropertyType.LOCALIZED_STRING, required = true), @StudioProperty(xmlAttribute = "focusDelay", type = StudioPropertyType.INTEGER), @@ -783,6 +978,9 @@ interface StudioElements { xmlElement = "pagination", target = {"io.jmix.flowui.facet.UrlQueryParametersFacet"}, icon = "io/jmix/flowui/kit/meta/icon/element/pagination.svg", + propertyGroups = { + StudioPropertyGroups.Id.class + }, properties = { @StudioProperty(xmlAttribute = "component", category = StudioProperty.Category.GENERAL, type = StudioPropertyType.COMPONENT_REF, componentRefTags = {"simplePagination"}, required = true), @@ -799,6 +997,10 @@ interface StudioElements { xmlElement = "propertyFilter", target = {"io.jmix.flowui.facet.UrlQueryParametersFacet"}, icon = "io/jmix/flowui/kit/meta/icon/element/filter.svg", + propertyGroups = { + StudioPropertyGroups.Id.class, + StudioPropertyGroups.Param.class + }, properties = { @StudioProperty(xmlAttribute = "component", category = StudioProperty.Category.GENERAL, type = StudioPropertyType.COMPONENT_REF, componentRefTags = "propertyFilter", required = true), @@ -813,6 +1015,10 @@ interface StudioElements { classFqn = "io.jmix.flowui.facet.urlqueryparameters.DataGridFilterUrlQueryParametersBinder", xmlElement = "dataGridFilter", target = {"io.jmix.flowui.facet.UrlQueryParametersFacet"}, + propertyGroups = { + StudioPropertyGroups.Id.class, + StudioPropertyGroups.Param.class + }, properties = { @StudioProperty(xmlAttribute = "component", category = StudioProperty.Category.GENERAL, type = StudioPropertyType.COMPONENT_REF, componentRefTags = "dataGridFilter", required = true), @@ -827,6 +1033,10 @@ interface StudioElements { classFqn = "com.vaadin.flow.component.formlayout.FormLayout.ResponsiveStep", xmlElement = "responsiveStep", documentationLink = "%VERSION%/flow-ui/vc/layouts/formLayout.html#responsive-steps", + propertyGroups = { + StudioPropertyGroups.RequiredMinWidthWithOptions.class, + StudioPropertyGroups.Columns.class + }, properties = { @StudioProperty(xmlAttribute = "minWidth", category = StudioProperty.Category.GENERAL, type = StudioPropertyType.SIZE, options = {"AUTO", "100%"}, required = true), @StudioProperty(xmlAttribute = "columns", category = StudioProperty.Category.GENERAL, type = StudioPropertyType.INTEGER, required = true), @@ -849,6 +1059,15 @@ interface StudioElements { maxCount = 1 ) ), + propertyGroups = { + StudioPropertyGroups.ClassNames.class, + StudioPropertyGroups.ClickShortcut.class, + StudioPropertyGroups.Colspan.class, + StudioPropertyGroups.Label.class, + StudioPropertyGroups.EnabledWithTrueDefaultValue.class, + StudioPropertyGroups.Id.class, + StudioPropertyGroups.Visible.class + }, properties = { @StudioProperty(xmlAttribute = "classNames", category = StudioProperty.Category.LOOK_AND_FEEL, type = StudioPropertyType.VALUES_LIST), @StudioProperty(xmlAttribute = "clickShortcut", type = StudioPropertyType.SHORTCUT_COMBINATION), @@ -860,7 +1079,6 @@ interface StudioElements { @StudioProperty(xmlAttribute = "visible", category = StudioProperty.Category.GENERAL, type = StudioPropertyType.BOOLEAN, defaultValue = "true") } - ) FormLayout.FormItem formItem(); @@ -877,6 +1095,10 @@ interface StudioElements { name = "ResponsiveStep", classFqn = "io.jmix.flowui.component.SupportsResponsiveSteps.ResponsiveStep", xmlElement = "responsiveStep", + propertyGroups = { + StudioPropertyGroups.RequiredMinWidthWithOptions.class, + StudioPropertyGroups.Columns.class + }, properties = { @StudioProperty(xmlAttribute = "minWidth", category = StudioProperty.Category.GENERAL, type = StudioPropertyType.SIZE, options = {"AUTO", "100%"}, required = true), @StudioProperty(xmlAttribute = "columns", category = StudioProperty.Category.GENERAL, type = StudioPropertyType.INTEGER, required = true), @@ -894,6 +1116,27 @@ interface StudioElements { "io.jmix.flowui.component.logicalfilter.GroupFilter", "io.jmix.flowui.component.genericfilter.configuration.DesignTimeConfiguration" }, + propertyGroups = { + StudioPropertyGroups.ClassNames.class, + StudioPropertyGroups.Css.class, + StudioPropertyGroups.Colspan.class, + StudioPropertyGroups.DefaultValue.class, + StudioPropertyGroups.EnabledWithTrueDefaultValue.class, + StudioPropertyGroups.ErrorMessage.class, + StudioPropertyGroups.HelperText.class, + StudioPropertyGroups.Id.class, + StudioPropertyGroups.Label.class, + StudioPropertyGroups.LabelVisible.class, + StudioPropertyGroups.OperationTextVisible.class, + StudioPropertyGroups.ParameterName.class, + StudioPropertyGroups.ReadOnly.class, + StudioPropertyGroups.Required.class, + StudioPropertyGroups.RequiredMessage.class, + StudioPropertyGroups.TabIndex.class, + StudioPropertyGroups.FocusShortcut.class, + StudioPropertyGroups.ThemeNames.class, + StudioPropertyGroups.Visible.class + }, properties = { @StudioProperty(xmlAttribute = "classNames", category = StudioProperty.Category.LOOK_AND_FEEL, type = StudioPropertyType.VALUES_LIST), @StudioProperty(xmlAttribute = "css", category = StudioProperty.Category.LOOK_AND_FEEL, type = StudioPropertyType.STRING), @@ -943,6 +1186,28 @@ interface StudioElements { "io.jmix.flowui.component.logicalfilter.GroupFilter", "io.jmix.flowui.component.genericfilter.configuration.DesignTimeConfiguration" }, + propertyGroups = { + StudioPropertyGroups.ClassNames.class, + StudioPropertyGroups.Css.class, + StudioPropertyGroups.Colspan.class, + StudioPropertyGroups.DefaultValue.class, + StudioPropertyGroups.EnabledWithTrueDefaultValue.class, + StudioPropertyGroups.ErrorMessage.class, + StudioPropertyGroups.HasInExpression.class, + StudioPropertyGroups.HelperText.class, + StudioPropertyGroups.Id.class, + StudioPropertyGroups.Label.class, + StudioPropertyGroups.LabelVisible.class, + StudioPropertyGroups.ParameterName.class, + StudioPropertyGroups.ReadOnly.class, + StudioPropertyGroups.Required.class, + StudioPropertyGroups.RequiredMessage.class, + StudioPropertyGroups.TabIndex.class, + StudioPropertyGroups.FocusShortcut.class, + StudioPropertyGroups.ThemeNames.class, + StudioPropertyGroups.Visible.class, + StudioPropertyGroups.Width.class + }, properties = { @StudioProperty(xmlAttribute = "classNames", category = StudioProperty.Category.LOOK_AND_FEEL, type = StudioPropertyType.VALUES_LIST), @StudioProperty(xmlAttribute = "css", category = StudioProperty.Category.LOOK_AND_FEEL, type = StudioPropertyType.STRING), @@ -1008,6 +1273,16 @@ interface StudioElements { "io.jmix.flowui.component.logicalfilter.GroupFilter", "io.jmix.flowui.component.genericfilter.configuration.DesignTimeConfiguration" }, + propertyGroups = { + StudioPropertyGroups.ClassNames.class, + StudioPropertyGroups.Css.class, + StudioPropertyGroups.Colspan.class, + StudioPropertyGroups.EnabledWithTrueDefaultValue.class, + StudioPropertyGroups.Id.class, + StudioPropertyGroups.OperationTextVisible.class, + StudioPropertyGroups.SummaryText.class, + StudioPropertyGroups.Visible.class + }, properties = { @StudioProperty(xmlAttribute = "classNames", category = StudioProperty.Category.LOOK_AND_FEEL, type = StudioPropertyType.VALUES_LIST), @StudioProperty(xmlAttribute = "css", category = StudioProperty.Category.LOOK_AND_FEEL, type = StudioPropertyType.STRING), @@ -1032,6 +1307,9 @@ interface StudioElements { classFqn = "io.jmix.flowui.component.genericfilter.configuration.DesignTimeConfiguration", xmlElement = "configuration", icon = "io/jmix/flowui/kit/meta/icon/element/configuration.svg", + propertyGroups = { + StudioPropertyGroups.RequiredId.class, + }, properties = { @StudioProperty(xmlAttribute = "default", type = StudioPropertyType.BOOLEAN), @StudioProperty(xmlAttribute = "id", category = StudioProperty.Category.GENERAL, type = StudioPropertyType.COMPONENT_ID, required = true), @@ -1049,6 +1327,9 @@ interface StudioElements { xmlElement = "properties", icon = "io/jmix/flowui/kit/meta/icon/element/property.svg", target = {"io.jmix.flowui.component.genericfilter.GenericFilter"}, + propertyGroups = { + StudioPropertyGroups.Exclude.class + }, properties = { @StudioProperty(xmlAttribute = "include", type = StudioPropertyType.STRING, required = true), @StudioProperty(xmlAttribute = "exclude", type = StudioPropertyType.STRING), @@ -1071,6 +1352,11 @@ interface StudioElements { "io.jmix.flowui.component.multiselectcombobox.JmixMultiSelectComboBox", "io.jmix.flowui.component.multiselectcomboboxpicker.JmixMultiSelectComboBoxPicker" }, + propertyGroups = { + StudioPropertyGroups.SearchStringFormat.class, + StudioPropertyGroups.EscapeValueForLike.class, + StudioPropertyGroups.Query.class + }, properties = { @StudioProperty(xmlAttribute = "searchStringFormat", type = StudioPropertyType.STRING), @StudioProperty(xmlAttribute = "escapeValueForLike", type = StudioPropertyType.BOOLEAN, @@ -1092,11 +1378,17 @@ interface StudioElements { "io.jmix.flowui.component.multiselectcombobox.JmixMultiSelectComboBox", "io.jmix.flowui.component.multiselectcomboboxpicker.JmixMultiSelectComboBoxPicker" }, + propertyGroups = { + StudioPropertyGroups.RequiredEntityClass.class, + StudioPropertyGroups.SearchStringFormat.class, + StudioPropertyGroups.EscapeValueForLike.class, + StudioPropertyGroups.Query.class, + StudioPropertyGroups.FetchPlan.class + }, properties = { @StudioProperty(xmlAttribute = "class", type = StudioPropertyType.ENTITY_CLASS, required = true), @StudioProperty(xmlAttribute = "searchStringFormat", type = StudioPropertyType.STRING), - @StudioProperty(xmlAttribute = "escapeValueForLike", type = StudioPropertyType.BOOLEAN, - defaultValue = "false"), + @StudioProperty(xmlAttribute = "escapeValueForLike", type = StudioPropertyType.BOOLEAN, defaultValue = "false"), @StudioProperty(xmlAttribute = "query", type = StudioPropertyType.JPA_QUERY), @StudioProperty(xmlAttribute = "fetchPlan", type = StudioPropertyType.FETCH_PLAN) } @@ -1117,6 +1409,13 @@ interface StudioElements { "io.jmix.flowui.component.combobox.JmixComboBox", "io.jmix.flowui.component.combobox.EntityComboBox" }, + propertyGroups = { + StudioPropertyGroups.EntityClass.class, + StudioPropertyGroups.SearchStringFormat.class, + StudioPropertyGroups.EscapeValueForLike.class, + StudioPropertyGroups.Query.class, + StudioPropertyGroups.FetchPlan.class + }, properties = { @StudioProperty(xmlAttribute = "class", type = StudioPropertyType.ENTITY_CLASS), @StudioProperty(xmlAttribute = "searchStringFormat", type = StudioPropertyType.STRING), @@ -1249,6 +1548,18 @@ interface StudioElements { icon = "io/jmix/flowui/kit/meta/icon/component/icon.svg", documentationLink = "%VERSION%/flow-ui/vc/components/icon.html", isInjectable = false, + propertyGroups = { + StudioPropertyGroups.AlignSelf.class, + StudioPropertyGroups.JustifySelf.class, + StudioPropertyGroups.ClassNames.class, + StudioPropertyGroups.ClickShortcut.class, + StudioPropertyGroups.Css.class, + StudioPropertyGroups.Color.class, + StudioPropertyGroups.Colspan.class, + StudioPropertyGroups.RequiredIcon.class, + StudioPropertyGroups.Id.class, + StudioPropertyGroups.Visible.class + }, properties = { @StudioProperty(xmlAttribute = "alignSelf", category = StudioProperty.Category.POSITION, type = StudioPropertyType.ENUMERATION, classFqn = "com.vaadin.flow.component.orderedlayout.FlexComponent$Alignment", @@ -1285,6 +1596,19 @@ interface StudioElements { "io.jmix.flowui.kit.component.stub.DownloadButtonIconElement"}, icon = "io/jmix/flowui/kit/meta/icon/component/svgIcon.svg", isInjectable = false, + propertyGroups = { + StudioPropertyGroups.AlignSelf.class, + StudioPropertyGroups.JustifySelf.class, + StudioPropertyGroups.ClassNames.class, + StudioPropertyGroups.ClickShortcut.class, + StudioPropertyGroups.Css.class, + StudioPropertyGroups.Color.class, + StudioPropertyGroups.Resource.class, + StudioPropertyGroups.Colspan.class, + StudioPropertyGroups.Id.class, + StudioPropertyGroups.Symbol.class, + StudioPropertyGroups.Visible.class + }, properties = { @StudioProperty(xmlAttribute = "alignSelf", category = StudioProperty.Category.POSITION, type = StudioPropertyType.ENUMERATION, classFqn = "com.vaadin.flow.component.orderedlayout.FlexComponent$Alignment", @@ -1322,6 +1646,21 @@ interface StudioElements { "io.jmix.flowui.kit.component.stub.DownloadButtonIconElement"}, icon = "io/jmix/flowui/kit/meta/icon/component/fontIcon.svg", isInjectable = false, + propertyGroups = { + StudioPropertyGroups.AlignSelf.class, + StudioPropertyGroups.JustifySelf.class, + StudioPropertyGroups.CharCode.class, + StudioPropertyGroups.ClassNames.class, + StudioPropertyGroups.ClickShortcut.class, + StudioPropertyGroups.Css.class, + StudioPropertyGroups.Color.class, + StudioPropertyGroups.Colspan.class, + StudioPropertyGroups.FontFamily.class, + StudioPropertyGroups.IconClassNames.class, + StudioPropertyGroups.Id.class, + StudioPropertyGroups.Ligature.class, + StudioPropertyGroups.Visible.class + }, properties = { @StudioProperty(xmlAttribute = "alignSelf", category = StudioProperty.Category.POSITION, type = StudioPropertyType.ENUMERATION, classFqn = "com.vaadin.flow.component.orderedlayout.FlexComponent$Alignment", @@ -1362,6 +1701,33 @@ interface StudioElements { icon = "io/jmix/flowui/kit/meta/icon/html/image.svg", documentationLink = "%VERSION%/flow-ui/vc/html-components/image.html", isInjectable = false, + propertyGroups = { + StudioPropertyGroups.AlignSelf.class, + StudioPropertyGroups.JustifySelf.class, + StudioPropertyGroups.AlternateText.class, + StudioPropertyGroups.AriaLabel.class, + StudioPropertyGroups.AriaLabelledBy.class, + StudioPropertyGroups.ClassNames.class, + StudioPropertyGroups.ClickShortcut.class, + StudioPropertyGroups.Css.class, + StudioPropertyGroups.Colspan.class, + StudioPropertyGroups.CollectionOrInstanceDataContainer.class, + StudioPropertyGroups.EnabledWithTrueDefaultValue.class, + StudioPropertyGroups.Height.class, + StudioPropertyGroups.Id.class, + StudioPropertyGroups.MaxHeight.class, + StudioPropertyGroups.MaxWidth.class, + StudioPropertyGroups.MinHeight.class, + StudioPropertyGroups.MinWidth.class, + StudioPropertyGroups.Property.class, + StudioPropertyGroups.ImageResource.class, + StudioPropertyGroups.Text.class, + StudioPropertyGroups.ImageThemeNames.class, + StudioPropertyGroups.Title.class, + StudioPropertyGroups.Visible.class, + StudioPropertyGroups.WhiteSpace.class, + StudioPropertyGroups.Width.class + }, properties = { @StudioProperty(xmlAttribute = "alignSelf", category = StudioProperty.Category.POSITION, type = StudioPropertyType.ENUMERATION, classFqn = "com.vaadin.flow.component.orderedlayout.FlexComponent$Alignment", @@ -1433,6 +1799,9 @@ interface StudioElements { name = "Component", xmlElement = "component", target = "io.jmix.flowui.facet.SettingsFacet", + propertyGroups = { + StudioPropertyGroups.Enabled.class + }, properties = { @StudioProperty(xmlAttribute = "componentId", category = StudioProperty.Category.GENERAL, type = StudioPropertyType.STRING, required = true), @StudioProperty(xmlAttribute = "enabled", category = StudioProperty.Category.GENERAL, type = StudioPropertyType.BOOLEAN) @@ -1446,6 +1815,9 @@ interface StudioElements { name = "MenuItem", xmlElement = "menuItem", target = {"io.jmix.flowui.component.gridcolumnvisibility.JmixGridColumnVisibility"}, + propertyGroups = { + StudioPropertyGroups.Text.class + }, properties = { @StudioProperty(xmlAttribute = "refColumn", type = StudioPropertyType.COMPONENT_REF, componentRefTags = {"column"}, required = true), @@ -1461,6 +1833,12 @@ interface StudioElements { classFqn = "io.jmix.flowui.kit.component.grid.JmixGridContextMenu", unlimitedCount = false, target = {"io.jmix.flowui.component.grid.DataGrid", "io.jmix.flowui.component.grid.TreeDataGrid"}, + propertyGroups = { + StudioPropertyGroups.ClassNames.class, + StudioPropertyGroups.Css.class, + StudioPropertyGroups.Id.class, + StudioPropertyGroups.Visible.class + }, properties = { @StudioProperty(xmlAttribute = "classNames", category = StudioProperty.Category.LOOK_AND_FEEL, type = StudioPropertyType.VALUES_LIST), @StudioProperty(xmlAttribute = "css", category = StudioProperty.Category.LOOK_AND_FEEL, type = StudioPropertyType.STRING), @@ -1493,6 +1871,16 @@ interface StudioElements { classFqn = "com.vaadin.flow.component.grid.contextmenu.GridMenuItem", target = {"io.jmix.flowui.kit.component.grid.JmixGridContextMenu", "com.vaadin.flow.component.grid.contextmenu.GridMenuItem"}, + propertyGroups = { + StudioPropertyGroups.Action.class, + StudioPropertyGroups.ClassNames.class, + StudioPropertyGroups.Css.class, + StudioPropertyGroups.EnabledWithTrueDefaultValue.class, + StudioPropertyGroups.Id.class, + StudioPropertyGroups.Text.class, + StudioPropertyGroups.Visible.class, + StudioPropertyGroups.WhiteSpace.class + }, properties = { @StudioProperty(xmlAttribute = "action", type = StudioPropertyType.ACTION_REF, classFqn = "io.jmix.flowui.kit.action.Action"), @@ -1588,6 +1976,9 @@ interface StudioElements { }, unlimitedCount = false, isInjectable = false, + propertyGroups = { + StudioPropertyGroups.RequiredFragmentClass.class + }, properties = { @StudioProperty(xmlAttribute = "class", category = StudioProperty.Category.GENERAL, type = StudioPropertyType.FRAGMENT_CLASS, required = true) diff --git a/jmix-flowui/flowui-kit/src/main/java/io/jmix/flowui/kit/meta/element/StudioFormatterElements.java b/jmix-flowui/flowui-kit/src/main/java/io/jmix/flowui/kit/meta/element/StudioFormatterElements.java index a8afd84f33..5e9ed447be 100644 --- a/jmix-flowui/flowui-kit/src/main/java/io/jmix/flowui/kit/meta/element/StudioFormatterElements.java +++ b/jmix-flowui/flowui-kit/src/main/java/io/jmix/flowui/kit/meta/element/StudioFormatterElements.java @@ -20,6 +20,7 @@ import io.jmix.flowui.kit.meta.StudioProperty; import io.jmix.flowui.kit.meta.StudioPropertyType; import io.jmix.flowui.kit.meta.StudioUiKit; +import io.jmix.flowui.kit.meta.StudioPropertyGroups; @StudioUiKit interface StudioFormatterElements { @@ -39,6 +40,9 @@ interface StudioFormatterElements { xmlElement = "custom", icon = "io/jmix/flowui/kit/meta/icon/element/formatter.svg", documentationLink = "%VERSION%/flow-ui/vc/miscellaneous/formatter.html#custom-formatter", + propertyGroups = { + StudioPropertyGroups.Bean.class + }, properties = { @StudioProperty(xmlAttribute = "bean", type = StudioPropertyType.STRING, required = true) } diff --git a/jmix-flowui/flowui-kit/src/main/java/io/jmix/flowui/kit/meta/element/StudioHTMLElements.java b/jmix-flowui/flowui-kit/src/main/java/io/jmix/flowui/kit/meta/element/StudioHTMLElements.java index bb81a50f4d..4eff24341a 100644 --- a/jmix-flowui/flowui-kit/src/main/java/io/jmix/flowui/kit/meta/element/StudioHTMLElements.java +++ b/jmix-flowui/flowui-kit/src/main/java/io/jmix/flowui/kit/meta/element/StudioHTMLElements.java @@ -21,6 +21,7 @@ import io.jmix.flowui.kit.meta.StudioProperty; import io.jmix.flowui.kit.meta.StudioPropertyType; import io.jmix.flowui.kit.meta.StudioUiKit; +import io.jmix.flowui.kit.meta.StudioPropertyGroups; @StudioUiKit interface StudioHTMLElements { @@ -31,6 +32,24 @@ interface StudioHTMLElements { xmlElement = "description", target = {"com.vaadin.flow.component.html.DescriptionList"}, visible = true, + propertyGroups = { + StudioPropertyGroups.ClassNames.class, + StudioPropertyGroups.ClickShortcut.class, + StudioPropertyGroups.Css.class, + StudioPropertyGroups.EnabledWithTrueDefaultValue.class, + StudioPropertyGroups.Height.class, + StudioPropertyGroups.Id.class, + StudioPropertyGroups.MaxHeight.class, + StudioPropertyGroups.MaxWidth.class, + StudioPropertyGroups.MinHeight.class, + StudioPropertyGroups.MinWidth.class, + StudioPropertyGroups.Text.class, + StudioPropertyGroups.NativeLabelThemeNames.class, + StudioPropertyGroups.Title.class, + StudioPropertyGroups.Visible.class, + StudioPropertyGroups.WhiteSpace.class, + StudioPropertyGroups.Width.class + }, properties = { @StudioProperty(xmlAttribute = "classNames", category = StudioProperty.Category.LOOK_AND_FEEL, type = StudioPropertyType.VALUES_LIST), @StudioProperty(xmlAttribute = "clickShortcut", type = StudioPropertyType.SHORTCUT_COMBINATION), @@ -64,6 +83,24 @@ interface StudioHTMLElements { xmlElement = "term", target = "com.vaadin.flow.component.html.DescriptionList", visible = true, + propertyGroups = { + StudioPropertyGroups.ClassNames.class, + StudioPropertyGroups.ClickShortcut.class, + StudioPropertyGroups.Css.class, + StudioPropertyGroups.EnabledWithTrueDefaultValue.class, + StudioPropertyGroups.Height.class, + StudioPropertyGroups.Id.class, + StudioPropertyGroups.MaxHeight.class, + StudioPropertyGroups.MaxWidth.class, + StudioPropertyGroups.MinHeight.class, + StudioPropertyGroups.MinWidth.class, + StudioPropertyGroups.Text.class, + StudioPropertyGroups.NativeLabelThemeNames.class, + StudioPropertyGroups.Title.class, + StudioPropertyGroups.Visible.class, + StudioPropertyGroups.WhiteSpace.class, + StudioPropertyGroups.Width.class + }, properties = { @StudioProperty(xmlAttribute = "classNames", category = StudioProperty.Category.LOOK_AND_FEEL, type = StudioPropertyType.VALUES_LIST), @StudioProperty(xmlAttribute = "clickShortcut", type = StudioPropertyType.SHORTCUT_COMBINATION), diff --git a/jmix-flowui/flowui-kit/src/main/java/io/jmix/flowui/kit/meta/element/StudioMainViewElements.java b/jmix-flowui/flowui-kit/src/main/java/io/jmix/flowui/kit/meta/element/StudioMainViewElements.java index 0934a51d5b..0e913c9390 100644 --- a/jmix-flowui/flowui-kit/src/main/java/io/jmix/flowui/kit/meta/element/StudioMainViewElements.java +++ b/jmix-flowui/flowui-kit/src/main/java/io/jmix/flowui/kit/meta/element/StudioMainViewElements.java @@ -31,6 +31,9 @@ interface StudioMainViewElements { icon = "io/jmix/flowui/kit/meta/icon/element/navigationBar.svg", unlimitedCount = false, visible = true, + propertyGroups = { + StudioPropertyGroups.Css.class + }, properties = { @StudioProperty(xmlAttribute = "css", category = StudioProperty.Category.LOOK_AND_FEEL, type = StudioPropertyType.STRING), @StudioProperty(xmlAttribute = "touchOptimized", type = StudioPropertyType.BOOLEAN, @@ -47,6 +50,9 @@ interface StudioMainViewElements { unlimitedCount = false, visible = true, target = {"com.vaadin.flow.component.applayout.AppLayout"}, + propertyGroups = { + StudioPropertyGroups.Css.class + }, properties = { @StudioProperty(xmlAttribute = "css", category = StudioProperty.Category.LOOK_AND_FEEL, type = StudioPropertyType.STRING) } @@ -61,6 +67,26 @@ interface StudioMainViewElements { target = {"com.vaadin.flow.component.applayout.AppLayout", "io.jmix.tabbedmode.component.workarea.WorkArea"}, unlimitedCount = false, visible = true, + propertyGroups = { + StudioPropertyGroups.Id.class, + StudioPropertyGroups.AlignItems.class, + StudioPropertyGroups.BoxSizing.class, + StudioPropertyGroups.ClassNames.class, + StudioPropertyGroups.Css.class, + StudioPropertyGroups.EnabledWithTrueDefaultValue.class, + StudioPropertyGroups.Expand.class, + StudioPropertyGroups.Height.class, + StudioPropertyGroups.JustifyContent.class, + StudioPropertyGroups.Margin.class, + StudioPropertyGroups.MaxHeight.class, + StudioPropertyGroups.MaxWidth.class, + StudioPropertyGroups.MinHeight.class, + StudioPropertyGroups.MinWidth.class, + StudioPropertyGroups.Padding.class, + StudioPropertyGroups.Spacing.class, + StudioPropertyGroups.LayoutThemeNames.class, + StudioPropertyGroups.WidthWithDefaultValue100.class + }, properties = { @StudioProperty(xmlAttribute = "id", category = StudioProperty.Category.GENERAL, type = StudioPropertyType.COMPONENT_ID), @StudioProperty(xmlAttribute = "alignItems", category = StudioProperty.Category.POSITION, type = StudioPropertyType.ENUMERATION, diff --git a/jmix-flowui/flowui-kit/src/main/java/io/jmix/flowui/kit/meta/element/StudioValidatorsElements.java b/jmix-flowui/flowui-kit/src/main/java/io/jmix/flowui/kit/meta/element/StudioValidatorsElements.java index 62b33e1962..3077915abd 100644 --- a/jmix-flowui/flowui-kit/src/main/java/io/jmix/flowui/kit/meta/element/StudioValidatorsElements.java +++ b/jmix-flowui/flowui-kit/src/main/java/io/jmix/flowui/kit/meta/element/StudioValidatorsElements.java @@ -20,6 +20,7 @@ import io.jmix.flowui.kit.meta.StudioProperty; import io.jmix.flowui.kit.meta.StudioPropertyType; import io.jmix.flowui.kit.meta.StudioUiKit; +import io.jmix.flowui.kit.meta.StudioPropertyGroups; @StudioUiKit interface StudioValidatorsElements { @@ -30,6 +31,10 @@ interface StudioValidatorsElements { xmlElement = "custom", icon = "io/jmix/flowui/kit/meta/icon/element/validator.svg", documentationLink = "%VERSION%/flow-ui/vc/miscellaneous/validator.html#custom-validator", + propertyGroups = { + StudioPropertyGroups.Bean.class, + StudioPropertyGroups.Message.class + }, properties = { @StudioProperty( xmlAttribute = "bean", @@ -65,6 +70,7 @@ interface StudioValidatorsElements { "io.jmix.flowui.component.valuepicker.EntityPicker", "io.jmix.flowui.component.codeeditor.CodeEditor" }, + propertyGroups = StudioPropertyGroups.MessageAndInclusiveRequiredStringValue.class, properties = { @StudioProperty( xmlAttribute = "message", @@ -104,6 +110,7 @@ interface StudioValidatorsElements { "io.jmix.flowui.component.valuepicker.EntityPicker", "io.jmix.flowui.component.codeeditor.CodeEditor" }, + propertyGroups = StudioPropertyGroups.MessageAndInclusiveRequiredStringValue.class, properties = { @StudioProperty( xmlAttribute = "message", @@ -142,6 +149,10 @@ interface StudioValidatorsElements { xmlElement = "digits", icon = "io/jmix/flowui/kit/meta/icon/element/validator.svg", documentationLink = "%VERSION%/flow-ui/vc/miscellaneous/validator.html#DigitsValidator", + propertyGroups = { + StudioPropertyGroups.Message.class, + StudioPropertyGroups.RequiredInteger.class, + }, properties = { @StudioProperty( xmlAttribute = "message", @@ -181,6 +192,7 @@ interface StudioValidatorsElements { "io.jmix.flowui.component.valuepicker.EntityPicker", "io.jmix.flowui.component.codeeditor.CodeEditor" }, + propertyGroups = StudioPropertyGroups.MessageAndInclusiveRequiredStringValue.class, properties = { @StudioProperty( xmlAttribute = "message", @@ -220,6 +232,7 @@ interface StudioValidatorsElements { "io.jmix.flowui.component.valuepicker.EntityPicker", "io.jmix.flowui.component.codeeditor.CodeEditor" }, + propertyGroups = StudioPropertyGroups.MessageAndInclusiveRequiredStringValue.class, properties = { @StudioProperty( xmlAttribute = "message", @@ -256,6 +269,9 @@ interface StudioValidatorsElements { "io.jmix.flowui.component.valuepicker.EntityPicker", "io.jmix.flowui.component.textfield.JmixBigDecimalField" }, + propertyGroups = { + StudioPropertyGroups.Message.class + }, properties = { @StudioProperty( xmlAttribute = "message", @@ -286,6 +302,10 @@ interface StudioValidatorsElements { "io.jmix.flowui.component.PickerComponent", "io.jmix.flowui.component.codeeditor.CodeEditor" }, + propertyGroups = { + StudioPropertyGroups.Message.class, + StudioPropertyGroups.CheckSeconds.class + }, properties = { @StudioProperty( xmlAttribute = "message", @@ -321,6 +341,10 @@ interface StudioValidatorsElements { "io.jmix.flowui.component.PickerComponent", "io.jmix.flowui.component.codeeditor.CodeEditor" }, + propertyGroups = { + StudioPropertyGroups.Message.class, + StudioPropertyGroups.CheckSeconds.class + }, properties = { @StudioProperty( xmlAttribute = "message", @@ -355,6 +379,7 @@ interface StudioValidatorsElements { "io.jmix.flowui.component.valuepicker.EntityPicker", "io.jmix.flowui.component.codeeditor.CodeEditor" }, + propertyGroups = StudioPropertyGroups.MessageAndRequiredStringValue.class, properties = { @StudioProperty( xmlAttribute = "message", @@ -389,6 +414,7 @@ interface StudioValidatorsElements { "io.jmix.flowui.component.valuepicker.EntityPicker", "io.jmix.flowui.component.codeeditor.CodeEditor" }, + propertyGroups = StudioPropertyGroups.MessageAndRequiredStringValue.class, properties = { @StudioProperty( xmlAttribute = "message", @@ -422,6 +448,9 @@ interface StudioValidatorsElements { "io.jmix.flowui.component.valuepicker.EntityPicker", "io.jmix.flowui.component.codeeditor.CodeEditor" }, + propertyGroups = { + StudioPropertyGroups.Message.class + }, properties = { @StudioProperty( xmlAttribute = "message", @@ -450,6 +479,9 @@ interface StudioValidatorsElements { "io.jmix.flowui.component.valuepicker.EntityPicker", "io.jmix.flowui.component.codeeditor.CodeEditor" }, + propertyGroups = { + StudioPropertyGroups.Message.class + }, properties = { @StudioProperty( xmlAttribute = "message", @@ -477,6 +509,9 @@ interface StudioValidatorsElements { "io.jmix.flowui.component.valuepicker.EntityPicker", "io.jmix.flowui.component.textfield.JmixBigDecimalField" }, + propertyGroups = { + StudioPropertyGroups.Message.class + }, properties = { @StudioProperty( xmlAttribute = "message", @@ -502,6 +537,9 @@ interface StudioValidatorsElements { "io.jmix.flowui.component.valuepicker.EntityPicker", "io.jmix.flowui.component.textfield.JmixBigDecimalField" }, + propertyGroups = { + StudioPropertyGroups.Message.class + }, properties = { @StudioProperty( xmlAttribute = "message", @@ -517,6 +555,9 @@ interface StudioValidatorsElements { xmlElement = "notNull", icon = "io/jmix/flowui/kit/meta/icon/element/validator.svg", documentationLink = "%VERSION%/flow-ui/vc/miscellaneous/validator.html#NotNullValidator", + propertyGroups = { + StudioPropertyGroups.Message.class + }, properties = { @StudioProperty( xmlAttribute = "message", @@ -547,6 +588,10 @@ interface StudioValidatorsElements { "io.jmix.flowui.component.PickerComponent", "io.jmix.flowui.component.codeeditor.CodeEditor" }, + propertyGroups = { + StudioPropertyGroups.Message.class, + StudioPropertyGroups.CheckSeconds.class + }, properties = { @StudioProperty( xmlAttribute = "message", @@ -582,6 +627,10 @@ interface StudioValidatorsElements { "io.jmix.flowui.component.PickerComponent", "io.jmix.flowui.component.codeeditor.CodeEditor" }, + propertyGroups = { + StudioPropertyGroups.Message.class, + StudioPropertyGroups.CheckSeconds.class + }, properties = { @StudioProperty( xmlAttribute = "message", @@ -615,6 +664,9 @@ interface StudioValidatorsElements { "io.jmix.flowui.component.valuepicker.EntityPicker", "io.jmix.flowui.component.codeeditor.CodeEditor" }, + propertyGroups = { + StudioPropertyGroups.Message.class + }, properties = { @StudioProperty( xmlAttribute = "message", @@ -643,6 +695,9 @@ interface StudioValidatorsElements { "io.jmix.flowui.component.valuepicker.EntityPicker", "io.jmix.flowui.component.codeeditor.CodeEditor" }, + propertyGroups = { + StudioPropertyGroups.Message.class + }, properties = { @StudioProperty( xmlAttribute = "message", @@ -670,6 +725,9 @@ interface StudioValidatorsElements { "io.jmix.flowui.component.valuepicker.EntityPicker", "io.jmix.flowui.component.textfield.JmixBigDecimalField" }, + propertyGroups = { + StudioPropertyGroups.Message.class + }, properties = { @StudioProperty( xmlAttribute = "message", @@ -700,6 +758,11 @@ interface StudioValidatorsElements { "io.jmix.flowui.component.valuepicker.EntityPicker", "io.jmix.flowui.component.textfield.JmixBigDecimalField" }, + propertyGroups = { + StudioPropertyGroups.Message.class, + StudioPropertyGroups.IntegerMin.class, + StudioPropertyGroups.IntegerMax.class + }, properties = { @StudioProperty( xmlAttribute = "message", diff --git a/jmix-flowui/flowui-kit/src/main/java/io/jmix/flowui/kit/meta/elementsgroup/StudioElementsGroups.java b/jmix-flowui/flowui-kit/src/main/java/io/jmix/flowui/kit/meta/elementsgroup/StudioElementsGroups.java index 7f6a53de19..ee4dd5a628 100644 --- a/jmix-flowui/flowui-kit/src/main/java/io/jmix/flowui/kit/meta/elementsgroup/StudioElementsGroups.java +++ b/jmix-flowui/flowui-kit/src/main/java/io/jmix/flowui/kit/meta/elementsgroup/StudioElementsGroups.java @@ -17,12 +17,12 @@ package io.jmix.flowui.kit.meta.elementsgroup; import io.jmix.flowui.kit.meta.StudioElementsGroup; -import io.jmix.flowui.kit.meta.StudioMetaConstants; import io.jmix.flowui.kit.meta.StudioProperty; import io.jmix.flowui.kit.meta.StudioPropertyType; import io.jmix.flowui.kit.meta.StudioUiKit; import static io.jmix.flowui.kit.meta.StudioMetaConstants.TAG_PREFIX; +import io.jmix.flowui.kit.meta.StudioPropertyGroups; @StudioUiKit interface StudioElementsGroups { @@ -34,6 +34,11 @@ interface StudioElementsGroups { icon = "io/jmix/flowui/kit/meta/icon/elementsgroup/columns.svg", target = {"com.vaadin.flow.component.grid.Grid"}, documentationLink = "%VERSION%/flow-ui/vc/components/dataGrid.html#columns", + propertyGroups = { + StudioPropertyGroups.Exclude.class, + StudioPropertyGroups.Sortable.class, + StudioPropertyGroups.IncludeAll.class + }, properties = { @StudioProperty(xmlAttribute = "exclude", type = StudioPropertyType.STRING), @StudioProperty(xmlAttribute = "sortable", type = StudioPropertyType.BOOLEAN, diff --git a/jmix-flowui/flowui-kit/src/main/java/io/jmix/flowui/kit/meta/facet/StudioFacets.java b/jmix-flowui/flowui-kit/src/main/java/io/jmix/flowui/kit/meta/facet/StudioFacets.java index 86f2f27644..90228ccab7 100644 --- a/jmix-flowui/flowui-kit/src/main/java/io/jmix/flowui/kit/meta/facet/StudioFacets.java +++ b/jmix-flowui/flowui-kit/src/main/java/io/jmix/flowui/kit/meta/facet/StudioFacets.java @@ -20,6 +20,7 @@ import io.jmix.flowui.kit.meta.StudioProperty; import io.jmix.flowui.kit.meta.StudioPropertyType; import io.jmix.flowui.kit.meta.StudioUiKit; +import io.jmix.flowui.kit.meta.StudioPropertyGroups; @StudioUiKit interface StudioFacets { @@ -31,6 +32,12 @@ interface StudioFacets { xmlElement = "dataLoadCoordinator", icon = "io/jmix/flowui/kit/meta/icon/facet/dataLoadCoordinator.svg", documentationLink = "%VERSION%/flow-ui/facets/dataLoadCoordinator.html", + propertyGroups = { + StudioPropertyGroups.IdWithoutCategory.class, + StudioPropertyGroups.Auto.class, + StudioPropertyGroups.ComponentPrefix.class, + StudioPropertyGroups.ContainerPrefix.class + }, properties = { @StudioProperty(xmlAttribute = "id", type = StudioPropertyType.COMPONENT_ID), @StudioProperty(xmlAttribute = "auto", type = StudioPropertyType.BOOLEAN, @@ -50,6 +57,12 @@ interface StudioFacets { xmlElement = "fragmentDataLoadCoordinator", icon = "io/jmix/flowui/kit/meta/icon/facet/dataLoadCoordinator.svg", documentationLink = "%VERSION%/flow-ui/facets/dataLoadCoordinator.html", + propertyGroups = { + StudioPropertyGroups.IdWithoutCategory.class, + StudioPropertyGroups.Auto.class, + StudioPropertyGroups.ComponentPrefix.class, + StudioPropertyGroups.ContainerPrefix.class + }, properties = { @StudioProperty(xmlAttribute = "id", type = StudioPropertyType.COMPONENT_ID), @StudioProperty(xmlAttribute = "auto", type = StudioPropertyType.BOOLEAN, @@ -69,9 +82,8 @@ interface StudioFacets { xmlElement = "urlQueryParameters", icon = "io/jmix/flowui/kit/meta/icon/facet/urlQueryParameters.svg", documentationLink = "%VERSION%/flow-ui/facets/urlQueryParameters.html", - properties = { - @StudioProperty(xmlAttribute = "id", type = StudioPropertyType.COMPONENT_ID), - } + propertyGroups = StudioPropertyGroups.IdWithoutCategory.class, + properties = @StudioProperty(xmlAttribute = "id", type = StudioPropertyType.COMPONENT_ID) ) void queryParameters(); @@ -97,6 +109,10 @@ interface StudioFacets { category = "Facets", xmlElement = "settings", icon = "io/jmix/flowui/kit/meta/icon/facet/settings.svg", + propertyGroups = { + StudioPropertyGroups.IdWithoutCategory.class, + StudioPropertyGroups.Auto.class + }, properties = { @StudioProperty(xmlAttribute = "id", type = StudioPropertyType.COMPONENT_ID), @StudioProperty(xmlAttribute = "auto", type = StudioPropertyType.BOOLEAN, @@ -111,6 +127,10 @@ interface StudioFacets { category = "Facets", xmlElement = "fragmentSettings", icon = "io/jmix/flowui/kit/meta/icon/facet/settings.svg", + propertyGroups = { + StudioPropertyGroups.IdWithoutCategory.class, + StudioPropertyGroups.Auto.class + }, properties = { @StudioProperty(xmlAttribute = "id", type = StudioPropertyType.COMPONENT_ID), @StudioProperty(xmlAttribute = "auto", type = StudioPropertyType.BOOLEAN, diff --git a/jmix-fullcalendar/fullcalendar-flowui-kit/src/main/java/io/jmix/fullcalendarflowui/kit/meta/StudioFullCalendarActions.java b/jmix-fullcalendar/fullcalendar-flowui-kit/src/main/java/io/jmix/fullcalendarflowui/kit/meta/StudioFullCalendarActions.java index 490ea640eb..3280dd465c 100644 --- a/jmix-fullcalendar/fullcalendar-flowui-kit/src/main/java/io/jmix/fullcalendarflowui/kit/meta/StudioFullCalendarActions.java +++ b/jmix-fullcalendar/fullcalendar-flowui-kit/src/main/java/io/jmix/fullcalendarflowui/kit/meta/StudioFullCalendarActions.java @@ -27,6 +27,12 @@ public interface StudioFullCalendarActions { classFqn = "io.jmix.fullcalendarflowui.action.DaysOfWeekEditAction", icon = "io/jmix/fullcalendarflowui/kit/meta/icon/action/action.svg", documentationLink = "%VERSION%/calendar/full-calendar-component.html#days-of-week-datatype", + propertyGroups = { + StudioPropertyGroups.Description2.class, + StudioPropertyGroups.Enabled3.class, + StudioPropertyGroups.ShortcutCombination.class, + StudioPropertyGroups.VisibleWithDefaultValueTrue.class + }, properties = { @StudioProperty(xmlAttribute = "actionVariant", type = StudioPropertyType.ENUMERATION, setMethod = "setVariant", classFqn = "io.jmix.flowui.kit.action.ActionVariant", diff --git a/jmix-fullcalendar/fullcalendar-flowui-kit/src/main/java/io/jmix/fullcalendarflowui/kit/meta/StudioFullCalendarComponents.java b/jmix-fullcalendar/fullcalendar-flowui-kit/src/main/java/io/jmix/fullcalendarflowui/kit/meta/StudioFullCalendarComponents.java index a3373436a8..e9c58d345b 100644 --- a/jmix-fullcalendar/fullcalendar-flowui-kit/src/main/java/io/jmix/fullcalendarflowui/kit/meta/StudioFullCalendarComponents.java +++ b/jmix-fullcalendar/fullcalendar-flowui-kit/src/main/java/io/jmix/fullcalendarflowui/kit/meta/StudioFullCalendarComponents.java @@ -39,6 +39,8 @@ public interface StudioFullCalendarComponents { StudioPropertyGroups.ClassNamesAndCss.class, StudioPropertyGroups.IdAndVisible.class, StudioPropertyGroups.Size.class, + StudioPropertyGroups.AlignSelf.class, + StudioPropertyGroups.Colspan.class }, properties = { @StudioProperty(xmlAttribute = "alignSelf", category = StudioProperty.Category.POSITION, type = StudioPropertyType.ENUMERATION, diff --git a/jmix-fullcalendar/fullcalendar-flowui-kit/src/main/java/io/jmix/fullcalendarflowui/kit/meta/StudioFullCalendarElements.java b/jmix-fullcalendar/fullcalendar-flowui-kit/src/main/java/io/jmix/fullcalendarflowui/kit/meta/StudioFullCalendarElements.java index 67e836502f..46a0eba5b6 100644 --- a/jmix-fullcalendar/fullcalendar-flowui-kit/src/main/java/io/jmix/fullcalendarflowui/kit/meta/StudioFullCalendarElements.java +++ b/jmix-fullcalendar/fullcalendar-flowui-kit/src/main/java/io/jmix/fullcalendarflowui/kit/meta/StudioFullCalendarElements.java @@ -31,6 +31,31 @@ public interface StudioFullCalendarElements { icon = "io/jmix/fullcalendarflowui/kit/meta/icon/unknownComponent.svg", documentationLink = "%VERSION%/calendar/full-calendar-component.html#container-data-provider", isInjectable = false, + propertyGroups = { + StudioPropertyGroups.Id.class, + StudioFullCalendarPropertyGroups.AdditionalProperties.class, + StudioFullCalendarPropertyGroups.AllDay.class, + StudioFullCalendarPropertyGroups.BackgroundColor.class, + StudioFullCalendarPropertyGroups.BorderColor.class, + StudioFullCalendarPropertyGroups.DataProviderClassNames.class, + StudioFullCalendarPropertyGroups.Constraint.class, + StudioFullCalendarPropertyGroups.Description.class, + StudioFullCalendarPropertyGroups.Display.class, + StudioFullCalendarPropertyGroups.DurationEditable.class, + StudioFullCalendarPropertyGroups.EndDateTime.class, + StudioFullCalendarPropertyGroups.GroupId.class, + StudioFullCalendarPropertyGroups.Interactive.class, + StudioFullCalendarPropertyGroups.Overlap.class, + StudioFullCalendarPropertyGroups.RecurringDaysOfWeek.class, + StudioFullCalendarPropertyGroups.RecurringEndDate.class, + StudioFullCalendarPropertyGroups.RecurringEndTime.class, + StudioFullCalendarPropertyGroups.RecurringStartDate.class, + StudioFullCalendarPropertyGroups.RecurringStartTime.class, + StudioFullCalendarPropertyGroups.StartDateTime.class, + StudioFullCalendarPropertyGroups.StartEditable.class, + StudioFullCalendarPropertyGroups.TextColor.class, + StudioFullCalendarPropertyGroups.Title.class + }, properties = { @StudioProperty(xmlAttribute = "id", category = StudioProperty.Category.GENERAL, @@ -74,6 +99,31 @@ public interface StudioFullCalendarElements { icon = "io/jmix/fullcalendarflowui/kit/meta/icon/unknownComponent.svg", documentationLink = "%VERSION%/calendar/full-calendar-component.html#callback-calendar-data-provider", isInjectable = false, + propertyGroups = { + StudioPropertyGroups.Id.class, + StudioFullCalendarPropertyGroups.AdditionalProperties.class, + StudioFullCalendarPropertyGroups.AllDay.class, + StudioFullCalendarPropertyGroups.BackgroundColor.class, + StudioFullCalendarPropertyGroups.BorderColor.class, + StudioFullCalendarPropertyGroups.DataProviderClassNames.class, + StudioFullCalendarPropertyGroups.Constraint.class, + StudioFullCalendarPropertyGroups.Description.class, + StudioFullCalendarPropertyGroups.Display.class, + StudioFullCalendarPropertyGroups.DurationEditable.class, + StudioFullCalendarPropertyGroups.EndDateTime.class, + StudioFullCalendarPropertyGroups.GroupId.class, + StudioFullCalendarPropertyGroups.Interactive.class, + StudioFullCalendarPropertyGroups.Overlap.class, + StudioFullCalendarPropertyGroups.RecurringDaysOfWeek.class, + StudioFullCalendarPropertyGroups.RecurringEndDate.class, + StudioFullCalendarPropertyGroups.RecurringEndTime.class, + StudioFullCalendarPropertyGroups.RecurringStartDate.class, + StudioFullCalendarPropertyGroups.RecurringStartTime.class, + StudioFullCalendarPropertyGroups.StartDateTime.class, + StudioFullCalendarPropertyGroups.StartEditable.class, + StudioFullCalendarPropertyGroups.TextColor.class, + StudioFullCalendarPropertyGroups.Title.class + }, properties = { @StudioProperty(xmlAttribute = "id", category = StudioProperty.Category.GENERAL, @@ -112,6 +162,11 @@ public interface StudioFullCalendarElements { icon = "io/jmix/flowui/kit/meta/icon/element/itemsQuery.svg", documentationLink = "%VERSION%/calendar/full-calendar-component.html#callback-calendar-data-provider", target = "io.jmix.fullcalendarflowui.component.data.EntityCalendarDataRetriever", + propertyGroups = { + StudioPropertyGroups.RequiredEntityClass.class, + StudioPropertyGroups.Query.class, + StudioPropertyGroups.FetchPlan.class + }, properties = { @StudioProperty(xmlAttribute = "class", type = StudioPropertyType.ENTITY_CLASS, required = true), @StudioProperty(xmlAttribute = "query", type = StudioPropertyType.JPA_QUERY), @@ -128,6 +183,9 @@ public interface StudioFullCalendarElements { icon = "io/jmix/fullcalendarflowui/kit/meta/icon/unknownComponent.svg", documentationLink = "%VERSION%/calendar/full-calendar-component.html#calendar-display-modes", isInjectable = false, + propertyGroups = { + StudioPropertyGroups.RequiredId.class + }, properties = { @StudioProperty(xmlAttribute = "id", type = StudioPropertyType.STRING, required = true), @StudioProperty(xmlAttribute = "type", type = StudioPropertyType.STRING, @@ -162,6 +220,13 @@ public interface StudioFullCalendarElements { classFqn = "io.jmix.fullcalendarflowui.kit.component.model.DayGridDayProperties", target = "io.jmix.fullcalendarflowui.kit.meta.element.StudioFullCalendarDisplayModeProperties", icon = "io/jmix/fullcalendarflowui/kit/meta/icon/unknownComponent.svg", + propertyGroups = { + StudioFullCalendarPropertyGroups.DayHeaderFormat.class, + StudioFullCalendarPropertyGroups.DayPopoverFormat.class, + StudioFullCalendarPropertyGroups.EventTimeFormat.class, + StudioFullCalendarPropertyGroups.WeekNumberFormat.class, + StudioFullCalendarPropertyGroups.DisplayEventEnd.class + }, properties = { @StudioProperty(xmlAttribute = "dayHeaderFormat", type = StudioPropertyType.LOCALIZED_STRING), @StudioProperty(xmlAttribute = "dayPopoverFormat", type = StudioPropertyType.LOCALIZED_STRING), @@ -181,6 +246,13 @@ public interface StudioFullCalendarElements { classFqn = "io.jmix.fullcalendarflowui.kit.component.model.DayGridWeekProperties", target = "io.jmix.fullcalendarflowui.kit.meta.element.StudioFullCalendarDisplayModeProperties", icon = "io/jmix/fullcalendarflowui/kit/meta/icon/unknownComponent.svg", + propertyGroups = { + StudioFullCalendarPropertyGroups.DayHeaderFormat.class, + StudioFullCalendarPropertyGroups.DayPopoverFormat.class, + StudioFullCalendarPropertyGroups.EventTimeFormat.class, + StudioFullCalendarPropertyGroups.WeekNumberFormat.class, + StudioFullCalendarPropertyGroups.DisplayEventEnd2.class + }, properties = { @StudioProperty(xmlAttribute = "dayHeaderFormat", type = StudioPropertyType.LOCALIZED_STRING), @StudioProperty(xmlAttribute = "dayPopoverFormat", type = StudioPropertyType.LOCALIZED_STRING), @@ -200,6 +272,15 @@ public interface StudioFullCalendarElements { classFqn = "io.jmix.fullcalendarflowui.kit.component.model.DayGridMonthProperties", target = "io.jmix.fullcalendarflowui.kit.meta.element.StudioFullCalendarDisplayModeProperties", icon = "io/jmix/fullcalendarflowui/kit/meta/icon/unknownComponent.svg", + propertyGroups = { + StudioFullCalendarPropertyGroups.DayHeaderFormat.class, + StudioFullCalendarPropertyGroups.DayPopoverFormat.class, + StudioFullCalendarPropertyGroups.EventTimeFormat.class, + StudioFullCalendarPropertyGroups.WeekNumberFormat.class, + StudioFullCalendarPropertyGroups.FixedWeekCount.class, + StudioFullCalendarPropertyGroups.ShowNonCurrentDates.class, + StudioFullCalendarPropertyGroups.DisplayEventEnd2.class + }, properties = { @StudioProperty(xmlAttribute = "dayHeaderFormat", type = StudioPropertyType.LOCALIZED_STRING), @StudioProperty(xmlAttribute = "dayPopoverFormat", type = StudioPropertyType.LOCALIZED_STRING), @@ -221,6 +302,13 @@ public interface StudioFullCalendarElements { classFqn = "io.jmix.fullcalendarflowui.kit.component.model.DayGridYearProperties", target = "io.jmix.fullcalendarflowui.kit.meta.element.StudioFullCalendarDisplayModeProperties", icon = "io/jmix/fullcalendarflowui/kit/meta/icon/unknownComponent.svg", + propertyGroups = { + StudioFullCalendarPropertyGroups.DayHeaderFormat.class, + StudioFullCalendarPropertyGroups.DayPopoverFormat.class, + StudioFullCalendarPropertyGroups.EventTimeFormat.class, + StudioFullCalendarPropertyGroups.WeekNumberFormat.class, + StudioFullCalendarPropertyGroups.DisplayEventEnd2.class + }, properties = { @StudioProperty(xmlAttribute = "dayHeaderFormat", type = StudioPropertyType.LOCALIZED_STRING), @StudioProperty(xmlAttribute = "dayPopoverFormat", type = StudioPropertyType.LOCALIZED_STRING), @@ -241,6 +329,12 @@ public interface StudioFullCalendarElements { classFqn = "io.jmix.fullcalendarflowui.kit.component.model.ListDayProperties", target = "io.jmix.fullcalendarflowui.kit.meta.element.StudioFullCalendarDisplayModeProperties", icon = "io/jmix/fullcalendarflowui/kit/meta/icon/unknownComponent.svg", + propertyGroups = { + StudioFullCalendarPropertyGroups.ListDayFormat.class, + StudioFullCalendarPropertyGroups.ListDaySideFormat.class, + StudioFullCalendarPropertyGroups.ListDaySideVisible.class, + StudioFullCalendarPropertyGroups.ListDayVisible.class + }, properties = { @StudioProperty(xmlAttribute = "listDayFormat", type = StudioPropertyType.LOCALIZED_STRING), @StudioProperty(xmlAttribute = "listDaySideFormat", type = StudioPropertyType.LOCALIZED_STRING), @@ -260,6 +354,12 @@ public interface StudioFullCalendarElements { classFqn = "io.jmix.fullcalendarflowui.kit.component.model.ListWeekProperties", target = "io.jmix.fullcalendarflowui.kit.meta.element.StudioFullCalendarDisplayModeProperties", icon = "io/jmix/fullcalendarflowui/kit/meta/icon/unknownComponent.svg", + propertyGroups = { + StudioFullCalendarPropertyGroups.ListDayFormat.class, + StudioFullCalendarPropertyGroups.ListDaySideFormat.class, + StudioFullCalendarPropertyGroups.ListDaySideVisible.class, + StudioFullCalendarPropertyGroups.ListDayVisible.class + }, properties = { @StudioProperty(xmlAttribute = "listDayFormat", type = StudioPropertyType.LOCALIZED_STRING), @StudioProperty(xmlAttribute = "listDaySideFormat", type = StudioPropertyType.LOCALIZED_STRING), @@ -278,6 +378,12 @@ public interface StudioFullCalendarElements { classFqn = "io.jmix.fullcalendarflowui.kit.component.model.ListMonthProperties", target = "io.jmix.fullcalendarflowui.kit.meta.element.StudioFullCalendarDisplayModeProperties", icon = "io/jmix/fullcalendarflowui/kit/meta/icon/unknownComponent.svg", + propertyGroups = { + StudioFullCalendarPropertyGroups.ListDayFormat.class, + StudioFullCalendarPropertyGroups.ListDaySideFormat.class, + StudioFullCalendarPropertyGroups.ListDaySideVisible.class, + StudioFullCalendarPropertyGroups.ListDayVisible.class + }, properties = { @StudioProperty(xmlAttribute = "listDayFormat", type = StudioPropertyType.LOCALIZED_STRING), @StudioProperty(xmlAttribute = "listDaySideFormat", type = StudioPropertyType.LOCALIZED_STRING), @@ -296,6 +402,12 @@ public interface StudioFullCalendarElements { classFqn = "io.jmix.fullcalendarflowui.kit.component.model.ListYearProperties", target = "io.jmix.fullcalendarflowui.kit.meta.element.StudioFullCalendarDisplayModeProperties", icon = "io/jmix/fullcalendarflowui/kit/meta/icon/unknownComponent.svg", + propertyGroups = { + StudioFullCalendarPropertyGroups.ListDayFormat.class, + StudioFullCalendarPropertyGroups.ListDaySideFormat.class, + StudioFullCalendarPropertyGroups.ListDaySideVisible.class, + StudioFullCalendarPropertyGroups.ListDayVisible.class + }, properties = { @StudioProperty(xmlAttribute = "listDayFormat", type = StudioPropertyType.LOCALIZED_STRING), @StudioProperty(xmlAttribute = "listDaySideFormat", type = StudioPropertyType.LOCALIZED_STRING), @@ -314,6 +426,18 @@ public interface StudioFullCalendarElements { classFqn = "io.jmix.fullcalendarflowui.kit.component.model.TimeGridDayProperties", target = "io.jmix.fullcalendarflowui.kit.meta.element.StudioFullCalendarDisplayModeProperties", icon = "io/jmix/fullcalendarflowui/kit/meta/icon/unknownComponent.svg", + propertyGroups = { + StudioFullCalendarPropertyGroups.DayPopoverFormat.class, + StudioFullCalendarPropertyGroups.DayHeaderFormat.class, + StudioFullCalendarPropertyGroups.WeekNumberFormat.class, + StudioFullCalendarPropertyGroups.EventTimeFormat.class, + StudioFullCalendarPropertyGroups.SlotLabelFormat.class, + StudioFullCalendarPropertyGroups.EventMinHeight.class, + StudioFullCalendarPropertyGroups.EventShortHeight.class, + StudioFullCalendarPropertyGroups.SlotEventOverlap.class, + StudioFullCalendarPropertyGroups.AllDaySlotVisible.class, + StudioFullCalendarPropertyGroups.DisplayEventEnd.class + }, properties = { @StudioProperty(xmlAttribute = "dayPopoverFormat", type = StudioPropertyType.LOCALIZED_STRING), @StudioProperty(xmlAttribute = "dayHeaderFormat", type = StudioPropertyType.LOCALIZED_STRING), @@ -338,6 +462,18 @@ public interface StudioFullCalendarElements { classFqn = "io.jmix.fullcalendarflowui.kit.component.model.TimeGridWeekProperties", target = "io.jmix.fullcalendarflowui.kit.meta.element.StudioFullCalendarDisplayModeProperties", icon = "io/jmix/fullcalendarflowui/kit/meta/icon/unknownComponent.svg", + propertyGroups = { + StudioFullCalendarPropertyGroups.DayPopoverFormat.class, + StudioFullCalendarPropertyGroups.DayHeaderFormat.class, + StudioFullCalendarPropertyGroups.WeekNumberFormat.class, + StudioFullCalendarPropertyGroups.EventTimeFormat.class, + StudioFullCalendarPropertyGroups.SlotLabelFormat.class, + StudioFullCalendarPropertyGroups.EventMinHeight.class, + StudioFullCalendarPropertyGroups.EventShortHeight.class, + StudioFullCalendarPropertyGroups.SlotEventOverlap.class, + StudioFullCalendarPropertyGroups.AllDaySlotVisible.class, + StudioFullCalendarPropertyGroups.DisplayEventEnd.class + }, properties = { @StudioProperty(xmlAttribute = "dayPopoverFormat", type = StudioPropertyType.LOCALIZED_STRING), @StudioProperty(xmlAttribute = "dayHeaderFormat", type = StudioPropertyType.LOCALIZED_STRING), @@ -362,6 +498,10 @@ public interface StudioFullCalendarElements { classFqn = "io.jmix.fullcalendarflowui.kit.component.model.MultiMonthYearProperties", target = "io.jmix.fullcalendarflowui.kit.meta.element.StudioFullCalendarDisplayModeProperties", icon = "io/jmix/fullcalendarflowui/kit/meta/icon/unknownComponent.svg", + propertyGroups = { + StudioFullCalendarPropertyGroups.FixedWeekCount.class, + StudioFullCalendarPropertyGroups.ShowNonCurrentDates.class + }, properties = { @StudioProperty(xmlAttribute = "multiMonthMaxColumns", type = StudioPropertyType.INTEGER, defaultValue = "3"), @StudioProperty(xmlAttribute = "multiMonthMinWidth", type = StudioPropertyType.INTEGER, defaultValue = "350"), @@ -401,6 +541,10 @@ public interface StudioFullCalendarElements { documentationLink = "%VERSION%/calendar/full-calendar-component.html#properties", classFqn = "io.jmix.fullcalendarflowui.kit.meta.group.StudioFullCalendarProperties", icon = "io/jmix/fullcalendarflowui/kit/meta/icon/unknownComponent.svg", + propertyGroups = { + StudioPropertyGroups.Name3.class, + StudioPropertyGroups.Value4.class + }, properties = { @StudioProperty(xmlAttribute = "name", type = StudioPropertyType.STRING, required = true), @StudioProperty(xmlAttribute = "value", type = StudioPropertyType.STRING, required = true), @@ -447,6 +591,9 @@ public interface StudioFullCalendarElements { classFqn = "io.jmix.fullcalendarflowui.facet.urlqueryparameters.FullCalendarUrlQueryParametersBinder", target = {"io.jmix.flowui.facet.UrlQueryParametersFacet"}, documentationLink = "%VERSION%/calendar/url-query-parameters.html", + propertyGroups = { + StudioPropertyGroups.Id.class + }, properties = { @StudioProperty(xmlAttribute = "component", category = StudioProperty.Category.GENERAL, type = StudioPropertyType.COMPONENT_REF, componentRefTags = "calendar", required = true), diff --git a/jmix-fullcalendar/fullcalendar-flowui-kit/src/main/java/io/jmix/fullcalendarflowui/kit/meta/StudioFullCalendarPropertyGroups.java b/jmix-fullcalendar/fullcalendar-flowui-kit/src/main/java/io/jmix/fullcalendarflowui/kit/meta/StudioFullCalendarPropertyGroups.java new file mode 100644 index 0000000000..8431061941 --- /dev/null +++ b/jmix-fullcalendar/fullcalendar-flowui-kit/src/main/java/io/jmix/fullcalendarflowui/kit/meta/StudioFullCalendarPropertyGroups.java @@ -0,0 +1,338 @@ +/* + * Copyright 2026 Haulmont. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package io.jmix.fullcalendarflowui.kit.meta; + +import io.jmix.flowui.kit.meta.*; + +@StudioAPI +public final class StudioFullCalendarPropertyGroups { + + private StudioFullCalendarPropertyGroups() { + } + + @StudioPropertyGroup( + properties = { + @StudioProperty(xmlAttribute = "additionalProperties", type = StudioPropertyType.VALUES_LIST) + } + ) + public interface AdditionalProperties { + } + + @StudioPropertyGroup( + properties = { + @StudioProperty(xmlAttribute = "allDay", type = StudioPropertyType.PROPERTY_REF) + } + ) + public interface AllDay { + } + + @StudioPropertyGroup( + properties = { + @StudioProperty(xmlAttribute = "allDaySlotVisible", type = StudioPropertyType.BOOLEAN, defaultValue = "true") + } + ) + public interface AllDaySlotVisible { + } + + @StudioPropertyGroup( + properties = { + @StudioProperty(xmlAttribute = "backgroundColor", type = StudioPropertyType.PROPERTY_REF) + } + ) + public interface BackgroundColor { + } + + @StudioPropertyGroup( + properties = { + @StudioProperty(xmlAttribute = "borderColor", type = StudioPropertyType.PROPERTY_REF) + } + ) + public interface BorderColor { + } + + @StudioPropertyGroup( + properties = { + @StudioProperty(xmlAttribute = "classNames", type = StudioPropertyType.PROPERTY_REF) + } + ) + public interface DataProviderClassNames { + } + + @StudioPropertyGroup( + properties = { + @StudioProperty(xmlAttribute = "constraint", type = StudioPropertyType.PROPERTY_REF) + } + ) + public interface Constraint { + } + + @StudioPropertyGroup( + properties = { + @StudioProperty(xmlAttribute = "dayHeaderFormat", type = StudioPropertyType.LOCALIZED_STRING) + } + ) + public interface DayHeaderFormat { + } + + @StudioPropertyGroup( + properties = { + @StudioProperty(xmlAttribute = "dayPopoverFormat", type = StudioPropertyType.LOCALIZED_STRING) + } + ) + public interface DayPopoverFormat { + } + + @StudioPropertyGroup( + properties = { + @StudioProperty(xmlAttribute = "description", type = StudioPropertyType.PROPERTY_REF) + } + ) + public interface Description { + } + + @StudioPropertyGroup( + properties = { + @StudioProperty(xmlAttribute = "displayEventEnd", type = StudioPropertyType.BOOLEAN, defaultValue = "true") + } + ) + public interface DisplayEventEnd { + } + + @StudioPropertyGroup( + properties = { + @StudioProperty(xmlAttribute = "displayEventEnd", type = StudioPropertyType.BOOLEAN, defaultValue = "false") + } + ) + public interface DisplayEventEnd2 { + } + + @StudioPropertyGroup( + properties = { + @StudioProperty(xmlAttribute = "display", type = StudioPropertyType.PROPERTY_REF) + } + ) + public interface Display { + } + + @StudioPropertyGroup( + properties = { + @StudioProperty(xmlAttribute = "durationEditable", type = StudioPropertyType.PROPERTY_REF) + } + ) + public interface DurationEditable { + } + + @StudioPropertyGroup( + properties = { + @StudioProperty(xmlAttribute = "endDateTime", type = StudioPropertyType.PROPERTY_REF) + } + ) + public interface EndDateTime { + } + + @StudioPropertyGroup( + properties = { + @StudioProperty(xmlAttribute = "eventMinHeight", type = StudioPropertyType.INTEGER, defaultValue = "15") + } + ) + public interface EventMinHeight { + } + + @StudioPropertyGroup( + properties = { + @StudioProperty(xmlAttribute = "eventShortHeight", type = StudioPropertyType.INTEGER) + } + ) + public interface EventShortHeight { + } + + @StudioPropertyGroup( + properties = { + @StudioProperty(xmlAttribute = "eventTimeFormat", type = StudioPropertyType.LOCALIZED_STRING) + } + ) + public interface EventTimeFormat { + } + + @StudioPropertyGroup( + properties = { + @StudioProperty(xmlAttribute = "fixedWeekCount", type = StudioPropertyType.BOOLEAN, defaultValue = "true") + } + ) + public interface FixedWeekCount { + } + + @StudioPropertyGroup( + properties = { + @StudioProperty(xmlAttribute = "groupId", type = StudioPropertyType.PROPERTY_REF) + } + ) + public interface GroupId { + } + + @StudioPropertyGroup( + properties = { + @StudioProperty(xmlAttribute = "interactive", type = StudioPropertyType.PROPERTY_REF) + } + ) + public interface Interactive { + } + + @StudioPropertyGroup( + properties = { + @StudioProperty(xmlAttribute = "listDayFormat", type = StudioPropertyType.LOCALIZED_STRING) + } + ) + public interface ListDayFormat { + } + + @StudioPropertyGroup( + properties = { + @StudioProperty(xmlAttribute = "listDaySideFormat", type = StudioPropertyType.LOCALIZED_STRING) + } + ) + public interface ListDaySideFormat { + } + + @StudioPropertyGroup( + properties = { + @StudioProperty(xmlAttribute = "listDaySideVisible", type = StudioPropertyType.BOOLEAN, defaultValue = "true") + } + ) + public interface ListDaySideVisible { + } + + @StudioPropertyGroup( + properties = { + @StudioProperty(xmlAttribute = "listDayVisible", type = StudioPropertyType.BOOLEAN, defaultValue = "true") + } + ) + public interface ListDayVisible { + } + + @StudioPropertyGroup( + properties = { + @StudioProperty(xmlAttribute = "overlap", type = StudioPropertyType.PROPERTY_REF) + } + ) + public interface Overlap { + } + + @StudioPropertyGroup( + properties = { + @StudioProperty(xmlAttribute = "recurringDaysOfWeek", type = StudioPropertyType.PROPERTY_REF) + } + ) + public interface RecurringDaysOfWeek { + } + + @StudioPropertyGroup( + properties = { + @StudioProperty(xmlAttribute = "recurringEndDate", type = StudioPropertyType.PROPERTY_REF) + } + ) + public interface RecurringEndDate { + } + + @StudioPropertyGroup( + properties = { + @StudioProperty(xmlAttribute = "recurringEndTime", type = StudioPropertyType.PROPERTY_REF) + } + ) + public interface RecurringEndTime { + } + + @StudioPropertyGroup( + properties = { + @StudioProperty(xmlAttribute = "recurringStartDate", type = StudioPropertyType.PROPERTY_REF) + } + ) + public interface RecurringStartDate { + } + + @StudioPropertyGroup( + properties = { + @StudioProperty(xmlAttribute = "recurringStartTime", type = StudioPropertyType.PROPERTY_REF) + } + ) + public interface RecurringStartTime { + } + + @StudioPropertyGroup( + properties = { + @StudioProperty(xmlAttribute = "showNonCurrentDates", type = StudioPropertyType.BOOLEAN, defaultValue = "true") + } + ) + public interface ShowNonCurrentDates { + } + + @StudioPropertyGroup( + properties = { + @StudioProperty(xmlAttribute = "slotEventOverlap", type = StudioPropertyType.BOOLEAN, defaultValue = "true") + } + ) + public interface SlotEventOverlap { + } + + @StudioPropertyGroup( + properties = { + @StudioProperty(xmlAttribute = "slotLabelFormat", type = StudioPropertyType.LOCALIZED_STRING) + } + ) + public interface SlotLabelFormat { + } + + @StudioPropertyGroup( + properties = { + @StudioProperty(xmlAttribute = "startDateTime", type = StudioPropertyType.PROPERTY_REF) + } + ) + public interface StartDateTime { + } + + @StudioPropertyGroup( + properties = { + @StudioProperty(xmlAttribute = "startEditable", type = StudioPropertyType.PROPERTY_REF) + } + ) + public interface StartEditable { + } + + @StudioPropertyGroup( + properties = { + @StudioProperty(xmlAttribute = "textColor", type = StudioPropertyType.PROPERTY_REF) + } + ) + public interface TextColor { + } + + @StudioPropertyGroup( + properties = { + @StudioProperty(xmlAttribute = "title", type = StudioPropertyType.PROPERTY_REF) + } + ) + public interface Title { + } + + @StudioPropertyGroup( + properties = { + @StudioProperty(xmlAttribute = "weekNumberFormat", type = StudioPropertyType.LOCALIZED_STRING) + } + ) + public interface WeekNumberFormat { + } +} diff --git a/jmix-messagetemplates/messagetemplates-flowui-kit/src/main/java/io/jmix/messagetemplatesflowui/kit/meta/StudioGrapesJsComponents.java b/jmix-messagetemplates/messagetemplates-flowui-kit/src/main/java/io/jmix/messagetemplatesflowui/kit/meta/StudioGrapesJsComponents.java index 3928e9fc1d..ce9ae35e71 100644 --- a/jmix-messagetemplates/messagetemplates-flowui-kit/src/main/java/io/jmix/messagetemplatesflowui/kit/meta/StudioGrapesJsComponents.java +++ b/jmix-messagetemplates/messagetemplates-flowui-kit/src/main/java/io/jmix/messagetemplatesflowui/kit/meta/StudioGrapesJsComponents.java @@ -38,6 +38,9 @@ public interface StudioGrapesJsComponents { StudioPropertyGroups.ClassNamesAndCss.class, StudioPropertyGroups.IdAndVisible.class, StudioPropertyGroups.SizeWithoutOptions.class, + StudioPropertyGroups.AlignSelf.class, + StudioPropertyGroups.Colspan.class, + StudioPropertyGroups.ReadOnly.class }, properties = { @StudioProperty(xmlAttribute = "alignSelf", type = StudioPropertyType.ENUMERATION, @@ -72,7 +75,6 @@ public interface StudioGrapesJsComponents { @StudioProperty(xmlAttribute = "width", type = StudioPropertyType.SIZE, category = StudioProperty.Category.SIZE) } - ) GrapesJs grapesJs(); } diff --git a/jmix-messagetemplates/messagetemplates-flowui-kit/src/main/java/io/jmix/messagetemplatesflowui/kit/meta/StudioGrapesJsElements.java b/jmix-messagetemplates/messagetemplates-flowui-kit/src/main/java/io/jmix/messagetemplatesflowui/kit/meta/StudioGrapesJsElements.java index 167a2d90ce..d42c0084cd 100644 --- a/jmix-messagetemplates/messagetemplates-flowui-kit/src/main/java/io/jmix/messagetemplatesflowui/kit/meta/StudioGrapesJsElements.java +++ b/jmix-messagetemplates/messagetemplates-flowui-kit/src/main/java/io/jmix/messagetemplatesflowui/kit/meta/StudioGrapesJsElements.java @@ -20,6 +20,7 @@ import io.jmix.flowui.kit.meta.StudioProperty; import io.jmix.flowui.kit.meta.StudioPropertyType; import io.jmix.flowui.kit.meta.StudioUiKit; +import io.jmix.flowui.kit.meta.StudioPropertyGroups; @StudioUiKit public interface StudioGrapesJsElements { @@ -48,6 +49,10 @@ public interface StudioGrapesJsElements { xmlns = "http://jmix.io/schema/messagetemplates/ui", xmlnsAlias = "msgtmp", icon = "io/jmix/messagetemplatesflowui/kit/meta/icon/element/block.svg", + propertyGroups = { + StudioPropertyGroups.RequiredId.class, + StudioPropertyGroups.Label2.class + }, properties = { @StudioProperty(xmlAttribute = "attributes", type = StudioPropertyType.STRING), @StudioProperty(xmlAttribute = "category", type = StudioPropertyType.LOCALIZED_STRING), @@ -66,6 +71,9 @@ public interface StudioGrapesJsElements { target = {"io.jmix.messagetemplatesflowui.kit.meta.stub.StudioGrapesJsBlockElement"}, unlimitedCount = false, icon = "io/jmix/messagetemplatesflowui/kit/meta/icon/element/content.svg", + propertyGroups = { + StudioPropertyGroups.Value2.class + }, properties = { @StudioProperty(xmlAttribute = "value", type = StudioPropertyType.CDATA) } @@ -80,6 +88,9 @@ public interface StudioGrapesJsElements { target = {"io.jmix.messagetemplatesflowui.kit.meta.stub.StudioGrapesJsBlockElement"}, unlimitedCount = false, icon = "io/jmix/messagetemplatesflowui/kit/meta/icon/element/attributes.svg", + propertyGroups = { + StudioPropertyGroups.Value2.class + }, properties = { @StudioProperty(xmlAttribute = "value", type = StudioPropertyType.CDATA) } diff --git a/jmix-pivottable/pivottable-flowui-kit/src/main/java/io/jmix/pivottableflowui/kit/meta/StudioPivotTableActions.java b/jmix-pivottable/pivottable-flowui-kit/src/main/java/io/jmix/pivottableflowui/kit/meta/StudioPivotTableActions.java index 3450f60e4d..8a345da147 100644 --- a/jmix-pivottable/pivottable-flowui-kit/src/main/java/io/jmix/pivottableflowui/kit/meta/StudioPivotTableActions.java +++ b/jmix-pivottable/pivottable-flowui-kit/src/main/java/io/jmix/pivottableflowui/kit/meta/StudioPivotTableActions.java @@ -25,7 +25,12 @@ public interface StudioPivotTableActions { type = "pvttbl_showPivotTableAction", description = "Shows the Pivot Table component", classFqn = "io.jmix.pivottableflowui.action.ShowPivotTableAction", - + propertyGroups = { + StudioPropertyGroups.Description2.class, + StudioPropertyGroups.Enabled3.class, + StudioPropertyGroups.ShortcutCombination.class, + StudioPropertyGroups.VisibleWithDefaultValueTrue.class + }, properties = { @StudioProperty(xmlAttribute = "actionVariant", type = StudioPropertyType.ENUMERATION, setMethod = "setVariant", classFqn = "io.jmix.flowui.kit.action.ActionVariant", diff --git a/jmix-pivottable/pivottable-flowui-kit/src/main/java/io/jmix/pivottableflowui/kit/meta/StudioPivotTableComponents.java b/jmix-pivottable/pivottable-flowui-kit/src/main/java/io/jmix/pivottableflowui/kit/meta/StudioPivotTableComponents.java index e0cb4fd5f6..4f289c6705 100644 --- a/jmix-pivottable/pivottable-flowui-kit/src/main/java/io/jmix/pivottableflowui/kit/meta/StudioPivotTableComponents.java +++ b/jmix-pivottable/pivottable-flowui-kit/src/main/java/io/jmix/pivottableflowui/kit/meta/StudioPivotTableComponents.java @@ -32,8 +32,11 @@ public interface StudioPivotTableComponents { xmlnsAlias = "pvttbl", propertyGroups = { StudioPropertyGroups.ClassNamesAndCss.class, - StudioPropertyGroups.Enabled.class, + StudioPropertyGroups.EnabledWithTrueDefaultValue.class, StudioPropertyGroups.SizeWithoutOptions.class, + StudioPropertyGroups.AlignSelf.class, + StudioPropertyGroups.Colspan.class, + StudioPropertyGroups.Id.class }, properties = { @StudioProperty(xmlAttribute = "alignSelf", type = StudioPropertyType.ENUMERATION, diff --git a/jmix-pivottable/pivottable-flowui-kit/src/main/java/io/jmix/pivottableflowui/kit/meta/StudioPivotTableElements.java b/jmix-pivottable/pivottable-flowui-kit/src/main/java/io/jmix/pivottableflowui/kit/meta/StudioPivotTableElements.java index ebb4844fe2..857dba9127 100644 --- a/jmix-pivottable/pivottable-flowui-kit/src/main/java/io/jmix/pivottableflowui/kit/meta/StudioPivotTableElements.java +++ b/jmix-pivottable/pivottable-flowui-kit/src/main/java/io/jmix/pivottableflowui/kit/meta/StudioPivotTableElements.java @@ -165,6 +165,9 @@ public interface StudioPivotTableElements { xmlns = "http://jmix.io/schema/pvttbl/ui", xmlnsAlias = "pvttbl", icon = "io/jmix/pivottableflowui/kit/meta/icon/element/property.svg", + propertyGroups = { + StudioPropertyGroups.Value4.class + }, properties = { @StudioProperty(xmlAttribute = "value", type = StudioPropertyType.STRING, required = true) } diff --git a/jmix-search/search-flowui-kit/src/main/java/io/jmix/searchflowui/kit/meta/component/StudioSearchComponents.java b/jmix-search/search-flowui-kit/src/main/java/io/jmix/searchflowui/kit/meta/component/StudioSearchComponents.java index bd0168d918..c105d04a95 100644 --- a/jmix-search/search-flowui-kit/src/main/java/io/jmix/searchflowui/kit/meta/component/StudioSearchComponents.java +++ b/jmix-search/search-flowui-kit/src/main/java/io/jmix/searchflowui/kit/meta/component/StudioSearchComponents.java @@ -35,15 +35,23 @@ public interface StudioSearchComponents { xmlns = "http://jmix.io/schema/search/ui", xmlnsAlias = "search", icon = "io/jmix/searchflowui/kit/meta/icon/component/searchField.svg", - propertyGroups = { + propertyGroups = { StudioPropertyGroups.Size.class, StudioPropertyGroups.AlignSelfAndJustifySelfAndColspan.class, StudioPropertyGroups.ClassNamesAndCss.class, StudioPropertyGroups.IdAndVisible.class, - StudioPropertyGroups.Enabled.class, + StudioPropertyGroups.EnabledWithTrueDefaultValue.class, StudioPropertyGroups.AriaLabelAndTabIndexAndFocusShortcut.class, + StudioPropertyGroups.Autofocus.class, + StudioPropertyGroups.HelperText.class, + StudioPropertyGroups.Label.class, + StudioPropertyGroups.Placeholder.class, + StudioPropertyGroups.FieldThemeNames.class, + StudioPropertyGroups.Title.class, + StudioPropertyGroups.Value3.class, + StudioPropertyGroups.ValueChangeMode.class, + StudioPropertyGroups.ValueChangeTimeout.class }, - properties = { @StudioProperty(xmlAttribute = "alignSelf", category = StudioProperty.Category.POSITION, type = StudioPropertyType.ENUMERATION, classFqn = "com.vaadin.flow.component.orderedlayout.FlexComponent$Alignment", @@ -109,16 +117,25 @@ public interface StudioSearchComponents { xmlns = "http://jmix.io/schema/search/ui", xmlnsAlias = "search", icon = "io/jmix/searchflowui/kit/meta/icon/component/searchField.svg", - propertyGroups = { + propertyGroups = { StudioPropertyGroups.Size.class, StudioPropertyGroups.AlignSelfAndJustifySelfAndColspan.class, StudioPropertyGroups.ClassNamesAndCss.class, StudioPropertyGroups.IdAndVisible.class, - StudioPropertyGroups.Enabled.class, + StudioPropertyGroups.EnabledWithTrueDefaultValue.class, StudioPropertyGroups.AriaLabelAndTabIndexAndFocusShortcut.class, StudioPropertyGroups.RequiredAndRequiredMessageAndErrorMessage.class, + StudioPropertyGroups.AutoApply.class, + StudioPropertyGroups.DataLoader.class, + StudioPropertyGroups.DefaultValue.class, + StudioPropertyGroups.HelperText.class, + StudioPropertyGroups.Label.class, + StudioPropertyGroups.LabelPosition.class, + StudioPropertyGroups.LabelVisible.class, + StudioPropertyGroups.ParameterName.class, + StudioPropertyGroups.ReadOnly.class, + StudioPropertyGroups.ThemeNames.class }, - properties = { @StudioProperty(xmlAttribute = "alignSelf", category = StudioProperty.Category.POSITION, type = StudioPropertyType.ENUMERATION, classFqn = "com.vaadin.flow.component.orderedlayout.FlexComponent$Alignment", diff --git a/jmix-superset/superset-flowui-kit/src/main/java/io/jmix/supersetflowui/kit/meta/StudioSupersetComponents.java b/jmix-superset/superset-flowui-kit/src/main/java/io/jmix/supersetflowui/kit/meta/StudioSupersetComponents.java index cb11c0d230..1ba947ba0d 100644 --- a/jmix-superset/superset-flowui-kit/src/main/java/io/jmix/supersetflowui/kit/meta/StudioSupersetComponents.java +++ b/jmix-superset/superset-flowui-kit/src/main/java/io/jmix/supersetflowui/kit/meta/StudioSupersetComponents.java @@ -37,6 +37,8 @@ public interface StudioSupersetComponents { StudioPropertyGroups.ClassNamesAndCss.class, StudioPropertyGroups.IdAndVisible.class, StudioPropertyGroups.Size.class, + StudioPropertyGroups.AlignSelf.class, + StudioPropertyGroups.Colspan.class }, properties = { @StudioProperty(xmlAttribute = "alignSelf", category = StudioProperty.Category.POSITION, type = StudioPropertyType.ENUMERATION, From 38ebdefa056b2bd7cd3f0ab2a7ebb357e1ce7e7d Mon Sep 17 00:00:00 2001 From: Mikhail Fedoseev Date: Wed, 1 Apr 2026 13:40:09 +0300 Subject: [PATCH 04/10] Simplify components meta-descriptions #5053 --- .../kit/meta/StudioChartsElements.java | 291 ++------------ .../kit/meta/StudioChartsPropertyGroups.java | 27 ++ .../kit/meta/facet/DynAttrStudioFacets.java | 2 +- .../flowui/kit/meta/StudioPropertyGroups.java | 152 +++++++ .../action/StudioActionPropertyGroups.java | 57 +++ .../flowui/kit/meta/action/StudioActions.java | 11 +- .../meta/action/StudioBulkEditorActions.java | 8 +- .../meta/action/StudioDataToolsActions.java | 9 +- .../action/StudioGenericFilterActions.java | 46 +-- .../StudioGenericFilterDataActions.java | 45 +-- .../meta/action/StudioGridExportActions.java | 16 +- .../StudioListDataComponentActions.java | 34 +- .../meta/action/StudioMainViewActions.java | 8 +- .../kit/meta/action/StudioPickerActions.java | 48 +-- .../kit/meta/action/StudioReportsActions.java | 44 +- .../meta/action/StudioSecurityActions.java | 42 +- .../meta/action/StudioUserMenuActions.java | 9 +- .../kit/meta/action/StudioViewActions.java | 64 +-- .../meta/component/StudioHTMLComponents.java | 380 ++---------------- .../StudioHtmlComponentPropertyGroups.java | 48 +++ .../StudioDataComponentPropertyGroups.java | 7 + .../kit/meta/element/StudioDataElements.java | 14 +- .../kit/meta/element/StudioElements.java | 15 +- .../element/StudioValidatorsElements.java | 20 +- .../kit/meta/StudioFullCalendarActions.java | 4 +- .../kit/meta/StudioFullCalendarElements.java | 116 +----- .../StudioFullCalendarPropertyGroups.java | 20 +- .../kit/meta/StudioPivotTableActions.java | 4 +- .../kit/meta/StudioPivotTableElements.java | 2 +- 29 files changed, 440 insertions(+), 1103 deletions(-) create mode 100644 jmix-flowui/flowui-kit/src/main/java/io/jmix/flowui/kit/meta/action/StudioActionPropertyGroups.java create mode 100644 jmix-flowui/flowui-kit/src/main/java/io/jmix/flowui/kit/meta/component/StudioHtmlComponentPropertyGroups.java diff --git a/jmix-charts/charts-flowui-kit/src/main/java/io/jmix/chartsflowui/kit/meta/StudioChartsElements.java b/jmix-charts/charts-flowui-kit/src/main/java/io/jmix/chartsflowui/kit/meta/StudioChartsElements.java index a0c637b42d..4d222ba272 100644 --- a/jmix-charts/charts-flowui-kit/src/main/java/io/jmix/chartsflowui/kit/meta/StudioChartsElements.java +++ b/jmix-charts/charts-flowui-kit/src/main/java/io/jmix/chartsflowui/kit/meta/StudioChartsElements.java @@ -598,7 +598,7 @@ public interface StudioChartsElements { xmlnsAlias = "charts", icon = "io/jmix/chartsflowui/kit/meta/icon/unknownComponent.svg", propertyGroups = { - StudioPropertyGroups.Name3.class, + StudioPropertyGroups.RequiredStringName.class, StudioChartsPropertyGroups.Align.class, StudioChartsPropertyGroups.BackgroundColor.class, StudioChartsPropertyGroups.BorderColor.class, @@ -954,16 +954,7 @@ public interface StudioChartsElements { xmlnsAlias = "charts", unlimitedCount = false, icon = "io/jmix/chartsflowui/kit/meta/icon/unknownComponent.svg", - propertyGroups = { - StudioChartsPropertyGroups.Symbol.class, - StudioChartsPropertyGroups.SymbolSize2.class, - StudioChartsPropertyGroups.Color.class, - StudioChartsPropertyGroups.ColorAlpha.class, - StudioChartsPropertyGroups.Opacity2.class, - StudioChartsPropertyGroups.ColorLightness.class, - StudioChartsPropertyGroups.ColorSaturation.class, - StudioChartsPropertyGroups.ColorHue.class - }, + propertyGroups = StudioChartsPropertyGroups.VisualEffectDefaultProperties.class, properties = { @StudioProperty(xmlAttribute = "symbol", type = StudioPropertyType.VALUES_LIST), @StudioProperty(xmlAttribute = "symbolSize", type = StudioPropertyType.VALUES_LIST), @@ -1010,16 +1001,7 @@ public interface StudioChartsElements { xmlnsAlias = "charts", unlimitedCount = false, icon = "io/jmix/chartsflowui/kit/meta/icon/unknownComponent.svg", - propertyGroups = { - StudioChartsPropertyGroups.Symbol.class, - StudioChartsPropertyGroups.SymbolSize2.class, - StudioChartsPropertyGroups.Color.class, - StudioChartsPropertyGroups.ColorAlpha.class, - StudioChartsPropertyGroups.Opacity2.class, - StudioChartsPropertyGroups.ColorLightness.class, - StudioChartsPropertyGroups.ColorSaturation.class, - StudioChartsPropertyGroups.ColorHue.class - }, + propertyGroups = StudioChartsPropertyGroups.VisualEffectDefaultProperties.class, properties = { @StudioProperty(xmlAttribute = "symbol", type = StudioPropertyType.VALUES_LIST), @StudioProperty(xmlAttribute = "symbolSize", type = StudioPropertyType.VALUES_LIST), @@ -1069,16 +1051,7 @@ public interface StudioChartsElements { xmlnsAlias = "charts", unlimitedCount = false, icon = "io/jmix/chartsflowui/kit/meta/icon/unknownComponent.svg", - propertyGroups = { - StudioChartsPropertyGroups.Symbol.class, - StudioChartsPropertyGroups.SymbolSize2.class, - StudioChartsPropertyGroups.Color.class, - StudioChartsPropertyGroups.ColorAlpha.class, - StudioChartsPropertyGroups.Opacity2.class, - StudioChartsPropertyGroups.ColorLightness.class, - StudioChartsPropertyGroups.ColorSaturation.class, - StudioChartsPropertyGroups.ColorHue.class - }, + propertyGroups = StudioChartsPropertyGroups.VisualEffectDefaultProperties.class, properties = { @StudioProperty(xmlAttribute = "symbol", type = StudioPropertyType.VALUES_LIST), @StudioProperty(xmlAttribute = "symbolSize", type = StudioPropertyType.VALUES_LIST), @@ -1128,16 +1101,7 @@ public interface StudioChartsElements { xmlnsAlias = "charts", unlimitedCount = false, icon = "io/jmix/chartsflowui/kit/meta/icon/unknownComponent.svg", - propertyGroups = { - StudioChartsPropertyGroups.Symbol.class, - StudioChartsPropertyGroups.SymbolSize2.class, - StudioChartsPropertyGroups.Color.class, - StudioChartsPropertyGroups.ColorAlpha.class, - StudioChartsPropertyGroups.Opacity2.class, - StudioChartsPropertyGroups.ColorLightness.class, - StudioChartsPropertyGroups.ColorSaturation.class, - StudioChartsPropertyGroups.ColorHue.class - }, + propertyGroups = StudioChartsPropertyGroups.VisualEffectDefaultProperties.class, properties = { @StudioProperty(xmlAttribute = "symbol", type = StudioPropertyType.VALUES_LIST), @StudioProperty(xmlAttribute = "symbolSize", type = StudioPropertyType.VALUES_LIST), @@ -2158,10 +2122,7 @@ public interface StudioChartsElements { xmlnsAlias = "charts", unlimitedCount = false, icon = "io/jmix/chartsflowui/kit/meta/icon/unknownComponent.svg", - propertyGroups = { - StudioChartsPropertyGroups.PrevPageIcon.class, - StudioChartsPropertyGroups.NextPageIcon.class - }, + propertyGroups = StudioChartsPropertyGroups.PageIconsDefaultProperties.class, properties = { @StudioProperty(xmlAttribute = "prevPageIcon", type = StudioPropertyType.STRING, required = true), @StudioProperty(xmlAttribute = "nextPageIcon", type = StudioPropertyType.STRING, required = true) @@ -2177,10 +2138,7 @@ public interface StudioChartsElements { xmlnsAlias = "charts", unlimitedCount = false, icon = "io/jmix/chartsflowui/kit/meta/icon/unknownComponent.svg", - propertyGroups = { - StudioChartsPropertyGroups.PrevPageIcon.class, - StudioChartsPropertyGroups.NextPageIcon.class - }, + propertyGroups = StudioChartsPropertyGroups.PageIconsDefaultProperties.class, properties = { @StudioProperty(xmlAttribute = "prevPageIcon", type = StudioPropertyType.STRING, required = true), @StudioProperty(xmlAttribute = "nextPageIcon", type = StudioPropertyType.STRING, required = true) @@ -2601,21 +2559,7 @@ public interface StudioChartsElements { xmlnsAlias = "charts", unlimitedCount = false, icon = "io/jmix/chartsflowui/kit/meta/icon/unknownComponent.svg", - propertyGroups = { - StudioChartsPropertyGroups.ChartColor.class, - StudioChartsPropertyGroups.BorderColor.class, - StudioChartsPropertyGroups.BorderWidth2.class, - StudioChartsPropertyGroups.BorderType.class, - StudioChartsPropertyGroups.BorderDashOffset.class, - StudioChartsPropertyGroups.Cap.class, - StudioChartsPropertyGroups.Join.class, - StudioChartsPropertyGroups.MiterLimit.class, - StudioChartsPropertyGroups.ShadowBlur.class, - StudioChartsPropertyGroups.ShadowColor.class, - StudioChartsPropertyGroups.ShadowOffsetX.class, - StudioChartsPropertyGroups.ShadowOffsetY.class, - StudioChartsPropertyGroups.Opacity.class - }, + propertyGroups = StudioChartsPropertyGroups.ItemStyleDefaultProperties.class, properties = { @StudioProperty(xmlAttribute = "color", type = StudioPropertyType.OPTIONS, options = {"ALICEBLUE", "ANTIQUEWHITE", "AQUA", "AQUAMARINE", "AZURE", "BEIGE", "BISQUE", @@ -2723,21 +2667,7 @@ public interface StudioChartsElements { xmlnsAlias = "charts", unlimitedCount = false, icon = "io/jmix/chartsflowui/kit/meta/icon/unknownComponent.svg", - propertyGroups = { - StudioChartsPropertyGroups.ChartColor.class, - StudioChartsPropertyGroups.BorderColor.class, - StudioChartsPropertyGroups.BorderWidth2.class, - StudioChartsPropertyGroups.BorderType.class, - StudioChartsPropertyGroups.BorderDashOffset.class, - StudioChartsPropertyGroups.Cap.class, - StudioChartsPropertyGroups.Join.class, - StudioChartsPropertyGroups.MiterLimit.class, - StudioChartsPropertyGroups.ShadowBlur.class, - StudioChartsPropertyGroups.ShadowColor.class, - StudioChartsPropertyGroups.ShadowOffsetX.class, - StudioChartsPropertyGroups.ShadowOffsetY.class, - StudioChartsPropertyGroups.Opacity.class - }, + propertyGroups = StudioChartsPropertyGroups.ItemStyleDefaultProperties.class, properties = { @StudioProperty(xmlAttribute = "color", type = StudioPropertyType.OPTIONS, options = {"ALICEBLUE", "ANTIQUEWHITE", "AQUA", "AQUAMARINE", "AZURE", "BEIGE", "BISQUE", @@ -2841,21 +2771,7 @@ public interface StudioChartsElements { xmlnsAlias = "charts", unlimitedCount = false, icon = "io/jmix/chartsflowui/kit/meta/icon/unknownComponent.svg", - propertyGroups = { - StudioChartsPropertyGroups.ChartColor.class, - StudioChartsPropertyGroups.BorderColor.class, - StudioChartsPropertyGroups.BorderWidth2.class, - StudioChartsPropertyGroups.BorderType.class, - StudioChartsPropertyGroups.BorderDashOffset.class, - StudioChartsPropertyGroups.Cap.class, - StudioChartsPropertyGroups.Join.class, - StudioChartsPropertyGroups.MiterLimit.class, - StudioChartsPropertyGroups.ShadowBlur.class, - StudioChartsPropertyGroups.ShadowColor.class, - StudioChartsPropertyGroups.ShadowOffsetX.class, - StudioChartsPropertyGroups.ShadowOffsetY.class, - StudioChartsPropertyGroups.Opacity.class - }, + propertyGroups = StudioChartsPropertyGroups.ItemStyleDefaultProperties.class, properties = { @StudioProperty(xmlAttribute = "color", type = StudioPropertyType.OPTIONS, options = {"ALICEBLUE", "ANTIQUEWHITE", "AQUA", "AQUAMARINE", "AZURE", "BEIGE", "BISQUE", @@ -2962,21 +2878,7 @@ public interface StudioChartsElements { xmlnsAlias = "charts", unlimitedCount = false, icon = "io/jmix/chartsflowui/kit/meta/icon/unknownComponent.svg", - propertyGroups = { - StudioChartsPropertyGroups.ChartColor.class, - StudioChartsPropertyGroups.BorderColor.class, - StudioChartsPropertyGroups.BorderWidth2.class, - StudioChartsPropertyGroups.BorderType.class, - StudioChartsPropertyGroups.BorderDashOffset.class, - StudioChartsPropertyGroups.Cap.class, - StudioChartsPropertyGroups.Join.class, - StudioChartsPropertyGroups.MiterLimit.class, - StudioChartsPropertyGroups.ShadowBlur.class, - StudioChartsPropertyGroups.ShadowColor.class, - StudioChartsPropertyGroups.ShadowOffsetX.class, - StudioChartsPropertyGroups.ShadowOffsetY.class, - StudioChartsPropertyGroups.Opacity.class - }, + propertyGroups = StudioChartsPropertyGroups.ItemStyleDefaultProperties.class, properties = { @StudioProperty(xmlAttribute = "color", type = StudioPropertyType.OPTIONS, options = {"ALICEBLUE", "ANTIQUEWHITE", "AQUA", "AQUAMARINE", "AZURE", "BEIGE", "BISQUE", @@ -3083,21 +2985,7 @@ public interface StudioChartsElements { xmlnsAlias = "charts", unlimitedCount = false, icon = "io/jmix/chartsflowui/kit/meta/icon/unknownComponent.svg", - propertyGroups = { - StudioChartsPropertyGroups.ChartColor.class, - StudioChartsPropertyGroups.BorderColor.class, - StudioChartsPropertyGroups.BorderWidth2.class, - StudioChartsPropertyGroups.BorderType.class, - StudioChartsPropertyGroups.BorderDashOffset.class, - StudioChartsPropertyGroups.Cap.class, - StudioChartsPropertyGroups.Join.class, - StudioChartsPropertyGroups.MiterLimit.class, - StudioChartsPropertyGroups.ShadowBlur.class, - StudioChartsPropertyGroups.ShadowColor.class, - StudioChartsPropertyGroups.ShadowOffsetX.class, - StudioChartsPropertyGroups.ShadowOffsetY.class, - StudioChartsPropertyGroups.Opacity.class - }, + propertyGroups = StudioChartsPropertyGroups.ItemStyleDefaultProperties.class, properties = { @StudioProperty(xmlAttribute = "color", type = StudioPropertyType.OPTIONS, options = {"ALICEBLUE", "ANTIQUEWHITE", "AQUA", "AQUAMARINE", "AZURE", "BEIGE", "BISQUE", @@ -3204,21 +3092,7 @@ public interface StudioChartsElements { xmlnsAlias = "charts", unlimitedCount = false, icon = "io/jmix/chartsflowui/kit/meta/icon/unknownComponent.svg", - propertyGroups = { - StudioChartsPropertyGroups.ChartColor.class, - StudioChartsPropertyGroups.BorderColor.class, - StudioChartsPropertyGroups.BorderWidth2.class, - StudioChartsPropertyGroups.BorderType.class, - StudioChartsPropertyGroups.BorderDashOffset.class, - StudioChartsPropertyGroups.Cap.class, - StudioChartsPropertyGroups.Join.class, - StudioChartsPropertyGroups.MiterLimit.class, - StudioChartsPropertyGroups.ShadowBlur.class, - StudioChartsPropertyGroups.ShadowColor.class, - StudioChartsPropertyGroups.ShadowOffsetX.class, - StudioChartsPropertyGroups.ShadowOffsetY.class, - StudioChartsPropertyGroups.Opacity.class - }, + propertyGroups = StudioChartsPropertyGroups.ItemStyleDefaultProperties.class, properties = { @StudioProperty(xmlAttribute = "color", type = StudioPropertyType.OPTIONS, options = {"ALICEBLUE", "ANTIQUEWHITE", "AQUA", "AQUAMARINE", "AZURE", "BEIGE", "BISQUE", @@ -3921,7 +3795,7 @@ public interface StudioChartsElements { xmlnsAlias = "charts", icon = "io/jmix/chartsflowui/kit/meta/icon/unknownComponent.svg", propertyGroups = { - StudioPropertyGroups.Name2.class, + StudioPropertyGroups.LocalizedNameWithoutCategory.class, StudioPropertyGroups.IntegerMax.class, StudioPropertyGroups.IntegerMin.class, StudioChartsPropertyGroups.ChartColor.class @@ -6329,7 +6203,7 @@ public interface StudioChartsElements { StudioChartsPropertyGroups.SeriesLayoutBy.class, StudioChartsPropertyGroups.DatasetIndex.class, StudioPropertyGroups.Id.class, - StudioPropertyGroups.Name2.class, + StudioPropertyGroups.LocalizedNameWithoutCategory.class, StudioChartsPropertyGroups.ColorBy.class, StudioChartsPropertyGroups.SelectedMode.class, StudioChartsPropertyGroups.DataGroupId.class, @@ -6661,21 +6535,7 @@ public interface StudioChartsElements { xmlnsAlias = "charts", unlimitedCount = false, icon = "io/jmix/chartsflowui/kit/meta/icon/unknownComponent.svg", - propertyGroups = { - StudioChartsPropertyGroups.ChartColor.class, - StudioChartsPropertyGroups.BorderColor.class, - StudioChartsPropertyGroups.BorderWidth2.class, - StudioChartsPropertyGroups.BorderType.class, - StudioChartsPropertyGroups.BorderDashOffset.class, - StudioChartsPropertyGroups.Cap.class, - StudioChartsPropertyGroups.Join.class, - StudioChartsPropertyGroups.MiterLimit.class, - StudioChartsPropertyGroups.ShadowBlur.class, - StudioChartsPropertyGroups.ShadowColor.class, - StudioChartsPropertyGroups.ShadowOffsetX.class, - StudioChartsPropertyGroups.ShadowOffsetY.class, - StudioChartsPropertyGroups.Opacity.class - }, + propertyGroups = StudioChartsPropertyGroups.ItemStyleDefaultProperties.class, properties = { @StudioProperty(xmlAttribute = "color", type = StudioPropertyType.OPTIONS, options = {"ALICEBLUE", "ANTIQUEWHITE", "AQUA", "AQUAMARINE", "AZURE", "BEIGE", "BISQUE", @@ -6779,21 +6639,7 @@ public interface StudioChartsElements { xmlnsAlias = "charts", unlimitedCount = false, icon = "io/jmix/chartsflowui/kit/meta/icon/unknownComponent.svg", - propertyGroups = { - StudioChartsPropertyGroups.ChartColor.class, - StudioChartsPropertyGroups.BorderColor.class, - StudioChartsPropertyGroups.BorderWidth2.class, - StudioChartsPropertyGroups.BorderType.class, - StudioChartsPropertyGroups.BorderDashOffset.class, - StudioChartsPropertyGroups.Cap.class, - StudioChartsPropertyGroups.Join.class, - StudioChartsPropertyGroups.MiterLimit.class, - StudioChartsPropertyGroups.ShadowBlur.class, - StudioChartsPropertyGroups.ShadowColor.class, - StudioChartsPropertyGroups.ShadowOffsetX.class, - StudioChartsPropertyGroups.ShadowOffsetY.class, - StudioChartsPropertyGroups.Opacity.class - }, + propertyGroups = StudioChartsPropertyGroups.ItemStyleDefaultProperties.class, properties = { @StudioProperty(xmlAttribute = "color", type = StudioPropertyType.OPTIONS, options = {"ALICEBLUE", "ANTIQUEWHITE", "AQUA", "AQUAMARINE", "AZURE", "BEIGE", "BISQUE", @@ -6897,13 +6743,7 @@ public interface StudioChartsElements { xmlnsAlias = "charts", unlimitedCount = false, icon = "io/jmix/chartsflowui/kit/meta/icon/unknownComponent.svg", - propertyGroups = { - StudioChartsPropertyGroups.Show.class, - StudioChartsPropertyGroups.ShowAbove.class, - StudioChartsPropertyGroups.Length.class, - StudioChartsPropertyGroups.Smooth.class, - StudioChartsPropertyGroups.MinTurnAngle.class - }, + propertyGroups = StudioChartsPropertyGroups.LabelLineDefaultProperties.class, properties = { @StudioProperty(xmlAttribute = "show", type = StudioPropertyType.BOOLEAN), @StudioProperty(xmlAttribute = "showAbove", type = StudioPropertyType.BOOLEAN), @@ -7270,11 +7110,7 @@ public interface StudioChartsElements { xmlnsAlias = "charts", unlimitedCount = false, icon = "io/jmix/chartsflowui/kit/meta/icon/unknownComponent.svg", - propertyGroups = { - StudioChartsPropertyGroups.Disabled.class, - StudioChartsPropertyGroups.Focus.class, - StudioChartsPropertyGroups.BlurScope.class - }, + propertyGroups = StudioChartsPropertyGroups.EmphasisDefaultProperties.class, properties = { @StudioProperty(xmlAttribute = "disabled", type = StudioPropertyType.BOOLEAN), @StudioProperty(xmlAttribute = "focus", type = StudioPropertyType.ENUMERATION, @@ -9089,13 +8925,7 @@ public interface StudioChartsElements { xmlnsAlias = "charts", unlimitedCount = false, icon = "io/jmix/chartsflowui/kit/meta/icon/unknownComponent.svg", - propertyGroups = { - StudioChartsPropertyGroups.Show.class, - StudioChartsPropertyGroups.ShowAbove.class, - StudioChartsPropertyGroups.Length.class, - StudioChartsPropertyGroups.Smooth.class, - StudioChartsPropertyGroups.MinTurnAngle.class - }, + propertyGroups = StudioChartsPropertyGroups.LabelLineDefaultProperties.class, properties = { @StudioProperty(xmlAttribute = "show", type = StudioPropertyType.BOOLEAN), @StudioProperty(xmlAttribute = "showAbove", type = StudioPropertyType.BOOLEAN), @@ -9117,12 +8947,7 @@ public interface StudioChartsElements { xmlnsAlias = "charts", unlimitedCount = false, icon = "io/jmix/chartsflowui/kit/meta/icon/unknownComponent.svg", - propertyGroups = { - StudioChartsPropertyGroups.Disabled.class, - StudioChartsPropertyGroups.Scale.class, - StudioChartsPropertyGroups.Focus.class, - StudioChartsPropertyGroups.BlurScope.class - }, + propertyGroups = StudioChartsPropertyGroups.ScaleEmphasisDefaultProperties.class, properties = { @StudioProperty(xmlAttribute = "disabled", type = StudioPropertyType.BOOLEAN), @StudioProperty(xmlAttribute = "scale", type = StudioPropertyType.BOOLEAN), @@ -9278,13 +9103,7 @@ public interface StudioChartsElements { xmlnsAlias = "charts", unlimitedCount = false, icon = "io/jmix/chartsflowui/kit/meta/icon/unknownComponent.svg", - propertyGroups = { - StudioChartsPropertyGroups.Show.class, - StudioChartsPropertyGroups.ShowAbove.class, - StudioChartsPropertyGroups.Length.class, - StudioChartsPropertyGroups.Smooth.class, - StudioChartsPropertyGroups.MinTurnAngle.class - }, + propertyGroups = StudioChartsPropertyGroups.LabelLineDefaultProperties.class, properties = { @StudioProperty(xmlAttribute = "show", type = StudioPropertyType.BOOLEAN), @StudioProperty(xmlAttribute = "showAbove", type = StudioPropertyType.BOOLEAN), @@ -9304,12 +9123,7 @@ public interface StudioChartsElements { xmlnsAlias = "charts", unlimitedCount = false, icon = "io/jmix/chartsflowui/kit/meta/icon/unknownComponent.svg", - propertyGroups = { - StudioChartsPropertyGroups.Disabled.class, - StudioChartsPropertyGroups.Scale.class, - StudioChartsPropertyGroups.Focus.class, - StudioChartsPropertyGroups.BlurScope.class - }, + propertyGroups = StudioChartsPropertyGroups.ScaleEmphasisDefaultProperties.class, properties = { @StudioProperty(xmlAttribute = "disabled", type = StudioPropertyType.BOOLEAN), @StudioProperty(xmlAttribute = "scale", type = StudioPropertyType.BOOLEAN), @@ -9509,13 +9323,7 @@ public interface StudioChartsElements { xmlnsAlias = "charts", unlimitedCount = false, icon = "io/jmix/chartsflowui/kit/meta/icon/unknownComponent.svg", - propertyGroups = { - StudioChartsPropertyGroups.Show.class, - StudioChartsPropertyGroups.ShowAbove.class, - StudioChartsPropertyGroups.Length.class, - StudioChartsPropertyGroups.Smooth.class, - StudioChartsPropertyGroups.MinTurnAngle.class - }, + propertyGroups = StudioChartsPropertyGroups.LabelLineDefaultProperties.class, properties = { @StudioProperty(xmlAttribute = "show", type = StudioPropertyType.BOOLEAN), @StudioProperty(xmlAttribute = "showAbove", type = StudioPropertyType.BOOLEAN), @@ -9535,12 +9343,7 @@ public interface StudioChartsElements { xmlnsAlias = "charts", unlimitedCount = false, icon = "io/jmix/chartsflowui/kit/meta/icon/unknownComponent.svg", - propertyGroups = { - StudioChartsPropertyGroups.Disabled.class, - StudioChartsPropertyGroups.Scale.class, - StudioChartsPropertyGroups.Focus.class, - StudioChartsPropertyGroups.BlurScope.class - }, + propertyGroups = StudioChartsPropertyGroups.ScaleEmphasisDefaultProperties.class, properties = { @StudioProperty(xmlAttribute = "disabled", type = StudioPropertyType.BOOLEAN), @StudioProperty(xmlAttribute = "scale", type = StudioPropertyType.BOOLEAN), @@ -9740,11 +9543,7 @@ public interface StudioChartsElements { xmlnsAlias = "charts", unlimitedCount = false, icon = "io/jmix/chartsflowui/kit/meta/icon/unknownComponent.svg", - propertyGroups = { - StudioChartsPropertyGroups.Disabled.class, - StudioChartsPropertyGroups.Focus.class, - StudioChartsPropertyGroups.BlurScope.class - }, + propertyGroups = StudioChartsPropertyGroups.EmphasisDefaultProperties.class, properties = { @StudioProperty(xmlAttribute = "disabled", type = StudioPropertyType.BOOLEAN), @StudioProperty(xmlAttribute = "focus", type = StudioPropertyType.ENUMERATION, @@ -9860,11 +9659,7 @@ public interface StudioChartsElements { xmlnsAlias = "charts", unlimitedCount = false, icon = "io/jmix/chartsflowui/kit/meta/icon/unknownComponent.svg", - propertyGroups = { - StudioChartsPropertyGroups.Disabled.class, - StudioChartsPropertyGroups.Focus.class, - StudioChartsPropertyGroups.BlurScope.class - }, + propertyGroups = StudioChartsPropertyGroups.EmphasisDefaultProperties.class, properties = { @StudioProperty(xmlAttribute = "disabled", type = StudioPropertyType.BOOLEAN), @StudioProperty(xmlAttribute = "focus", type = StudioPropertyType.ENUMERATION, @@ -9999,11 +9794,7 @@ public interface StudioChartsElements { xmlnsAlias = "charts", unlimitedCount = false, icon = "io/jmix/chartsflowui/kit/meta/icon/unknownComponent.svg", - propertyGroups = { - StudioChartsPropertyGroups.Disabled.class, - StudioChartsPropertyGroups.Focus.class, - StudioChartsPropertyGroups.BlurScope.class - }, + propertyGroups = StudioChartsPropertyGroups.EmphasisDefaultProperties.class, properties = { @StudioProperty(xmlAttribute = "disabled", type = StudioPropertyType.BOOLEAN), @StudioProperty(xmlAttribute = "focus", type = StudioPropertyType.ENUMERATION, @@ -10344,11 +10135,7 @@ public interface StudioChartsElements { xmlnsAlias = "charts", unlimitedCount = false, icon = "io/jmix/chartsflowui/kit/meta/icon/unknownComponent.svg", - propertyGroups = { - StudioChartsPropertyGroups.Disabled.class, - StudioChartsPropertyGroups.Focus.class, - StudioChartsPropertyGroups.BlurScope.class - }, + propertyGroups = StudioChartsPropertyGroups.EmphasisDefaultProperties.class, properties = { @StudioProperty(xmlAttribute = "disabled", type = StudioPropertyType.BOOLEAN), @StudioProperty(xmlAttribute = "focus", type = StudioPropertyType.ENUMERATION, @@ -10467,7 +10254,7 @@ public interface StudioChartsElements { xmlnsAlias = "charts", icon = "io/jmix/chartsflowui/kit/meta/icon/unknownComponent.svg", propertyGroups = { - StudioPropertyGroups.Name2.class, + StudioPropertyGroups.LocalizedNameWithoutCategory.class, StudioChartsPropertyGroups.Value.class }, properties = { @@ -11444,21 +11231,7 @@ public interface StudioChartsElements { xmlnsAlias = "charts", unlimitedCount = false, icon = "io/jmix/chartsflowui/kit/meta/icon/unknownComponent.svg", - propertyGroups = { - StudioChartsPropertyGroups.ChartColor.class, - StudioChartsPropertyGroups.BorderColor.class, - StudioChartsPropertyGroups.BorderWidth2.class, - StudioChartsPropertyGroups.BorderType.class, - StudioChartsPropertyGroups.BorderDashOffset.class, - StudioChartsPropertyGroups.Cap.class, - StudioChartsPropertyGroups.Join.class, - StudioChartsPropertyGroups.MiterLimit.class, - StudioChartsPropertyGroups.ShadowBlur.class, - StudioChartsPropertyGroups.ShadowColor.class, - StudioChartsPropertyGroups.ShadowOffsetX.class, - StudioChartsPropertyGroups.ShadowOffsetY.class, - StudioChartsPropertyGroups.Opacity.class - }, + propertyGroups = StudioChartsPropertyGroups.ItemStyleDefaultProperties.class, properties = { @StudioProperty(xmlAttribute = "textPosition", type = StudioPropertyType.ENUMERATION, classFqn = "io.jmix.chartsflowui.kit.component.model.toolbox.Emphasis.IconStyle.TextPosition", @@ -11885,7 +11658,7 @@ public interface StudioChartsElements { isInjectable = false, icon = "io/jmix/chartsflowui/kit/meta/icon/unknownComponent.svg", propertyGroups = { - StudioPropertyGroups.Id4.class + StudioPropertyGroups.IdWithoutCategory.class }, properties = { @StudioProperty(xmlAttribute = "id", type = StudioPropertyType.COMPONENT_ID) diff --git a/jmix-charts/charts-flowui-kit/src/main/java/io/jmix/chartsflowui/kit/meta/StudioChartsPropertyGroups.java b/jmix-charts/charts-flowui-kit/src/main/java/io/jmix/chartsflowui/kit/meta/StudioChartsPropertyGroups.java index 59cf031431..5dc0721eb9 100644 --- a/jmix-charts/charts-flowui-kit/src/main/java/io/jmix/chartsflowui/kit/meta/StudioChartsPropertyGroups.java +++ b/jmix-charts/charts-flowui-kit/src/main/java/io/jmix/chartsflowui/kit/meta/StudioChartsPropertyGroups.java @@ -2167,4 +2167,31 @@ public interface ZoomLock { ) public interface ChartColor { } + + @StudioPropertyGroup + public interface VisualEffectDefaultProperties extends Symbol, SymbolSize2, Color, ColorAlpha, Opacity2, + ColorLightness, ColorSaturation, ColorHue { + } + + @StudioPropertyGroup + public interface PageIconsDefaultProperties extends PrevPageIcon, NextPageIcon { + } + + @StudioPropertyGroup + public interface ItemStyleDefaultProperties extends ChartColor, BorderColor, BorderWidth2, BorderType, + BorderDashOffset, Cap, Join, MiterLimit, ShadowBlur, ShadowColor, ShadowOffsetX, ShadowOffsetY, + Opacity { + } + + @StudioPropertyGroup + public interface LabelLineDefaultProperties extends Show, ShowAbove, Length, Smooth, MinTurnAngle { + } + + @StudioPropertyGroup + public interface ScaleEmphasisDefaultProperties extends Disabled, Scale, Focus, BlurScope { + } + + @StudioPropertyGroup + public interface EmphasisDefaultProperties extends Disabled, Focus, BlurScope { + } } diff --git a/jmix-dynattr/dynattr-flowui-kit/src/main/java/io/jmix/dynattrflowui/kit/meta/facet/DynAttrStudioFacets.java b/jmix-dynattr/dynattr-flowui-kit/src/main/java/io/jmix/dynattrflowui/kit/meta/facet/DynAttrStudioFacets.java index bf3e5f46c3..bdebad41eb 100644 --- a/jmix-dynattr/dynattr-flowui-kit/src/main/java/io/jmix/dynattrflowui/kit/meta/facet/DynAttrStudioFacets.java +++ b/jmix-dynattr/dynattr-flowui-kit/src/main/java/io/jmix/dynattrflowui/kit/meta/facet/DynAttrStudioFacets.java @@ -32,7 +32,7 @@ public interface DynAttrStudioFacets { xmlnsAlias = "dynattr", icon = "io/jmix/dynattrflowui/icon/facet/dynamicAttributes.svg", propertyGroups = { - StudioPropertyGroups.Id4.class + StudioPropertyGroups.IdWithoutCategory.class }, properties = { @StudioProperty(xmlAttribute = "id", type = StudioPropertyType.COMPONENT_ID), diff --git a/jmix-flowui/flowui-kit/src/main/java/io/jmix/flowui/kit/meta/StudioPropertyGroups.java b/jmix-flowui/flowui-kit/src/main/java/io/jmix/flowui/kit/meta/StudioPropertyGroups.java index dd7e9190bc..b310548d76 100644 --- a/jmix-flowui/flowui-kit/src/main/java/io/jmix/flowui/kit/meta/StudioPropertyGroups.java +++ b/jmix-flowui/flowui-kit/src/main/java/io/jmix/flowui/kit/meta/StudioPropertyGroups.java @@ -1060,6 +1060,10 @@ public interface RequiredInteger { public interface Message { } + @StudioPropertyGroup + public interface MessageAndCheckSeconds extends Message, CheckSeconds { + } + @StudioPropertyGroup(properties = @StudioProperty(xmlAttribute = "messagesGroup", type = StudioPropertyType.STRING)) public interface MessagesGroup { @@ -1134,6 +1138,10 @@ public interface NestedNullBehavior { public interface NullRepresentation { } + @StudioPropertyGroup + public interface FormatAndNullRepresentation extends Format, NullRepresentation { + } + @StudioPropertyGroup(properties = @StudioProperty(xmlAttribute = "openOnHover", category = StudioProperty.Category.GENERAL, type = StudioPropertyType.BOOLEAN, defaultValue = "false")) public interface OpenOnHover { @@ -1747,6 +1755,150 @@ public interface WidthWithInitialValue100 { public interface Wrap { } + @StudioPropertyGroup( + properties = { + @StudioProperty(xmlAttribute = "description", type = StudioPropertyType.LOCALIZED_STRING) + } + ) + public interface DescriptionWithoutCategory { + } + + @StudioPropertyGroup( + properties = { + @StudioProperty(xmlAttribute = "enabled", type = StudioPropertyType.BOOLEAN, defaultValue = "true") + } + ) + public interface EnabledWithTrueDefaultValueWithoutCategory { + } + + @StudioPropertyGroup( + properties = { + @StudioProperty(xmlAttribute = "icon", category = StudioProperty.Category.LOOK_AND_FEEL, + type = StudioPropertyType.ICON, initialValue = "CHECK", + setParameterFqn = "com.vaadin.flow.component.icon.Icon") + } + ) + public interface IconWithCheckInitialValue { + } + + @StudioPropertyGroup( + properties = { + @StudioProperty(xmlAttribute = "icon", category = StudioProperty.Category.LOOK_AND_FEEL, + type = StudioPropertyType.ICON, initialValue = "BAN", + setParameterFqn = "com.vaadin.flow.component.icon.Icon") + } + ) + public interface IconWithBanInitialValue { + } + + @StudioPropertyGroup( + properties = { + @StudioProperty(xmlAttribute = "icon", category = StudioProperty.Category.LOOK_AND_FEEL, + type = StudioPropertyType.ICON, initialValue = "PENCIL", + setParameterFqn = "com.vaadin.flow.component.icon.Icon") + } + ) + public interface IconWithPencilInitialValue { + } + + @StudioPropertyGroup( + properties = { + @StudioProperty(xmlAttribute = "icon", type = StudioPropertyType.ICON) + } + ) + public interface IconWithoutCategory { + } + + @StudioPropertyGroup( + properties = { + @StudioProperty(xmlAttribute = "key", type = StudioPropertyType.STRING, + initialValue = "editorActionsColumn") + } + ) + public interface KeyWithEditorActionsColumnInitialValue { + } + + @StudioPropertyGroup( + properties = { + @StudioProperty(xmlAttribute = "minWidth", category = StudioProperty.Category.SIZE, + type = StudioPropertyType.SIZE, options = {"AUTO", "100%"}, + initialValue = "100px") + } + ) + public interface MinWidthWithInitialValue100px { + } + + @StudioPropertyGroup( + properties = { + @StudioProperty(xmlAttribute = "name", type = StudioPropertyType.LOCALIZED_STRING) + } + ) + public interface LocalizedNameWithoutCategory { + } + + @StudioPropertyGroup( + properties = { + @StudioProperty(xmlAttribute = "name", type = StudioPropertyType.STRING, required = true) + } + ) + public interface RequiredStringName { + } + + @StudioPropertyGroup( + properties = { + @StudioProperty(xmlAttribute = "resizable", type = StudioPropertyType.BOOLEAN, + defaultValueRef = "parent:resizable") + } + ) + public interface ResizableWithoutCategoryWithParentDefaultValueRef { + } + + @StudioPropertyGroup( + properties = { + @StudioProperty(xmlAttribute = "resizable", type = StudioPropertyType.BOOLEAN, + defaultValue = "false") + } + ) + public interface ResizableWithFalseDefaultValue { + } + + @StudioPropertyGroup( + properties = { + @StudioProperty(xmlAttribute = "resizable", category = StudioProperty.Category.SIZE, + type = StudioPropertyType.BOOLEAN, defaultValueRef = "parent:resizable") + } + ) + public interface ResizableWithParentDefaultValueRef { + } + + @StudioPropertyGroup( + properties = { + @StudioProperty(xmlAttribute = "text", category = StudioProperty.Category.GENERAL, + type = StudioPropertyType.LOCALIZED_STRING, initialValue = "msg:///actions.Cancel") + } + ) + public interface TextWithCancelInitialValue { + } + + @StudioPropertyGroup( + properties = { + @StudioProperty(xmlAttribute = "text", category = StudioProperty.Category.GENERAL, + type = StudioPropertyType.LOCALIZED_STRING, initialValue = "msg:///actions.Edit") + } + ) + public interface TextWithEditInitialValue { + } + + @StudioPropertyGroup( + properties = { + @StudioProperty(xmlAttribute = "type", type = StudioPropertyType.ENUMERATION, + classFqn = "io.jmix.flowui.component.AggregationInfo$Type", + options = {"SUM", "COUNT", "AVG", "MIN", "MAX"}) + } + ) + public interface AggregationType { + } + @StudioPropertyGroup public interface MessageAndRequiredStringValue extends Message, RequiredStringValue { } diff --git a/jmix-flowui/flowui-kit/src/main/java/io/jmix/flowui/kit/meta/action/StudioActionPropertyGroups.java b/jmix-flowui/flowui-kit/src/main/java/io/jmix/flowui/kit/meta/action/StudioActionPropertyGroups.java new file mode 100644 index 0000000000..aafede91b9 --- /dev/null +++ b/jmix-flowui/flowui-kit/src/main/java/io/jmix/flowui/kit/meta/action/StudioActionPropertyGroups.java @@ -0,0 +1,57 @@ +/* + * Copyright 2026 Haulmont. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package io.jmix.flowui.kit.meta.action; + +import io.jmix.flowui.kit.meta.StudioAPI; +import io.jmix.flowui.kit.meta.StudioPropertyGroup; +import io.jmix.flowui.kit.meta.StudioPropertyGroups; + +@StudioAPI +public final class StudioActionPropertyGroups { + + private StudioActionPropertyGroups() { + } + + @StudioPropertyGroup + public interface ActionDefaultProperties extends StudioPropertyGroups.ActionVariantWithDefaultDefaultValue, + StudioPropertyGroups.Description, StudioPropertyGroups.EnabledWithTrueDefaultValue, + StudioPropertyGroups.ShortcutCombination, StudioPropertyGroups.Visible { + } + + @StudioPropertyGroup + public interface TextActionDefaultProperties extends ActionDefaultProperties, StudioPropertyGroups.Text { + } + + @StudioPropertyGroup + public interface IconActionDefaultProperties extends ActionDefaultProperties, StudioPropertyGroups.LookAndFeelIcon { + } + + @StudioPropertyGroup + public interface IconTextActionDefaultProperties extends IconActionDefaultProperties, StudioPropertyGroups.Text { + } + + @StudioPropertyGroup + public interface RequiredIconTextActionDefaultProperties extends IconTextActionDefaultProperties, + StudioPropertyGroups.RequiredId { + } + + @StudioPropertyGroup + public interface PrimaryActionDefaultProperties extends StudioPropertyGroups.ActionVariantWithPrimaryDefaultValue, + StudioPropertyGroups.Description, StudioPropertyGroups.EnabledWithTrueDefaultValue, + StudioPropertyGroups.ShortcutCombination, StudioPropertyGroups.Visible { + } +} diff --git a/jmix-flowui/flowui-kit/src/main/java/io/jmix/flowui/kit/meta/action/StudioActions.java b/jmix-flowui/flowui-kit/src/main/java/io/jmix/flowui/kit/meta/action/StudioActions.java index 63c7741510..4e80b3bf8b 100644 --- a/jmix-flowui/flowui-kit/src/main/java/io/jmix/flowui/kit/meta/action/StudioActions.java +++ b/jmix-flowui/flowui-kit/src/main/java/io/jmix/flowui/kit/meta/action/StudioActions.java @@ -31,16 +31,7 @@ interface StudioActions { "io.jmix.flowui.component.PickerComponent" }, documentationLink = "%VERSION%/flow-ui/actions/declarative-actions.html", - propertyGroups = { - StudioPropertyGroups.ActionVariantWithDefaultDefaultValue.class, - StudioPropertyGroups.Description.class, - StudioPropertyGroups.EnabledWithTrueDefaultValue.class, - StudioPropertyGroups.LookAndFeelIcon.class, - StudioPropertyGroups.RequiredId.class, - StudioPropertyGroups.ShortcutCombination.class, - StudioPropertyGroups.Text.class, - StudioPropertyGroups.Visible.class - }, + propertyGroups = StudioActionPropertyGroups.RequiredIconTextActionDefaultProperties.class, properties = { @StudioProperty(xmlAttribute = "actionVariant", category = StudioProperty.Category.LOOK_AND_FEEL, type = StudioPropertyType.ENUMERATION, setMethod = "setVariant", classFqn = "io.jmix.flowui.kit.action.ActionVariant", diff --git a/jmix-flowui/flowui-kit/src/main/java/io/jmix/flowui/kit/meta/action/StudioBulkEditorActions.java b/jmix-flowui/flowui-kit/src/main/java/io/jmix/flowui/kit/meta/action/StudioBulkEditorActions.java index 26e247393e..f2906031dc 100644 --- a/jmix-flowui/flowui-kit/src/main/java/io/jmix/flowui/kit/meta/action/StudioBulkEditorActions.java +++ b/jmix-flowui/flowui-kit/src/main/java/io/jmix/flowui/kit/meta/action/StudioBulkEditorActions.java @@ -32,13 +32,7 @@ interface StudioBulkEditorActions { classFqn = "io.jmix.bulkeditor.action.BulkEditAction", documentationLink = "%VERSION%/bulk-edit/index.html#usage", availableInViewWizard = true, - propertyGroups = { - StudioPropertyGroups.ActionVariantWithDefaultDefaultValue.class, - StudioPropertyGroups.Description.class, - StudioPropertyGroups.EnabledWithTrueDefaultValue.class, - StudioPropertyGroups.ShortcutCombination.class, - StudioPropertyGroups.Visible.class - }, + propertyGroups = StudioActionPropertyGroups.ActionDefaultProperties.class, properties = { @StudioProperty(xmlAttribute = "actionVariant", category = StudioProperty.Category.LOOK_AND_FEEL, type = StudioPropertyType.ENUMERATION, setMethod = "setVariant", classFqn = "io.jmix.flowui.kit.action.ActionVariant", diff --git a/jmix-flowui/flowui-kit/src/main/java/io/jmix/flowui/kit/meta/action/StudioDataToolsActions.java b/jmix-flowui/flowui-kit/src/main/java/io/jmix/flowui/kit/meta/action/StudioDataToolsActions.java index 86d8bd83d9..d68afa3627 100644 --- a/jmix-flowui/flowui-kit/src/main/java/io/jmix/flowui/kit/meta/action/StudioDataToolsActions.java +++ b/jmix-flowui/flowui-kit/src/main/java/io/jmix/flowui/kit/meta/action/StudioDataToolsActions.java @@ -26,14 +26,7 @@ interface StudioDataToolsActions { description = "Displays a dialog window with detailed information about the selected entity", classFqn = "io.jmix.datatoolsflowui.action.ShowEntityInfoAction", documentationLink = "%VERSION%/data-tools/entity-info-action.html", - propertyGroups = { - StudioPropertyGroups.ActionVariantWithDefaultDefaultValue.class, - StudioPropertyGroups.Description.class, - StudioPropertyGroups.EnabledWithTrueDefaultValue.class, - StudioPropertyGroups.LookAndFeelIcon.class, - StudioPropertyGroups.ShortcutCombination.class, - StudioPropertyGroups.Visible.class - }, + propertyGroups = StudioActionPropertyGroups.IconActionDefaultProperties.class, properties = { @StudioProperty(xmlAttribute = "actionVariant", category = StudioProperty.Category.LOOK_AND_FEEL, type = StudioPropertyType.ENUMERATION, setMethod = "setVariant", classFqn = "io.jmix.flowui.kit.action.ActionVariant", diff --git a/jmix-flowui/flowui-kit/src/main/java/io/jmix/flowui/kit/meta/action/StudioGenericFilterActions.java b/jmix-flowui/flowui-kit/src/main/java/io/jmix/flowui/kit/meta/action/StudioGenericFilterActions.java index 93046b3325..6061015eb9 100644 --- a/jmix-flowui/flowui-kit/src/main/java/io/jmix/flowui/kit/meta/action/StudioGenericFilterActions.java +++ b/jmix-flowui/flowui-kit/src/main/java/io/jmix/flowui/kit/meta/action/StudioGenericFilterActions.java @@ -25,14 +25,7 @@ interface StudioGenericFilterActions { type = "genericFilter_addCondition", description = "Adds condition to current filter configuration", classFqn = "io.jmix.flowui.action.genericfilter.GenericFilterAddConditionAction", - propertyGroups = { - StudioPropertyGroups.ActionVariantWithDefaultDefaultValue.class, - StudioPropertyGroups.Description.class, - StudioPropertyGroups.EnabledWithTrueDefaultValue.class, - StudioPropertyGroups.ShortcutCombination.class, - StudioPropertyGroups.Text.class, - StudioPropertyGroups.Visible.class - }, + propertyGroups = StudioActionPropertyGroups.TextActionDefaultProperties.class, properties = { @StudioProperty(xmlAttribute = "actionVariant", category = StudioProperty.Category.LOOK_AND_FEEL, type = StudioPropertyType.ENUMERATION, setMethod = "setVariant", classFqn = "io.jmix.flowui.kit.action.ActionVariant", @@ -54,14 +47,7 @@ interface StudioGenericFilterActions { type = "genericFilter_clearValues", description = "Clears the filter condition values", classFqn = "io.jmix.flowui.action.genericfilter.GenericFilterClearValuesAction", - propertyGroups = { - StudioPropertyGroups.ActionVariantWithDefaultDefaultValue.class, - StudioPropertyGroups.Description.class, - StudioPropertyGroups.EnabledWithTrueDefaultValue.class, - StudioPropertyGroups.ShortcutCombination.class, - StudioPropertyGroups.Text.class, - StudioPropertyGroups.Visible.class - }, + propertyGroups = StudioActionPropertyGroups.TextActionDefaultProperties.class, properties = { @StudioProperty(xmlAttribute = "actionVariant", category = StudioProperty.Category.LOOK_AND_FEEL, type = StudioPropertyType.ENUMERATION, setMethod = "setVariant", classFqn = "io.jmix.flowui.kit.action.ActionVariant", @@ -83,14 +69,7 @@ interface StudioGenericFilterActions { type = "genericFilter_copy", description = "Copies all conditions from design-time configuration to run-time configuration", classFqn = "io.jmix.flowui.action.genericfilter.GenericFilterCopyAction", - propertyGroups = { - StudioPropertyGroups.ActionVariantWithDefaultDefaultValue.class, - StudioPropertyGroups.Description.class, - StudioPropertyGroups.EnabledWithTrueDefaultValue.class, - StudioPropertyGroups.ShortcutCombination.class, - StudioPropertyGroups.Text.class, - StudioPropertyGroups.Visible.class - }, + propertyGroups = StudioActionPropertyGroups.TextActionDefaultProperties.class, properties = { @StudioProperty(xmlAttribute = "actionVariant", category = StudioProperty.Category.LOOK_AND_FEEL, type = StudioPropertyType.ENUMERATION, setMethod = "setVariant", classFqn = "io.jmix.flowui.kit.action.ActionVariant", @@ -112,14 +91,7 @@ interface StudioGenericFilterActions { type = "genericFilter_edit", description = "Edits current configuration", classFqn = "io.jmix.flowui.action.genericfilter.GenericFilterEditAction", - propertyGroups = { - StudioPropertyGroups.ActionVariantWithDefaultDefaultValue.class, - StudioPropertyGroups.Description.class, - StudioPropertyGroups.EnabledWithTrueDefaultValue.class, - StudioPropertyGroups.ShortcutCombination.class, - StudioPropertyGroups.Text.class, - StudioPropertyGroups.Visible.class - }, + propertyGroups = StudioActionPropertyGroups.TextActionDefaultProperties.class, properties = { @StudioProperty(xmlAttribute = "actionVariant", category = StudioProperty.Category.LOOK_AND_FEEL, type = StudioPropertyType.ENUMERATION, setMethod = "setVariant", classFqn = "io.jmix.flowui.kit.action.ActionVariant", @@ -141,15 +113,7 @@ interface StudioGenericFilterActions { type = "genericFilter_reset", description = "Resets current configuration", classFqn = "io.jmix.flowui.action.genericfilter.GenericFilterResetAction", - propertyGroups = { - StudioPropertyGroups.ActionVariantWithDefaultDefaultValue.class, - StudioPropertyGroups.Description.class, - StudioPropertyGroups.EnabledWithTrueDefaultValue.class, - StudioPropertyGroups.LookAndFeelIcon.class, - StudioPropertyGroups.ShortcutCombination.class, - StudioPropertyGroups.Text.class, - StudioPropertyGroups.Visible.class - }, + propertyGroups = StudioActionPropertyGroups.IconTextActionDefaultProperties.class, properties = { @StudioProperty(xmlAttribute = "actionVariant", category = StudioProperty.Category.LOOK_AND_FEEL, type = StudioPropertyType.ENUMERATION, setMethod = "setVariant", classFqn = "io.jmix.flowui.kit.action.ActionVariant", diff --git a/jmix-flowui/flowui-kit/src/main/java/io/jmix/flowui/kit/meta/action/StudioGenericFilterDataActions.java b/jmix-flowui/flowui-kit/src/main/java/io/jmix/flowui/kit/meta/action/StudioGenericFilterDataActions.java index e347b82930..c430566e05 100644 --- a/jmix-flowui/flowui-kit/src/main/java/io/jmix/flowui/kit/meta/action/StudioGenericFilterDataActions.java +++ b/jmix-flowui/flowui-kit/src/main/java/io/jmix/flowui/kit/meta/action/StudioGenericFilterDataActions.java @@ -25,14 +25,7 @@ interface StudioGenericFilterDataActions { type = "genericFilter_remove", description = "Removes current run-time filter configuration", classFqn = "io.jmix.flowuidata.action.genericfilter.GenericFilterRemoveAction", - propertyGroups = { - StudioPropertyGroups.ActionVariantWithDefaultDefaultValue.class, - StudioPropertyGroups.Description.class, - StudioPropertyGroups.EnabledWithTrueDefaultValue.class, - StudioPropertyGroups.ShortcutCombination.class, - StudioPropertyGroups.Text.class, - StudioPropertyGroups.Visible.class - }, + propertyGroups = StudioActionPropertyGroups.TextActionDefaultProperties.class, properties = { @StudioProperty(xmlAttribute = "actionVariant", category = StudioProperty.Category.LOOK_AND_FEEL, type = StudioPropertyType.ENUMERATION, setMethod = "setVariant", classFqn = "io.jmix.flowui.kit.action.ActionVariant", @@ -54,14 +47,7 @@ interface StudioGenericFilterDataActions { type = "genericFilter_makeDefault", description = "Makes the filter configuration default for this view", classFqn = "io.jmix.flowuidata.action.genericfilter.GenericFilterMakeDefaultAction", - propertyGroups = { - StudioPropertyGroups.ActionVariantWithDefaultDefaultValue.class, - StudioPropertyGroups.Description.class, - StudioPropertyGroups.EnabledWithTrueDefaultValue.class, - StudioPropertyGroups.ShortcutCombination.class, - StudioPropertyGroups.Text.class, - StudioPropertyGroups.Visible.class - }, + propertyGroups = StudioActionPropertyGroups.TextActionDefaultProperties.class, properties = { @StudioProperty(xmlAttribute = "actionVariant", category = StudioProperty.Category.LOOK_AND_FEEL, type = StudioPropertyType.ENUMERATION, setMethod = "setVariant", classFqn = "io.jmix.flowui.kit.action.ActionVariant", @@ -83,14 +69,7 @@ interface StudioGenericFilterDataActions { type = "genericFilter_save", description = "Saves changes to current filter configuration", classFqn = "io.jmix.flowuidata.action.genericfilter.GenericFilterSaveAction", - propertyGroups = { - StudioPropertyGroups.ActionVariantWithDefaultDefaultValue.class, - StudioPropertyGroups.Description.class, - StudioPropertyGroups.EnabledWithTrueDefaultValue.class, - StudioPropertyGroups.ShortcutCombination.class, - StudioPropertyGroups.Text.class, - StudioPropertyGroups.Visible.class - }, + propertyGroups = StudioActionPropertyGroups.TextActionDefaultProperties.class, properties = { @StudioProperty(xmlAttribute = "actionVariant", category = StudioProperty.Category.LOOK_AND_FEEL, type = StudioPropertyType.ENUMERATION, setMethod = "setVariant", classFqn = "io.jmix.flowui.kit.action.ActionVariant", @@ -112,14 +91,7 @@ interface StudioGenericFilterDataActions { type = "genericFilter_saveAs", description = "Saves current filter configuration under a new id and name", classFqn = "io.jmix.flowuidata.action.genericfilter.GenericFilterSaveAsAction", - propertyGroups = { - StudioPropertyGroups.ActionVariantWithDefaultDefaultValue.class, - StudioPropertyGroups.Description.class, - StudioPropertyGroups.EnabledWithTrueDefaultValue.class, - StudioPropertyGroups.ShortcutCombination.class, - StudioPropertyGroups.Text.class, - StudioPropertyGroups.Visible.class - }, + propertyGroups = StudioActionPropertyGroups.TextActionDefaultProperties.class, properties = { @StudioProperty(xmlAttribute = "actionVariant", category = StudioProperty.Category.LOOK_AND_FEEL, type = StudioPropertyType.ENUMERATION, setMethod = "setVariant", classFqn = "io.jmix.flowui.kit.action.ActionVariant", @@ -141,14 +113,7 @@ interface StudioGenericFilterDataActions { type = "genericFilter_saveWithValues", description = "Saves changes to current filter configuration using the values in filter components as default values", classFqn = "io.jmix.flowuidata.action.genericfilter.GenericFilterSaveWithValuesAction", - propertyGroups = { - StudioPropertyGroups.ActionVariantWithDefaultDefaultValue.class, - StudioPropertyGroups.Description.class, - StudioPropertyGroups.EnabledWithTrueDefaultValue.class, - StudioPropertyGroups.ShortcutCombination.class, - StudioPropertyGroups.Text.class, - StudioPropertyGroups.Visible.class - }, + propertyGroups = StudioActionPropertyGroups.TextActionDefaultProperties.class, properties = { @StudioProperty(xmlAttribute = "actionVariant", category = StudioProperty.Category.LOOK_AND_FEEL, type = StudioPropertyType.ENUMERATION, setMethod = "setVariant", classFqn = "io.jmix.flowui.kit.action.ActionVariant", diff --git a/jmix-flowui/flowui-kit/src/main/java/io/jmix/flowui/kit/meta/action/StudioGridExportActions.java b/jmix-flowui/flowui-kit/src/main/java/io/jmix/flowui/kit/meta/action/StudioGridExportActions.java index 6a4003b3eb..a7fd18762a 100644 --- a/jmix-flowui/flowui-kit/src/main/java/io/jmix/flowui/kit/meta/action/StudioGridExportActions.java +++ b/jmix-flowui/flowui-kit/src/main/java/io/jmix/flowui/kit/meta/action/StudioGridExportActions.java @@ -33,13 +33,7 @@ interface StudioGridExportActions { target = {"io.jmix.flowui.component.ListDataComponent"}, documentationLink = "%VERSION%/grid-export/index.html", availableInViewWizard = true, - propertyGroups = { - StudioPropertyGroups.ActionVariantWithDefaultDefaultValue.class, - StudioPropertyGroups.Description.class, - StudioPropertyGroups.EnabledWithTrueDefaultValue.class, - StudioPropertyGroups.ShortcutCombination.class, - StudioPropertyGroups.Visible.class - }, + propertyGroups = StudioActionPropertyGroups.ActionDefaultProperties.class, properties = { @StudioProperty(xmlAttribute = "actionVariant", category = StudioProperty.Category.LOOK_AND_FEEL, type = StudioPropertyType.ENUMERATION, setMethod = "setVariant", classFqn = "io.jmix.flowui.kit.action.ActionVariant", @@ -72,13 +66,7 @@ interface StudioGridExportActions { target = {"io.jmix.flowui.component.ListDataComponent"}, documentationLink = "%VERSION%/grid-export/index.html", availableInViewWizard = true, - propertyGroups = { - StudioPropertyGroups.ActionVariantWithDefaultDefaultValue.class, - StudioPropertyGroups.Description.class, - StudioPropertyGroups.EnabledWithTrueDefaultValue.class, - StudioPropertyGroups.ShortcutCombination.class, - StudioPropertyGroups.Visible.class - }, + propertyGroups = StudioActionPropertyGroups.ActionDefaultProperties.class, properties = { @StudioProperty(xmlAttribute = "actionVariant", category = StudioProperty.Category.LOOK_AND_FEEL, type = StudioPropertyType.ENUMERATION, setMethod = "setVariant", classFqn = "io.jmix.flowui.kit.action.ActionVariant", diff --git a/jmix-flowui/flowui-kit/src/main/java/io/jmix/flowui/kit/meta/action/StudioListDataComponentActions.java b/jmix-flowui/flowui-kit/src/main/java/io/jmix/flowui/kit/meta/action/StudioListDataComponentActions.java index e3acb2a16c..38d1d1e1ee 100644 --- a/jmix-flowui/flowui-kit/src/main/java/io/jmix/flowui/kit/meta/action/StudioListDataComponentActions.java +++ b/jmix-flowui/flowui-kit/src/main/java/io/jmix/flowui/kit/meta/action/StudioListDataComponentActions.java @@ -32,13 +32,7 @@ interface StudioListDataComponentActions { classFqn = "io.jmix.flowui.action.list.CreateAction", documentationLink = "%VERSION%/flow-ui/actions/list-actions.html#list_create", availableInViewWizard = true, - propertyGroups = { - StudioPropertyGroups.ActionVariantWithPrimaryDefaultValue.class, - StudioPropertyGroups.Description.class, - StudioPropertyGroups.EnabledWithTrueDefaultValue.class, - StudioPropertyGroups.ShortcutCombination.class, - StudioPropertyGroups.Visible.class - }, + propertyGroups = StudioActionPropertyGroups.PrimaryActionDefaultProperties.class, properties = { @StudioProperty(xmlAttribute = "actionVariant", category = StudioProperty.Category.LOOK_AND_FEEL, type = StudioPropertyType.ENUMERATION, setMethod = "setVariant", classFqn = "io.jmix.flowui.kit.action.ActionVariant", @@ -145,13 +139,7 @@ interface StudioListDataComponentActions { classFqn = "io.jmix.flowui.action.list.AddAction", documentationLink = "%VERSION%/flow-ui/actions/list-actions.html#list_add", availableInViewWizard = true, - propertyGroups = { - StudioPropertyGroups.ActionVariantWithPrimaryDefaultValue.class, - StudioPropertyGroups.Description.class, - StudioPropertyGroups.EnabledWithTrueDefaultValue.class, - StudioPropertyGroups.ShortcutCombination.class, - StudioPropertyGroups.Visible.class - }, + propertyGroups = StudioActionPropertyGroups.PrimaryActionDefaultProperties.class, properties = { @StudioProperty(xmlAttribute = "actionVariant", category = StudioProperty.Category.LOOK_AND_FEEL, type = StudioPropertyType.ENUMERATION, setMethod = "setVariant", classFqn = "io.jmix.flowui.kit.action.ActionVariant", @@ -255,13 +243,7 @@ interface StudioListDataComponentActions { classFqn = "io.jmix.flowui.action.list.RefreshAction", documentationLink = "%VERSION%/flow-ui/actions/list-actions.html#list_refresh", availableInViewWizard = true, - propertyGroups = { - StudioPropertyGroups.ActionVariantWithDefaultDefaultValue.class, - StudioPropertyGroups.Description.class, - StudioPropertyGroups.EnabledWithTrueDefaultValue.class, - StudioPropertyGroups.ShortcutCombination.class, - StudioPropertyGroups.Visible.class - }, + propertyGroups = StudioActionPropertyGroups.ActionDefaultProperties.class, properties = { @StudioProperty(xmlAttribute = "actionVariant", category = StudioProperty.Category.LOOK_AND_FEEL, type = StudioPropertyType.ENUMERATION, setMethod = "setVariant", classFqn = "io.jmix.flowui.kit.action.ActionVariant", @@ -284,15 +266,7 @@ interface StudioListDataComponentActions { type = "list_itemTracking", description = "Tracks the selected item from the bound ListDataComponent", classFqn = "io.jmix.flowui.action.list.ItemTrackingAction", - propertyGroups = { - StudioPropertyGroups.ActionVariantWithDefaultDefaultValue.class, - StudioPropertyGroups.Description.class, - StudioPropertyGroups.EnabledWithTrueDefaultValue.class, - StudioPropertyGroups.LookAndFeelIcon.class, - StudioPropertyGroups.ShortcutCombination.class, - StudioPropertyGroups.Text.class, - StudioPropertyGroups.Visible.class - }, + propertyGroups = StudioActionPropertyGroups.IconTextActionDefaultProperties.class, properties = { @StudioProperty(xmlAttribute = "actionVariant", category = StudioProperty.Category.LOOK_AND_FEEL, type = StudioPropertyType.ENUMERATION, setMethod = "setVariant", classFqn = "io.jmix.flowui.kit.action.ActionVariant", diff --git a/jmix-flowui/flowui-kit/src/main/java/io/jmix/flowui/kit/meta/action/StudioMainViewActions.java b/jmix-flowui/flowui-kit/src/main/java/io/jmix/flowui/kit/meta/action/StudioMainViewActions.java index 86d9bf486a..26dfb11771 100644 --- a/jmix-flowui/flowui-kit/src/main/java/io/jmix/flowui/kit/meta/action/StudioMainViewActions.java +++ b/jmix-flowui/flowui-kit/src/main/java/io/jmix/flowui/kit/meta/action/StudioMainViewActions.java @@ -29,13 +29,7 @@ interface StudioMainViewActions { type = "logout", description = "Logouts from application", classFqn = "io.jmix.flowui.action.security.LogoutAction", - propertyGroups = { - StudioPropertyGroups.ActionVariantWithDefaultDefaultValue.class, - StudioPropertyGroups.Description.class, - StudioPropertyGroups.EnabledWithTrueDefaultValue.class, - StudioPropertyGroups.ShortcutCombination.class, - StudioPropertyGroups.Visible.class - }, + propertyGroups = StudioActionPropertyGroups.ActionDefaultProperties.class, properties = { @StudioProperty(xmlAttribute = "actionVariant", category = StudioProperty.Category.LOOK_AND_FEEL, type = StudioPropertyType.ENUMERATION, setMethod = "setVariant", classFqn = "io.jmix.flowui.kit.action.ActionVariant", diff --git a/jmix-flowui/flowui-kit/src/main/java/io/jmix/flowui/kit/meta/action/StudioPickerActions.java b/jmix-flowui/flowui-kit/src/main/java/io/jmix/flowui/kit/meta/action/StudioPickerActions.java index bb45963318..5b52b20eb2 100644 --- a/jmix-flowui/flowui-kit/src/main/java/io/jmix/flowui/kit/meta/action/StudioPickerActions.java +++ b/jmix-flowui/flowui-kit/src/main/java/io/jmix/flowui/kit/meta/action/StudioPickerActions.java @@ -61,13 +61,7 @@ interface StudioPickerActions { description = "Clears the value of picker component", classFqn = "io.jmix.flowui.action.valuepicker.ValueClearAction", documentationLink = "%VERSION%/flow-ui/actions/value-picker-actions.html#value_clear", - propertyGroups = { - StudioPropertyGroups.ActionVariantWithDefaultDefaultValue.class, - StudioPropertyGroups.Description.class, - StudioPropertyGroups.EnabledWithTrueDefaultValue.class, - StudioPropertyGroups.ShortcutCombination.class, - StudioPropertyGroups.Visible.class - }, + propertyGroups = StudioActionPropertyGroups.ActionDefaultProperties.class, properties = { @StudioProperty(xmlAttribute = "actionVariant", category = StudioProperty.Category.LOOK_AND_FEEL, type = StudioPropertyType.ENUMERATION, setMethod = "setVariant", classFqn = "io.jmix.flowui.kit.action.ActionVariant", @@ -97,13 +91,7 @@ interface StudioPickerActions { "io.jmix.flowui.component.valuepicker.JmixMultiValuePicker" }, documentationLink = "%VERSION%/flow-ui/actions/entity-picker-actions.html#entity_clear", - propertyGroups = { - StudioPropertyGroups.ActionVariantWithDefaultDefaultValue.class, - StudioPropertyGroups.Description.class, - StudioPropertyGroups.EnabledWithTrueDefaultValue.class, - StudioPropertyGroups.ShortcutCombination.class, - StudioPropertyGroups.Visible.class - }, + propertyGroups = StudioActionPropertyGroups.ActionDefaultProperties.class, properties = { @StudioProperty(xmlAttribute = "actionVariant", category = StudioProperty.Category.LOOK_AND_FEEL, type = StudioPropertyType.ENUMERATION, setMethod = "setVariant", classFqn = "io.jmix.flowui.kit.action.ActionVariant", @@ -133,13 +121,7 @@ interface StudioPickerActions { "io.jmix.flowui.component.valuepicker.JmixMultiValuePicker" }, documentationLink = "%VERSION%/flow-ui/actions/entity-picker-actions.html#entity_lookup", - propertyGroups = { - StudioPropertyGroups.ActionVariantWithDefaultDefaultValue.class, - StudioPropertyGroups.Description.class, - StudioPropertyGroups.EnabledWithTrueDefaultValue.class, - StudioPropertyGroups.ShortcutCombination.class, - StudioPropertyGroups.Visible.class - }, + propertyGroups = StudioActionPropertyGroups.ActionDefaultProperties.class, properties = { @StudioProperty(xmlAttribute = "actionVariant", category = StudioProperty.Category.LOOK_AND_FEEL, type = StudioPropertyType.ENUMERATION, setMethod = "setVariant", classFqn = "io.jmix.flowui.kit.action.ActionVariant", @@ -173,13 +155,7 @@ interface StudioPickerActions { "io.jmix.flowui.component.valuepicker.JmixMultiValuePicker" }, documentationLink = "%VERSION%/flow-ui/actions/entity-picker-actions.html#entity_open", - propertyGroups = { - StudioPropertyGroups.ActionVariantWithDefaultDefaultValue.class, - StudioPropertyGroups.Description.class, - StudioPropertyGroups.EnabledWithTrueDefaultValue.class, - StudioPropertyGroups.ShortcutCombination.class, - StudioPropertyGroups.Visible.class - }, + propertyGroups = StudioActionPropertyGroups.ActionDefaultProperties.class, properties = { @StudioProperty(xmlAttribute = "actionVariant", category = StudioProperty.Category.LOOK_AND_FEEL, type = StudioPropertyType.ENUMERATION, setMethod = "setVariant", classFqn = "io.jmix.flowui.kit.action.ActionVariant", @@ -213,13 +189,7 @@ interface StudioPickerActions { "io.jmix.flowui.component.valuepicker.JmixMultiValuePicker" }, documentationLink = "%VERSION%/flow-ui/actions/entity-picker-actions.html#entity_openComposition", - propertyGroups = { - StudioPropertyGroups.ActionVariantWithDefaultDefaultValue.class, - StudioPropertyGroups.Description.class, - StudioPropertyGroups.EnabledWithTrueDefaultValue.class, - StudioPropertyGroups.ShortcutCombination.class, - StudioPropertyGroups.Visible.class - }, + propertyGroups = StudioActionPropertyGroups.ActionDefaultProperties.class, properties = { @StudioProperty(xmlAttribute = "actionVariant", category = StudioProperty.Category.LOOK_AND_FEEL, type = StudioPropertyType.ENUMERATION, setMethod = "setVariant", classFqn = "io.jmix.flowui.kit.action.ActionVariant", @@ -248,13 +218,7 @@ interface StudioPickerActions { classFqn = "io.jmix.flowui.action.multivaluepicker.MultiValueSelectAction", target = {"io.jmix.flowui.component.valuepicker.JmixMultiValuePicker"}, documentationLink = "%VERSION%/flow-ui/actions/value-picker-actions.html#multi_value_select", - propertyGroups = { - StudioPropertyGroups.ActionVariantWithDefaultDefaultValue.class, - StudioPropertyGroups.Description.class, - StudioPropertyGroups.EnabledWithTrueDefaultValue.class, - StudioPropertyGroups.ShortcutCombination.class, - StudioPropertyGroups.Visible.class - }, + propertyGroups = StudioActionPropertyGroups.ActionDefaultProperties.class, properties = { @StudioProperty(xmlAttribute = "actionVariant", category = StudioProperty.Category.LOOK_AND_FEEL, type = StudioPropertyType.ENUMERATION, setMethod = "setVariant", classFqn = "io.jmix.flowui.kit.action.ActionVariant", diff --git a/jmix-flowui/flowui-kit/src/main/java/io/jmix/flowui/kit/meta/action/StudioReportsActions.java b/jmix-flowui/flowui-kit/src/main/java/io/jmix/flowui/kit/meta/action/StudioReportsActions.java index 0d0b2a1bb0..eb22cdd0bf 100644 --- a/jmix-flowui/flowui-kit/src/main/java/io/jmix/flowui/kit/meta/action/StudioReportsActions.java +++ b/jmix-flowui/flowui-kit/src/main/java/io/jmix/flowui/kit/meta/action/StudioReportsActions.java @@ -26,16 +26,7 @@ interface StudioReportsActions { description = "A standard action that displays the list of all available reports.", classFqn = "io.jmix.reportsflowui.action.RunReportAction", target = {"io.jmix.flowui.action.list.ListDataComponentAction"}, - propertyGroups = { - StudioPropertyGroups.ActionVariantWithDefaultDefaultValue.class, - StudioPropertyGroups.Description.class, - StudioPropertyGroups.EnabledWithTrueDefaultValue.class, - StudioPropertyGroups.LookAndFeelIcon.class, - StudioPropertyGroups.RequiredId.class, - StudioPropertyGroups.ShortcutCombination.class, - StudioPropertyGroups.Text.class, - StudioPropertyGroups.Visible.class - }, + propertyGroups = StudioActionPropertyGroups.RequiredIconTextActionDefaultProperties.class, properties = { @StudioProperty(xmlAttribute = "actionVariant", category = StudioProperty.Category.LOOK_AND_FEEL, type = StudioPropertyType.ENUMERATION, setMethod = "setVariant", classFqn = "io.jmix.flowui.kit.action.ActionVariant", @@ -59,16 +50,7 @@ interface StudioReportsActions { description = "A standard action for printing reports for entity instance.", classFqn = "io.jmix.reportsflowui.action.RunSingleEntityReportAction", target = {"io.jmix.flowui.action.view.OperationResultViewAction"}, - propertyGroups = { - StudioPropertyGroups.ActionVariantWithDefaultDefaultValue.class, - StudioPropertyGroups.Description.class, - StudioPropertyGroups.EnabledWithTrueDefaultValue.class, - StudioPropertyGroups.LookAndFeelIcon.class, - StudioPropertyGroups.RequiredId.class, - StudioPropertyGroups.ShortcutCombination.class, - StudioPropertyGroups.Text.class, - StudioPropertyGroups.Visible.class - }, + propertyGroups = StudioActionPropertyGroups.RequiredIconTextActionDefaultProperties.class, properties = { @StudioProperty(xmlAttribute = "actionVariant", category = StudioProperty.Category.LOOK_AND_FEEL, type = StudioPropertyType.ENUMERATION, setMethod = "setVariant", classFqn = "io.jmix.flowui.kit.action.ActionVariant", @@ -92,16 +74,7 @@ interface StudioReportsActions { description = "A standard action for printing reports for entity instances associated with a list component (Table, DataGrid, etc.).", classFqn = "io.jmix.reportsflowui.action.RunListEntityReportAction", target = {"io.jmix.flowui.action.list.ListDataComponentAction"}, - propertyGroups = { - StudioPropertyGroups.ActionVariantWithDefaultDefaultValue.class, - StudioPropertyGroups.Description.class, - StudioPropertyGroups.EnabledWithTrueDefaultValue.class, - StudioPropertyGroups.LookAndFeelIcon.class, - StudioPropertyGroups.RequiredId.class, - StudioPropertyGroups.ShortcutCombination.class, - StudioPropertyGroups.Text.class, - StudioPropertyGroups.Visible.class - }, + propertyGroups = StudioActionPropertyGroups.RequiredIconTextActionDefaultProperties.class, properties = { @StudioProperty(xmlAttribute = "actionVariant", category = StudioProperty.Category.LOOK_AND_FEEL, type = StudioPropertyType.ENUMERATION, setMethod = "setVariant", classFqn = "io.jmix.flowui.kit.action.ActionVariant", @@ -124,16 +97,7 @@ interface StudioReportsActions { description = "A standard action for displaying the report execution history.", classFqn = "io.jmix.reportsflowui.action.ShowExecutionReportHistoryAction", target = {"io.jmix.flowui.action.list.ListDataComponentAction"}, - propertyGroups = { - StudioPropertyGroups.ActionVariantWithDefaultDefaultValue.class, - StudioPropertyGroups.Description.class, - StudioPropertyGroups.EnabledWithTrueDefaultValue.class, - StudioPropertyGroups.LookAndFeelIcon.class, - StudioPropertyGroups.RequiredId.class, - StudioPropertyGroups.ShortcutCombination.class, - StudioPropertyGroups.Text.class, - StudioPropertyGroups.Visible.class - }, + propertyGroups = StudioActionPropertyGroups.RequiredIconTextActionDefaultProperties.class, properties = { @StudioProperty(xmlAttribute = "actionVariant", category = StudioProperty.Category.LOOK_AND_FEEL, type = StudioPropertyType.ENUMERATION, setMethod = "setVariant", classFqn = "io.jmix.flowui.kit.action.ActionVariant", diff --git a/jmix-flowui/flowui-kit/src/main/java/io/jmix/flowui/kit/meta/action/StudioSecurityActions.java b/jmix-flowui/flowui-kit/src/main/java/io/jmix/flowui/kit/meta/action/StudioSecurityActions.java index e0525d6d32..e4d2fd797c 100644 --- a/jmix-flowui/flowui-kit/src/main/java/io/jmix/flowui/kit/meta/action/StudioSecurityActions.java +++ b/jmix-flowui/flowui-kit/src/main/java/io/jmix/flowui/kit/meta/action/StudioSecurityActions.java @@ -29,13 +29,7 @@ interface StudioSecurityActions { type = "sec_showRoleAssignments", description = "Shows the role assignments for the UserDetails instance", classFqn = "io.jmix.securityflowui.action.ShowRoleAssignmentsAction", - propertyGroups = { - StudioPropertyGroups.ActionVariantWithDefaultDefaultValue.class, - StudioPropertyGroups.Description.class, - StudioPropertyGroups.EnabledWithTrueDefaultValue.class, - StudioPropertyGroups.ShortcutCombination.class, - StudioPropertyGroups.Visible.class - }, + propertyGroups = StudioActionPropertyGroups.ActionDefaultProperties.class, properties = { @StudioProperty(xmlAttribute = "actionVariant", category = StudioProperty.Category.LOOK_AND_FEEL, type = StudioPropertyType.ENUMERATION, setMethod = "setVariant", classFqn = "io.jmix.flowui.kit.action.ActionVariant", @@ -60,13 +54,7 @@ interface StudioSecurityActions { type = "sec_showUserSubstitutions", description = "Shows the user substitutions", classFqn = "io.jmix.securityflowui.action.ShowUserSubstitutionsAction", - propertyGroups = { - StudioPropertyGroups.ActionVariantWithDefaultDefaultValue.class, - StudioPropertyGroups.Description.class, - StudioPropertyGroups.EnabledWithTrueDefaultValue.class, - StudioPropertyGroups.ShortcutCombination.class, - StudioPropertyGroups.Visible.class - }, + propertyGroups = StudioActionPropertyGroups.ActionDefaultProperties.class, properties = { @StudioProperty(xmlAttribute = "actionVariant", category = StudioProperty.Category.LOOK_AND_FEEL, type = StudioPropertyType.ENUMERATION, setMethod = "setVariant", classFqn = "io.jmix.flowui.kit.action.ActionVariant", @@ -90,13 +78,7 @@ interface StudioSecurityActions { type = "sec_assignToUsers", description = "Assign the role to selected users", classFqn = "io.jmix.securityflowui.action.AssignToUsersAction", - propertyGroups = { - StudioPropertyGroups.ActionVariantWithDefaultDefaultValue.class, - StudioPropertyGroups.Description.class, - StudioPropertyGroups.EnabledWithTrueDefaultValue.class, - StudioPropertyGroups.ShortcutCombination.class, - StudioPropertyGroups.Visible.class - }, + propertyGroups = StudioActionPropertyGroups.ActionDefaultProperties.class, properties = { @StudioProperty(xmlAttribute = "actionVariant", category = StudioProperty.Category.LOOK_AND_FEEL, type = StudioPropertyType.ENUMERATION, setMethod = "setVariant", classFqn = "io.jmix.flowui.kit.action.ActionVariant", @@ -120,14 +102,7 @@ interface StudioSecurityActions { type = "sec_changePassword", description = "Changes the password of the UserDetails instance", classFqn = "io.jmix.securityflowui.action.ChangePasswordAction", - propertyGroups = { - StudioPropertyGroups.ActionVariantWithDefaultDefaultValue.class, - StudioPropertyGroups.Description.class, - StudioPropertyGroups.EnabledWithTrueDefaultValue.class, - StudioPropertyGroups.LookAndFeelIcon.class, - StudioPropertyGroups.ShortcutCombination.class, - StudioPropertyGroups.Visible.class - }, + propertyGroups = StudioActionPropertyGroups.IconActionDefaultProperties.class, properties = { @StudioProperty(xmlAttribute = "actionVariant", category = StudioProperty.Category.LOOK_AND_FEEL, type = StudioPropertyType.ENUMERATION, setMethod = "setVariant", classFqn = "io.jmix.flowui.kit.action.ActionVariant", @@ -151,14 +126,7 @@ interface StudioSecurityActions { type = "sec_resetPassword", description = "Resets the password of the UserDetails instance", classFqn = "io.jmix.securityflowui.action.ResetPasswordAction", - propertyGroups = { - StudioPropertyGroups.ActionVariantWithDefaultDefaultValue.class, - StudioPropertyGroups.Description.class, - StudioPropertyGroups.EnabledWithTrueDefaultValue.class, - StudioPropertyGroups.LookAndFeelIcon.class, - StudioPropertyGroups.ShortcutCombination.class, - StudioPropertyGroups.Visible.class - }, + propertyGroups = StudioActionPropertyGroups.IconActionDefaultProperties.class, properties = { @StudioProperty(xmlAttribute = "actionVariant", category = StudioProperty.Category.LOOK_AND_FEEL, type = StudioPropertyType.ENUMERATION, setMethod = "setVariant", classFqn = "io.jmix.flowui.kit.action.ActionVariant", diff --git a/jmix-flowui/flowui-kit/src/main/java/io/jmix/flowui/kit/meta/action/StudioUserMenuActions.java b/jmix-flowui/flowui-kit/src/main/java/io/jmix/flowui/kit/meta/action/StudioUserMenuActions.java index ad8816e652..6dfd34c958 100644 --- a/jmix-flowui/flowui-kit/src/main/java/io/jmix/flowui/kit/meta/action/StudioUserMenuActions.java +++ b/jmix-flowui/flowui-kit/src/main/java/io/jmix/flowui/kit/meta/action/StudioUserMenuActions.java @@ -31,14 +31,7 @@ interface StudioUserMenuActions { "'@JsModule(\"./src/theme/color-scheme-switching-support.js\")' " + "import to be added to the main application class", classFqn = "io.jmix.flowui.action.usermenu.UserMenuThemeSwitchAction", - propertyGroups = { - StudioPropertyGroups.ActionVariantWithDefaultDefaultValue.class, - StudioPropertyGroups.Description.class, - StudioPropertyGroups.EnabledWithTrueDefaultValue.class, - StudioPropertyGroups.LookAndFeelIcon.class, - StudioPropertyGroups.ShortcutCombination.class, - StudioPropertyGroups.Visible.class - }, + propertyGroups = StudioActionPropertyGroups.IconActionDefaultProperties.class, properties = { @StudioProperty(xmlAttribute = "actionVariant", category = StudioProperty.Category.LOOK_AND_FEEL, type = StudioPropertyType.ENUMERATION, setMethod = "setVariant", classFqn = "io.jmix.flowui.kit.action.ActionVariant", diff --git a/jmix-flowui/flowui-kit/src/main/java/io/jmix/flowui/kit/meta/action/StudioViewActions.java b/jmix-flowui/flowui-kit/src/main/java/io/jmix/flowui/kit/meta/action/StudioViewActions.java index dcd5ac3f88..be97976e2e 100644 --- a/jmix-flowui/flowui-kit/src/main/java/io/jmix/flowui/kit/meta/action/StudioViewActions.java +++ b/jmix-flowui/flowui-kit/src/main/java/io/jmix/flowui/kit/meta/action/StudioViewActions.java @@ -31,13 +31,7 @@ interface StudioViewActions { description = "Closes the view", classFqn = "io.jmix.flowui.action.view.ViewCloseAction", documentationLink = "%VERSION%/flow-ui/actions/view-actions.html#view_close", - propertyGroups = { - StudioPropertyGroups.ActionVariantWithDefaultDefaultValue.class, - StudioPropertyGroups.Description.class, - StudioPropertyGroups.EnabledWithTrueDefaultValue.class, - StudioPropertyGroups.ShortcutCombination.class, - StudioPropertyGroups.Visible.class - }, + propertyGroups = StudioActionPropertyGroups.ActionDefaultProperties.class, properties = { @StudioProperty(xmlAttribute = "actionVariant", category = StudioProperty.Category.LOOK_AND_FEEL, type = StudioPropertyType.ENUMERATION, setMethod = "setVariant", classFqn = "io.jmix.flowui.kit.action.ActionVariant", @@ -66,13 +60,7 @@ interface StudioViewActions { description = "Selects item in lookup view", classFqn = "io.jmix.flowui.action.view.LookupSelectAction", documentationLink = "%VERSION%/flow-ui/actions/view-actions.html#lookup_select", - propertyGroups = { - StudioPropertyGroups.ActionVariantWithPrimaryDefaultValue.class, - StudioPropertyGroups.Description.class, - StudioPropertyGroups.EnabledWithTrueDefaultValue.class, - StudioPropertyGroups.ShortcutCombination.class, - StudioPropertyGroups.Visible.class - }, + propertyGroups = StudioActionPropertyGroups.PrimaryActionDefaultProperties.class, properties = { @StudioProperty(xmlAttribute = "actionVariant", category = StudioProperty.Category.LOOK_AND_FEEL, type = StudioPropertyType.ENUMERATION, setMethod = "setVariant", classFqn = "io.jmix.flowui.kit.action.ActionVariant", @@ -96,13 +84,7 @@ interface StudioViewActions { description = "Discards selection in lookup view", classFqn = "io.jmix.flowui.action.view.LookupDiscardAction", documentationLink = "%VERSION%/flow-ui/actions/view-actions.html#lookup_discard", - propertyGroups = { - StudioPropertyGroups.ActionVariantWithDefaultDefaultValue.class, - StudioPropertyGroups.Description.class, - StudioPropertyGroups.EnabledWithTrueDefaultValue.class, - StudioPropertyGroups.ShortcutCombination.class, - StudioPropertyGroups.Visible.class - }, + propertyGroups = StudioActionPropertyGroups.ActionDefaultProperties.class, properties = { @StudioProperty(xmlAttribute = "actionVariant", category = StudioProperty.Category.LOOK_AND_FEEL, type = StudioPropertyType.ENUMERATION, setMethod = "setVariant", classFqn = "io.jmix.flowui.kit.action.ActionVariant", @@ -126,13 +108,7 @@ interface StudioViewActions { description = "Closes the detail view", classFqn = "io.jmix.flowui.action.view.DetailCloseAction", documentationLink = "%VERSION%/flow-ui/actions/view-actions.html#detail_close", - propertyGroups = { - StudioPropertyGroups.ActionVariantWithDefaultDefaultValue.class, - StudioPropertyGroups.Description.class, - StudioPropertyGroups.EnabledWithTrueDefaultValue.class, - StudioPropertyGroups.ShortcutCombination.class, - StudioPropertyGroups.Visible.class - }, + propertyGroups = StudioActionPropertyGroups.ActionDefaultProperties.class, properties = { @StudioProperty(xmlAttribute = "actionVariant", category = StudioProperty.Category.LOOK_AND_FEEL, type = StudioPropertyType.ENUMERATION, setMethod = "setVariant", classFqn = "io.jmix.flowui.kit.action.ActionVariant", @@ -156,13 +132,7 @@ interface StudioViewActions { description = "Saves changes in the detail view", classFqn = "io.jmix.flowui.action.view.DetailSaveAction", documentationLink = "%VERSION%/flow-ui/actions/view-actions.html#detail_save", - propertyGroups = { - StudioPropertyGroups.ActionVariantWithDefaultDefaultValue.class, - StudioPropertyGroups.Description.class, - StudioPropertyGroups.EnabledWithTrueDefaultValue.class, - StudioPropertyGroups.ShortcutCombination.class, - StudioPropertyGroups.Visible.class - }, + propertyGroups = StudioActionPropertyGroups.ActionDefaultProperties.class, properties = { @StudioProperty(xmlAttribute = "actionVariant", category = StudioProperty.Category.LOOK_AND_FEEL, type = StudioPropertyType.ENUMERATION, setMethod = "setVariant", classFqn = "io.jmix.flowui.kit.action.ActionVariant", @@ -186,13 +156,7 @@ interface StudioViewActions { description = "Saves changes and closes the detail view", classFqn = "io.jmix.flowui.action.view.DetailSaveCloseAction", documentationLink = "%VERSION%/flow-ui/actions/view-actions.html#detail_saveClose", - propertyGroups = { - StudioPropertyGroups.ActionVariantWithPrimaryDefaultValue.class, - StudioPropertyGroups.Description.class, - StudioPropertyGroups.EnabledWithTrueDefaultValue.class, - StudioPropertyGroups.ShortcutCombination.class, - StudioPropertyGroups.Visible.class - }, + propertyGroups = StudioActionPropertyGroups.PrimaryActionDefaultProperties.class, properties = { @StudioProperty(xmlAttribute = "actionVariant", category = StudioProperty.Category.LOOK_AND_FEEL, type = StudioPropertyType.ENUMERATION, setMethod = "setVariant", classFqn = "io.jmix.flowui.kit.action.ActionVariant", @@ -216,13 +180,7 @@ interface StudioViewActions { description = "Discards changes in the detail view", classFqn = "io.jmix.flowui.action.view.DetailDiscardAction", documentationLink = "%VERSION%/flow-ui/actions/view-actions.html#detail_discard", - propertyGroups = { - StudioPropertyGroups.ActionVariantWithDefaultDefaultValue.class, - StudioPropertyGroups.Description.class, - StudioPropertyGroups.EnabledWithTrueDefaultValue.class, - StudioPropertyGroups.ShortcutCombination.class, - StudioPropertyGroups.Visible.class - }, + propertyGroups = StudioActionPropertyGroups.ActionDefaultProperties.class, properties = { @StudioProperty(xmlAttribute = "actionVariant", category = StudioProperty.Category.LOOK_AND_FEEL, type = StudioPropertyType.ENUMERATION, setMethod = "setVariant", classFqn = "io.jmix.flowui.kit.action.ActionVariant", @@ -246,13 +204,7 @@ interface StudioViewActions { description = "Enables editing in the detail view", classFqn = "io.jmix.flowui.action.view.DetailEnableEditingAction", documentationLink = "%VERSION%/flow-ui/actions/view-actions.html#detail_enableEditing", - propertyGroups = { - StudioPropertyGroups.ActionVariantWithDefaultDefaultValue.class, - StudioPropertyGroups.Description.class, - StudioPropertyGroups.EnabledWithTrueDefaultValue.class, - StudioPropertyGroups.ShortcutCombination.class, - StudioPropertyGroups.Visible.class - }, + propertyGroups = StudioActionPropertyGroups.ActionDefaultProperties.class, properties = { @StudioProperty(xmlAttribute = "actionVariant", category = StudioProperty.Category.LOOK_AND_FEEL, type = StudioPropertyType.ENUMERATION, setMethod = "setVariant", classFqn = "io.jmix.flowui.kit.action.ActionVariant", diff --git a/jmix-flowui/flowui-kit/src/main/java/io/jmix/flowui/kit/meta/component/StudioHTMLComponents.java b/jmix-flowui/flowui-kit/src/main/java/io/jmix/flowui/kit/meta/component/StudioHTMLComponents.java index 15ff181fc3..6f8f2e0bcf 100644 --- a/jmix-flowui/flowui-kit/src/main/java/io/jmix/flowui/kit/meta/component/StudioHTMLComponents.java +++ b/jmix-flowui/flowui-kit/src/main/java/io/jmix/flowui/kit/meta/component/StudioHTMLComponents.java @@ -101,20 +101,7 @@ interface StudioHTMLComponents { xmlElement = "article", icon = "io/jmix/flowui/kit/meta/icon/html/htmlComponent.svg", documentationLink = "%VERSION%/flow-ui/vc/html.html", - propertyGroups = { - StudioPropertyGroups.AlignSelfAndJustifySelfAndColspan.class, - StudioPropertyGroups.ClassNamesAndCss.class, - StudioPropertyGroups.IdAndVisible.class, - StudioPropertyGroups.EnabledWithTrueDefaultValue.class, - StudioPropertyGroups.Size.class, - StudioPropertyGroups.ClickShortcut.class, - StudioPropertyGroups.CollectionOrInstanceDataContainer.class, - StudioPropertyGroups.Property.class, - StudioPropertyGroups.Text.class, - StudioPropertyGroups.HtmlComponentThemeNames.class, - StudioPropertyGroups.Title.class, - StudioPropertyGroups.WhiteSpace.class - }, + propertyGroups = StudioHtmlComponentPropertyGroups.TextHtmlComponentDefaultProperties.class, properties = { @StudioProperty(xmlAttribute = "alignSelf", category = StudioProperty.Category.POSITION, type = StudioPropertyType.ENUMERATION, classFqn = "com.vaadin.flow.component.orderedlayout.FlexComponent$Alignment", @@ -166,20 +153,7 @@ interface StudioHTMLComponents { xmlElement = "aside", icon = "io/jmix/flowui/kit/meta/icon/html/htmlComponent.svg", documentationLink = "%VERSION%/flow-ui/vc/html.html", - propertyGroups = { - StudioPropertyGroups.AlignSelfAndJustifySelfAndColspan.class, - StudioPropertyGroups.ClassNamesAndCss.class, - StudioPropertyGroups.IdAndVisible.class, - StudioPropertyGroups.EnabledWithTrueDefaultValue.class, - StudioPropertyGroups.Size.class, - StudioPropertyGroups.ClickShortcut.class, - StudioPropertyGroups.CollectionOrInstanceDataContainer.class, - StudioPropertyGroups.Property.class, - StudioPropertyGroups.Text.class, - StudioPropertyGroups.HtmlComponentThemeNames.class, - StudioPropertyGroups.Title.class, - StudioPropertyGroups.WhiteSpace.class - }, + propertyGroups = StudioHtmlComponentPropertyGroups.TextHtmlComponentDefaultProperties.class, properties = { @StudioProperty(xmlAttribute = "alignSelf", category = StudioProperty.Category.POSITION, type = StudioPropertyType.ENUMERATION, classFqn = "com.vaadin.flow.component.orderedlayout.FlexComponent$Alignment", @@ -231,20 +205,7 @@ interface StudioHTMLComponents { xmlElement = "descriptionList", icon = "io/jmix/flowui/kit/meta/icon/html/htmlComponent.svg", documentationLink = "%VERSION%/flow-ui/vc/html.html", - propertyGroups = { - StudioPropertyGroups.AlignSelfAndJustifySelfAndColspan.class, - StudioPropertyGroups.ClassNamesAndCss.class, - StudioPropertyGroups.IdAndVisible.class, - StudioPropertyGroups.EnabledWithTrueDefaultValue.class, - StudioPropertyGroups.Size.class, - StudioPropertyGroups.ClickShortcut.class, - StudioPropertyGroups.CollectionOrInstanceDataContainer.class, - StudioPropertyGroups.Property.class, - StudioPropertyGroups.Text.class, - StudioPropertyGroups.HtmlComponentThemeNames.class, - StudioPropertyGroups.Title.class, - StudioPropertyGroups.WhiteSpace.class - }, + propertyGroups = StudioHtmlComponentPropertyGroups.TextHtmlComponentDefaultProperties.class, properties = { @StudioProperty(xmlAttribute = "alignSelf", category = StudioProperty.Category.POSITION, type = StudioPropertyType.ENUMERATION, classFqn = "com.vaadin.flow.component.orderedlayout.FlexComponent$Alignment", @@ -303,20 +264,7 @@ interface StudioHTMLComponents { @StudioConvertStrategy.TagInfo(qualifiedName = "formLayout"), @StudioConvertStrategy.TagInfo(qualifiedName = "details"), }), - propertyGroups = { - StudioPropertyGroups.AlignSelfAndJustifySelfAndColspan.class, - StudioPropertyGroups.ClassNamesAndCss.class, - StudioPropertyGroups.IdAndVisible.class, - StudioPropertyGroups.EnabledWithTrueDefaultValue.class, - StudioPropertyGroups.Size.class, - StudioPropertyGroups.ClickShortcut.class, - StudioPropertyGroups.CollectionOrInstanceDataContainer.class, - StudioPropertyGroups.Property.class, - StudioPropertyGroups.Text.class, - StudioPropertyGroups.HtmlComponentThemeNames.class, - StudioPropertyGroups.Title.class, - StudioPropertyGroups.WhiteSpace.class - }, + propertyGroups = StudioHtmlComponentPropertyGroups.TextHtmlComponentDefaultProperties.class, properties = { @StudioProperty(xmlAttribute = "alignSelf", category = StudioProperty.Category.POSITION, type = StudioPropertyType.ENUMERATION, classFqn = "com.vaadin.flow.component.orderedlayout.FlexComponent$Alignment", @@ -368,20 +316,7 @@ interface StudioHTMLComponents { xmlElement = "emphasis", icon = "io/jmix/flowui/kit/meta/icon/html/htmlComponent.svg", documentationLink = "%VERSION%/flow-ui/vc/html.html", - propertyGroups = { - StudioPropertyGroups.AlignSelfAndJustifySelfAndColspan.class, - StudioPropertyGroups.ClassNamesAndCss.class, - StudioPropertyGroups.IdAndVisible.class, - StudioPropertyGroups.EnabledWithTrueDefaultValue.class, - StudioPropertyGroups.Size.class, - StudioPropertyGroups.ClickShortcut.class, - StudioPropertyGroups.CollectionOrInstanceDataContainer.class, - StudioPropertyGroups.Property.class, - StudioPropertyGroups.Text.class, - StudioPropertyGroups.HtmlComponentThemeNames.class, - StudioPropertyGroups.Title.class, - StudioPropertyGroups.WhiteSpace.class - }, + propertyGroups = StudioHtmlComponentPropertyGroups.TextHtmlComponentDefaultProperties.class, properties = { @StudioProperty(xmlAttribute = "alignSelf", category = StudioProperty.Category.POSITION, type = StudioPropertyType.ENUMERATION, classFqn = "com.vaadin.flow.component.orderedlayout.FlexComponent$Alignment", @@ -433,20 +368,7 @@ interface StudioHTMLComponents { xmlElement = "footer", icon = "io/jmix/flowui/kit/meta/icon/html/htmlComponent.svg", documentationLink = "%VERSION%/flow-ui/vc/html.html", - propertyGroups = { - StudioPropertyGroups.AlignSelfAndJustifySelfAndColspan.class, - StudioPropertyGroups.ClassNamesAndCss.class, - StudioPropertyGroups.IdAndVisible.class, - StudioPropertyGroups.EnabledWithTrueDefaultValue.class, - StudioPropertyGroups.Size.class, - StudioPropertyGroups.ClickShortcut.class, - StudioPropertyGroups.CollectionOrInstanceDataContainer.class, - StudioPropertyGroups.Property.class, - StudioPropertyGroups.Text.class, - StudioPropertyGroups.HtmlComponentThemeNames.class, - StudioPropertyGroups.Title.class, - StudioPropertyGroups.WhiteSpace.class - }, + propertyGroups = StudioHtmlComponentPropertyGroups.TextHtmlComponentDefaultProperties.class, properties = { @StudioProperty(xmlAttribute = "alignSelf", category = StudioProperty.Category.POSITION, type = StudioPropertyType.ENUMERATION, classFqn = "com.vaadin.flow.component.orderedlayout.FlexComponent$Alignment", @@ -507,20 +429,7 @@ interface StudioHTMLComponents { @StudioConvertStrategy.TagInfo(qualifiedName = "span"), @StudioConvertStrategy.TagInfo(qualifiedName = "nativeLabel"), }), - propertyGroups = { - StudioPropertyGroups.AlignSelfAndJustifySelfAndColspan.class, - StudioPropertyGroups.ClassNamesAndCss.class, - StudioPropertyGroups.IdAndVisible.class, - StudioPropertyGroups.EnabledWithTrueDefaultValue.class, - StudioPropertyGroups.Size.class, - StudioPropertyGroups.ClickShortcut.class, - StudioPropertyGroups.CollectionOrInstanceDataContainer.class, - StudioPropertyGroups.Property.class, - StudioPropertyGroups.Text.class, - StudioPropertyGroups.HtmlComponentThemeNames.class, - StudioPropertyGroups.Title.class, - StudioPropertyGroups.WhiteSpace.class - }, + propertyGroups = StudioHtmlComponentPropertyGroups.TextHtmlComponentDefaultProperties.class, properties = { @StudioProperty(xmlAttribute = "alignSelf", category = StudioProperty.Category.POSITION, type = StudioPropertyType.ENUMERATION, classFqn = "com.vaadin.flow.component.orderedlayout.FlexComponent$Alignment", @@ -588,20 +497,7 @@ interface StudioHTMLComponents { @StudioConvertStrategy.TagInfo(qualifiedName = "span"), @StudioConvertStrategy.TagInfo(qualifiedName = "nativeLabel"), }), - propertyGroups = { - StudioPropertyGroups.AlignSelfAndJustifySelfAndColspan.class, - StudioPropertyGroups.ClassNamesAndCss.class, - StudioPropertyGroups.IdAndVisible.class, - StudioPropertyGroups.EnabledWithTrueDefaultValue.class, - StudioPropertyGroups.Size.class, - StudioPropertyGroups.ClickShortcut.class, - StudioPropertyGroups.CollectionOrInstanceDataContainer.class, - StudioPropertyGroups.Property.class, - StudioPropertyGroups.Text.class, - StudioPropertyGroups.HtmlComponentThemeNames.class, - StudioPropertyGroups.Title.class, - StudioPropertyGroups.WhiteSpace.class - }, + propertyGroups = StudioHtmlComponentPropertyGroups.TextHtmlComponentDefaultProperties.class, properties = { @StudioProperty(xmlAttribute = "alignSelf", category = StudioProperty.Category.POSITION, type = StudioPropertyType.ENUMERATION, classFqn = "com.vaadin.flow.component.orderedlayout.FlexComponent$Alignment", @@ -669,20 +565,7 @@ interface StudioHTMLComponents { @StudioConvertStrategy.TagInfo(qualifiedName = "span"), @StudioConvertStrategy.TagInfo(qualifiedName = "nativeLabel"), }), - propertyGroups = { - StudioPropertyGroups.AlignSelfAndJustifySelfAndColspan.class, - StudioPropertyGroups.ClassNamesAndCss.class, - StudioPropertyGroups.IdAndVisible.class, - StudioPropertyGroups.EnabledWithTrueDefaultValue.class, - StudioPropertyGroups.Size.class, - StudioPropertyGroups.ClickShortcut.class, - StudioPropertyGroups.CollectionOrInstanceDataContainer.class, - StudioPropertyGroups.Property.class, - StudioPropertyGroups.Text.class, - StudioPropertyGroups.HtmlComponentThemeNames.class, - StudioPropertyGroups.Title.class, - StudioPropertyGroups.WhiteSpace.class - }, + propertyGroups = StudioHtmlComponentPropertyGroups.TextHtmlComponentDefaultProperties.class, properties = { @StudioProperty(xmlAttribute = "alignSelf", category = StudioProperty.Category.POSITION, type = StudioPropertyType.ENUMERATION, classFqn = "com.vaadin.flow.component.orderedlayout.FlexComponent$Alignment", @@ -750,20 +633,7 @@ interface StudioHTMLComponents { @StudioConvertStrategy.TagInfo(qualifiedName = "span"), @StudioConvertStrategy.TagInfo(qualifiedName = "nativeLabel"), }), - propertyGroups = { - StudioPropertyGroups.AlignSelfAndJustifySelfAndColspan.class, - StudioPropertyGroups.ClassNamesAndCss.class, - StudioPropertyGroups.IdAndVisible.class, - StudioPropertyGroups.EnabledWithTrueDefaultValue.class, - StudioPropertyGroups.Size.class, - StudioPropertyGroups.ClickShortcut.class, - StudioPropertyGroups.CollectionOrInstanceDataContainer.class, - StudioPropertyGroups.Property.class, - StudioPropertyGroups.Text.class, - StudioPropertyGroups.HtmlComponentThemeNames.class, - StudioPropertyGroups.Title.class, - StudioPropertyGroups.WhiteSpace.class - }, + propertyGroups = StudioHtmlComponentPropertyGroups.TextHtmlComponentDefaultProperties.class, properties = { @StudioProperty(xmlAttribute = "alignSelf", category = StudioProperty.Category.POSITION, type = StudioPropertyType.ENUMERATION, classFqn = "com.vaadin.flow.component.orderedlayout.FlexComponent$Alignment", @@ -831,20 +701,7 @@ interface StudioHTMLComponents { @StudioConvertStrategy.TagInfo(qualifiedName = "span"), @StudioConvertStrategy.TagInfo(qualifiedName = "nativeLabel"), }), - propertyGroups = { - StudioPropertyGroups.AlignSelfAndJustifySelfAndColspan.class, - StudioPropertyGroups.ClassNamesAndCss.class, - StudioPropertyGroups.IdAndVisible.class, - StudioPropertyGroups.EnabledWithTrueDefaultValue.class, - StudioPropertyGroups.Size.class, - StudioPropertyGroups.ClickShortcut.class, - StudioPropertyGroups.CollectionOrInstanceDataContainer.class, - StudioPropertyGroups.Property.class, - StudioPropertyGroups.Text.class, - StudioPropertyGroups.HtmlComponentThemeNames.class, - StudioPropertyGroups.Title.class, - StudioPropertyGroups.WhiteSpace.class - }, + propertyGroups = StudioHtmlComponentPropertyGroups.TextHtmlComponentDefaultProperties.class, properties = { @StudioProperty(xmlAttribute = "alignSelf", category = StudioProperty.Category.POSITION, type = StudioPropertyType.ENUMERATION, classFqn = "com.vaadin.flow.component.orderedlayout.FlexComponent$Alignment", @@ -912,20 +769,7 @@ interface StudioHTMLComponents { @StudioConvertStrategy.TagInfo(qualifiedName = "span"), @StudioConvertStrategy.TagInfo(qualifiedName = "nativeLabel"), }), - propertyGroups = { - StudioPropertyGroups.AlignSelfAndJustifySelfAndColspan.class, - StudioPropertyGroups.ClassNamesAndCss.class, - StudioPropertyGroups.IdAndVisible.class, - StudioPropertyGroups.EnabledWithTrueDefaultValue.class, - StudioPropertyGroups.Size.class, - StudioPropertyGroups.ClickShortcut.class, - StudioPropertyGroups.CollectionOrInstanceDataContainer.class, - StudioPropertyGroups.Property.class, - StudioPropertyGroups.Text.class, - StudioPropertyGroups.HtmlComponentThemeNames.class, - StudioPropertyGroups.Title.class, - StudioPropertyGroups.WhiteSpace.class - }, + propertyGroups = StudioHtmlComponentPropertyGroups.TextHtmlComponentDefaultProperties.class, properties = { @StudioProperty(xmlAttribute = "alignSelf", category = StudioProperty.Category.POSITION, type = StudioPropertyType.ENUMERATION, classFqn = "com.vaadin.flow.component.orderedlayout.FlexComponent$Alignment", @@ -984,20 +828,7 @@ interface StudioHTMLComponents { xmlElement = "header", icon = "io/jmix/flowui/kit/meta/icon/html/htmlComponent.svg", documentationLink = "%VERSION%/flow-ui/vc/html.html", - propertyGroups = { - StudioPropertyGroups.AlignSelfAndJustifySelfAndColspan.class, - StudioPropertyGroups.ClassNamesAndCss.class, - StudioPropertyGroups.IdAndVisible.class, - StudioPropertyGroups.EnabledWithTrueDefaultValue.class, - StudioPropertyGroups.Size.class, - StudioPropertyGroups.ClickShortcut.class, - StudioPropertyGroups.CollectionOrInstanceDataContainer.class, - StudioPropertyGroups.Property.class, - StudioPropertyGroups.Text.class, - StudioPropertyGroups.HtmlComponentThemeNames.class, - StudioPropertyGroups.Title.class, - StudioPropertyGroups.WhiteSpace.class - }, + propertyGroups = StudioHtmlComponentPropertyGroups.TextHtmlComponentDefaultProperties.class, properties = { @StudioProperty(xmlAttribute = "alignSelf", category = StudioProperty.Category.POSITION, type = StudioPropertyType.ENUMERATION, classFqn = "com.vaadin.flow.component.orderedlayout.FlexComponent$Alignment", @@ -1049,13 +880,7 @@ interface StudioHTMLComponents { xmlElement = "hr", icon = "io/jmix/flowui/kit/meta/icon/html/htmlComponent.svg", documentationLink = "%VERSION%/flow-ui/vc/html.html", - propertyGroups = { - StudioPropertyGroups.AlignSelfAndJustifySelfAndColspan.class, - StudioPropertyGroups.ClassNamesAndCss.class, - StudioPropertyGroups.IdAndVisible.class, - StudioPropertyGroups.Size.class, - StudioPropertyGroups.Title.class - }, + propertyGroups = StudioHtmlComponentPropertyGroups.TitleHtmlComponentDefaultProperties.class, properties = { @StudioProperty(xmlAttribute = "alignSelf", category = StudioProperty.Category.POSITION, type = StudioPropertyType.ENUMERATION, classFqn = "com.vaadin.flow.component.orderedlayout.FlexComponent$Alignment", @@ -1352,20 +1177,7 @@ interface StudioHTMLComponents { xmlElement = "listItem", icon = "io/jmix/flowui/kit/meta/icon/html/htmlComponent.svg", documentationLink = "%VERSION%/flow-ui/vc/html.html", - propertyGroups = { - StudioPropertyGroups.AlignSelfAndJustifySelfAndColspan.class, - StudioPropertyGroups.ClassNamesAndCss.class, - StudioPropertyGroups.IdAndVisible.class, - StudioPropertyGroups.EnabledWithTrueDefaultValue.class, - StudioPropertyGroups.Size.class, - StudioPropertyGroups.ClickShortcut.class, - StudioPropertyGroups.CollectionOrInstanceDataContainer.class, - StudioPropertyGroups.Property.class, - StudioPropertyGroups.Text.class, - StudioPropertyGroups.HtmlComponentThemeNames.class, - StudioPropertyGroups.Title.class, - StudioPropertyGroups.WhiteSpace.class - }, + propertyGroups = StudioHtmlComponentPropertyGroups.TextHtmlComponentDefaultProperties.class, properties = { @StudioProperty(xmlAttribute = "alignSelf", category = StudioProperty.Category.POSITION, type = StudioPropertyType.ENUMERATION, classFqn = "com.vaadin.flow.component.orderedlayout.FlexComponent$Alignment", @@ -1417,22 +1229,7 @@ interface StudioHTMLComponents { xmlElement = "main", icon = "io/jmix/flowui/kit/meta/icon/html/htmlComponent.svg", documentationLink = "%VERSION%/flow-ui/vc/html.html", - propertyGroups = { - StudioPropertyGroups.AlignSelfAndJustifySelfAndColspan.class, - StudioPropertyGroups.ClassNamesAndCss.class, - StudioPropertyGroups.IdAndVisible.class, - StudioPropertyGroups.EnabledWithTrueDefaultValue.class, - StudioPropertyGroups.Size.class, - StudioPropertyGroups.AriaLabel.class, - StudioPropertyGroups.AriaLabelledBy.class, - StudioPropertyGroups.ClickShortcut.class, - StudioPropertyGroups.CollectionOrInstanceDataContainer.class, - StudioPropertyGroups.Property.class, - StudioPropertyGroups.Text.class, - StudioPropertyGroups.HtmlComponentThemeNames.class, - StudioPropertyGroups.Title.class, - StudioPropertyGroups.WhiteSpace.class - }, + propertyGroups = StudioHtmlComponentPropertyGroups.AccessibleTextHtmlComponentDefaultProperties.class, properties = { @StudioProperty(xmlAttribute = "alignSelf", category = StudioProperty.Category.POSITION, type = StudioPropertyType.ENUMERATION, classFqn = "com.vaadin.flow.component.orderedlayout.FlexComponent$Alignment", @@ -1486,22 +1283,7 @@ interface StudioHTMLComponents { xmlElement = "nav", icon = "io/jmix/flowui/kit/meta/icon/html/htmlComponent.svg", documentationLink = "%VERSION%/flow-ui/vc/html.html", - propertyGroups = { - StudioPropertyGroups.AlignSelfAndJustifySelfAndColspan.class, - StudioPropertyGroups.ClassNamesAndCss.class, - StudioPropertyGroups.IdAndVisible.class, - StudioPropertyGroups.EnabledWithTrueDefaultValue.class, - StudioPropertyGroups.Size.class, - StudioPropertyGroups.AriaLabel.class, - StudioPropertyGroups.AriaLabelledBy.class, - StudioPropertyGroups.ClickShortcut.class, - StudioPropertyGroups.CollectionOrInstanceDataContainer.class, - StudioPropertyGroups.Property.class, - StudioPropertyGroups.Text.class, - StudioPropertyGroups.HtmlComponentThemeNames.class, - StudioPropertyGroups.Title.class, - StudioPropertyGroups.WhiteSpace.class - }, + propertyGroups = StudioHtmlComponentPropertyGroups.AccessibleTextHtmlComponentDefaultProperties.class, properties = { @StudioProperty(xmlAttribute = "alignSelf", category = StudioProperty.Category.POSITION, type = StudioPropertyType.ENUMERATION, classFqn = "com.vaadin.flow.component.orderedlayout.FlexComponent$Alignment", @@ -1555,20 +1337,7 @@ interface StudioHTMLComponents { xmlElement = "orderedList", icon = "io/jmix/flowui/kit/meta/icon/html/htmlComponent.svg", documentationLink = "%VERSION%/flow-ui/vc/html.html", - propertyGroups = { - StudioPropertyGroups.AlignSelfAndJustifySelfAndColspan.class, - StudioPropertyGroups.ClassNamesAndCss.class, - StudioPropertyGroups.IdAndVisible.class, - StudioPropertyGroups.EnabledWithTrueDefaultValue.class, - StudioPropertyGroups.Size.class, - StudioPropertyGroups.ClickShortcut.class, - StudioPropertyGroups.CollectionOrInstanceDataContainer.class, - StudioPropertyGroups.Property.class, - StudioPropertyGroups.Text.class, - StudioPropertyGroups.HtmlComponentThemeNames.class, - StudioPropertyGroups.Title.class, - StudioPropertyGroups.WhiteSpace.class - }, + propertyGroups = StudioHtmlComponentPropertyGroups.TextHtmlComponentDefaultProperties.class, properties = { @StudioProperty(xmlAttribute = "alignSelf", category = StudioProperty.Category.POSITION, type = StudioPropertyType.ENUMERATION, classFqn = "com.vaadin.flow.component.orderedlayout.FlexComponent$Alignment", @@ -1624,20 +1393,7 @@ interface StudioHTMLComponents { xmlElement = "p", icon = "io/jmix/flowui/kit/meta/icon/html/htmlComponent.svg", documentationLink = "%VERSION%/flow-ui/vc/html.html", - propertyGroups = { - StudioPropertyGroups.AlignSelfAndJustifySelfAndColspan.class, - StudioPropertyGroups.ClassNamesAndCss.class, - StudioPropertyGroups.IdAndVisible.class, - StudioPropertyGroups.EnabledWithTrueDefaultValue.class, - StudioPropertyGroups.Size.class, - StudioPropertyGroups.ClickShortcut.class, - StudioPropertyGroups.CollectionOrInstanceDataContainer.class, - StudioPropertyGroups.Property.class, - StudioPropertyGroups.Text.class, - StudioPropertyGroups.HtmlComponentThemeNames.class, - StudioPropertyGroups.Title.class, - StudioPropertyGroups.WhiteSpace.class - }, + propertyGroups = StudioHtmlComponentPropertyGroups.TextHtmlComponentDefaultProperties.class, properties = { @StudioProperty(xmlAttribute = "alignSelf", category = StudioProperty.Category.POSITION, type = StudioPropertyType.ENUMERATION, classFqn = "com.vaadin.flow.component.orderedlayout.FlexComponent$Alignment", @@ -1689,13 +1445,7 @@ interface StudioHTMLComponents { xmlElement = "param", icon = "io/jmix/flowui/kit/meta/icon/html/htmlComponent.svg", documentationLink = "%VERSION%/flow-ui/vc/html.html", - propertyGroups = { - StudioPropertyGroups.AlignSelfAndJustifySelfAndColspan.class, - StudioPropertyGroups.ClassNamesAndCss.class, - StudioPropertyGroups.IdAndVisible.class, - StudioPropertyGroups.Size.class, - StudioPropertyGroups.Title.class - }, + propertyGroups = StudioHtmlComponentPropertyGroups.TitleHtmlComponentDefaultProperties.class, properties = { @StudioProperty(xmlAttribute = "alignSelf", category = StudioProperty.Category.POSITION, type = StudioPropertyType.ENUMERATION, classFqn = "com.vaadin.flow.component.orderedlayout.FlexComponent$Alignment", @@ -1731,20 +1481,7 @@ interface StudioHTMLComponents { xmlElement = "pre", icon = "io/jmix/flowui/kit/meta/icon/html/htmlComponent.svg", documentationLink = "%VERSION%/flow-ui/vc/html.html", - propertyGroups = { - StudioPropertyGroups.AlignSelfAndJustifySelfAndColspan.class, - StudioPropertyGroups.ClassNamesAndCss.class, - StudioPropertyGroups.IdAndVisible.class, - StudioPropertyGroups.EnabledWithTrueDefaultValue.class, - StudioPropertyGroups.Size.class, - StudioPropertyGroups.ClickShortcut.class, - StudioPropertyGroups.CollectionOrInstanceDataContainer.class, - StudioPropertyGroups.Property.class, - StudioPropertyGroups.Text.class, - StudioPropertyGroups.HtmlComponentThemeNames.class, - StudioPropertyGroups.Title.class, - StudioPropertyGroups.WhiteSpace.class - }, + propertyGroups = StudioHtmlComponentPropertyGroups.TextHtmlComponentDefaultProperties.class, properties = { @StudioProperty(xmlAttribute = "alignSelf", category = StudioProperty.Category.POSITION, type = StudioPropertyType.ENUMERATION, classFqn = "com.vaadin.flow.component.orderedlayout.FlexComponent$Alignment", @@ -1918,20 +1655,7 @@ interface StudioHTMLComponents { xmlElement = "section", icon = "io/jmix/flowui/kit/meta/icon/html/htmlComponent.svg", documentationLink = "%VERSION%/flow-ui/vc/html.html", - propertyGroups = { - StudioPropertyGroups.AlignSelfAndJustifySelfAndColspan.class, - StudioPropertyGroups.ClassNamesAndCss.class, - StudioPropertyGroups.IdAndVisible.class, - StudioPropertyGroups.EnabledWithTrueDefaultValue.class, - StudioPropertyGroups.Size.class, - StudioPropertyGroups.ClickShortcut.class, - StudioPropertyGroups.CollectionOrInstanceDataContainer.class, - StudioPropertyGroups.Property.class, - StudioPropertyGroups.Text.class, - StudioPropertyGroups.HtmlComponentThemeNames.class, - StudioPropertyGroups.Title.class, - StudioPropertyGroups.WhiteSpace.class - }, + propertyGroups = StudioHtmlComponentPropertyGroups.TextHtmlComponentDefaultProperties.class, properties = { @StudioProperty(xmlAttribute = "alignSelf", category = StudioProperty.Category.POSITION, type = StudioPropertyType.ENUMERATION, classFqn = "com.vaadin.flow.component.orderedlayout.FlexComponent$Alignment", @@ -1991,20 +1715,7 @@ interface StudioHTMLComponents { @StudioConvertStrategy.TagInfo(qualifiedName = "h5"), @StudioConvertStrategy.TagInfo(qualifiedName = "nativeLabel"), }), - propertyGroups = { - StudioPropertyGroups.AlignSelfAndJustifySelfAndColspan.class, - StudioPropertyGroups.ClassNamesAndCss.class, - StudioPropertyGroups.IdAndVisible.class, - StudioPropertyGroups.EnabledWithTrueDefaultValue.class, - StudioPropertyGroups.Size.class, - StudioPropertyGroups.ClickShortcut.class, - StudioPropertyGroups.CollectionOrInstanceDataContainer.class, - StudioPropertyGroups.Property.class, - StudioPropertyGroups.Text.class, - StudioPropertyGroups.HtmlComponentThemeNames.class, - StudioPropertyGroups.Title.class, - StudioPropertyGroups.WhiteSpace.class - }, + propertyGroups = StudioHtmlComponentPropertyGroups.TextHtmlComponentDefaultProperties.class, properties = { @StudioProperty(xmlAttribute = "alignSelf", category = StudioProperty.Category.POSITION, type = StudioPropertyType.ENUMERATION, classFqn = "com.vaadin.flow.component.orderedlayout.FlexComponent$Alignment", @@ -2063,20 +1774,7 @@ interface StudioHTMLComponents { xmlElement = "unorderedList", icon = "io/jmix/flowui/kit/meta/icon/html/htmlComponent.svg", documentationLink = "%VERSION%/flow-ui/vc/html.html", - propertyGroups = { - StudioPropertyGroups.AlignSelfAndJustifySelfAndColspan.class, - StudioPropertyGroups.ClassNamesAndCss.class, - StudioPropertyGroups.IdAndVisible.class, - StudioPropertyGroups.EnabledWithTrueDefaultValue.class, - StudioPropertyGroups.Size.class, - StudioPropertyGroups.ClickShortcut.class, - StudioPropertyGroups.CollectionOrInstanceDataContainer.class, - StudioPropertyGroups.Property.class, - StudioPropertyGroups.Text.class, - StudioPropertyGroups.HtmlComponentThemeNames.class, - StudioPropertyGroups.Title.class, - StudioPropertyGroups.WhiteSpace.class - }, + propertyGroups = StudioHtmlComponentPropertyGroups.TextHtmlComponentDefaultProperties.class, properties = { @StudioProperty(xmlAttribute = "alignSelf", category = StudioProperty.Category.POSITION, type = StudioPropertyType.ENUMERATION, classFqn = "com.vaadin.flow.component.orderedlayout.FlexComponent$Alignment", @@ -2276,20 +1974,7 @@ interface StudioHTMLComponents { category = "HTML", xmlElement = "term", icon = "io/jmix/flowui/kit/meta/icon/html/htmlComponent.svg", - propertyGroups = { - StudioPropertyGroups.AlignSelfAndJustifySelfAndColspan.class, - StudioPropertyGroups.ClassNamesAndCss.class, - StudioPropertyGroups.IdAndVisible.class, - StudioPropertyGroups.EnabledWithTrueDefaultValue.class, - StudioPropertyGroups.Size.class, - StudioPropertyGroups.ClickShortcut.class, - StudioPropertyGroups.CollectionOrInstanceDataContainer.class, - StudioPropertyGroups.Property.class, - StudioPropertyGroups.Text.class, - StudioPropertyGroups.HtmlComponentThemeNames.class, - StudioPropertyGroups.Title.class, - StudioPropertyGroups.WhiteSpace.class - }, + propertyGroups = StudioHtmlComponentPropertyGroups.TextHtmlComponentDefaultProperties.class, properties = { @StudioProperty(xmlAttribute = "alignSelf", category = StudioProperty.Category.POSITION, type = StudioPropertyType.ENUMERATION, classFqn = "com.vaadin.flow.component.orderedlayout.FlexComponent$Alignment", @@ -2340,20 +2025,7 @@ interface StudioHTMLComponents { category = "HTML", xmlElement = "description", icon = "io/jmix/flowui/kit/meta/icon/html/htmlComponent.svg", - propertyGroups = { - StudioPropertyGroups.AlignSelfAndJustifySelfAndColspan.class, - StudioPropertyGroups.ClassNamesAndCss.class, - StudioPropertyGroups.IdAndVisible.class, - StudioPropertyGroups.EnabledWithTrueDefaultValue.class, - StudioPropertyGroups.Size.class, - StudioPropertyGroups.ClickShortcut.class, - StudioPropertyGroups.CollectionOrInstanceDataContainer.class, - StudioPropertyGroups.Property.class, - StudioPropertyGroups.Text.class, - StudioPropertyGroups.HtmlComponentThemeNames.class, - StudioPropertyGroups.Title.class, - StudioPropertyGroups.WhiteSpace.class - }, + propertyGroups = StudioHtmlComponentPropertyGroups.TextHtmlComponentDefaultProperties.class, properties = { @StudioProperty(xmlAttribute = "alignSelf", category = StudioProperty.Category.POSITION, type = StudioPropertyType.ENUMERATION, classFqn = "com.vaadin.flow.component.orderedlayout.FlexComponent$Alignment", diff --git a/jmix-flowui/flowui-kit/src/main/java/io/jmix/flowui/kit/meta/component/StudioHtmlComponentPropertyGroups.java b/jmix-flowui/flowui-kit/src/main/java/io/jmix/flowui/kit/meta/component/StudioHtmlComponentPropertyGroups.java new file mode 100644 index 0000000000..80bde82092 --- /dev/null +++ b/jmix-flowui/flowui-kit/src/main/java/io/jmix/flowui/kit/meta/component/StudioHtmlComponentPropertyGroups.java @@ -0,0 +1,48 @@ +/* + * Copyright 2026 Haulmont. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package io.jmix.flowui.kit.meta.component; + +import io.jmix.flowui.kit.meta.StudioAPI; +import io.jmix.flowui.kit.meta.StudioPropertyGroup; +import io.jmix.flowui.kit.meta.StudioPropertyGroups; + +@StudioAPI +public final class StudioHtmlComponentPropertyGroups { + + private StudioHtmlComponentPropertyGroups() { + } + + @StudioPropertyGroup + public interface TextHtmlComponentDefaultProperties extends StudioPropertyGroups.AlignSelfAndJustifySelfAndColspan, + StudioPropertyGroups.ClassNamesAndCss, StudioPropertyGroups.IdAndVisible, + StudioPropertyGroups.EnabledWithTrueDefaultValue, StudioPropertyGroups.Size, + StudioPropertyGroups.ClickShortcut, StudioPropertyGroups.CollectionOrInstanceDataContainer, + StudioPropertyGroups.Property, StudioPropertyGroups.Text, StudioPropertyGroups.HtmlComponentThemeNames, + StudioPropertyGroups.Title, StudioPropertyGroups.WhiteSpace { + } + + @StudioPropertyGroup + public interface AccessibleTextHtmlComponentDefaultProperties extends TextHtmlComponentDefaultProperties, + StudioPropertyGroups.AriaLabel, StudioPropertyGroups.AriaLabelledBy { + } + + @StudioPropertyGroup + public interface TitleHtmlComponentDefaultProperties extends StudioPropertyGroups.AlignSelfAndJustifySelfAndColspan, + StudioPropertyGroups.ClassNamesAndCss, StudioPropertyGroups.IdAndVisible, StudioPropertyGroups.Size, + StudioPropertyGroups.Title { + } +} diff --git a/jmix-flowui/flowui-kit/src/main/java/io/jmix/flowui/kit/meta/datacomponent/StudioDataComponentPropertyGroups.java b/jmix-flowui/flowui-kit/src/main/java/io/jmix/flowui/kit/meta/datacomponent/StudioDataComponentPropertyGroups.java index 28105769f1..8232bb5dba 100644 --- a/jmix-flowui/flowui-kit/src/main/java/io/jmix/flowui/kit/meta/datacomponent/StudioDataComponentPropertyGroups.java +++ b/jmix-flowui/flowui-kit/src/main/java/io/jmix/flowui/kit/meta/datacomponent/StudioDataComponentPropertyGroups.java @@ -19,6 +19,7 @@ import io.jmix.flowui.kit.meta.StudioAPI; import io.jmix.flowui.kit.meta.StudioProperty; import io.jmix.flowui.kit.meta.StudioPropertyGroup; +import io.jmix.flowui.kit.meta.StudioPropertyGroups; import io.jmix.flowui.kit.meta.StudioPropertyType; @StudioAPI @@ -41,4 +42,10 @@ public interface DataContainerDefaultProperties { ) public interface NestedDataContainerDefaultProperties { } + + @StudioPropertyGroup + public interface QueryLoaderDefaultProperties extends StudioPropertyGroups.FirstResult, + StudioPropertyGroups.MaxResults, StudioPropertyGroups.ReadOnlyWithoutCategory, + StudioPropertyGroups.Query { + } } diff --git a/jmix-flowui/flowui-kit/src/main/java/io/jmix/flowui/kit/meta/element/StudioDataElements.java b/jmix-flowui/flowui-kit/src/main/java/io/jmix/flowui/kit/meta/element/StudioDataElements.java index d30beec14d..e30e7ef477 100644 --- a/jmix-flowui/flowui-kit/src/main/java/io/jmix/flowui/kit/meta/element/StudioDataElements.java +++ b/jmix-flowui/flowui-kit/src/main/java/io/jmix/flowui/kit/meta/element/StudioDataElements.java @@ -70,12 +70,7 @@ interface StudioDataElements { "io.jmix.flowui.model.KeyValueCollectionContainer", "io.jmix.flowui.model.CollectionContainer"}, documentationLink = "%VERSION%/flow-ui/data/data-loaders.html", - propertyGroups = { - StudioPropertyGroups.FirstResult.class, - StudioPropertyGroups.MaxResults.class, - StudioPropertyGroups.ReadOnlyWithoutCategory.class, - StudioPropertyGroups.Query.class - }, + propertyGroups = StudioDataComponentPropertyGroups.QueryLoaderDefaultProperties.class, properties = { @StudioProperty(xmlAttribute = "id", type = StudioPropertyType.COMPONENT_ID), @StudioProperty(xmlAttribute = "firstResult", type = StudioPropertyType.INTEGER, @@ -98,12 +93,7 @@ interface StudioDataElements { unsupportedTarget = {"io.jmix.flowui.model.KeyValueContainer", "io.jmix.flowui.model.KeyValueCollectionContainer"}, documentationLink = "%VERSION%/flow-ui/data/data-loaders.html", - propertyGroups = { - StudioPropertyGroups.FirstResult.class, - StudioPropertyGroups.MaxResults.class, - StudioPropertyGroups.ReadOnlyWithoutCategory.class, - StudioPropertyGroups.Query.class - }, + propertyGroups = StudioDataComponentPropertyGroups.QueryLoaderDefaultProperties.class, properties = { @StudioProperty(xmlAttribute = "id", type = StudioPropertyType.COMPONENT_ID), @StudioProperty(xmlAttribute = "firstResult", type = StudioPropertyType.INTEGER, diff --git a/jmix-flowui/flowui-kit/src/main/java/io/jmix/flowui/kit/meta/element/StudioElements.java b/jmix-flowui/flowui-kit/src/main/java/io/jmix/flowui/kit/meta/element/StudioElements.java index 5af05a81c3..c4575ad1d5 100644 --- a/jmix-flowui/flowui-kit/src/main/java/io/jmix/flowui/kit/meta/element/StudioElements.java +++ b/jmix-flowui/flowui-kit/src/main/java/io/jmix/flowui/kit/meta/element/StudioElements.java @@ -454,10 +454,7 @@ interface StudioElements { target = {"com.vaadin.flow.component.grid.Grid.Column"}, unsupportedTarget = {"io.jmix.flowui.kit.component.grid.EditorActionsColumn"}, documentationLink = "%VERSION%/flow-ui/vc/components/dataGrid.html#renderers", - propertyGroups = { - StudioPropertyGroups.Format.class, - StudioPropertyGroups.NullRepresentation.class - }, + propertyGroups = StudioPropertyGroups.FormatAndNullRepresentation.class, properties = { @StudioProperty(xmlAttribute = "format", type = StudioPropertyType.LOCALIZED_STRING, required = true), @@ -475,10 +472,7 @@ interface StudioElements { target = {"com.vaadin.flow.component.grid.Grid.Column"}, unsupportedTarget = {"io.jmix.flowui.kit.component.grid.EditorActionsColumn"}, documentationLink = "%VERSION%/flow-ui/vc/components/dataGrid.html#renderers", - propertyGroups = { - StudioPropertyGroups.Format.class, - StudioPropertyGroups.NullRepresentation.class - }, + propertyGroups = StudioPropertyGroups.FormatAndNullRepresentation.class, properties = { @StudioProperty(xmlAttribute = "format", type = StudioPropertyType.LOCALIZED_STRING, required = true), @@ -496,10 +490,7 @@ interface StudioElements { target = {"com.vaadin.flow.component.grid.Grid.Column"}, unsupportedTarget = {"io.jmix.flowui.kit.component.grid.EditorActionsColumn"}, documentationLink = "%VERSION%/flow-ui/vc/components/dataGrid.html#renderers", - propertyGroups = { - StudioPropertyGroups.Format.class, - StudioPropertyGroups.NullRepresentation.class - }, + propertyGroups = StudioPropertyGroups.FormatAndNullRepresentation.class, properties = { @StudioProperty(xmlAttribute = "format", type = StudioPropertyType.LOCALIZED_STRING, required = true), diff --git a/jmix-flowui/flowui-kit/src/main/java/io/jmix/flowui/kit/meta/element/StudioValidatorsElements.java b/jmix-flowui/flowui-kit/src/main/java/io/jmix/flowui/kit/meta/element/StudioValidatorsElements.java index 3077915abd..520b050fc8 100644 --- a/jmix-flowui/flowui-kit/src/main/java/io/jmix/flowui/kit/meta/element/StudioValidatorsElements.java +++ b/jmix-flowui/flowui-kit/src/main/java/io/jmix/flowui/kit/meta/element/StudioValidatorsElements.java @@ -302,10 +302,7 @@ interface StudioValidatorsElements { "io.jmix.flowui.component.PickerComponent", "io.jmix.flowui.component.codeeditor.CodeEditor" }, - propertyGroups = { - StudioPropertyGroups.Message.class, - StudioPropertyGroups.CheckSeconds.class - }, + propertyGroups = StudioPropertyGroups.MessageAndCheckSeconds.class, properties = { @StudioProperty( xmlAttribute = "message", @@ -341,10 +338,7 @@ interface StudioValidatorsElements { "io.jmix.flowui.component.PickerComponent", "io.jmix.flowui.component.codeeditor.CodeEditor" }, - propertyGroups = { - StudioPropertyGroups.Message.class, - StudioPropertyGroups.CheckSeconds.class - }, + propertyGroups = StudioPropertyGroups.MessageAndCheckSeconds.class, properties = { @StudioProperty( xmlAttribute = "message", @@ -588,10 +582,7 @@ interface StudioValidatorsElements { "io.jmix.flowui.component.PickerComponent", "io.jmix.flowui.component.codeeditor.CodeEditor" }, - propertyGroups = { - StudioPropertyGroups.Message.class, - StudioPropertyGroups.CheckSeconds.class - }, + propertyGroups = StudioPropertyGroups.MessageAndCheckSeconds.class, properties = { @StudioProperty( xmlAttribute = "message", @@ -627,10 +618,7 @@ interface StudioValidatorsElements { "io.jmix.flowui.component.PickerComponent", "io.jmix.flowui.component.codeeditor.CodeEditor" }, - propertyGroups = { - StudioPropertyGroups.Message.class, - StudioPropertyGroups.CheckSeconds.class - }, + propertyGroups = StudioPropertyGroups.MessageAndCheckSeconds.class, properties = { @StudioProperty( xmlAttribute = "message", diff --git a/jmix-fullcalendar/fullcalendar-flowui-kit/src/main/java/io/jmix/fullcalendarflowui/kit/meta/StudioFullCalendarActions.java b/jmix-fullcalendar/fullcalendar-flowui-kit/src/main/java/io/jmix/fullcalendarflowui/kit/meta/StudioFullCalendarActions.java index 3280dd465c..a82d5eb975 100644 --- a/jmix-fullcalendar/fullcalendar-flowui-kit/src/main/java/io/jmix/fullcalendarflowui/kit/meta/StudioFullCalendarActions.java +++ b/jmix-fullcalendar/fullcalendar-flowui-kit/src/main/java/io/jmix/fullcalendarflowui/kit/meta/StudioFullCalendarActions.java @@ -28,8 +28,8 @@ public interface StudioFullCalendarActions { icon = "io/jmix/fullcalendarflowui/kit/meta/icon/action/action.svg", documentationLink = "%VERSION%/calendar/full-calendar-component.html#days-of-week-datatype", propertyGroups = { - StudioPropertyGroups.Description2.class, - StudioPropertyGroups.Enabled3.class, + StudioPropertyGroups.DescriptionWithoutCategory.class, + StudioPropertyGroups.EnabledWithTrueDefaultValueWithoutCategory.class, StudioPropertyGroups.ShortcutCombination.class, StudioPropertyGroups.VisibleWithDefaultValueTrue.class }, diff --git a/jmix-fullcalendar/fullcalendar-flowui-kit/src/main/java/io/jmix/fullcalendarflowui/kit/meta/StudioFullCalendarElements.java b/jmix-fullcalendar/fullcalendar-flowui-kit/src/main/java/io/jmix/fullcalendarflowui/kit/meta/StudioFullCalendarElements.java index 46a0eba5b6..8b841e3c48 100644 --- a/jmix-fullcalendar/fullcalendar-flowui-kit/src/main/java/io/jmix/fullcalendarflowui/kit/meta/StudioFullCalendarElements.java +++ b/jmix-fullcalendar/fullcalendar-flowui-kit/src/main/java/io/jmix/fullcalendarflowui/kit/meta/StudioFullCalendarElements.java @@ -31,31 +31,7 @@ public interface StudioFullCalendarElements { icon = "io/jmix/fullcalendarflowui/kit/meta/icon/unknownComponent.svg", documentationLink = "%VERSION%/calendar/full-calendar-component.html#container-data-provider", isInjectable = false, - propertyGroups = { - StudioPropertyGroups.Id.class, - StudioFullCalendarPropertyGroups.AdditionalProperties.class, - StudioFullCalendarPropertyGroups.AllDay.class, - StudioFullCalendarPropertyGroups.BackgroundColor.class, - StudioFullCalendarPropertyGroups.BorderColor.class, - StudioFullCalendarPropertyGroups.DataProviderClassNames.class, - StudioFullCalendarPropertyGroups.Constraint.class, - StudioFullCalendarPropertyGroups.Description.class, - StudioFullCalendarPropertyGroups.Display.class, - StudioFullCalendarPropertyGroups.DurationEditable.class, - StudioFullCalendarPropertyGroups.EndDateTime.class, - StudioFullCalendarPropertyGroups.GroupId.class, - StudioFullCalendarPropertyGroups.Interactive.class, - StudioFullCalendarPropertyGroups.Overlap.class, - StudioFullCalendarPropertyGroups.RecurringDaysOfWeek.class, - StudioFullCalendarPropertyGroups.RecurringEndDate.class, - StudioFullCalendarPropertyGroups.RecurringEndTime.class, - StudioFullCalendarPropertyGroups.RecurringStartDate.class, - StudioFullCalendarPropertyGroups.RecurringStartTime.class, - StudioFullCalendarPropertyGroups.StartDateTime.class, - StudioFullCalendarPropertyGroups.StartEditable.class, - StudioFullCalendarPropertyGroups.TextColor.class, - StudioFullCalendarPropertyGroups.Title.class - }, + propertyGroups = StudioFullCalendarPropertyGroups.DataProviderProperties.class, properties = { @StudioProperty(xmlAttribute = "id", category = StudioProperty.Category.GENERAL, @@ -99,31 +75,7 @@ public interface StudioFullCalendarElements { icon = "io/jmix/fullcalendarflowui/kit/meta/icon/unknownComponent.svg", documentationLink = "%VERSION%/calendar/full-calendar-component.html#callback-calendar-data-provider", isInjectable = false, - propertyGroups = { - StudioPropertyGroups.Id.class, - StudioFullCalendarPropertyGroups.AdditionalProperties.class, - StudioFullCalendarPropertyGroups.AllDay.class, - StudioFullCalendarPropertyGroups.BackgroundColor.class, - StudioFullCalendarPropertyGroups.BorderColor.class, - StudioFullCalendarPropertyGroups.DataProviderClassNames.class, - StudioFullCalendarPropertyGroups.Constraint.class, - StudioFullCalendarPropertyGroups.Description.class, - StudioFullCalendarPropertyGroups.Display.class, - StudioFullCalendarPropertyGroups.DurationEditable.class, - StudioFullCalendarPropertyGroups.EndDateTime.class, - StudioFullCalendarPropertyGroups.GroupId.class, - StudioFullCalendarPropertyGroups.Interactive.class, - StudioFullCalendarPropertyGroups.Overlap.class, - StudioFullCalendarPropertyGroups.RecurringDaysOfWeek.class, - StudioFullCalendarPropertyGroups.RecurringEndDate.class, - StudioFullCalendarPropertyGroups.RecurringEndTime.class, - StudioFullCalendarPropertyGroups.RecurringStartDate.class, - StudioFullCalendarPropertyGroups.RecurringStartTime.class, - StudioFullCalendarPropertyGroups.StartDateTime.class, - StudioFullCalendarPropertyGroups.StartEditable.class, - StudioFullCalendarPropertyGroups.TextColor.class, - StudioFullCalendarPropertyGroups.Title.class - }, + propertyGroups = StudioFullCalendarPropertyGroups.DataProviderProperties.class, properties = { @StudioProperty(xmlAttribute = "id", category = StudioProperty.Category.GENERAL, @@ -251,7 +203,7 @@ public interface StudioFullCalendarElements { StudioFullCalendarPropertyGroups.DayPopoverFormat.class, StudioFullCalendarPropertyGroups.EventTimeFormat.class, StudioFullCalendarPropertyGroups.WeekNumberFormat.class, - StudioFullCalendarPropertyGroups.DisplayEventEnd2.class + StudioFullCalendarPropertyGroups.DisplayEventEndWithFalseDefaultValue.class }, properties = { @StudioProperty(xmlAttribute = "dayHeaderFormat", type = StudioPropertyType.LOCALIZED_STRING), @@ -279,7 +231,7 @@ public interface StudioFullCalendarElements { StudioFullCalendarPropertyGroups.WeekNumberFormat.class, StudioFullCalendarPropertyGroups.FixedWeekCount.class, StudioFullCalendarPropertyGroups.ShowNonCurrentDates.class, - StudioFullCalendarPropertyGroups.DisplayEventEnd2.class + StudioFullCalendarPropertyGroups.DisplayEventEndWithFalseDefaultValue.class }, properties = { @StudioProperty(xmlAttribute = "dayHeaderFormat", type = StudioPropertyType.LOCALIZED_STRING), @@ -307,7 +259,7 @@ public interface StudioFullCalendarElements { StudioFullCalendarPropertyGroups.DayPopoverFormat.class, StudioFullCalendarPropertyGroups.EventTimeFormat.class, StudioFullCalendarPropertyGroups.WeekNumberFormat.class, - StudioFullCalendarPropertyGroups.DisplayEventEnd2.class + StudioFullCalendarPropertyGroups.DisplayEventEndWithFalseDefaultValue.class }, properties = { @StudioProperty(xmlAttribute = "dayHeaderFormat", type = StudioPropertyType.LOCALIZED_STRING), @@ -329,12 +281,7 @@ public interface StudioFullCalendarElements { classFqn = "io.jmix.fullcalendarflowui.kit.component.model.ListDayProperties", target = "io.jmix.fullcalendarflowui.kit.meta.element.StudioFullCalendarDisplayModeProperties", icon = "io/jmix/fullcalendarflowui/kit/meta/icon/unknownComponent.svg", - propertyGroups = { - StudioFullCalendarPropertyGroups.ListDayFormat.class, - StudioFullCalendarPropertyGroups.ListDaySideFormat.class, - StudioFullCalendarPropertyGroups.ListDaySideVisible.class, - StudioFullCalendarPropertyGroups.ListDayVisible.class - }, + propertyGroups = StudioFullCalendarPropertyGroups.ListProperties.class, properties = { @StudioProperty(xmlAttribute = "listDayFormat", type = StudioPropertyType.LOCALIZED_STRING), @StudioProperty(xmlAttribute = "listDaySideFormat", type = StudioPropertyType.LOCALIZED_STRING), @@ -354,12 +301,7 @@ public interface StudioFullCalendarElements { classFqn = "io.jmix.fullcalendarflowui.kit.component.model.ListWeekProperties", target = "io.jmix.fullcalendarflowui.kit.meta.element.StudioFullCalendarDisplayModeProperties", icon = "io/jmix/fullcalendarflowui/kit/meta/icon/unknownComponent.svg", - propertyGroups = { - StudioFullCalendarPropertyGroups.ListDayFormat.class, - StudioFullCalendarPropertyGroups.ListDaySideFormat.class, - StudioFullCalendarPropertyGroups.ListDaySideVisible.class, - StudioFullCalendarPropertyGroups.ListDayVisible.class - }, + propertyGroups = StudioFullCalendarPropertyGroups.ListProperties.class, properties = { @StudioProperty(xmlAttribute = "listDayFormat", type = StudioPropertyType.LOCALIZED_STRING), @StudioProperty(xmlAttribute = "listDaySideFormat", type = StudioPropertyType.LOCALIZED_STRING), @@ -378,12 +320,7 @@ public interface StudioFullCalendarElements { classFqn = "io.jmix.fullcalendarflowui.kit.component.model.ListMonthProperties", target = "io.jmix.fullcalendarflowui.kit.meta.element.StudioFullCalendarDisplayModeProperties", icon = "io/jmix/fullcalendarflowui/kit/meta/icon/unknownComponent.svg", - propertyGroups = { - StudioFullCalendarPropertyGroups.ListDayFormat.class, - StudioFullCalendarPropertyGroups.ListDaySideFormat.class, - StudioFullCalendarPropertyGroups.ListDaySideVisible.class, - StudioFullCalendarPropertyGroups.ListDayVisible.class - }, + propertyGroups = StudioFullCalendarPropertyGroups.ListProperties.class, properties = { @StudioProperty(xmlAttribute = "listDayFormat", type = StudioPropertyType.LOCALIZED_STRING), @StudioProperty(xmlAttribute = "listDaySideFormat", type = StudioPropertyType.LOCALIZED_STRING), @@ -402,12 +339,7 @@ public interface StudioFullCalendarElements { classFqn = "io.jmix.fullcalendarflowui.kit.component.model.ListYearProperties", target = "io.jmix.fullcalendarflowui.kit.meta.element.StudioFullCalendarDisplayModeProperties", icon = "io/jmix/fullcalendarflowui/kit/meta/icon/unknownComponent.svg", - propertyGroups = { - StudioFullCalendarPropertyGroups.ListDayFormat.class, - StudioFullCalendarPropertyGroups.ListDaySideFormat.class, - StudioFullCalendarPropertyGroups.ListDaySideVisible.class, - StudioFullCalendarPropertyGroups.ListDayVisible.class - }, + propertyGroups = StudioFullCalendarPropertyGroups.ListProperties.class, properties = { @StudioProperty(xmlAttribute = "listDayFormat", type = StudioPropertyType.LOCALIZED_STRING), @StudioProperty(xmlAttribute = "listDaySideFormat", type = StudioPropertyType.LOCALIZED_STRING), @@ -426,18 +358,7 @@ public interface StudioFullCalendarElements { classFqn = "io.jmix.fullcalendarflowui.kit.component.model.TimeGridDayProperties", target = "io.jmix.fullcalendarflowui.kit.meta.element.StudioFullCalendarDisplayModeProperties", icon = "io/jmix/fullcalendarflowui/kit/meta/icon/unknownComponent.svg", - propertyGroups = { - StudioFullCalendarPropertyGroups.DayPopoverFormat.class, - StudioFullCalendarPropertyGroups.DayHeaderFormat.class, - StudioFullCalendarPropertyGroups.WeekNumberFormat.class, - StudioFullCalendarPropertyGroups.EventTimeFormat.class, - StudioFullCalendarPropertyGroups.SlotLabelFormat.class, - StudioFullCalendarPropertyGroups.EventMinHeight.class, - StudioFullCalendarPropertyGroups.EventShortHeight.class, - StudioFullCalendarPropertyGroups.SlotEventOverlap.class, - StudioFullCalendarPropertyGroups.AllDaySlotVisible.class, - StudioFullCalendarPropertyGroups.DisplayEventEnd.class - }, + propertyGroups = StudioFullCalendarPropertyGroups.TimeGridProperties.class, properties = { @StudioProperty(xmlAttribute = "dayPopoverFormat", type = StudioPropertyType.LOCALIZED_STRING), @StudioProperty(xmlAttribute = "dayHeaderFormat", type = StudioPropertyType.LOCALIZED_STRING), @@ -462,18 +383,7 @@ public interface StudioFullCalendarElements { classFqn = "io.jmix.fullcalendarflowui.kit.component.model.TimeGridWeekProperties", target = "io.jmix.fullcalendarflowui.kit.meta.element.StudioFullCalendarDisplayModeProperties", icon = "io/jmix/fullcalendarflowui/kit/meta/icon/unknownComponent.svg", - propertyGroups = { - StudioFullCalendarPropertyGroups.DayPopoverFormat.class, - StudioFullCalendarPropertyGroups.DayHeaderFormat.class, - StudioFullCalendarPropertyGroups.WeekNumberFormat.class, - StudioFullCalendarPropertyGroups.EventTimeFormat.class, - StudioFullCalendarPropertyGroups.SlotLabelFormat.class, - StudioFullCalendarPropertyGroups.EventMinHeight.class, - StudioFullCalendarPropertyGroups.EventShortHeight.class, - StudioFullCalendarPropertyGroups.SlotEventOverlap.class, - StudioFullCalendarPropertyGroups.AllDaySlotVisible.class, - StudioFullCalendarPropertyGroups.DisplayEventEnd.class - }, + propertyGroups = StudioFullCalendarPropertyGroups.TimeGridProperties.class, properties = { @StudioProperty(xmlAttribute = "dayPopoverFormat", type = StudioPropertyType.LOCALIZED_STRING), @StudioProperty(xmlAttribute = "dayHeaderFormat", type = StudioPropertyType.LOCALIZED_STRING), @@ -542,8 +452,8 @@ public interface StudioFullCalendarElements { classFqn = "io.jmix.fullcalendarflowui.kit.meta.group.StudioFullCalendarProperties", icon = "io/jmix/fullcalendarflowui/kit/meta/icon/unknownComponent.svg", propertyGroups = { - StudioPropertyGroups.Name3.class, - StudioPropertyGroups.Value4.class + StudioPropertyGroups.RequiredStringName.class, + StudioPropertyGroups.RequiredStringValue.class }, properties = { @StudioProperty(xmlAttribute = "name", type = StudioPropertyType.STRING, required = true), diff --git a/jmix-fullcalendar/fullcalendar-flowui-kit/src/main/java/io/jmix/fullcalendarflowui/kit/meta/StudioFullCalendarPropertyGroups.java b/jmix-fullcalendar/fullcalendar-flowui-kit/src/main/java/io/jmix/fullcalendarflowui/kit/meta/StudioFullCalendarPropertyGroups.java index 8431061941..d273f6fb13 100644 --- a/jmix-fullcalendar/fullcalendar-flowui-kit/src/main/java/io/jmix/fullcalendarflowui/kit/meta/StudioFullCalendarPropertyGroups.java +++ b/jmix-fullcalendar/fullcalendar-flowui-kit/src/main/java/io/jmix/fullcalendarflowui/kit/meta/StudioFullCalendarPropertyGroups.java @@ -117,7 +117,7 @@ public interface DisplayEventEnd { @StudioProperty(xmlAttribute = "displayEventEnd", type = StudioPropertyType.BOOLEAN, defaultValue = "false") } ) - public interface DisplayEventEnd2 { + public interface DisplayEventEndWithFalseDefaultValue { } @StudioPropertyGroup( @@ -335,4 +335,22 @@ public interface Title { ) public interface WeekNumberFormat { } + + @StudioPropertyGroup + public interface DataProviderProperties extends StudioPropertyGroups.Id, AdditionalProperties, AllDay, + BackgroundColor, BorderColor, DataProviderClassNames, Constraint, Description, Display, + DurationEditable, EndDateTime, GroupId, Interactive, Overlap, RecurringDaysOfWeek, RecurringEndDate, + RecurringEndTime, RecurringStartDate, RecurringStartTime, StartDateTime, StartEditable, TextColor, + Title { + } + + @StudioPropertyGroup + public interface ListProperties extends ListDayFormat, ListDaySideFormat, ListDaySideVisible, ListDayVisible { + } + + @StudioPropertyGroup + public interface TimeGridProperties extends DayPopoverFormat, DayHeaderFormat, WeekNumberFormat, + EventTimeFormat, SlotLabelFormat, EventMinHeight, EventShortHeight, SlotEventOverlap, + AllDaySlotVisible, DisplayEventEnd { + } } diff --git a/jmix-pivottable/pivottable-flowui-kit/src/main/java/io/jmix/pivottableflowui/kit/meta/StudioPivotTableActions.java b/jmix-pivottable/pivottable-flowui-kit/src/main/java/io/jmix/pivottableflowui/kit/meta/StudioPivotTableActions.java index 8a345da147..0a4567be4f 100644 --- a/jmix-pivottable/pivottable-flowui-kit/src/main/java/io/jmix/pivottableflowui/kit/meta/StudioPivotTableActions.java +++ b/jmix-pivottable/pivottable-flowui-kit/src/main/java/io/jmix/pivottableflowui/kit/meta/StudioPivotTableActions.java @@ -26,8 +26,8 @@ public interface StudioPivotTableActions { description = "Shows the Pivot Table component", classFqn = "io.jmix.pivottableflowui.action.ShowPivotTableAction", propertyGroups = { - StudioPropertyGroups.Description2.class, - StudioPropertyGroups.Enabled3.class, + StudioPropertyGroups.DescriptionWithoutCategory.class, + StudioPropertyGroups.EnabledWithTrueDefaultValueWithoutCategory.class, StudioPropertyGroups.ShortcutCombination.class, StudioPropertyGroups.VisibleWithDefaultValueTrue.class }, diff --git a/jmix-pivottable/pivottable-flowui-kit/src/main/java/io/jmix/pivottableflowui/kit/meta/StudioPivotTableElements.java b/jmix-pivottable/pivottable-flowui-kit/src/main/java/io/jmix/pivottableflowui/kit/meta/StudioPivotTableElements.java index 857dba9127..cdcfd67171 100644 --- a/jmix-pivottable/pivottable-flowui-kit/src/main/java/io/jmix/pivottableflowui/kit/meta/StudioPivotTableElements.java +++ b/jmix-pivottable/pivottable-flowui-kit/src/main/java/io/jmix/pivottableflowui/kit/meta/StudioPivotTableElements.java @@ -166,7 +166,7 @@ public interface StudioPivotTableElements { xmlnsAlias = "pvttbl", icon = "io/jmix/pivottableflowui/kit/meta/icon/element/property.svg", propertyGroups = { - StudioPropertyGroups.Value4.class + StudioPropertyGroups.RequiredStringValue.class }, properties = { @StudioProperty(xmlAttribute = "value", type = StudioPropertyType.STRING, required = true) From db4eb9275ccf8f94e0e55bc3cdf8e4ae13b2f32c Mon Sep 17 00:00:00 2001 From: Mikhail Fedoseev Date: Wed, 1 Apr 2026 17:55:18 +0300 Subject: [PATCH 05/10] Simplify components meta-descriptions #5053 --- .../jmix/flowui/kit/meta/generator/README.md | 88 + .../StudioMetaDescriptionGenerator.java | 1982 +++++++++++++++++ .../generator/StudioMetaGenerationResult.java | 28 + .../kit/meta/generator/StudioMetaKind.java | 26 + .../StudioPropertyGroupsMatcher.java | 801 +++++++ .../generator/StudioPropertySignature.java | 72 + .../generator/StudioXsdElementCandidate.java | 50 + .../kit/meta/generator/package-info.java | 21 + .../StudioMetaDescriptionGeneratorTest.groovy | 671 ++++++ .../generator/TestStudioMetaDescriptions.java | 40 + .../TestStudioMetaPropertyGroups.java | 68 + 11 files changed, 3847 insertions(+) create mode 100644 jmix-flowui/flowui-kit/src/main/java/io/jmix/flowui/kit/meta/generator/README.md create mode 100644 jmix-flowui/flowui-kit/src/main/java/io/jmix/flowui/kit/meta/generator/StudioMetaDescriptionGenerator.java create mode 100644 jmix-flowui/flowui-kit/src/main/java/io/jmix/flowui/kit/meta/generator/StudioMetaGenerationResult.java create mode 100644 jmix-flowui/flowui-kit/src/main/java/io/jmix/flowui/kit/meta/generator/StudioMetaKind.java create mode 100644 jmix-flowui/flowui-kit/src/main/java/io/jmix/flowui/kit/meta/generator/StudioPropertyGroupsMatcher.java create mode 100644 jmix-flowui/flowui-kit/src/main/java/io/jmix/flowui/kit/meta/generator/StudioPropertySignature.java create mode 100644 jmix-flowui/flowui-kit/src/main/java/io/jmix/flowui/kit/meta/generator/StudioXsdElementCandidate.java create mode 100644 jmix-flowui/flowui-kit/src/main/java/io/jmix/flowui/kit/meta/generator/package-info.java create mode 100644 jmix-flowui/flowui/src/test/groovy/io/jmix/flowui/kit/meta/generator/StudioMetaDescriptionGeneratorTest.groovy create mode 100644 jmix-flowui/flowui/src/test/java/io/jmix/flowui/kit/meta/generator/TestStudioMetaDescriptions.java create mode 100644 jmix-flowui/flowui/src/test/java/io/jmix/flowui/kit/meta/generator/TestStudioMetaPropertyGroups.java diff --git a/jmix-flowui/flowui-kit/src/main/java/io/jmix/flowui/kit/meta/generator/README.md b/jmix-flowui/flowui-kit/src/main/java/io/jmix/flowui/kit/meta/generator/README.md new file mode 100644 index 0000000000..2684d62631 --- /dev/null +++ b/jmix-flowui/flowui-kit/src/main/java/io/jmix/flowui/kit/meta/generator/README.md @@ -0,0 +1,88 @@ +# Studio Meta Generator + +This package contains internal tooling for generating Studio meta-annotations from Flow UI XSD schemas. + +The generator is intended for framework developers who add or update XSD elements and then need a starting point +for `@StudioComponent`, `@StudioElement`, `@StudioAction`, `@StudioFacet` or `@StudioDataComponent` +descriptions. + +## Main Classes + +- `StudioMetaDescriptionGenerator` parses XSD files, resolves referenced types and attributes, infers a meta kind + and renders Java source with `properties`, `propertyGroups`, TODO comments and child element hints. +- `StudioPropertyGroupsMatcher` scans existing `@StudioPropertyGroup` declarations and adds only exact + `propertyGroups` matches. +- `StudioXsdElementCandidate` describes a concrete XSD element match together with its context. +- `StudioMetaGenerationResult` contains the generated source, output path and collected TODOs. + +## Programmatic Usage + +Typical flow: + +1. Resolve the workspace root with `StudioMetaDescriptionGenerator.detectWorkspaceRoot(...)`. +2. Create `StudioMetaDescriptionGenerator`. +3. Find matching XSD elements with `findElementCandidates(...)`. +4. Pick the exact `StudioXsdElementCandidate`. +5. Compute the default output path with `getDefaultOutputPath(...)` or provide your own path. +6. Call `generate(...)` to preview the source or `write(...)` to create or update the Java file. + +Example: + +```java +Path workspaceRoot = StudioMetaDescriptionGenerator.detectWorkspaceRoot(Path.of("").toAbsolutePath()); +StudioMetaDescriptionGenerator generator = new StudioMetaDescriptionGenerator(workspaceRoot); + +Path schemaPath = workspaceRoot.resolve("jmix/jmix-flowui/flowui/src/main/resources/io/jmix/flowui/view/layout.xsd"); +StudioXsdElementCandidate candidate = generator.findElementCandidates(schemaPath, "button").get(0); + +Path outputPath = generator.getDefaultOutputPath(candidate); +StudioMetaGenerationResult result = generator.write(candidate, StudioMetaKind.AUTO, outputPath); +``` + +## CLI + +`StudioMetaDescriptionGenerator.Cli` is a thin command-line wrapper over the API. +It is not packaged as a separate distribution and is usually started from IDE run configuration or from a custom +Java launch with the `flowui-kit` runtime classpath. + +Example: + +```bash +java io.jmix.flowui.kit.meta.generator.StudioMetaDescriptionGenerator\$Cli \ + --root /path/to/jmix-all \ + --xsd /path/to/layout.xsd \ + --element button \ + --output /path/to/StudioButtonGenerated.java \ + --kind auto +``` + +Arguments: + +- `--root` points to the workspace root. +- `--xsd` points to the source schema. +- `--element` is the target XSD element name. +- `--output` is the file to create or update. +- `--kind` overrides automatic kind detection. Supported values: `auto`, `component`, `element`, `action`, + `facet`, `data-component`. +- `--list-schemas` prints discovered schemas under the workspace root. In this mode only `--root` is required. + +If several XSD elements share the same name, the CLI asks to choose the exact candidate by number. + +## Generated Output + +The generator intentionally keeps the output conservative. + +- Existing inline `properties` are always generated. +- `propertyGroups` are added only for exact matches against existing groups. +- Uncertain values are left as TODO comments instead of guessing. +- Child element declarations are reported as TODO comments when nested meta descriptions may also be needed. + +Generated source is a starting point for manual review, not a final replacement for hand-written meta descriptions. + +## Tests + +Integration-style tests for this package are located in the `flowui` module: + +- `jmix-flowui/flowui/src/test/groovy/io/jmix/flowui/kit/meta/generator` + +They validate generation against existing framework meta descriptions and dedicated test fixtures. diff --git a/jmix-flowui/flowui-kit/src/main/java/io/jmix/flowui/kit/meta/generator/StudioMetaDescriptionGenerator.java b/jmix-flowui/flowui-kit/src/main/java/io/jmix/flowui/kit/meta/generator/StudioMetaDescriptionGenerator.java new file mode 100644 index 0000000000..e8241d9b44 --- /dev/null +++ b/jmix-flowui/flowui-kit/src/main/java/io/jmix/flowui/kit/meta/generator/StudioMetaDescriptionGenerator.java @@ -0,0 +1,1982 @@ +/* + * Copyright 2026 Haulmont. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package io.jmix.flowui.kit.meta.generator; + +import org.jspecify.annotations.Nullable; +import org.w3c.dom.Attr; +import org.w3c.dom.Document; +import org.w3c.dom.Element; +import org.w3c.dom.NamedNodeMap; +import org.w3c.dom.Node; +import org.w3c.dom.NodeList; + +import javax.xml.parsers.DocumentBuilderFactory; +import java.io.BufferedReader; +import java.io.IOException; +import java.io.InputStreamReader; +import java.nio.charset.StandardCharsets; +import java.nio.file.FileVisitResult; +import java.nio.file.FileVisitOption; +import java.nio.file.FileVisitor; +import java.nio.file.Files; +import java.nio.file.Path; +import java.nio.file.SimpleFileVisitor; +import java.nio.file.attribute.BasicFileAttributes; +import java.util.ArrayDeque; +import java.util.ArrayList; +import java.util.Collections; +import java.util.Comparator; +import java.util.EnumSet; +import java.util.HashMap; +import java.util.HashSet; +import java.util.IdentityHashMap; +import java.util.LinkedHashMap; +import java.util.LinkedHashSet; +import java.util.List; +import java.util.Map; +import java.util.Objects; +import java.util.Optional; +import java.util.Set; +import java.util.regex.Matcher; +import java.util.regex.Pattern; + +import static java.util.Objects.requireNonNullElseGet; + +/** + * Internal generator that builds Studio meta-annotation source code from Flow UI XSD schemas. + *

+ * The generator resolves XSD element inheritance, referenced attributes, attribute groups and child elements, + * infers the most suitable {@link StudioMetaKind}, converts XSD attribute definitions to + * {@code @StudioProperty} declarations and reuses existing {@code propertyGroups} when an exact match is found. + * It can either return the generated source for preview or write it to a new or existing {@code @StudioUiKit} + * source file. + *

+ * This class is intended for framework development tooling and is not part of the public runtime API. + */ +final class StudioMetaDescriptionGenerator { + + static final String XS_NS = "http://www.w3.org/2001/XMLSchema"; + static final String FLOWUI_LAYOUT_NS = "http://jmix.io/schema/flowui/layout"; + static final String FLOWUI_DATA_NS = "http://jmix.io/schema/flowui/data"; + + private static final Set IGNORED_DIRS = Set.of(".git", ".gradle", ".idea", "build", "out"); + private static final Set GENERIC_METHOD_NAMES = Set.of("action", "column", "item", "loader", "property"); + private static final Set LOOK_AND_FEEL_NAMES = Set.of("classNames", "css", "icon", "themeNames"); + private static final Set SIZE_NAMES = Set.of("height", "maxHeight", "maxWidth", "minHeight", "minWidth", "width"); + private static final Set POSITION_NAMES = Set.of("alignSelf", "colspan", "justifySelf", "rowspan"); + private static final Set VALIDATION_NAMES = Set.of( + "allowedCharPattern", "pattern", "errorMessage", "max", "maxLength", + "min", "minLength", "preventInvalidInput", "required", "requiredMessage" + ); + private static final Set AMBIGUOUS_SPECIAL_NAMES = Set.of( + "class", "component", "metaClass", "property", + "container", "dataContainer", "itemsContainer" + ); + private static final Map BUILTIN_TYPE_MAP = Map.ofEntries( + Map.entry("boolean", "BOOLEAN"), + Map.entry("byte", "INTEGER"), + Map.entry("date", "STRING"), + Map.entry("dateTime", "STRING"), + Map.entry("decimal", "BIG_DECIMAL"), + Map.entry("double", "DOUBLE"), + Map.entry("duration", "STRING"), + Map.entry("float", "FLOAT"), + Map.entry("int", "INTEGER"), + Map.entry("integer", "INTEGER"), + Map.entry("language", "STRING"), + Map.entry("long", "LONG"), + Map.entry("NCName", "STRING"), + Map.entry("negativeInteger", "INTEGER"), + Map.entry("nonNegativeInteger", "INTEGER"), + Map.entry("nonPositiveInteger", "INTEGER"), + Map.entry("normalizedString", "STRING"), + Map.entry("positiveInteger", "INTEGER"), + Map.entry("short", "INTEGER"), + Map.entry("string", "STRING"), + Map.entry("time", "STRING"), + Map.entry("token", "STRING"), + Map.entry("unsignedInt", "LONG"), + Map.entry("unsignedLong", "LONG"), + Map.entry("unsignedShort", "INTEGER") + ); + private static final Set DATA_COMPONENT_ELEMENT_NAMES = Set.of( + "instance", "collection", "keyValueInstance", "keyValueCollection" + ); + private static final Pattern JAVA_PACKAGE_PATTERN = + Pattern.compile("^package\\s+([^;]+);$"); + private static final Pattern XMLNS_ALIAS_PATTERN_TEMPLATE = + Pattern.compile("xmlns:([A-Za-z_][A-Za-z0-9_.-]*)=\"%s\""); + private static final Pattern XMLNS_DEFAULT_PATTERN_TEMPLATE = + Pattern.compile("xmlns=\"%s\""); + + private final Path schemaSearchRoot; + private final XsdRegistry registry; + private final StudioPropertyGroupsMatcher propertyGroupsMatcher; + + public StudioMetaDescriptionGenerator(Path schemaSearchRoot) { + this.schemaSearchRoot = schemaSearchRoot.toAbsolutePath().normalize(); + this.registry = new XsdRegistry(this.schemaSearchRoot); + this.propertyGroupsMatcher = new StudioPropertyGroupsMatcher(this.schemaSearchRoot); + } + + public static Path detectWorkspaceRoot(Path workingDirectory) { + Path current = workingDirectory.toAbsolutePath().normalize(); + while (current != null) { + if (Files.isDirectory(current.resolve("jmix")) + && Files.isDirectory(current.resolve("jmix-premium"))) { + return current; + } + if (Files.exists(current.resolve("settings.gradle")) + && Files.isDirectory(current.resolve("jmix-flowui"))) { + Path parent = current.getParent(); + if (parent != null && Files.isDirectory(parent.resolve("jmix-premium"))) { + return parent; + } + return current; + } + if (Files.exists(current.resolve("flowui-kit.gradle"))) { + Path moduleParent = current.getParent(); + if (moduleParent != null) { + Path gradleRoot = moduleParent.getParent(); + if (gradleRoot != null && Files.exists(gradleRoot.resolve("settings.gradle"))) { + Path workspaceRoot = gradleRoot.getParent(); + return workspaceRoot != null ? workspaceRoot : gradleRoot; + } + } + } + current = current.getParent(); + } + return workingDirectory.toAbsolutePath().normalize(); + } + + public List findKnownSchemas() { + return registry.discoverSchemas(); + } + + public List findElementCandidates(Path schemaPath, String elementIdentifier) { + Objects.requireNonNull(elementIdentifier, "elementIdentifier"); + return registry.findCandidates(resolveAbsolutePath(schemaPath), elementIdentifier); + } + + public Path getDefaultOutputPath(StudioXsdElementCandidate candidate) { + Path moduleRoot = findModuleRoot(candidate.schemaPath()); + if (moduleRoot == null) { + throw new IllegalArgumentException("Cannot detect module root for " + candidate.schemaPath()); + } + + String basePackage = detectBasePackage(moduleRoot, candidate.schemaPath()); + Path packagePath = Path.of(basePackage.replace('.', '/')).resolve("kit").resolve("meta"); + String contextPrefix = ""; + if (GENERIC_METHOD_NAMES.contains(candidate.elementName())) { + List contextSource = !candidate.ancestorElements().isEmpty() + ? candidate.ancestorElements() + : candidate.contextNames().subList(0, Math.max(0, candidate.contextNames().size() - 1)); + if (!contextSource.isEmpty()) { + contextPrefix = toPascalCase(contextSource.get(contextSource.size() - 1)); + } + } + + String fileName = "Studio" + contextPrefix + toPascalCase(candidate.elementName()) + "Generated.java"; + return moduleRoot.resolve("src/main/java").resolve(packagePath).resolve(fileName).normalize(); + } + + public StudioMetaGenerationResult generate(StudioXsdElementCandidate candidate, + StudioMetaKind forcedKind, + @Nullable Path outputPath) { + GeneratedMeta meta = createGeneratedMeta(candidate, forcedKind); + Path resolvedOutputPath = outputPath != null + ? resolveAbsolutePath(outputPath) + : getDefaultOutputPath(candidate); + String uniqueMethodName = ensureUniqueMethodName(resolvedOutputPath, meta.methodName()); + GeneratedMeta metaWithUniqueMethod = meta.withMethodName(uniqueMethodName); + String source; + if (Files.exists(resolvedOutputPath)) { + source = buildUpdatedSourceForExistingFile(resolvedOutputPath, renderAnnotation(metaWithUniqueMethod)); + } else { + source = buildJavaSource(resolvedOutputPath, metaWithUniqueMethod, candidate.schemaPath()); + } + return new StudioMetaGenerationResult(resolvedOutputPath, source, metaWithUniqueMethod.kind(), metaWithUniqueMethod.headerTodos()); + } + + public StudioMetaGenerationResult write(StudioXsdElementCandidate candidate, + StudioMetaKind forcedKind, + @Nullable Path outputPath) throws IOException { + GeneratedMeta meta = createGeneratedMeta(candidate, forcedKind); + Path resolvedOutputPath = outputPath != null + ? resolveAbsolutePath(outputPath) + : getDefaultOutputPath(candidate); + String uniqueMethodName = ensureUniqueMethodName(resolvedOutputPath, meta.methodName()); + GeneratedMeta metaWithUniqueMethod = meta.withMethodName(uniqueMethodName); + + Files.createDirectories(resolvedOutputPath.getParent()); + if (Files.exists(resolvedOutputPath) && Files.size(resolvedOutputPath) > 0) { + Files.writeString(resolvedOutputPath, + buildUpdatedSourceForExistingFile(resolvedOutputPath, renderAnnotation(metaWithUniqueMethod)), + StandardCharsets.UTF_8); + String source = Files.readString(resolvedOutputPath, StandardCharsets.UTF_8); + return new StudioMetaGenerationResult(resolvedOutputPath, source, metaWithUniqueMethod.kind(), + metaWithUniqueMethod.headerTodos()); + } + + String source = buildJavaSource(resolvedOutputPath, metaWithUniqueMethod, candidate.schemaPath()); + Files.writeString(resolvedOutputPath, source, StandardCharsets.UTF_8); + return new StudioMetaGenerationResult(resolvedOutputPath, source, metaWithUniqueMethod.kind(), + metaWithUniqueMethod.headerTodos()); + } + + private GeneratedMeta createGeneratedMeta(StudioXsdElementCandidate candidate, StudioMetaKind forcedKind) { + DefinitionRef elementRef = resolveElementReference(candidate.document(), candidate.element()); + ResolvedType elementType = resolveElementType(elementRef); + LinkedHashMap attributes = collectAttributes(elementType.ref(), elementType.kind(), + new HashSet<>(), new HashSet<>()); + ChildrenInfo childrenInfo = collectChildren(elementType.ref(), elementType.kind(), new HashSet<>(), new HashSet<>()); + KindInfo kindInfo = inferKind(candidate, elementType.ref(), elementType.kind(), attributes, forcedKind); + + List properties = new ArrayList<>(); + for (AttributeInfo attributeInfo : attributes.values()) { + properties.add(inferProperty(attributeInfo, kindInfo.kind())); + } + List propertyGroups = propertyGroupsMatcher.findMatchingGroupFqns( + properties.stream() + .map(this::toPropertySignature) + .toList(), + findModuleRoot(candidate.schemaPath()) + ); + + String xmlns = candidate.document().targetNamespace().isEmpty() ? null : candidate.document().targetNamespace(); + String xmlnsAlias = inferXmlnsAlias(candidate.document()); + List headerTodos = buildHeaderTodos(candidate, kindInfo.kind(), xmlns, xmlnsAlias, properties, propertyGroups); + String methodName = buildMethodName(candidate, kindInfo.kind()); + + return new GeneratedMeta( + kindInfo.kind(), + kindInfo.kindComment(), + toPascalCase(candidate.elementName()), + candidate.elementName(), + FLOWUI_LAYOUT_NS.equals(candidate.document().targetNamespace()) ? null : xmlns, + xmlnsAlias, + headerTodos, + propertyGroups, + properties, + childrenInfo.childElements(), + childrenInfo.supportsAnyChildren(), + methodName, + kindInfo.kind() == StudioMetaKind.COMPONENT ? "Object" : "void" + ); + } + + private DefinitionRef resolveElementReference(SchemaDocument document, Element element) { + String ref = element.getAttribute("ref"); + if (ref.isEmpty()) { + return new DefinitionRef(document, element); + } + + QNameRef qNameRef = registry.resolveQName(ref, document); + DefinitionRef resolved = registry.findDefinition(registry.elementDefinitions, qNameRef); + return resolved != null ? resolved : new DefinitionRef(document, element); + } + + private ResolvedType resolveElementType(DefinitionRef elementRef) { + assert elementRef.element() != null : "Element reference must have an element"; + + Element inlineComplexType = firstChildElement(elementRef.element(), "complexType"); + if (inlineComplexType != null) { + return new ResolvedType(new DefinitionRef(elementRef.document(), inlineComplexType), "complex"); + } + + Element inlineSimpleType = firstChildElement(elementRef.element(), "simpleType"); + if (inlineSimpleType != null) { + return new ResolvedType(new DefinitionRef(elementRef.document(), inlineSimpleType), "simple"); + } + + String typeName = elementRef.element().getAttribute("type"); + if (typeName.isEmpty()) { + return new ResolvedType(null, null); + } + + QNameRef qNameRef = registry.resolveQName(typeName, elementRef.document()); + if (XS_NS.equals(qNameRef.namespace())) { + return new ResolvedType(new DefinitionRef(elementRef.document(), null, qNameRef), "builtin"); + } + + DefinitionRef complexType = registry.findDefinition(registry.complexTypeDefinitions, qNameRef); + if (complexType != null) { + return new ResolvedType(complexType, "complex"); + } + + DefinitionRef simpleType = registry.findDefinition(registry.simpleTypeDefinitions, qNameRef); + if (simpleType != null) { + return new ResolvedType(simpleType, "simple"); + } + + return new ResolvedType(new DefinitionRef(elementRef.document(), null, qNameRef), "unknown"); + } + + private LinkedHashMap collectAttributes(@Nullable DefinitionRef typeRef, + @Nullable String typeKind, + Set visitedTypes, + Set visitedGroups) { + LinkedHashMap attributes = new LinkedHashMap<>(); + if (typeRef == null || typeRef.element() == null || !Set.of("complex", "simple").contains(typeKind)) { + return attributes; + } + + VisitedNodeKey visitedNodeKey = new VisitedNodeKey(typeRef.document().path(), System.identityHashCode(typeRef.element())); + if (!visitedTypes.add(visitedNodeKey)) { + return attributes; + } + + Element baseContainer = typeRef.element(); + Element extension = findExtension(typeRef.element()); + Element restriction = findRestriction(typeRef.element()); + if (extension != null) { + String baseName = extension.getAttribute("base"); + if (!baseName.isEmpty()) { + QNameRef baseQName = registry.resolveQName(baseName, typeRef.document()); + DefinitionRef baseRef = registry.findDefinition(registry.complexTypeDefinitions, baseQName); + if (baseRef != null) { + attributes.putAll(collectAttributes(baseRef, "complex", visitedTypes, visitedGroups)); + } + } + baseContainer = extension; + } else if (restriction != null && "complex".equals(typeKind)) { + String baseName = restriction.getAttribute("base"); + if (!baseName.isEmpty()) { + QNameRef baseQName = registry.resolveQName(baseName, typeRef.document()); + DefinitionRef baseRef = registry.findDefinition(registry.complexTypeDefinitions, baseQName); + if (baseRef != null) { + attributes.putAll(collectAttributes(baseRef, "complex", visitedTypes, visitedGroups)); + } + } + baseContainer = restriction; + } + + for (Element child : childElements(baseContainer)) { + String childLocalName = localName(child); + if ("attribute".equals(childLocalName)) { + AttributeInfo attribute = resolveAttribute(typeRef.document(), child); + if (attribute != null) { + attributes.put(attribute.xmlAttribute(), attribute); + } + } else if ("attributeGroup".equals(childLocalName) && child.hasAttribute("ref")) { + QNameRef groupQName = registry.resolveQName(child.getAttribute("ref"), typeRef.document()); + DefinitionRef groupRef = registry.findDefinition(registry.attributeGroupDefinitions, groupQName); + if (groupRef == null || groupRef.element() == null) { + continue; + } + VisitedNodeKey groupKey = new VisitedNodeKey(groupRef.document().path(), System.identityHashCode(groupRef.element())); + if (!visitedGroups.add(groupKey)) { + continue; + } + attributes.putAll(collectAttributeGroup(groupRef, visitedTypes, visitedGroups)); + } + } + + return attributes; + } + + private LinkedHashMap collectAttributeGroup(DefinitionRef groupRef, + Set visitedTypes, + Set visitedGroups) { + LinkedHashMap attributes = new LinkedHashMap<>(); + if (groupRef.element() == null) { + return attributes; + } + + for (Element child : childElements(groupRef.element())) { + String childLocalName = localName(child); + if ("attribute".equals(childLocalName)) { + AttributeInfo attribute = resolveAttribute(groupRef.document(), child); + if (attribute != null) { + attributes.put(attribute.xmlAttribute(), attribute); + } + } else if ("attributeGroup".equals(childLocalName) && child.hasAttribute("ref")) { + QNameRef groupQName = registry.resolveQName(child.getAttribute("ref"), groupRef.document()); + DefinitionRef nestedGroupRef = registry.findDefinition(registry.attributeGroupDefinitions, groupQName); + if (nestedGroupRef == null || nestedGroupRef.element() == null) { + continue; + } + VisitedNodeKey nestedKey = new VisitedNodeKey(nestedGroupRef.document().path(), + System.identityHashCode(nestedGroupRef.element())); + if (!visitedGroups.add(nestedKey)) { + continue; + } + attributes.putAll(collectAttributeGroup(nestedGroupRef, visitedTypes, visitedGroups)); + } + } + + return attributes; + } + + private @Nullable AttributeInfo resolveAttribute(SchemaDocument document, Element attributeElement) { + Element targetElement = attributeElement; + SchemaDocument targetDocument = document; + if (attributeElement.hasAttribute("ref")) { + QNameRef refQName = registry.resolveQName(attributeElement.getAttribute("ref"), document); + DefinitionRef resolved = registry.findDefinition(registry.attributeDefinitions, refQName); + if (resolved != null && resolved.element() != null) { + targetElement = resolved.element(); + targetDocument = resolved.document(); + } + } + + String name = attributeElement.getAttribute("name"); + if (name.isEmpty()) { + name = targetElement.getAttribute("name"); + } + if (name.isEmpty()) { + return null; + } + + Element inlineSimpleType = firstChildElement(targetElement, "simpleType"); + String typeName = attributeElement.getAttribute("type"); + if (typeName.isEmpty()) { + typeName = targetElement.getAttribute("type"); + } + QNameRef typeQName = typeName.isEmpty() ? null : registry.resolveQName(typeName, targetDocument); + + String defaultValue = firstNonEmptyOrNull( + attributeElement.getAttribute("default"), + attributeElement.getAttribute("fixed"), + targetElement.getAttribute("default"), + targetElement.getAttribute("fixed") + ); + boolean required = "required".equals(firstNonEmptyOrNull(attributeElement.getAttribute("use"), targetElement.getAttribute("use"))); + + return new AttributeInfo(name, required, defaultValue, typeQName, inlineSimpleType, targetDocument, List.of()); + } + + private ChildrenInfo collectChildren(@Nullable DefinitionRef typeRef, + @Nullable String typeKind, + Set visitedTypes, + Set visitedGroups) { + if (typeRef == null || typeRef.element() == null || !Set.of("complex", "simple").contains(typeKind)) { + return new ChildrenInfo(List.of(), false); + } + + VisitedNodeKey visitedNodeKey = new VisitedNodeKey(typeRef.document().path(), System.identityHashCode(typeRef.element())); + if (!visitedTypes.add(visitedNodeKey)) { + return new ChildrenInfo(List.of(), false); + } + + Element extension = findExtension(typeRef.element()); + Element restriction = findRestriction(typeRef.element()); + Element baseContainer; + baseContainer = requireNonNullElseGet(extension, + () -> requireNonNullElseGet(restriction, typeRef::element)); + + List childNames = new ArrayList<>(); + boolean supportsAnyChildren = false; + if (extension != null && extension.hasAttribute("base")) { + QNameRef baseQName = registry.resolveQName(extension.getAttribute("base"), typeRef.document()); + DefinitionRef baseRef = registry.findDefinition(registry.complexTypeDefinitions, baseQName); + if (baseRef != null) { + ChildrenInfo baseChildren = collectChildren(baseRef, "complex", visitedTypes, visitedGroups); + childNames.addAll(baseChildren.childElements()); + supportsAnyChildren = baseChildren.supportsAnyChildren(); + } + } + + ChildrenInfo nestedChildren = collectChildrenFromContainer(baseContainer, typeRef.document(), visitedGroups); + childNames.addAll(nestedChildren.childElements()); + supportsAnyChildren = supportsAnyChildren || nestedChildren.supportsAnyChildren(); + + return new ChildrenInfo(new ArrayList<>(new LinkedHashSet<>(childNames)), supportsAnyChildren); + } + + private ChildrenInfo collectChildrenFromContainer(Element container, + SchemaDocument document, + Set visitedGroups) { + List childNames = new ArrayList<>(); + boolean supportsAnyChildren = false; + + for (Element child : childElements(container)) { + String childLocalName = localName(child); + switch (childLocalName) { + case "element" -> { + String name = child.getAttribute("name"); + if (!name.isEmpty()) { + childNames.add(name); + } else if (child.hasAttribute("ref")) { + QNameRef refQName = registry.resolveQName(child.getAttribute("ref"), document); + childNames.add(refQName.localName()); + } + } + case "all", "choice", "sequence" -> { + ChildrenInfo nestedChildren = collectChildrenFromContainer(child, document, visitedGroups); + childNames.addAll(nestedChildren.childElements()); + supportsAnyChildren = supportsAnyChildren || nestedChildren.supportsAnyChildren(); + } + case "group" -> { + if (!child.hasAttribute("ref")) { + break; + } + QNameRef groupQName = registry.resolveQName(child.getAttribute("ref"), document); + DefinitionRef groupRef = registry.findDefinition(registry.groupDefinitions, groupQName); + if (groupRef == null || groupRef.element() == null) { + break; + } + VisitedNodeKey groupKey = new VisitedNodeKey(groupRef.document().path(), + System.identityHashCode(groupRef.element())); + if (!visitedGroups.add(groupKey)) { + break; + } + ChildrenInfo groupChildren = collectChildrenFromContainer(groupRef.element(), groupRef.document(), visitedGroups); + childNames.addAll(groupChildren.childElements()); + supportsAnyChildren = supportsAnyChildren || groupChildren.supportsAnyChildren(); + } + case "any" -> supportsAnyChildren = true; + default -> { + } + } + } + + return new ChildrenInfo(childNames, supportsAnyChildren); + } + + private @Nullable Element findExtension(Element element) { + Element complexContent = firstChildElement(element, "complexContent"); + if (complexContent != null) { + Element extension = firstChildElement(complexContent, "extension"); + if (extension != null) { + return extension; + } + } + + Element simpleContent = firstChildElement(element, "simpleContent"); + if (simpleContent != null) { + return firstChildElement(simpleContent, "extension"); + } + return null; + } + + private @Nullable Element findRestriction(Element element) { + Element complexContent = firstChildElement(element, "complexContent"); + if (complexContent != null) { + Element restriction = firstChildElement(complexContent, "restriction"); + if (restriction != null) { + return restriction; + } + } + + Element simpleContent = firstChildElement(element, "simpleContent"); + if (simpleContent != null) { + Element restriction = firstChildElement(simpleContent, "restriction"); + if (restriction != null) { + return restriction; + } + } + + return firstChildElement(element, "restriction"); + } + + private KindInfo inferKind(StudioXsdElementCandidate candidate, + @Nullable DefinitionRef typeRef, + @Nullable String typeKind, + Map attributes, + StudioMetaKind forcedKind) { + if (forcedKind != StudioMetaKind.AUTO) { + return new KindInfo(forcedKind, "Meta annotation kind was chosen explicitly."); + } + + if (containsContextName(candidate, "facets")) { + return new KindInfo(StudioMetaKind.FACET, + "The element is declared inside a facets container, so @StudioFacet was selected."); + } + + if (FLOWUI_DATA_NS.equals(candidate.document().targetNamespace()) + && !candidate.contextNames().isEmpty() + && ("viewData".equals(candidate.contextNames().get(0)) + || DATA_COMPONENT_ELEMENT_NAMES.contains(candidate.elementName()) + && candidate.contextNames().contains("viewData"))) { + return new KindInfo(StudioMetaKind.DATA_COMPONENT, + "The element belongs to the data schema root, so @StudioDataComponent was selected."); + } + + if (containsActionContext(candidate) || "action".equals(candidate.elementName()) && attributes.containsKey("type")) { + return new KindInfo(StudioMetaKind.ACTION, + "The element is located inside an actions definition, so @StudioAction was selected."); + } + + if (!candidate.ancestorElements().isEmpty() + || candidate.nested() && !candidate.element().hasAttribute("type")) { + return new KindInfo(StudioMetaKind.ELEMENT, + "The element is nested inside another XSD element, so @StudioElement was selected."); + } + + if (extendsBaseComponent(typeRef, typeKind, new HashSet<>())) { + return new KindInfo(StudioMetaKind.COMPONENT, + "The XSD type extends a component base type, so @StudioComponent was selected."); + } + + return new KindInfo(StudioMetaKind.ELEMENT, + "No component/data/facet/action markers were found, so @StudioElement was selected."); + } + + private boolean extendsBaseComponent(@Nullable DefinitionRef typeRef, + @Nullable String typeKind, + Set visitedTypes) { + if (typeRef == null || typeRef.element() == null || !"complex".equals(typeKind)) { + return false; + } + + VisitedNodeKey visitedNodeKey = new VisitedNodeKey(typeRef.document().path(), System.identityHashCode(typeRef.element())); + if (!visitedTypes.add(visitedNodeKey)) { + return false; + } + + Element extension = findExtension(typeRef.element()); + if (extension == null || !extension.hasAttribute("base")) { + return false; + } + + QNameRef baseQName = registry.resolveQName(extension.getAttribute("base"), typeRef.document()); + if (Set.of("baseComponent", "componentContainer").contains(baseQName.localName())) { + return true; + } + + DefinitionRef baseRef = registry.findDefinition(registry.complexTypeDefinitions, baseQName); + return extendsBaseComponent(baseRef, "complex", visitedTypes); + } + + private PropertyInfo inferProperty(AttributeInfo attributeInfo, StudioMetaKind kind) { + String inferredType = "STRING"; + String category = inferCategory(attributeInfo.xmlAttribute()); + List comments = new ArrayList<>(attributeInfo.comments()); + List options = List.of(); + + EnumValues enumValues = resolveEnumValues(attributeInfo); + String specialType = inferSpecialType(attributeInfo, kind); + String builtinType = inferBuiltinType(attributeInfo); + if (specialType != null) { + inferredType = specialType; + } else if ("LOCALIZED_STRING".equals(builtinType)) { + inferredType = builtinType; + } else if (!enumValues.values().isEmpty()) { + inferredType = enumValues.allowsFreeForm() ? "OPTIONS" : "ENUMERATION"; + options = enumValues.values(); + if (!enumValues.allowsFreeForm()) { + comments.add("Fill `classFqn` manually if \"" + attributeInfo.xmlAttribute() + + "\" should point to a Java enum."); + } + } else if (builtinType != null) { + inferredType = builtinType; + } + + if ("STRING".equals(inferredType) && AMBIGUOUS_SPECIAL_NAMES.contains(attributeInfo.xmlAttribute())) { + comments.add("The tool left \"" + attributeInfo.xmlAttribute() + + "\" as STRING because its exact StudioPropertyType depends on the Java model."); + } + + return new PropertyInfo(attributeInfo.xmlAttribute(), inferredType, category, attributeInfo.required(), + attributeInfo.defaultValue(), options, comments); + } + + private StudioPropertySignature toPropertySignature(PropertyInfo propertyInfo) { + return StudioPropertySignature.of( + propertyInfo.xmlAttribute(), + propertyInfo.studioType(), + propertyInfo.category() != null ? propertyInfo.category() : null, + propertyInfo.required(), + propertyInfo.defaultValue() != null ? propertyInfo.defaultValue() : "", + propertyInfo.options() + ); + } + + private @Nullable String inferSpecialType(AttributeInfo attributeInfo, StudioMetaKind kind) { + String xmlAttribute = attributeInfo.xmlAttribute(); + if (SIZE_NAMES.contains(xmlAttribute)) { + return "SIZE"; + } + if (kind == StudioMetaKind.DATA_COMPONENT && "class".equals(xmlAttribute)) { + return "ENTITY_CLASS"; + } + if (Set.of("classNames", "themeNames").contains(xmlAttribute)) { + return "VALUES_LIST"; + } + if ("icon".equals(xmlAttribute) || xmlAttribute.endsWith("Icon")) { + return "ICON"; + } + switch (xmlAttribute) { + case "id" -> { + return "COMPONENT_ID"; + } + case "fetchPlan" -> { + return "FETCH_PLAN"; + } + case "query" -> { + return "JPA_QUERY"; + } + case "loader" -> { + return "DATA_LOADER_REF"; + } + case "action" -> { + return "ACTION_REF"; + } + case "shortcutCombination" -> { + return "SHORTCUT_COMBINATION"; + } + case "datatype" -> { + return "DATATYPE_ID"; + } + case "store" -> { + return "STORE"; + } + } + return null; + } + + private @Nullable String inferBuiltinType(AttributeInfo attributeInfo) { + if (attributeInfo.inlineSimpleType() != null) { + String inferred = inferSimpleType(attributeInfo.inlineSimpleType(), attributeInfo.sourceDocument()); + if (inferred != null) { + return inferred; + } + } + + if (attributeInfo.typeQName() == null) { + return null; + } + + QNameRef typeQName = attributeInfo.typeQName(); + if (XS_NS.equals(typeQName.namespace())) { + return BUILTIN_TYPE_MAP.get(typeQName.localName()); + } + + if ("resourceString".equals(typeQName.localName())) { + return "LOCALIZED_STRING"; + } + + DefinitionRef simpleTypeRef = registry.findDefinition(registry.simpleTypeDefinitions, typeQName); + if (simpleTypeRef != null && simpleTypeRef.element() != null) { + String inferred = inferSimpleType(simpleTypeRef.element(), simpleTypeRef.document()); + if (inferred != null) { + return inferred; + } + } + + if (typeQName.localName().endsWith("resourceString")) { + return "LOCALIZED_STRING"; + } + + return null; + } + + private @Nullable String inferSimpleType(Element simpleType, @Nullable SchemaDocument document) { + Element restriction = findRestriction(simpleType); + if (restriction != null && restriction.hasAttribute("base") && document != null) { + QNameRef baseQName = registry.resolveQName(restriction.getAttribute("base"), document); + if (XS_NS.equals(baseQName.namespace())) { + return BUILTIN_TYPE_MAP.get(baseQName.localName()); + } + + DefinitionRef baseSimpleType = registry.findDefinition(registry.simpleTypeDefinitions, baseQName); + if (baseSimpleType != null && baseSimpleType.element() != null) { + return inferSimpleType(baseSimpleType.element(), baseSimpleType.document()); + } + } + + if (firstChildElement(simpleType, "list") != null) { + return "VALUES_LIST"; + } + return null; + } + + private EnumValues resolveEnumValues(AttributeInfo attributeInfo) { + Element source = attributeInfo.inlineSimpleType(); + SchemaDocument sourceDocument = attributeInfo.sourceDocument(); + if (source == null && attributeInfo.typeQName() != null && !XS_NS.equals(attributeInfo.typeQName().namespace())) { + DefinitionRef simpleTypeRef = registry.findDefinition(registry.simpleTypeDefinitions, attributeInfo.typeQName()); + if (simpleTypeRef != null && simpleTypeRef.element() != null) { + source = simpleTypeRef.element(); + sourceDocument = simpleTypeRef.document(); + } + } + if (source == null) { + return new EnumValues(List.of(), false); + } + return resolveEnumValues(source, sourceDocument, attributeInfo.xmlAttribute(), new HashSet<>()); + } + + private EnumValues resolveEnumValues(Element simpleType, + @Nullable SchemaDocument document, + String attributeName, + Set visitedTypes) { + VisitedNodeKey visitedNodeKey = new VisitedNodeKey( + document != null ? document.path() : Path.of(""), + System.identityHashCode(simpleType) + ); + if (!visitedTypes.add(visitedNodeKey)) { + return new EnumValues(List.of(), false); + } + + Element restriction = findRestriction(simpleType); + if (restriction != null) { + List values = new ArrayList<>(); + for (Element enumeration : childElements(restriction, "enumeration")) { + String value = enumeration.getAttribute("value"); + if (!value.isEmpty()) { + values.add(value); + } + } + if (!values.isEmpty()) { + return new EnumValues(values, false); + } + } + + Element union = firstChildElement(simpleType, "union"); + if (union == null) { + return new EnumValues(List.of(), false); + } + + LinkedHashSet values = new LinkedHashSet<>(); + boolean allowsFreeForm = false; + String memberTypes = union.getAttribute("memberTypes"); + if (!memberTypes.isBlank() && document != null) { + for (String memberType : memberTypes.trim().split("\\s+")) { + QNameRef qNameRef = registry.resolveQName(memberType, document); + if (XS_NS.equals(qNameRef.namespace()) && "string".equals(qNameRef.localName())) { + allowsFreeForm = true; + continue; + } + DefinitionRef nestedTypeRef = registry.findDefinition(registry.simpleTypeDefinitions, qNameRef); + if (nestedTypeRef != null && nestedTypeRef.element() != null) { + EnumValues nestedValues = resolveEnumValues(nestedTypeRef.element(), nestedTypeRef.document(), + attributeName, visitedTypes); + values.addAll(nestedValues.values()); + allowsFreeForm = allowsFreeForm || nestedValues.allowsFreeForm(); + } + } + } + + for (Element nestedSimpleType : childElements(union, "simpleType")) { + EnumValues nestedValues = resolveEnumValues(nestedSimpleType, document, attributeName, visitedTypes); + values.addAll(nestedValues.values()); + allowsFreeForm = allowsFreeForm || nestedValues.allowsFreeForm(); + } + + return new EnumValues(new ArrayList<>(values), allowsFreeForm); + } + + private @Nullable String inferCategory(String attributeName) { + if (SIZE_NAMES.contains(attributeName)) { + return "SIZE"; + } + if (POSITION_NAMES.contains(attributeName)) { + return "POSITION"; + } + if (LOOK_AND_FEEL_NAMES.contains(attributeName) || attributeName.endsWith("Color")) { + return "LOOK_AND_FEEL"; + } + if (VALIDATION_NAMES.contains(attributeName)) { + return "VALIDATION"; + } + if (Set.of("fetchPlan", "loader", "query").contains(attributeName)) { + return "DATA_BINDING"; + } + if (Set.of("id", "text", "enabled", "visible").contains(attributeName)) { + return "GENERAL"; + } + return null; + } + + private @Nullable String inferXmlnsAlias(SchemaDocument document) { + if (FLOWUI_LAYOUT_NS.equals(document.targetNamespace())) { + return ""; + } + + Path moduleRoot = findModuleRoot(document.path()); + if (moduleRoot == null) { + return null; + } + + Path srcDir = moduleRoot.resolve("src"); + if (!Files.isDirectory(srcDir)) { + return null; + } + + Pattern aliasPattern = Pattern.compile(XMLNS_ALIAS_PATTERN_TEMPLATE.pattern().formatted(Pattern.quote(document.targetNamespace()))); + Pattern defaultPattern = Pattern.compile(XMLNS_DEFAULT_PATTERN_TEMPLATE.pattern().formatted(Pattern.quote(document.targetNamespace()))); + + Map aliases = new HashMap<>(); + boolean defaultNamespaceFound = false; + try { + Files.walk(srcDir) + .filter(path -> Files.isRegularFile(path) && path.toString().endsWith(".xml")) + .forEach(path -> { + if (containsIgnoredDirectory(path)) { + return; + } + try { + String content = Files.readString(path, StandardCharsets.UTF_8); + Matcher aliasMatcher = aliasPattern.matcher(content); + while (aliasMatcher.find()) { + aliases.merge(aliasMatcher.group(1), 1, Integer::sum); + } + if (defaultPattern.matcher(content).find()) { + aliases.putIfAbsent("", 0); + } + } catch (IOException e) { + throw new RuntimeException(e); + } + }); + } catch (RuntimeException e) { + if (e.getCause() instanceof IOException ioException) { + throw new IllegalStateException("Cannot scan XML files for namespace aliases", ioException); + } + throw e; + } catch (IOException e) { + throw new IllegalStateException("Cannot scan XML files for namespace aliases", e); + } + + if (aliases.containsKey("")) { + defaultNamespaceFound = true; + } + aliases.remove(""); + + if (!aliases.isEmpty()) { + return aliases.entrySet().stream() + .max(Map.Entry.comparingByValue()) + .map(Map.Entry::getKey) + .orElse(null); + } + if (defaultNamespaceFound || document.targetNamespace().startsWith("http://jmix.io/schema/flowui/")) { + return ""; + } + return null; + } + + private List buildHeaderTodos(StudioXsdElementCandidate candidate, + StudioMetaKind kind, + @Nullable String xmlns, + @Nullable String xmlnsAlias, + List properties, + List propertyGroups) { + List todos = new ArrayList<>(); + switch (kind) { + case COMPONENT -> + todos.add("Replace Object with the actual component class and fill `classFqn`, `category`, `icon` " + + "and `documentationLink`."); + case ELEMENT -> + todos.add("Fill `classFqn`, `icon`, `target`/`unsupportedTarget` and `documentationLink` after " + + "checking the Java implementation."); + case FACET -> + todos.add("Fill `classFqn`, `category`, `icon` and `documentationLink` after checking the Java " + + "implementation."); + case DATA_COMPONENT -> + todos.add("Fill `classFqn`, `category`, `icon` and `documentationLink` after checking the " + + "Java implementation."); + case ACTION -> + todos.add("Fill `type`, `description`, `classFqn`, `icon` and `documentationLink` after checking " + + "the Java implementation."); + default -> { + } + } + + if (xmlns != null && xmlnsAlias == null && !FLOWUI_LAYOUT_NS.equals(xmlns)) { + todos.add("The tool could not infer `xmlnsAlias`. Review XML samples in the module and set it manually if the " + + "namespace uses a prefix."); + } + if (!candidate.ancestorElements().isEmpty() && Set.of(StudioMetaKind.ELEMENT, StudioMetaKind.ACTION).contains(kind)) { + todos.add("The selected XSD element is nested under `" + + String.join(" / ", candidate.ancestorElements()) + + "`. Verify `target` and nesting semantics manually."); + } + boolean hasPropertyTodos = properties.stream().anyMatch(propertyInfo -> !propertyInfo.comments().isEmpty()); + if (hasPropertyTodos) { + todos.add("Review properties with inline TODO comments. They require manual confirmation."); + } + if (propertyGroups.isEmpty()) { + todos.add("No exact existing `propertyGroups` match was found automatically. Extract a reusable group manually " + + "if this property set repeats elsewhere."); + } + return todos; + } + + private String buildMethodName(StudioXsdElementCandidate candidate, StudioMetaKind kind) { + String base = candidate.elementName(); + if (GENERIC_METHOD_NAMES.contains(candidate.elementName())) { + List contextSource = !candidate.ancestorElements().isEmpty() + ? candidate.ancestorElements() + : candidate.contextNames().subList(0, Math.max(0, candidate.contextNames().size() - 1)); + if (!contextSource.isEmpty()) { + base = contextSource.get(contextSource.size() - 1) + " " + candidate.elementName(); + } + } + + String methodName = toCamelCase(base); + if (kind == StudioMetaKind.ACTION && !methodName.endsWith("Action")) { + methodName += "Action"; + } + return methodName; + } + + private String buildJavaSource(Path outputPath, GeneratedMeta meta, Path selectedXsd) { + String packageName = detectPackageName(outputPath); + String interfaceName = outputPath.getFileName().toString().replaceFirst("\\.java$", ""); + List sourceLines = new ArrayList<>(); + sourceLines.add(""" + /* + * Copyright 2026 Haulmont. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + """.stripTrailing()); + sourceLines.add(""); + sourceLines.add("package " + packageName + ";"); + sourceLines.add(""); + sourceLines.add("import io.jmix.flowui.kit.meta.*;"); + sourceLines.add(""); + sourceLines.add("// Generated from " + relativizeIfPossible(selectedXsd) + "."); + sourceLines.add("// Review all TODO comments before using the generated meta description in production."); + sourceLines.add("@StudioUiKit"); + sourceLines.add("interface " + interfaceName + " {"); + sourceLines.add(""); + sourceLines.addAll(renderAnnotation(meta)); + sourceLines.add("}"); + sourceLines.add(""); + return String.join("\n", sourceLines); + } + + private List renderAnnotation(GeneratedMeta meta) { + String annotationName = switch (meta.kind()) { + case COMPONENT -> "StudioComponent"; + case ELEMENT -> "StudioElement"; + case ACTION -> "StudioAction"; + case FACET -> "StudioFacet"; + case DATA_COMPONENT -> "StudioDataComponent"; + default -> throw new IllegalStateException("Unexpected value: " + meta.kind()); + }; + + List lines = new ArrayList<>(); + if (meta.kindComment() != null) { + lines.add(" // TODO " + meta.kindComment()); + } + for (String todo : meta.headerTodos()) { + lines.add(" // TODO " + todo); + } + if (!meta.childElements().isEmpty()) { + lines.add(" // TODO XSD declares child elements: " + + String.join(", ", meta.childElements()) + + ". Generate nested meta descriptions if needed."); + } + if (meta.supportsAnyChildren()) { + lines.add(" // TODO The XSD also allows arbitrary nested elements via . Review available children manually."); + } + + lines.add(" @" + annotationName + "("); + List> argumentBlocks = new ArrayList<>(); + argumentBlocks.add(List.of(" name = " + javaQuote(meta.name()))); + argumentBlocks.add(List.of(" xmlElement = " + javaQuote(meta.xmlElement()))); + if (meta.xmlns() != null) { + argumentBlocks.add(List.of(" xmlns = " + javaQuote(meta.xmlns()))); + } + if (meta.xmlnsAlias() != null && !meta.xmlnsAlias().isEmpty()) { + argumentBlocks.add(List.of(" xmlnsAlias = " + javaQuote(meta.xmlnsAlias()))); + } + + if (!meta.propertyGroups().isEmpty()) { + List propertyGroupsBlock = new ArrayList<>(); + propertyGroupsBlock.add(" propertyGroups = {"); + for (String propertyGroup : meta.propertyGroups()) { + propertyGroupsBlock.add(" " + propertyGroup + ".class,"); + } + int lastIndex = propertyGroupsBlock.size() - 1; + propertyGroupsBlock.set(lastIndex, propertyGroupsBlock.get(lastIndex).replaceFirst(",$", "")); + propertyGroupsBlock.add(" }"); + argumentBlocks.add(propertyGroupsBlock); + } + + List propertiesBlock = new ArrayList<>(); + propertiesBlock.add(" properties = {"); + if (!meta.properties().isEmpty()) { + for (PropertyInfo property : meta.properties()) { + List renderedProperty = renderProperty(property); + for (int i = renderedProperty.size() - 1; i >= 0; i--) { + if (renderedProperty.get(i).stripLeading().startsWith("@StudioProperty")) { + renderedProperty.set(i, renderedProperty.get(i) + ","); + break; + } + } + propertiesBlock.addAll(renderedProperty); + } + } else { + propertiesBlock.add(" // TODO No XML attributes were discovered for this element."); + } + propertiesBlock.add(" }"); + argumentBlocks.add(propertiesBlock); + + for (int index = 0; index < argumentBlocks.size(); index++) { + List block = argumentBlocks.get(index); + boolean last = index == argumentBlocks.size() - 1; + if (block.size() == 1) { + lines.add(block.get(0) + (last ? "" : ",")); + continue; + } + lines.addAll(block.subList(0, block.size() - 1)); + lines.add(block.get(block.size() - 1) + (last ? "" : ",")); + } + lines.add(" )"); + lines.add(" " + meta.methodReturnType() + " " + meta.methodName() + "();"); + return lines; + } + + private List renderProperty(PropertyInfo propertyInfo) { + List lines = new ArrayList<>(); + for (String comment : propertyInfo.comments()) { + lines.add(" // TODO " + comment); + } + + List arguments = new ArrayList<>(); + arguments.add("xmlAttribute = " + javaQuote(propertyInfo.xmlAttribute())); + if (propertyInfo.category() != null) { + arguments.add("category = StudioProperty.Category." + propertyInfo.category()); + } + arguments.add("type = StudioPropertyType." + propertyInfo.studioType()); + if (propertyInfo.required()) { + arguments.add("required = true"); + } + if (propertyInfo.defaultValue() != null) { + arguments.add("defaultValue = " + javaQuote(propertyInfo.defaultValue())); + } + if (!propertyInfo.options().isEmpty()) { + List quotedOptions = propertyInfo.options().stream() + .map(StudioMetaDescriptionGenerator::javaQuote) + .toList(); + arguments.add("options = {" + String.join(", ", quotedOptions) + "}"); + } + lines.add(" @StudioProperty(" + String.join(", ", arguments) + ")"); + return lines; + } + + private String buildUpdatedSourceForExistingFile(Path outputPath, List generatedBlock) { + try { + String original = Files.readString(outputPath, StandardCharsets.UTF_8); + return buildUpdatedSourceForExistingFile(original, outputPath, generatedBlock); + } catch (IOException e) { + throw new IllegalStateException("Cannot update " + outputPath, e); + } + } + + private String buildUpdatedSourceForExistingFile(String original, Path outputPath, List generatedBlock) { + return appendGeneratedBlock(original, outputPath, generatedBlock); + } + + private String appendGeneratedBlock(String original, Path outputPath, List generatedBlock) { + if (!original.contains("@StudioUiKit")) { + throw new IllegalArgumentException(outputPath + " does not look like a Studio meta file. Create a new file instead."); + } + + String updated = original; + if (!updated.contains("import io.jmix.flowui.kit.meta.*;")) { + Matcher packageMatcher = Pattern.compile("^package\\s+[^;]+;\\R", Pattern.MULTILINE).matcher(updated); + if (packageMatcher.find()) { + int insertIndex = packageMatcher.end(); + updated = updated.substring(0, insertIndex) + + "\nimport io.jmix.flowui.kit.meta.*;\n" + + updated.substring(insertIndex); + } + } + + int lastBraceIndex = updated.lastIndexOf('}'); + if (lastBraceIndex < 0) { + throw new IllegalArgumentException("Cannot append generated block to " + outputPath + + ": interface closing brace was not found."); + } + + String block = "\n" + String.join("\n", generatedBlock) + "\n"; + updated = updated.substring(0, lastBraceIndex).stripTrailing() + + "\n\n" + + block + + updated.substring(lastBraceIndex); + return updated; + } + + private String ensureUniqueMethodName(Path outputPath, String methodName) { + if (!Files.exists(outputPath)) { + return methodName; + } + try { + String content = Files.readString(outputPath, StandardCharsets.UTF_8); + Pattern methodPattern = Pattern.compile("\\b" + Pattern.quote(methodName) + "\\s*\\("); + if (methodPattern.matcher(content).find()) { + return methodName + "Generated"; + } + return methodName; + } catch (IOException e) { + throw new IllegalStateException("Cannot read " + outputPath + " to verify method name uniqueness", e); + } + } + + private Path resolveAbsolutePath(Path path) { + if (path.isAbsolute()) { + return path.normalize(); + } + return Path.of("").toAbsolutePath().resolve(path).normalize(); + } + + private static boolean containsActionContext(StudioXsdElementCandidate candidate) { + return candidate.contextNames().stream().anyMatch(name -> + name.endsWith("Actions") + || name.endsWith("Action") + || "viewActions".equals(name) + || "actions".equals(name) + ) || candidate.ancestorElements().contains("actions"); + } + + private static boolean containsContextName(StudioXsdElementCandidate candidate, String value) { + return candidate.contextNames().contains(value) || candidate.ancestorElements().contains(value); + } + + private static boolean containsIgnoredDirectory(Path path) { + for (Path part : path) { + if (IGNORED_DIRS.contains(part.toString())) { + return true; + } + } + return false; + } + + private static @Nullable Path findModuleRoot(Path schemaPath) { + Path current = schemaPath.toAbsolutePath().normalize(); + for (int i = 0; i < current.getNameCount(); i++) { + if ("src".equals(current.getName(i).toString())) { + return current.getRoot() != null + ? current.getRoot().resolve(current.subpath(0, i)) + : current.subpath(0, i); + } + } + return null; + } + + private static String detectBasePackage(Path moduleRoot, Path schemaPath) { + Path javaRoot = moduleRoot.resolve("src/main/java"); + List packages = new ArrayList<>(); + if (Files.isDirectory(javaRoot)) { + try { + Files.walk(javaRoot) + .filter(path -> Files.isRegularFile(path) && path.toString().endsWith(".java")) + .forEach(path -> readJavaPackage(path).ifPresent(packages::add)); + } catch (IOException e) { + throw new IllegalStateException("Cannot scan Java packages in " + javaRoot, e); + } + } + + String commonPackagePrefix = commonPackagePrefix(packages); + if (!commonPackagePrefix.isEmpty()) { + return commonPackagePrefix; + } + + Path resourceRoot = moduleRoot.resolve("src/main/resources"); + if (!schemaPath.normalize().startsWith(resourceRoot.normalize())) { + return "io.jmix.generated"; + } + + Path relativePath = resourceRoot.relativize(schemaPath.normalize()); + List packageParts = new ArrayList<>(); + for (int i = 0; i < relativePath.getNameCount() - 1; i++) { + String part = relativePath.getName(i).toString(); + if (!part.matches("[A-Za-z_][A-Za-z0-9_]*")) { + break; + } + packageParts.add(part); + } + return packageParts.isEmpty() ? "io.jmix.generated" : String.join(".", packageParts); + } + + private static Optional readJavaPackage(Path javaFile) { + try { + for (String line : Files.readAllLines(javaFile, StandardCharsets.UTF_8)) { + Matcher matcher = JAVA_PACKAGE_PATTERN.matcher(line); + if (matcher.matches()) { + return Optional.of(matcher.group(1)); + } + } + } catch (IOException e) { + throw new IllegalStateException("Cannot read " + javaFile, e); + } + return Optional.empty(); + } + + private static String commonPackagePrefix(List packages) { + if (packages.isEmpty()) { + return ""; + } + + List prefix = new ArrayList<>(List.of(packages.get(0).split("\\."))); + for (int i = 1; i < packages.size() && !prefix.isEmpty(); i++) { + List current = List.of(packages.get(i).split("\\.")); + int commonLength = Math.min(prefix.size(), current.size()); + int index = 0; + while (index < commonLength && prefix.get(index).equals(current.get(index))) { + index++; + } + prefix = new ArrayList<>(prefix.subList(0, index)); + } + return String.join(".", prefix); + } + + private String detectPackageName(Path outputPath) { + if (Files.exists(outputPath)) { + Optional existingPackage = readJavaPackage(outputPath); + if (existingPackage.isPresent()) { + return existingPackage.get(); + } + } + + List parts = new ArrayList<>(); + for (int i = 0; i < outputPath.getNameCount(); i++) { + if ("java".equals(outputPath.getName(i).toString())) { + for (int j = i + 1; j < outputPath.getNameCount() - 1; j++) { + parts.add(outputPath.getName(j).toString()); + } + break; + } + } + return parts.isEmpty() ? "io.jmix.generated" : String.join(".", parts); + } + + private String relativizeIfPossible(Path path) { + Path normalized = path.toAbsolutePath().normalize(); + if (normalized.startsWith(schemaSearchRoot)) { + return schemaSearchRoot.relativize(normalized).toString().replace('\\', '/'); + } + return normalized.toString(); + } + + private static @Nullable String firstNonEmptyOrNull(String... values) { + for (String value : values) { + if (!value.isEmpty()) { + return value; + } + } + return null; + } + + private static String javaQuote(String value) { + return "\"" + value + .replace("\\", "\\\\") + .replace("\"", "\\\"") + .replace("\n", "\\n") + .replace("\r", "\\r") + .replace("\t", "\\t") + "\""; + } + + private static String toPascalCase(String value) { + StringBuilder result = new StringBuilder(); + for (String part : splitWords(value)) { + if (part.isEmpty()) { + continue; + } + result.append(Character.toUpperCase(part.charAt(0))); + if (part.length() > 1) { + result.append(part.substring(1)); + } + } + return result.toString(); + } + + private static String toCamelCase(String value) { + List parts = splitWords(value); + if (parts.isEmpty()) { + return "generatedMeta"; + } + StringBuilder result = new StringBuilder(); + String firstPart = parts.get(0); + result.append(Character.toLowerCase(firstPart.charAt(0))); + if (firstPart.length() > 1) { + result.append(firstPart.substring(1)); + } + for (int i = 1; i < parts.size(); i++) { + String part = parts.get(i); + result.append(Character.toUpperCase(part.charAt(0))); + if (part.length() > 1) { + result.append(part.substring(1)); + } + } + String candidate = result.toString(); + return switch (candidate) { + case "class", "default", "enum", "public", "switch" -> candidate + "Value"; + default -> candidate; + }; + } + + private static List splitWords(String value) { + String normalized = value + .replace('-', ' ') + .replace('_', ' ') + .replace('.', ' ') + .replace(':', ' ') + .replace('/', ' '); + normalized = normalized.replaceAll("(?<=[a-z0-9])(?=[A-Z])", " "); + normalized = normalized.replaceAll("(?<=[A-Z])(?=[A-Z][a-z])", " "); + String[] parts = normalized.trim().split("\\s+"); + List result = new ArrayList<>(); + for (String part : parts) { + if (!part.isBlank()) { + result.add(part); + } + } + return result; + } + + private static String localName(Node node) { + String localName = node.getLocalName(); + return localName != null ? localName : node.getNodeName(); + } + + private static @Nullable Element firstChildElement(Element element, String childLocalName) { + NodeList childNodes = element.getChildNodes(); + for (int i = 0; i < childNodes.getLength(); i++) { + Node child = childNodes.item(i); + if (child.getNodeType() == Node.ELEMENT_NODE && childLocalName.equals(localName(child))) { + return (Element) child; + } + } + return null; + } + + private static List childElements(Element element) { + List children = new ArrayList<>(); + NodeList childNodes = element.getChildNodes(); + for (int i = 0; i < childNodes.getLength(); i++) { + Node child = childNodes.item(i); + if (child.getNodeType() == Node.ELEMENT_NODE) { + children.add((Element) child); + } + } + return children; + } + + private static List childElements(Element element, String childLocalName) { + List children = new ArrayList<>(); + for (Element child : childElements(element)) { + if (childLocalName.equals(localName(child))) { + children.add(child); + } + } + return children; + } + + private record DefinitionKey(String namespace, String localName) { + } + + private record QNameRef(@Nullable String namespace, String localName) { + } + + static final class SchemaDocument { + private final Path path; + private final String targetNamespace; + private final Map namespaceMap; + private final Document document; + private final Element root; + private final Map parentMap; + + private SchemaDocument(Path path, + String targetNamespace, + Map namespaceMap, + Document document, + Element root, + Map parentMap) { + this.path = path; + this.targetNamespace = targetNamespace; + this.namespaceMap = namespaceMap; + this.document = document; + this.root = root; + this.parentMap = parentMap; + } + + Path path() { + return path; + } + + String targetNamespace() { + return targetNamespace; + } + + Map namespaceMap() { + return namespaceMap; + } + + Document document() { + return document; + } + + Element root() { + return root; + } + + Map parentMap() { + return parentMap; + } + } + + private record DefinitionRef(SchemaDocument document, @Nullable Element element, @Nullable QNameRef qName) { + private DefinitionRef(SchemaDocument document, @Nullable Element element) { + this(document, element, null); + } + + } + + private record ResolvedType(@Nullable DefinitionRef ref, @Nullable String kind) { + } + + private record AttributeInfo(String xmlAttribute, + boolean required, + @Nullable String defaultValue, + @Nullable QNameRef typeQName, + @Nullable Element inlineSimpleType, + SchemaDocument sourceDocument, + List comments) { + } + + private record PropertyInfo(String xmlAttribute, + String studioType, + @Nullable String category, + boolean required, + @Nullable String defaultValue, + List options, + List comments) { + } + + private record ChildrenInfo(List childElements, boolean supportsAnyChildren) { + } + + private record EnumValues(List values, boolean allowsFreeForm) { + } + + private record KindInfo(StudioMetaKind kind, @Nullable String kindComment) { + } + + private record VisitedNodeKey(Path path, int identityHash) { + } + + private record GeneratedMeta(StudioMetaKind kind, + @Nullable String kindComment, + String name, + String xmlElement, + @Nullable String xmlns, + @Nullable String xmlnsAlias, + List headerTodos, + List propertyGroups, + List properties, + List childElements, + boolean supportsAnyChildren, + String methodName, + String methodReturnType) { + + private GeneratedMeta withMethodName(String methodName) { + return new GeneratedMeta(kind, kindComment, name, xmlElement, xmlns, xmlnsAlias, headerTodos, + propertyGroups, properties, childElements, supportsAnyChildren, methodName, methodReturnType); + } + } + + private static final class XsdRegistry { + + private final Path schemaSearchRoot; + private final Map documents = new HashMap<>(); + private final Map> elementDefinitions = new HashMap<>(); + private final Map> complexTypeDefinitions = new HashMap<>(); + private final Map> simpleTypeDefinitions = new HashMap<>(); + private final Map> attributeGroupDefinitions = new HashMap<>(); + private final Map> attributeDefinitions = new HashMap<>(); + private final Map> groupDefinitions = new HashMap<>(); + + private XsdRegistry(Path schemaSearchRoot) { + this.schemaSearchRoot = schemaSearchRoot; + } + + private List discoverSchemas() { + List schemas = new ArrayList<>(); + FileVisitor visitor = new SimpleFileVisitor<>() { + @Override + public FileVisitResult preVisitDirectory(Path dir, BasicFileAttributes attrs) { + if (!dir.equals(schemaSearchRoot) && IGNORED_DIRS.contains(dir.getFileName().toString())) { + return FileVisitResult.SKIP_SUBTREE; + } + return FileVisitResult.CONTINUE; + } + + @Override + public FileVisitResult visitFile(Path file, BasicFileAttributes attrs) { + if (file.toString().endsWith(".xsd")) { + schemas.add(file.toAbsolutePath().normalize()); + } + return FileVisitResult.CONTINUE; + } + }; + + try { + Files.walkFileTree(schemaSearchRoot, EnumSet.noneOf(FileVisitOption.class), Integer.MAX_VALUE, visitor); + } catch (IOException e) { + throw new IllegalStateException("Cannot discover XSD files under " + schemaSearchRoot, e); + } + + schemas.sort(Comparator.naturalOrder()); + for (Path schema : schemas) { + loadDocument(schema); + } + return schemas; + } + + private List findCandidates(Path schemaPath, String elementIdentifier) { + SchemaDocument document = loadDocument(schemaPath); + List candidates = new ArrayList<>(); + for (Element element : allElements(document.document())) { + if (!XS_NS.equals(element.getNamespaceURI()) || !"element".equals(localName(element))) { + continue; + } + if (!elementIdentifier.equalsIgnoreCase(element.getAttribute("name"))) { + continue; + } + + List ancestorElements = collectAncestorElements(document, element); + List contextNames = collectContextNames(document, element); + boolean nested = document.parentMap().get(element) != document.root(); + String kind = nested ? "nested" : "global"; + String description = String.join("/", contextNames) + + " (" + kind + ", " + relativize(schemaSearchRoot, schemaPath) + ")"; + candidates.add(new StudioXsdElementCandidate( + document.path(), + element.getAttribute("name"), + nested, + ancestorElements, + contextNames, + description, + document, + element + )); + } + return candidates; + } + + private SchemaDocument loadDocument(Path schemaPath) { + Path normalizedPath = schemaPath.toAbsolutePath().normalize(); + SchemaDocument existing = documents.get(normalizedPath); + if (existing != null) { + return existing; + } + + try { + DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance(); + factory.setNamespaceAware(true); + Document document = factory.newDocumentBuilder().parse(normalizedPath.toFile()); + Element root = document.getDocumentElement(); + Map namespaceMap = extractNamespaces(root); + Map parentMap = buildParentMap(root); + + SchemaDocument schemaDocument = new SchemaDocument( + normalizedPath, + root.getAttribute("targetNamespace"), + namespaceMap, + document, + root, + parentMap + ); + documents.put(normalizedPath, schemaDocument); + indexDocument(schemaDocument); + return schemaDocument; + } catch (Exception e) { + throw new IllegalStateException("Cannot parse XSD document " + normalizedPath, e); + } + } + + private void indexDocument(SchemaDocument document) { + for (Element child : childElements(document.root())) { + String name = child.getAttribute("name"); + if (name.isEmpty()) { + continue; + } + DefinitionRef definitionRef = new DefinitionRef(document, child); + DefinitionKey definitionKey = new DefinitionKey(document.targetNamespace(), name); + switch (localName(child)) { + case "element" -> + elementDefinitions.computeIfAbsent(definitionKey, key -> new ArrayList<>()).add(definitionRef); + case "complexType" -> + complexTypeDefinitions.computeIfAbsent(definitionKey, key -> new ArrayList<>()).add(definitionRef); + case "simpleType" -> + simpleTypeDefinitions.computeIfAbsent(definitionKey, key -> new ArrayList<>()).add(definitionRef); + case "attributeGroup" -> + attributeGroupDefinitions.computeIfAbsent(definitionKey, key -> new ArrayList<>()).add(definitionRef); + case "attribute" -> + attributeDefinitions.computeIfAbsent(definitionKey, key -> new ArrayList<>()).add(definitionRef); + case "group" -> + groupDefinitions.computeIfAbsent(definitionKey, key -> new ArrayList<>()).add(definitionRef); + default -> { + } + } + } + } + + private QNameRef resolveQName(String qName, SchemaDocument document) { + if (qName.contains(":")) { + String[] split = qName.split(":", 2); + return new QNameRef(document.namespaceMap().get(split[0]), split[1]); + } + if (BUILTIN_TYPE_MAP.containsKey(qName)) { + return new QNameRef(XS_NS, qName); + } + return new QNameRef(document.targetNamespace(), qName); + } + + private @Nullable DefinitionRef findDefinition(Map> index, QNameRef qName) { + assert qName.namespace() != null : "Namespace cannot be null for QNameRef: " + qName; + List definitions = index.get(new DefinitionKey(qName.namespace(), qName.localName())); + return definitions == null || definitions.isEmpty() ? null : definitions.get(0); + } + + private Map extractNamespaces(Element root) { + Map namespaces = new HashMap<>(); + NamedNodeMap attributes = root.getAttributes(); + for (int i = 0; i < attributes.getLength(); i++) { + Attr attribute = (Attr) attributes.item(i); + String attributeName = attribute.getName(); + if ("xmlns".equals(attributeName)) { + namespaces.put("", attribute.getValue()); + } else if (attributeName.startsWith("xmlns:")) { + namespaces.put(attributeName.substring("xmlns:".length()), attribute.getValue()); + } + } + return namespaces; + } + + private Map buildParentMap(Element root) { + Map parentMap = new IdentityHashMap<>(); + ArrayDeque stack = new ArrayDeque<>(); + stack.push(root); + while (!stack.isEmpty()) { + Element current = stack.pop(); + for (Element child : childElements(current)) { + parentMap.put(child, current); + stack.push(child); + } + } + return parentMap; + } + + private List allElements(Document document) { + List elements = new ArrayList<>(); + ArrayDeque stack = new ArrayDeque<>(); + stack.push(document.getDocumentElement()); + while (!stack.isEmpty()) { + Element current = stack.pop(); + elements.add(current); + List children = childElements(current); + for (int i = children.size() - 1; i >= 0; i--) { + stack.push(children.get(i)); + } + } + return elements; + } + + private List collectAncestorElements(SchemaDocument document, Element element) { + List ancestorElements = new ArrayList<>(); + Element current = element; + while (document.parentMap().containsKey(current)) { + current = document.parentMap().get(current); + if ("element".equals(localName(current)) && current.hasAttribute("name")) { + ancestorElements.add(current.getAttribute("name")); + } + } + Collections.reverse(ancestorElements); + return ancestorElements; + } + + private List collectContextNames(SchemaDocument document, Element element) { + List contextNames = new ArrayList<>(); + Element current = element; + while (true) { + if (Set.of("element", "complexType").contains(localName(current)) && current.hasAttribute("name")) { + contextNames.add(current.getAttribute("name")); + } + Element parent = document.parentMap().get(current); + if (parent == null) { + break; + } + current = parent; + } + Collections.reverse(contextNames); + return contextNames; + } + + private String relativize(Path base, Path path) { + Path normalizedPath = path.toAbsolutePath().normalize(); + if (normalizedPath.startsWith(base.toAbsolutePath().normalize())) { + return base.toAbsolutePath().normalize().relativize(normalizedPath).toString().replace('\\', '/'); + } + return normalizedPath.toString(); + } + } + + static final class Cli { + + public static void main(String[] args) throws Exception { + CliArguments cliArguments = CliArguments.parse(args); + Path workspaceRoot = resolvePath(cliArguments.root()); + StudioMetaDescriptionGenerator generator = new StudioMetaDescriptionGenerator(workspaceRoot); + + if (cliArguments.listSchemas()) { + for (Path schema : generator.findKnownSchemas()) { + System.out.println(workspaceRoot.relativize(schema).toString().replace('\\', '/')); + } + return; + } + + BufferedReader reader = new BufferedReader(new InputStreamReader(System.in)); + Path schemaPath = resolvePath(cliArguments.xsd()); + String elementIdentifier = cliArguments.element(); + StudioXsdElementCandidate candidate = chooseCandidate(generator, schemaPath, elementIdentifier, reader); + Path outputPath = resolvePath(cliArguments.output()); + + StudioMetaGenerationResult result = generator.write(candidate, cliArguments.kind(), outputPath); + System.out.println("Generated meta description in " + result.outputPath()); + if (!result.todos().isEmpty()) { + System.out.println("Review TODO comments before finalizing the file."); + } + } + + private static StudioXsdElementCandidate chooseCandidate(StudioMetaDescriptionGenerator generator, + Path schemaPath, + String elementIdentifier, + BufferedReader reader) throws IOException { + List candidates = generator.findElementCandidates(schemaPath, elementIdentifier); + while (candidates.isEmpty()) { + System.out.printf("No XSD element \"%s\" was found in %s.%n", elementIdentifier, schemaPath); + elementIdentifier = prompt(reader, "Enter another element identifier", null); + candidates = generator.findElementCandidates(schemaPath, elementIdentifier); + } + + if (candidates.size() == 1) { + return candidates.get(0); + } + + System.out.printf("Multiple XSD elements named \"%s\" were found:%n", elementIdentifier); + for (int i = 0; i < candidates.size(); i++) { + System.out.printf("%2d. %s%n", i + 1, candidates.get(i).description()); + } + + while (true) { + String rawValue = prompt(reader, "Choose the exact element by number", null); + if (rawValue.matches("\\d+")) { + int index = Integer.parseInt(rawValue); + if (index >= 1 && index <= candidates.size()) { + return candidates.get(index - 1); + } + } + System.out.println("Invalid element selection."); + } + } + + private static String prompt(BufferedReader reader, String message, @Nullable String defaultValue) throws IOException { + while (true) { + String suffix = defaultValue != null ? " [" + defaultValue + "]" : ""; + System.out.print(message + suffix + ": "); + String value = reader.readLine(); + if (value == null) { + throw new IOException("Input stream was closed."); + } + value = value.trim(); + if (!value.isEmpty()) { + return value; + } + if (defaultValue != null) { + return defaultValue; + } + } + } + + private static Path resolveOutputPath(String outputValue) { + return resolvePath(outputValue); + } + + private static Path resolvePath(String pathValue) { + Path path = Path.of(pathValue); + if (!path.isAbsolute()) { + return Path.of("").toAbsolutePath().resolve(path).normalize(); + } + return path.normalize(); + } + + private record CliArguments(String xsd, + String element, + String output, + String root, + StudioMetaKind kind, + boolean listSchemas) { + + private static CliArguments parse(String[] args) { + String xsd = null; + String element = null; + String output = null; + String root = null; + StudioMetaKind kind = StudioMetaKind.AUTO; + boolean listSchemas = false; + + for (int i = 0; i < args.length; i++) { + String current = args[i]; + switch (current) { + case "--xsd" -> xsd = requireValue(args, ++i, current); + case "--element" -> element = requireValue(args, ++i, current); + case "--output" -> output = requireValue(args, ++i, current); + case "--root" -> root = requireValue(args, ++i, current); + case "--kind" -> kind = parseKind(requireValue(args, ++i, current)); + case "--list-schemas" -> listSchemas = true; + default -> throw new IllegalArgumentException("Unknown argument: " + current); + } + } + + assert root != null : "Root directory is required"; + if (!listSchemas) { + assert xsd != null : "XSD file is required"; + assert element != null : "Element identifier is required"; + assert output != null : "Output path is required"; + } + + return new CliArguments(xsd, element, output, root, kind, listSchemas); + } + + private static String requireValue(String[] args, int index, String option) { + if (index >= args.length) { + throw new IllegalArgumentException("Missing value for " + option); + } + return args[index]; + } + + private static StudioMetaKind parseKind(String rawKind) { + return switch (rawKind) { + case "auto" -> StudioMetaKind.AUTO; + case "component" -> StudioMetaKind.COMPONENT; + case "element" -> StudioMetaKind.ELEMENT; + case "action" -> StudioMetaKind.ACTION; + case "facet" -> StudioMetaKind.FACET; + case "data-component", "data_component" -> StudioMetaKind.DATA_COMPONENT; + default -> throw new IllegalArgumentException("Unknown --kind value: " + rawKind); + }; + } + } + } +} diff --git a/jmix-flowui/flowui-kit/src/main/java/io/jmix/flowui/kit/meta/generator/StudioMetaGenerationResult.java b/jmix-flowui/flowui-kit/src/main/java/io/jmix/flowui/kit/meta/generator/StudioMetaGenerationResult.java new file mode 100644 index 0000000000..8a45830957 --- /dev/null +++ b/jmix-flowui/flowui-kit/src/main/java/io/jmix/flowui/kit/meta/generator/StudioMetaGenerationResult.java @@ -0,0 +1,28 @@ +/* + * Copyright 2026 Haulmont. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package io.jmix.flowui.kit.meta.generator; + +import java.nio.file.Path; +import java.util.List; + +record StudioMetaGenerationResult( + Path outputPath, + String source, + StudioMetaKind generatedKind, + List todos +) { +} diff --git a/jmix-flowui/flowui-kit/src/main/java/io/jmix/flowui/kit/meta/generator/StudioMetaKind.java b/jmix-flowui/flowui-kit/src/main/java/io/jmix/flowui/kit/meta/generator/StudioMetaKind.java new file mode 100644 index 0000000000..f038590d2b --- /dev/null +++ b/jmix-flowui/flowui-kit/src/main/java/io/jmix/flowui/kit/meta/generator/StudioMetaKind.java @@ -0,0 +1,26 @@ +/* + * Copyright 2026 Haulmont. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package io.jmix.flowui.kit.meta.generator; + +enum StudioMetaKind { + AUTO, + COMPONENT, + ELEMENT, + ACTION, + FACET, + DATA_COMPONENT +} diff --git a/jmix-flowui/flowui-kit/src/main/java/io/jmix/flowui/kit/meta/generator/StudioPropertyGroupsMatcher.java b/jmix-flowui/flowui-kit/src/main/java/io/jmix/flowui/kit/meta/generator/StudioPropertyGroupsMatcher.java new file mode 100644 index 0000000000..d2e4be846e --- /dev/null +++ b/jmix-flowui/flowui-kit/src/main/java/io/jmix/flowui/kit/meta/generator/StudioPropertyGroupsMatcher.java @@ -0,0 +1,801 @@ +/* + * Copyright 2026 Haulmont. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package io.jmix.flowui.kit.meta.generator; + +import jakarta.annotation.Nullable; + +import java.io.IOException; +import java.nio.charset.StandardCharsets; +import java.nio.file.FileVisitResult; +import java.nio.file.FileVisitor; +import java.nio.file.Files; +import java.nio.file.Path; +import java.nio.file.SimpleFileVisitor; +import java.nio.file.attribute.BasicFileAttributes; +import java.util.ArrayDeque; +import java.util.ArrayList; +import java.util.BitSet; +import java.util.Deque; +import java.util.HashMap; +import java.util.HashSet; +import java.util.LinkedHashMap; +import java.util.LinkedHashSet; +import java.util.List; +import java.util.Map; +import java.util.Objects; +import java.util.Set; +import java.util.regex.Matcher; +import java.util.regex.Pattern; + +final class StudioPropertyGroupsMatcher { + + private static final Set IGNORED_DIRS = Set.of(".git", ".gradle", ".idea", "build", "out"); + private static final String STUDIO_PROPERTY_GROUP_ANNOTATION = "@StudioPropertyGroup"; + private static final String STUDIO_PROPERTY_ANNOTATION = "@StudioProperty"; + private static final Pattern PACKAGE_PATTERN = Pattern.compile("\\bpackage\\s+([A-Za-z_][A-Za-z0-9_.]*)\\s*;"); + private static final Pattern IMPORT_PATTERN = Pattern.compile("\\bimport\\s+([A-Za-z_][A-Za-z0-9_.*]*)\\s*;"); + private static final Pattern INTERFACE_PATTERN = Pattern.compile( + "(?:public\\s+)?(?:static\\s+)?interface\\s+([A-Za-z_][A-Za-z0-9_]*)" + + "(?:\\s+extends\\s+([^\\{]+))?\\s*\\{" + ); + + private final Path workspaceRoot; + private final List scanRoots; + + private @Nullable Map groupDefinitions; + private @Nullable Map> flattenedProperties; + + StudioPropertyGroupsMatcher(Path workspaceRoot) { + this.workspaceRoot = workspaceRoot.toAbsolutePath().normalize(); + this.scanRoots = detectScanRoots(this.workspaceRoot); + } + + List findMatchingGroupFqns(List generatedProperties, + @Nullable Path preferredModuleRoot) { + if (generatedProperties.isEmpty()) { + return List.of(); + } + + Map definitions = getGroupDefinitions(); + Map> flattened = getFlattenedProperties(); + List candidates = new ArrayList<>(); + + for (GroupDefinition definition : definitions.values()) { + List groupProperties = flattened.get(definition.fqn()); + if (groupProperties == null || groupProperties.isEmpty()) { + continue; + } + + BitSet coverage = findCoverage(groupProperties, generatedProperties); + if (coverage == null || coverage.isEmpty()) { + continue; + } + + candidates.add(new GroupCandidate( + definition.fqn(), + definition.moduleRoot(), + !definition.parentGroupFqns().isEmpty(), + groupProperties.size(), + coverage + )); + } + + return selectGroups(candidates, preferredModuleRoot); + } + + private Map getGroupDefinitions() { + if (groupDefinitions == null) { + groupDefinitions = loadGroupDefinitions(); + } + return groupDefinitions; + } + + private Map> getFlattenedProperties() { + if (flattenedProperties == null) { + flattenedProperties = flattenGroups(getGroupDefinitions()); + } + return flattenedProperties; + } + + private Map loadGroupDefinitions() { + Map definitions = new LinkedHashMap<>(); + + for (Path scanRoot : scanRoots) { + if (!Files.isDirectory(scanRoot)) { + continue; + } + + FileVisitor visitor = new SimpleFileVisitor<>() { + @Override + public FileVisitResult preVisitDirectory(Path dir, BasicFileAttributes attrs) { + if (!dir.equals(scanRoot) && IGNORED_DIRS.contains(dir.getFileName().toString())) { + return FileVisitResult.SKIP_SUBTREE; + } + return FileVisitResult.CONTINUE; + } + + @Override + public FileVisitResult visitFile(Path file, BasicFileAttributes attrs) throws IOException { + if (!file.toString().endsWith(".java")) { + return FileVisitResult.CONTINUE; + } + + String source = Files.readString(file, StandardCharsets.UTF_8); + if (!source.contains(STUDIO_PROPERTY_GROUP_ANNOTATION)) { + return FileVisitResult.CONTINUE; + } + + parseGroupDefinitions(file, source).forEach(definition -> definitions.put(definition.fqn(), definition)); + return FileVisitResult.CONTINUE; + } + }; + + try { + Files.walkFileTree(scanRoot, visitor); + } catch (IOException e) { + throw new IllegalStateException("Cannot scan property group definitions under " + scanRoot, e); + } + } + + return definitions; + } + + private List parseGroupDefinitions(Path sourceFile, String source) { + String strippedSource = stripComments(source); + String packageName = parsePackageName(strippedSource); + if (packageName == null) { + return List.of(); + } + + String outerClassName = sourceFile.getFileName().toString().replaceFirst("\\.java$", ""); + ImportContext importContext = parseImports(strippedSource); + List definitions = new ArrayList<>(); + + int currentIndex = 0; + while (true) { + int annotationIndex = strippedSource.indexOf(STUDIO_PROPERTY_GROUP_ANNOTATION, currentIndex); + if (annotationIndex < 0) { + break; + } + + AnnotationParseResult annotation = parseAnnotation(strippedSource, annotationIndex, STUDIO_PROPERTY_GROUP_ANNOTATION); + Matcher matcher = INTERFACE_PATTERN.matcher(strippedSource); + matcher.region(annotation.endIndex(), strippedSource.length()); + if (!matcher.find()) { + break; + } + + String interfaceName = matcher.group(1); + String extendsClause = matcher.group(2); + List parentGroups = parseParentGroups(extendsClause, packageName, outerClassName, importContext); + List directProperties = parseGroupProperties(annotation.content()); + + definitions.add(new GroupDefinition( + packageName + "." + outerClassName + "." + interfaceName, + sourceFile, + detectModuleRoot(sourceFile), + parentGroups, + directProperties + )); + + currentIndex = matcher.end(); + } + + return definitions; + } + + private Map> flattenGroups(Map definitions) { + Map> flattened = new LinkedHashMap<>(); + for (GroupDefinition definition : definitions.values()) { + List properties = flattenGroup(definition.fqn(), definitions, flattened, new HashSet<>()); + if (properties != null) { + flattened.put(definition.fqn(), properties); + } + } + return flattened; + } + + private @Nullable List flattenGroup(String fqn, + Map definitions, + Map> cache, + Set visiting) { + List cached = cache.get(fqn); + if (cached != null) { + return cached; + } + + GroupDefinition definition = definitions.get(fqn); + if (definition == null || !visiting.add(fqn)) { + return null; + } + + List properties = new ArrayList<>(); + for (String parentFqn : definition.parentGroupFqns()) { + List parentProperties = flattenGroup(parentFqn, definitions, cache, visiting); + if (parentProperties == null) { + visiting.remove(fqn); + return null; + } + properties.addAll(parentProperties); + } + properties.addAll(definition.directProperties()); + visiting.remove(fqn); + + List flattened = List.copyOf(properties); + cache.put(fqn, flattened); + return flattened; + } + + private @Nullable BitSet findCoverage(List groupProperties, + List generatedProperties) { + Map> indexesBySignature = new HashMap<>(); + for (int i = 0; i < generatedProperties.size(); i++) { + indexesBySignature.computeIfAbsent(generatedProperties.get(i), key -> new ArrayDeque<>()).addLast(i); + } + + BitSet coverage = new BitSet(generatedProperties.size()); + for (StudioPropertySignature groupProperty : groupProperties) { + Deque indexes = indexesBySignature.get(groupProperty); + if (indexes == null || indexes.isEmpty()) { + return null; + } + coverage.set(indexes.removeFirst()); + } + return coverage; + } + + private List selectGroups(List candidates, @Nullable Path preferredModuleRoot) { + List selectedGroups = new ArrayList<>(); + BitSet coveredIndexes = new BitSet(); + + while (true) { + GroupCandidate bestCandidate = null; + int bestUncoveredCount = 0; + + for (GroupCandidate candidate : candidates) { + int uncoveredCount = uncoveredCount(candidate.coverage(), coveredIndexes); + if (uncoveredCount == 0) { + continue; + } + + if (bestCandidate == null + || isBetterCandidate(candidate, uncoveredCount, bestCandidate, bestUncoveredCount, + preferredModuleRoot)) { + bestCandidate = candidate; + bestUncoveredCount = uncoveredCount; + } + } + + if (bestCandidate == null) { + break; + } + + selectedGroups.add(bestCandidate.fqn()); + coveredIndexes.or(bestCandidate.coverage()); + } + + return List.copyOf(selectedGroups); + } + + private boolean isBetterCandidate(GroupCandidate candidate, + int uncoveredCount, + GroupCandidate currentBest, + int currentBestUncoveredCount, + @Nullable Path preferredModuleRoot) { + if (uncoveredCount != currentBestUncoveredCount) { + return uncoveredCount > currentBestUncoveredCount; + } + if (candidate.propertyCount() != currentBest.propertyCount()) { + return candidate.propertyCount() > currentBest.propertyCount(); + } + if (candidate.composite() != currentBest.composite()) { + return candidate.composite(); + } + + int candidateRank = moduleRank(candidate.moduleRoot(), preferredModuleRoot); + int bestRank = moduleRank(currentBest.moduleRoot(), preferredModuleRoot); + if (candidateRank != bestRank) { + return candidateRank < bestRank; + } + + return candidate.fqn().compareTo(currentBest.fqn()) < 0; + } + + private int moduleRank(Path candidateModuleRoot, @Nullable Path preferredModuleRoot) { + if (preferredModuleRoot != null && candidateModuleRoot.startsWith(preferredModuleRoot)) { + return 0; + } + Path flowuiKitModule = workspaceRoot.resolve("jmix/jmix-flowui/flowui-kit").normalize(); + if (candidateModuleRoot.startsWith(flowuiKitModule)) { + return 1; + } + return 2; + } + + private int uncoveredCount(BitSet candidateCoverage, BitSet coveredIndexes) { + BitSet uncovered = (BitSet) candidateCoverage.clone(); + uncovered.andNot(coveredIndexes); + return uncovered.cardinality(); + } + + private List parseParentGroups(@Nullable String extendsClause, + String packageName, + String outerClassName, + ImportContext importContext) { + if (extendsClause == null || extendsClause.isBlank()) { + return List.of(); + } + + List result = new ArrayList<>(); + for (String reference : splitTopLevel(extendsClause, ',')) { + String resolvedReference = resolveGroupReference(reference.strip(), packageName, outerClassName, importContext); + if (resolvedReference != null) { + result.add(resolvedReference); + } + } + return List.copyOf(result); + } + + private @Nullable String resolveGroupReference(String reference, + String packageName, + String outerClassName, + ImportContext importContext) { + if (reference.isBlank()) { + return null; + } + + String sanitizedReference = reference.replace(".class", "").strip(); + if (!sanitizedReference.contains(".")) { + return packageName + "." + outerClassName + "." + sanitizedReference; + } + + String firstSegment = sanitizedReference.substring(0, sanitizedReference.indexOf('.')); + if (!firstSegment.isEmpty() && Character.isLowerCase(firstSegment.charAt(0))) { + return sanitizedReference; + } + + if (outerClassName.equals(firstSegment)) { + return packageName + "." + sanitizedReference; + } + + String importedOuterClass = importContext.explicitImports().get(firstSegment); + if (importedOuterClass != null) { + return importedOuterClass + sanitizedReference.substring(firstSegment.length()); + } + + for (String wildcardImport : importContext.wildcardImports()) { + return wildcardImport + "." + sanitizedReference; + } + + return packageName + "." + sanitizedReference; + } + + private List parseGroupProperties(String annotationContent) { + if (annotationContent.isBlank()) { + return List.of(); + } + + List properties = new ArrayList<>(); + int currentIndex = 0; + while (true) { + int propertyIndex = annotationContent.indexOf(STUDIO_PROPERTY_ANNOTATION, currentIndex); + if (propertyIndex < 0) { + break; + } + + AnnotationParseResult propertyAnnotation = parseAnnotation(annotationContent, propertyIndex, + STUDIO_PROPERTY_ANNOTATION); + properties.add(parsePropertySignature(propertyAnnotation.content())); + currentIndex = propertyAnnotation.endIndex(); + } + + return List.copyOf(properties); + } + + private StudioPropertySignature parsePropertySignature(String propertyAnnotationContent) { + Map values = parseNamedArguments(propertyAnnotationContent); + + String xmlAttribute = unquoteJavaString(values.get("xmlAttribute")); + String type = lastSegment(values.get("type")); + String category = values.containsKey("category") + ? lastSegment(values.get("category")) + : null; + boolean required = Boolean.parseBoolean(values.getOrDefault("required", "false")); + String defaultValue = unquoteJavaString(values.getOrDefault("defaultValue", "")); + String defaultValueRef = unquoteJavaString(values.getOrDefault("defaultValueRef", "")); + String initialValue = unquoteJavaString(values.getOrDefault("initialValue", "")); + String classFqn = unquoteJavaString(values.getOrDefault("classFqn", "")); + List options = parseStringArray(values.get("options")); + String setMethod = unquoteJavaString(values.getOrDefault("setMethod", "")); + String setParameterFqn = unquoteJavaString(values.getOrDefault("setParameterFqn", "")); + String addMethod = unquoteJavaString(values.getOrDefault("addMethod", "")); + String addParameterFqn = unquoteJavaString(values.getOrDefault("addParameterFqn", "")); + String removeMethod = unquoteJavaString(values.getOrDefault("removeMethod", "")); + String removeParameterFqn = unquoteJavaString(values.getOrDefault("removeParameterFqn", "")); + String typeParameter = unquoteJavaString(values.getOrDefault("typeParameter", "")); + boolean useAsInjectionType = Boolean.parseBoolean(values.getOrDefault("useAsInjectionType", "false")); + List componentRefTags = parseStringArray(values.get("componentRefTags")); + String cdataWrapperTag = unquoteJavaString(values.getOrDefault("cdataWrapperTag", "")); + + return new StudioPropertySignature( + xmlAttribute, + type, + classFqn, + category, + required, + defaultValue, + defaultValueRef, + initialValue, + options, + setMethod, + setParameterFqn, + addMethod, + addParameterFqn, + removeMethod, + removeParameterFqn, + typeParameter, + useAsInjectionType, + componentRefTags, + cdataWrapperTag + ); + } + + private Map parseNamedArguments(String annotationContent) { + Map arguments = new LinkedHashMap<>(); + for (String part : splitTopLevel(annotationContent, ',')) { + if (part.isBlank()) { + continue; + } + + int equalsIndex = findTopLevelEquals(part); + if (equalsIndex < 0) { + continue; + } + + String name = part.substring(0, equalsIndex).strip(); + String value = part.substring(equalsIndex + 1).strip(); + arguments.put(name, value); + } + return arguments; + } + + private int findTopLevelEquals(String value) { + boolean inString = false; + boolean escaped = false; + int parenthesesDepth = 0; + int bracesDepth = 0; + + for (int i = 0; i < value.length(); i++) { + char current = value.charAt(i); + if (inString) { + if (escaped) { + escaped = false; + } else if (current == '\\') { + escaped = true; + } else if (current == '"') { + inString = false; + } + continue; + } + + if (current == '"') { + inString = true; + continue; + } + if (current == '(') { + parenthesesDepth++; + continue; + } + if (current == ')') { + parenthesesDepth--; + continue; + } + if (current == '{') { + bracesDepth++; + continue; + } + if (current == '}') { + bracesDepth--; + continue; + } + if (current == '=' && parenthesesDepth == 0 && bracesDepth == 0) { + return i; + } + } + return -1; + } + + private List parseStringArray(@Nullable String value) { + if (value == null || value.isBlank()) { + return List.of(); + } + + String strippedValue = value.strip(); + if (!strippedValue.startsWith("{") || !strippedValue.endsWith("}")) { + return List.of(unquoteJavaString(strippedValue)); + } + + String inner = strippedValue.substring(1, strippedValue.length() - 1).strip(); + if (inner.isEmpty()) { + return List.of(); + } + + List result = new ArrayList<>(); + for (String item : splitTopLevel(inner, ',')) { + if (!item.isBlank()) { + result.add(unquoteJavaString(item.strip())); + } + } + return List.copyOf(result); + } + + private ImportContext parseImports(String source) { + Map explicitImports = new LinkedHashMap<>(); + List wildcardImports = new ArrayList<>(); + + Matcher matcher = IMPORT_PATTERN.matcher(source); + while (matcher.find()) { + String importedValue = matcher.group(1); + if (importedValue.endsWith(".*")) { + wildcardImports.add(importedValue.substring(0, importedValue.length() - 2)); + continue; + } + + String simpleName = importedValue.substring(importedValue.lastIndexOf('.') + 1); + explicitImports.put(simpleName, importedValue); + } + + return new ImportContext(explicitImports, List.copyOf(wildcardImports)); + } + + private @Nullable String parsePackageName(String source) { + Matcher matcher = PACKAGE_PATTERN.matcher(source); + return matcher.find() ? matcher.group(1) : null; + } + + private AnnotationParseResult parseAnnotation(String source, int annotationIndex, String annotationName) { + int currentIndex = annotationIndex + annotationName.length(); + while (currentIndex < source.length() && Character.isWhitespace(source.charAt(currentIndex))) { + currentIndex++; + } + + if (currentIndex >= source.length() || source.charAt(currentIndex) != '(') { + return new AnnotationParseResult("", currentIndex); + } + + int endIndex = findMatchingBracket(source, currentIndex, '(', ')'); + return new AnnotationParseResult(source.substring(currentIndex + 1, endIndex), endIndex + 1); + } + + private int findMatchingBracket(String source, int startIndex, char open, char close) { + boolean inString = false; + boolean escaped = false; + int depth = 0; + + for (int i = startIndex; i < source.length(); i++) { + char current = source.charAt(i); + if (inString) { + if (escaped) { + escaped = false; + } else if (current == '\\') { + escaped = true; + } else if (current == '"') { + inString = false; + } + continue; + } + + if (current == '"') { + inString = true; + continue; + } + if (current == open) { + depth++; + continue; + } + if (current == close) { + depth--; + if (depth == 0) { + return i; + } + } + } + + throw new IllegalArgumentException("Cannot find matching bracket in property group source."); + } + + private List splitTopLevel(String value, char delimiter) { + List parts = new ArrayList<>(); + boolean inString = false; + boolean escaped = false; + int parenthesesDepth = 0; + int bracesDepth = 0; + int startIndex = 0; + + for (int i = 0; i < value.length(); i++) { + char current = value.charAt(i); + if (inString) { + if (escaped) { + escaped = false; + } else if (current == '\\') { + escaped = true; + } else if (current == '"') { + inString = false; + } + continue; + } + + if (current == '"') { + inString = true; + continue; + } + if (current == '(') { + parenthesesDepth++; + continue; + } + if (current == ')') { + parenthesesDepth--; + continue; + } + if (current == '{') { + bracesDepth++; + continue; + } + if (current == '}') { + bracesDepth--; + continue; + } + if (current == delimiter && parenthesesDepth == 0 && bracesDepth == 0) { + parts.add(value.substring(startIndex, i)); + startIndex = i + 1; + } + } + + parts.add(value.substring(startIndex)); + return parts; + } + + private String stripComments(String source) { + StringBuilder result = new StringBuilder(source.length()); + boolean inString = false; + boolean escaped = false; + boolean inLineComment = false; + boolean inBlockComment = false; + + for (int i = 0; i < source.length(); i++) { + char current = source.charAt(i); + char next = i + 1 < source.length() ? source.charAt(i + 1) : '\0'; + + if (inLineComment) { + if (current == '\n') { + inLineComment = false; + result.append(current); + } + continue; + } + + if (inBlockComment) { + if (current == '*' && next == '/') { + inBlockComment = false; + i++; + } else if (current == '\n') { + result.append('\n'); + } + continue; + } + + if (inString) { + result.append(current); + if (escaped) { + escaped = false; + } else if (current == '\\') { + escaped = true; + } else if (current == '"') { + inString = false; + } + continue; + } + + if (current == '"' ) { + inString = true; + result.append(current); + continue; + } + if (current == '/' && next == '/') { + inLineComment = true; + i++; + continue; + } + if (current == '/' && next == '*') { + inBlockComment = true; + i++; + continue; + } + + result.append(current); + } + + return result.toString(); + } + + private String lastSegment(@Nullable String value) { + String nonNullValue = Objects.requireNonNullElse(value, ""); + int separatorIndex = nonNullValue.lastIndexOf('.'); + return separatorIndex < 0 ? nonNullValue.strip() : nonNullValue.substring(separatorIndex + 1).strip(); + } + + private String unquoteJavaString(String value) { + String strippedValue = value.strip(); + if (strippedValue.length() >= 2 && strippedValue.startsWith("\"") && strippedValue.endsWith("\"")) { + strippedValue = strippedValue.substring(1, strippedValue.length() - 1); + } + return strippedValue + .replace("\\\"", "\"") + .replace("\\\\", "\\") + .replace("\\n", "\n") + .replace("\\r", "\r") + .replace("\\t", "\t"); + } + + private List detectScanRoots(Path root) { + LinkedHashSet paths = new LinkedHashSet<>(); + Path jmixRoot = root.resolve("jmix"); + Path premiumRoot = root.resolve("jmix-premium"); + if (Files.isDirectory(jmixRoot)) { + paths.add(jmixRoot.normalize()); + } + if (Files.isDirectory(premiumRoot)) { + paths.add(premiumRoot.normalize()); + } + if (paths.isEmpty()) { + paths.add(root); + } + return List.copyOf(paths); + } + + private Path detectModuleRoot(Path sourceFile) { + Path normalized = sourceFile.toAbsolutePath().normalize(); + for (int i = 0; i < normalized.getNameCount(); i++) { + if ("src".equals(normalized.getName(i).toString())) { + return normalized.getRoot() != null + ? normalized.getRoot().resolve(normalized.subpath(0, i)) + : normalized.subpath(0, i); + } + } + return normalized.getParent(); + } + + private record ImportContext(Map explicitImports, List wildcardImports) { + } + + private record AnnotationParseResult(String content, int endIndex) { + } + + private record GroupDefinition(String fqn, + Path sourceFile, + Path moduleRoot, + List parentGroupFqns, + List directProperties) { + } + + private record GroupCandidate(String fqn, + Path moduleRoot, + boolean composite, + int propertyCount, + BitSet coverage) { + } +} diff --git a/jmix-flowui/flowui-kit/src/main/java/io/jmix/flowui/kit/meta/generator/StudioPropertySignature.java b/jmix-flowui/flowui-kit/src/main/java/io/jmix/flowui/kit/meta/generator/StudioPropertySignature.java new file mode 100644 index 0000000000..ecd24041c2 --- /dev/null +++ b/jmix-flowui/flowui-kit/src/main/java/io/jmix/flowui/kit/meta/generator/StudioPropertySignature.java @@ -0,0 +1,72 @@ +/* + * Copyright 2026 Haulmont. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package io.jmix.flowui.kit.meta.generator; + +import org.jspecify.annotations.Nullable; + +import java.util.List; + +record StudioPropertySignature( + String xmlAttribute, + String type, + String classFqn, + @Nullable String category, + boolean required, + String defaultValue, + String defaultValueRef, + String initialValue, + List options, + String setMethod, + String setParameterFqn, + String addMethod, + String addParameterFqn, + String removeMethod, + String removeParameterFqn, + String typeParameter, + boolean useAsInjectionType, + List componentRefTags, + String cdataWrapperTag +) { + static StudioPropertySignature of(String xmlAttribute, + String type, + @Nullable String category, + boolean required, + String defaultValue, + List options) { + return new StudioPropertySignature( + xmlAttribute, + type, + "", + category, + required, + defaultValue, + "", + "", + List.copyOf(options), + "", + "", + "", + "", + "", + "", + "", + false, + List.of(), + "" + ); + } +} diff --git a/jmix-flowui/flowui-kit/src/main/java/io/jmix/flowui/kit/meta/generator/StudioXsdElementCandidate.java b/jmix-flowui/flowui-kit/src/main/java/io/jmix/flowui/kit/meta/generator/StudioXsdElementCandidate.java new file mode 100644 index 0000000000..4760211844 --- /dev/null +++ b/jmix-flowui/flowui-kit/src/main/java/io/jmix/flowui/kit/meta/generator/StudioXsdElementCandidate.java @@ -0,0 +1,50 @@ +/* + * Copyright 2026 Haulmont. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package io.jmix.flowui.kit.meta.generator; + +import org.w3c.dom.Element; + +import java.nio.file.Path; +import java.util.List; + +record StudioXsdElementCandidate(Path schemaPath, String elementName, boolean nested, + List ancestorElements, List contextNames, String description, + StudioMetaDescriptionGenerator.SchemaDocument document, Element element) { + + StudioXsdElementCandidate(Path schemaPath, + String elementName, + boolean nested, + List ancestorElements, + List contextNames, + String description, + StudioMetaDescriptionGenerator.SchemaDocument document, + Element element) { + this.schemaPath = schemaPath; + this.elementName = elementName; + this.nested = nested; + this.ancestorElements = List.copyOf(ancestorElements); + this.contextNames = List.copyOf(contextNames); + this.description = description; + this.document = document; + this.element = element; + } + + @Override + public String toString() { + return description; + } +} diff --git a/jmix-flowui/flowui-kit/src/main/java/io/jmix/flowui/kit/meta/generator/package-info.java b/jmix-flowui/flowui-kit/src/main/java/io/jmix/flowui/kit/meta/generator/package-info.java new file mode 100644 index 0000000000..3dce7a3839 --- /dev/null +++ b/jmix-flowui/flowui-kit/src/main/java/io/jmix/flowui/kit/meta/generator/package-info.java @@ -0,0 +1,21 @@ +/* + * Copyright 2026 Haulmont. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +@NullMarked +/// For internal use only. +package io.jmix.flowui.kit.meta.generator; + +import org.jspecify.annotations.NullMarked; \ No newline at end of file diff --git a/jmix-flowui/flowui/src/test/groovy/io/jmix/flowui/kit/meta/generator/StudioMetaDescriptionGeneratorTest.groovy b/jmix-flowui/flowui/src/test/groovy/io/jmix/flowui/kit/meta/generator/StudioMetaDescriptionGeneratorTest.groovy new file mode 100644 index 0000000000..72745a8328 --- /dev/null +++ b/jmix-flowui/flowui/src/test/groovy/io/jmix/flowui/kit/meta/generator/StudioMetaDescriptionGeneratorTest.groovy @@ -0,0 +1,671 @@ +/* + * Copyright 2026 Haulmont. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package io.jmix.flowui.kit.meta.generator + +import io.jmix.flowui.kit.meta.StudioPropertyGroups +import spock.lang.Shared +import spock.lang.Specification + +import java.nio.charset.StandardCharsets +import java.nio.file.Files +import java.nio.file.Path +import java.util.regex.Matcher +import java.util.regex.Pattern + +class StudioMetaDescriptionGeneratorTest extends Specification { + + private static final String LAYOUT_XSD = + 'jmix/jmix-flowui/flowui/src/main/resources/io/jmix/flowui/view/layout.xsd' + private static final String DATA_XSD = + 'jmix/jmix-flowui/flowui/src/main/resources/io/jmix/flowui/view/data.xsd' + + private static final String STUDIO_COMPONENTS_SOURCE = + 'jmix/jmix-flowui/flowui-kit/src/main/java/io/jmix/flowui/kit/meta/component/StudioComponents.java' + private static final String STUDIO_ELEMENTS_SOURCE = + 'jmix/jmix-flowui/flowui-kit/src/main/java/io/jmix/flowui/kit/meta/element/StudioElements.java' + private static final String STUDIO_ACTIONS_SOURCE = + 'jmix/jmix-flowui/flowui-kit/src/main/java/io/jmix/flowui/kit/meta/action/StudioActions.java' + private static final String STUDIO_DATA_COMPONENTS_SOURCE = + 'jmix/jmix-flowui/flowui-kit/src/main/java/io/jmix/flowui/kit/meta/datacomponent/StudioDataComponents.java' + private static final String STUDIO_FACETS_SOURCE = + 'jmix/jmix-flowui/flowui-kit/src/main/java/io/jmix/flowui/kit/meta/facet/StudioFacets.java' + private static final String TEST_META_DESCRIPTIONS_SOURCE = + 'jmix/jmix-flowui/flowui/src/test/java/io/jmix/flowui/kit/meta/generator/TestStudioMetaDescriptions.java' + + private static final List SUPPORTED_META_ANNOTATIONS = [ + 'StudioFacet', + 'StudioComponent', + 'StudioElement', + 'StudioAction', + 'StudioDataComponent' + ].asImmutable() + + @Shared + Path workspaceRoot = StudioMetaDescriptionGenerator.detectWorkspaceRoot(Path.of('').toAbsolutePath()) + + @Shared + Path layoutXsd = workspaceRoot.resolve(LAYOUT_XSD).normalize() + + @Shared + Path dataXsd = workspaceRoot.resolve(DATA_XSD).normalize() + + @Shared + StudioMetaDescriptionGenerator generator = new StudioMetaDescriptionGenerator(workspaceRoot) + + @Shared + Map> javaClassIndex = buildJavaClassIndex() + + def "test generated dataLoadCoordinator meta matches exact fixture property group"() { + when: + def generatedMeta = generateMeta(layoutXsd, 'dataLoadCoordinator') { candidate -> + candidate.contextNames().contains('facets') + } + + then: + generatedMeta.toComparableMap() == expectedMeta(TEST_META_DESCRIPTIONS_SOURCE, 'dataLoadCoordinator').toComparableMap() + generatedMeta.propertyGroups == [TestStudioMetaPropertyGroups.DataLoadCoordinatorGeneratedProperties.canonicalName] + !generatedMeta.propertyGroups.contains(StudioPropertyGroups.Auto.canonicalName) + } + + def "test generated timer meta uses only exact property groups"() { + when: + def generatedMeta = generateMeta(layoutXsd, 'timer') { candidate -> + candidate.contextNames().contains('facets') + } + + then: + propertyShape(generatedMeta.properties) == propertyShape(expectedMeta(STUDIO_FACETS_SOURCE, 'timer').properties) + generatedMeta.propertyGroups == [StudioPropertyGroups.RequiredId.canonicalName] + !generatedMeta.propertyGroups.contains(TestStudioMetaPropertyGroups.TimerPropertiesWithDifferentRepeatingDefaultValue.canonicalName) + } + + def "test generated avatar meta matches existing StudioComponents description"() { + when: + def generatedMeta = generateMeta(layoutXsd, 'avatar') { true } + def expectedMeta = expectedMeta(STUDIO_COMPONENTS_SOURCE, 'avatar') + + then: + generatedMeta.kind == expectedMeta.kind + generatedMeta.xmlElement == expectedMeta.xmlElement + propertyAttributes(generatedMeta.properties) == propertyAttributes(expectedMeta.properties) + generatedMeta.propertyGroups.contains(StudioPropertyGroups.ClassNamesAndCss.canonicalName) + generatedMeta.propertyGroups.contains(StudioPropertyGroups.ThemeNames.canonicalName) + } + + def "test generated accordionPanel meta matches existing StudioElements description"() { + when: + def generatedMeta = generateMeta(layoutXsd, 'accordionPanel') { true } + def expectedMeta = expectedMeta(STUDIO_ELEMENTS_SOURCE, 'accordionPanel') + + then: + generatedMeta.kind == expectedMeta.kind + generatedMeta.xmlElement == expectedMeta.xmlElement + propertyAttributes(generatedMeta.properties).containsAll(propertyAttributes(expectedMeta.properties)) + generatedMeta.propertyGroups.contains(StudioPropertyGroups.Colspan.canonicalName) + generatedMeta.propertyGroups.contains(StudioPropertyGroups.Enabled.canonicalName) + } + + def "test generated view action reuses common StudioActions defaults"() { + given: + def expectedBaseAction = expectedMeta(STUDIO_ACTIONS_SOURCE, 'baseAction') + + when: + def generatedMeta = generateMeta(layoutXsd, 'action') { candidate -> + candidate.contextNames().contains('viewActions') + } + + then: + generatedMeta.kind == StudioMetaKind.ACTION + generatedMeta.xmlElement == 'action' + propertyAttributes(generatedMeta.properties).containsAll(propertyAttributes(expectedBaseAction.properties) + ['type']) + generatedMeta.propertyGroups.contains(StudioPropertyGroups.RequiredId.canonicalName) + generatedMeta.propertyGroups.contains(StudioPropertyGroups.Text.canonicalName) + generatedMeta.propertyGroups.any { it.endsWith('.Description') || it.endsWith('.DescriptionWithoutCategory') } + } + + def "test generated collection data component matches existing StudioDataComponents description"() { + when: + def generatedMeta = generateMeta(dataXsd, 'collection') { candidate -> + candidate.contextNames().contains('viewData') + } + def expectedMeta = expectedMeta(STUDIO_DATA_COMPONENTS_SOURCE, 'collection') + + then: + generatedMeta.kind == expectedMeta.kind + generatedMeta.xmlElement == expectedMeta.xmlElement + propertyAttributes(generatedMeta.properties) == propertyAttributes(expectedMeta.properties) + generatedMeta.propertyGroups.contains(StudioPropertyGroups.RequiredId.canonicalName) + generatedMeta.propertyGroups.contains(StudioPropertyGroups.EntityClass.canonicalName) + } + + private MetaProjection generateMeta(Path schemaPath, + String elementName, + Closure candidateSelector) { + StudioXsdElementCandidate candidate = findCandidate(schemaPath, elementName, candidateSelector) + Path outputPath = Files.createTempDirectory('generated-meta-test').resolve('TestGeneratedMeta.java') + + parseMetaSource(generator.generate(candidate, StudioMetaKind.AUTO, outputPath).source()) + } + + private StudioXsdElementCandidate findCandidate(Path schemaPath, + String elementName, + Closure candidateSelector) { + List candidates = generator.findElementCandidates(schemaPath, elementName) + .findAll(candidateSelector) + assert candidates.size() == 1: "Unexpected candidates for ${elementName}: ${candidates*.description()}" + candidates.first() + } + + private MetaProjection expectedMeta(String relativeSourcePath, String methodName) { + Path sourcePath = workspaceRoot.resolve(relativeSourcePath).normalize() + String source = Files.readString(sourcePath, StandardCharsets.UTF_8) + parseMetaSource(source, methodName, sourcePath.fileName.toString().replaceFirst(/\.java$/, '')) + } + + private MetaProjection parseMetaSource(String source) { + parseMetaSource(source, null, parseOuterClassName(stripComments(source))) + } + + private MetaProjection parseMetaSource(String source, String methodName, String outerClassName) { + String strippedSource = stripComments(source) + ImportContext importContext = parseImports(strippedSource) + String packageName = parsePackageName(strippedSource) + AnnotationParseResult annotation = methodName != null + ? findMethodAnnotation(strippedSource, methodName) + : findFirstMetaAnnotation(strippedSource) + Map annotationArguments = parseNamedArguments(annotation.content) + + new MetaProjection( + kind: metaKind(annotation.name), + xmlElement: unquoteJavaString(annotationArguments.getOrDefault('xmlElement', '')), + propertyGroups: parseClassArray(annotationArguments.get('propertyGroups'), packageName, outerClassName, importContext), + properties: parseProperties(annotationArguments.get('properties')) + ) + } + + private static AnnotationParseResult findMethodAnnotation(String source, String methodName) { + Matcher methodMatcher = Pattern.compile("\\b${Pattern.quote(methodName)}\\s*\\(").matcher(source) + assert methodMatcher.find(): "Method ${methodName} not found" + + int methodIndex = methodMatcher.start() + AnnotationParseResult result = null + for (String annotationName : SUPPORTED_META_ANNOTATIONS) { + Matcher annotationMatcher = Pattern.compile("@${annotationName}\\s*\\(").matcher(source) + while (annotationMatcher.find()) { + if (annotationMatcher.start() >= methodIndex) { + break + } + result = new AnnotationParseResult( + annotationName, + parseAnnotationContent(source, annotationMatcher.end() - 1) + ) + } + } + + assert result != null: "No Studio meta annotation found for ${methodName}" + result + } + + private static AnnotationParseResult findFirstMetaAnnotation(String source) { + List> matches = SUPPORTED_META_ANNOTATIONS.collect { annotationName -> + Matcher matcher = Pattern.compile("@${annotationName}\\s*\\(").matcher(source) + matcher.find() ? [name: annotationName, index: matcher.start(), parenIndex: matcher.end() - 1] : null + }.findAll { it != null } as List> + + assert !matches.empty: 'No Studio meta annotation found in generated source' + + Map firstMatch = matches.min { it.index as int } + new AnnotationParseResult( + firstMatch.name as String, + parseAnnotationContent(source, firstMatch.parenIndex as int) + ) + } + + private static AnnotationContent parseAnnotationContent(String source, int openingParenthesisIndex) { + int depth = 0 + boolean inString = false + boolean escaped = false + int startIndex = openingParenthesisIndex + 1 + + for (int i = openingParenthesisIndex; i < source.length(); i++) { + char current = source.charAt(i) + if (inString) { + if (escaped) { + escaped = false + } else if (current == '\\' as char) { + escaped = true + } else if (current == '"' as char) { + inString = false + } + continue + } + + if (current == '"' as char) { + inString = true + continue + } + if (current == '(' as char) { + depth++ + continue + } + if (current == ')' as char) { + depth-- + if (depth == 0) { + return new AnnotationContent(source.substring(startIndex, i), i + 1) + } + } + } + + throw new IllegalArgumentException('Cannot parse annotation content') + } + + private static Map parseNamedArguments(String annotationContent) { + Map arguments = [:] + splitTopLevel(annotationContent, ',').each { String part -> + if (part.isBlank()) { + return + } + + int equalsIndex = findTopLevelEquals(part) + if (equalsIndex < 0) { + return + } + + arguments.put(part.substring(0, equalsIndex).strip(), part.substring(equalsIndex + 1).strip()) + } + arguments + } + + private static int findTopLevelEquals(String value) { + boolean inString = false + boolean escaped = false + int parenthesesDepth = 0 + int bracesDepth = 0 + + for (int i = 0; i < value.length(); i++) { + char current = value.charAt(i) + if (inString) { + if (escaped) { + escaped = false + } else if (current == '\\' as char) { + escaped = true + } else if (current == '"' as char) { + inString = false + } + continue + } + + if (current == '"' as char) { + inString = true + } else if (current == '(' as char) { + parenthesesDepth++ + } else if (current == ')' as char) { + parenthesesDepth-- + } else if (current == '{' as char) { + bracesDepth++ + } else if (current == '}' as char) { + bracesDepth-- + } else if (current == '=' as char && parenthesesDepth == 0 && bracesDepth == 0) { + return i + } + } + + -1 + } + + private List parseClassArray(String value, + String packageName, + String outerClassName, + ImportContext importContext) { + if (!value) { + return List.of() + } + + String normalized = stripWrappingBraces(value.strip()) + if (normalized.isBlank()) { + return List.of() + } + + splitTopLevel(normalized, ',') + .collect { it.strip() } + .findAll { !it.isBlank() } + .collect { resolveClassReference(it, packageName, outerClassName, importContext) } + } + + private static List parseProperties(String propertiesValue) { + if (!propertiesValue) { + return List.of() + } + + List properties = [] + int currentIndex = 0 + while (true) { + int propertyIndex = propertiesValue.indexOf('@StudioProperty', currentIndex) + if (propertyIndex < 0) { + break + } + + int openingParenthesisIndex = propertiesValue.indexOf('(', propertyIndex) + AnnotationContent propertyAnnotation = parseAnnotationContent(propertiesValue, openingParenthesisIndex) + properties.add(parseProperty(propertyAnnotation.content)) + currentIndex = propertyAnnotation.endIndex + } + + properties + } + + private static StudioPropertySignature parseProperty(String propertyAnnotationContent) { + Map arguments = parseNamedArguments(propertyAnnotationContent) + + new StudioPropertySignature( + unquoteJavaString(arguments.get('xmlAttribute')), + lastSegment(arguments.get('type')), + unquoteJavaString(arguments.getOrDefault('classFqn', '')), + arguments.containsKey('category') ? lastSegment(arguments.get('category')) : null, + Boolean.parseBoolean(arguments.getOrDefault('required', 'false')), + unquoteJavaString(arguments.getOrDefault('defaultValue', '')), + unquoteJavaString(arguments.getOrDefault('defaultValueRef', '')), + unquoteJavaString(arguments.getOrDefault('initialValue', '')), + parseStringArray(arguments.get('options')), + unquoteJavaString(arguments.getOrDefault('setMethod', '')), + unquoteJavaString(arguments.getOrDefault('setParameterFqn', '')), + unquoteJavaString(arguments.getOrDefault('addMethod', '')), + unquoteJavaString(arguments.getOrDefault('addParameterFqn', '')), + unquoteJavaString(arguments.getOrDefault('removeMethod', '')), + unquoteJavaString(arguments.getOrDefault('removeParameterFqn', '')), + unquoteJavaString(arguments.getOrDefault('typeParameter', '')), + Boolean.parseBoolean(arguments.getOrDefault('useAsInjectionType', 'false')), + parseStringArray(arguments.get('componentRefTags')), + unquoteJavaString(arguments.getOrDefault('cdataWrapperTag', '')) + ) + } + + private static List parseStringArray(String value) { + if (!value) { + return List.of() + } + + String normalized = stripWrappingBraces(value.strip()) + if (normalized.isBlank()) { + return List.of() + } + + splitTopLevel(normalized, ',') + .collect { unquoteJavaString(it.strip()) } + .findAll { !it.isBlank() } + } + + private String resolveClassReference(String reference, + String packageName, + String outerClassName, + ImportContext importContext) { + String sanitizedReference = reference.replace('.class', '').strip() + if (!sanitizedReference.contains('.')) { + String explicitImport = importContext.explicitImports[sanitizedReference] + if (explicitImport) { + return explicitImport + } + String samePackageClass = findIndexedClassFqn(sanitizedReference, packageName) + if (samePackageClass) { + return samePackageClass + } + return "${packageName}.${outerClassName}.${sanitizedReference}" + } + + String firstSegment = sanitizedReference.substring(0, sanitizedReference.indexOf('.')) + if (Character.isLowerCase(firstSegment.charAt(0))) { + return sanitizedReference + } + if (outerClassName == firstSegment) { + return "${packageName}.${sanitizedReference}" + } + + String importedOuterClass = importContext.explicitImports[firstSegment] + if (importedOuterClass) { + return importedOuterClass + sanitizedReference.substring(firstSegment.length()) + } + String indexedSamePackage = findIndexedClassFqn(firstSegment, packageName) + if (indexedSamePackage) { + return indexedSamePackage + sanitizedReference.substring(firstSegment.length()) + } + String indexedWildcard = findIndexedClassFqn(firstSegment, importContext.wildcardImports) + if (indexedWildcard) { + return indexedWildcard + sanitizedReference.substring(firstSegment.length()) + } + if (!importContext.wildcardImports.empty) { + return "${importContext.wildcardImports.first()}.${sanitizedReference}" + } + return "${packageName}.${sanitizedReference}" + } + + private String findIndexedClassFqn(String simpleName, String packageName) { + javaClassIndex.getOrDefault(simpleName, List.of()) + .find { it.startsWith("${packageName}.") } + } + + private String findIndexedClassFqn(String simpleName, List candidatePackages) { + javaClassIndex.getOrDefault(simpleName, List.of()) + .find { String fqn -> candidatePackages.any { candidatePackage -> fqn.startsWith("${candidatePackage}.") } } + } + + private static ImportContext parseImports(String source) { + Map explicitImports = [:] + List wildcardImports = [] + + Matcher matcher = Pattern.compile("\\bimport\\s+([A-Za-z_][A-Za-z0-9_.*]*)\\s*;").matcher(source) + while (matcher.find()) { + String imported = matcher.group(1) + if (imported.endsWith('.*')) { + wildcardImports.add(imported.substring(0, imported.length() - 2)) + } else { + explicitImports[imported.substring(imported.lastIndexOf('.') + 1)] = imported + } + } + + new ImportContext(explicitImports, wildcardImports) + } + + private static String parsePackageName(String source) { + Matcher matcher = Pattern.compile("\\bpackage\\s+([A-Za-z_][A-Za-z0-9_.]*)\\s*;").matcher(source) + assert matcher.find(): 'Package declaration not found' + matcher.group(1) + } + + private static String parseOuterClassName(String source) { + Matcher matcher = Pattern.compile("\\b(?:public\\s+)?(?:final\\s+)?(?:class|interface)\\s+([A-Za-z_][A-Za-z0-9_]*)\\b") + .matcher(source) + assert matcher.find(): 'Outer class name not found' + matcher.group(1) + } + + private Map> buildJavaClassIndex() { + Map> index = [:].withDefault { [] } + [workspaceRoot.resolve('jmix'), workspaceRoot.resolve('jmix-premium')].findAll { Files.isDirectory(it) }.each { root -> + Files.walk(root) + .filter { path -> path.toString().endsWith('.java') } + .forEach { Path path -> + String source = Files.readString(path, StandardCharsets.UTF_8) + String strippedSource = stripComments(source) + Matcher packageMatcher = Pattern.compile("\\bpackage\\s+([A-Za-z_][A-Za-z0-9_.]*)\\s*;").matcher(strippedSource) + Matcher classMatcher = Pattern.compile("\\b(?:public\\s+)?(?:final\\s+)?(?:class|interface)\\s+([A-Za-z_][A-Za-z0-9_]*)\\b") + .matcher(strippedSource) + if (packageMatcher.find() && classMatcher.find()) { + String fqn = "${packageMatcher.group(1)}.${classMatcher.group(1)}" + index[classMatcher.group(1)] = index[classMatcher.group(1)] + fqn + } + } + } + index + } + + private static String stripComments(String source) { + source + .replaceAll(/(?s)\/\*.*?\*\//, '') + .replaceAll(/(?m)^\s*\/\/.*$/, '') + } + + private static List splitTopLevel(String value, String delimiter) { + List result = [] + char delimiterChar = delimiter.charAt(0) + boolean inString = false + boolean escaped = false + int parenthesesDepth = 0 + int bracesDepth = 0 + int bracketDepth = 0 + int startIndex = 0 + + for (int i = 0; i < value.length(); i++) { + char current = value.charAt(i) + if (inString) { + if (escaped) { + escaped = false + } else if (current == '\\' as char) { + escaped = true + } else if (current == '"' as char) { + inString = false + } + continue + } + + if (current == '"' as char) { + inString = true + } else if (current == '(' as char) { + parenthesesDepth++ + } else if (current == ')' as char) { + parenthesesDepth-- + } else if (current == '{' as char) { + bracesDepth++ + } else if (current == '}' as char) { + bracesDepth-- + } else if (current == '[' as char) { + bracketDepth++ + } else if (current == ']' as char) { + bracketDepth-- + } else if (current == delimiterChar && parenthesesDepth == 0 && bracesDepth == 0 && bracketDepth == 0) { + result.add(value.substring(startIndex, i)) + startIndex = i + 1 + } + } + + result.add(value.substring(startIndex)) + result + } + + private static String stripWrappingBraces(String value) { + value.startsWith('{') && value.endsWith('}') ? value.substring(1, value.length() - 1).strip() : value + } + + private static String unquoteJavaString(String value) { + if (value == null) { + return '' + } + + String stripped = value.strip() + if (stripped.length() >= 2 && stripped.startsWith('"') && stripped.endsWith('"')) { + return stripped.substring(1, stripped.length() - 1) + } + stripped + } + + private static String lastSegment(String value) { + if (!value) { + return '' + } + String stripped = value.strip() + int separatorIndex = stripped.lastIndexOf('.') + separatorIndex >= 0 ? stripped.substring(separatorIndex + 1) : stripped + } + + private static List> propertyShape(List properties) { + properties.collect { StudioPropertySignature property -> + [ + xmlAttribute: property.xmlAttribute(), + type : property.type(), + required : property.required() + ] + }.sort { it.xmlAttribute as String } as List> + } + + private static List propertyAttributes(List properties) { + properties.collect { it.xmlAttribute() }.sort() + } + + private static StudioMetaKind metaKind(String annotationName) { + switch (annotationName) { + case 'StudioFacet': + return StudioMetaKind.FACET + case 'StudioComponent': + return StudioMetaKind.COMPONENT + case 'StudioElement': + return StudioMetaKind.ELEMENT + case 'StudioAction': + return StudioMetaKind.ACTION + case 'StudioDataComponent': + return StudioMetaKind.DATA_COMPONENT + default: + throw new IllegalArgumentException("Unsupported meta annotation: ${annotationName}") + } + } + + private static final class AnnotationParseResult { + final String name + final String content + final int endIndex + + AnnotationParseResult(String name, AnnotationContent content) { + this.name = name + this.content = content.content + this.endIndex = content.endIndex + } + } + + private static final class AnnotationContent { + final String content + final int endIndex + + AnnotationContent(String content, int endIndex) { + this.content = content + this.endIndex = endIndex + } + } + + private static final class ImportContext { + final Map explicitImports + final List wildcardImports + + ImportContext(Map explicitImports, List wildcardImports) { + this.explicitImports = explicitImports + this.wildcardImports = wildcardImports + } + } + + private static final class MetaProjection { + StudioMetaKind kind + String xmlElement + List propertyGroups + List properties + + Map toComparableMap() { + [ + kind : kind, + xmlElement : xmlElement, + propertyGroups: propertyGroups, + properties : properties + ] + } + } +} diff --git a/jmix-flowui/flowui/src/test/java/io/jmix/flowui/kit/meta/generator/TestStudioMetaDescriptions.java b/jmix-flowui/flowui/src/test/java/io/jmix/flowui/kit/meta/generator/TestStudioMetaDescriptions.java new file mode 100644 index 0000000000..561175b0f7 --- /dev/null +++ b/jmix-flowui/flowui/src/test/java/io/jmix/flowui/kit/meta/generator/TestStudioMetaDescriptions.java @@ -0,0 +1,40 @@ +/* + * Copyright 2026 Haulmont. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package io.jmix.flowui.kit.meta.generator; + +import io.jmix.flowui.kit.meta.StudioFacet; +import io.jmix.flowui.kit.meta.StudioProperty; +import io.jmix.flowui.kit.meta.StudioPropertyType; +import io.jmix.flowui.kit.meta.StudioUiKit; + +@StudioUiKit +public interface TestStudioMetaDescriptions { + + @StudioFacet( + name = "TestDataLoadCoordinator", + xmlElement = "dataLoadCoordinator", + propertyGroups = TestStudioMetaPropertyGroups.DataLoadCoordinatorGeneratedProperties.class, + properties = { + @StudioProperty(xmlAttribute = "id", category = StudioProperty.Category.GENERAL, + type = StudioPropertyType.COMPONENT_ID), + @StudioProperty(xmlAttribute = "auto", type = StudioPropertyType.BOOLEAN), + @StudioProperty(xmlAttribute = "containerPrefix", type = StudioPropertyType.STRING), + @StudioProperty(xmlAttribute = "componentPrefix", type = StudioPropertyType.STRING) + } + ) + void dataLoadCoordinator(); +} diff --git a/jmix-flowui/flowui/src/test/java/io/jmix/flowui/kit/meta/generator/TestStudioMetaPropertyGroups.java b/jmix-flowui/flowui/src/test/java/io/jmix/flowui/kit/meta/generator/TestStudioMetaPropertyGroups.java new file mode 100644 index 0000000000..e86adc73bb --- /dev/null +++ b/jmix-flowui/flowui/src/test/java/io/jmix/flowui/kit/meta/generator/TestStudioMetaPropertyGroups.java @@ -0,0 +1,68 @@ +/* + * Copyright 2026 Haulmont. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package io.jmix.flowui.kit.meta.generator; + +import io.jmix.flowui.kit.meta.StudioProperty; +import io.jmix.flowui.kit.meta.StudioPropertyGroup; +import io.jmix.flowui.kit.meta.StudioPropertyGroups; +import io.jmix.flowui.kit.meta.StudioPropertyType; + +class TestStudioMetaPropertyGroups { + + private TestStudioMetaPropertyGroups() { + } + + @StudioPropertyGroup( + properties = { + @StudioProperty(xmlAttribute = "auto", type = StudioPropertyType.BOOLEAN) + } + ) + interface AutoWithoutDefaultValue { + } + + @StudioPropertyGroup( + properties = { + @StudioProperty(xmlAttribute = "componentPrefix", type = StudioPropertyType.STRING) + } + ) + interface ComponentPrefixWithoutDefaultValue { + } + + @StudioPropertyGroup( + properties = { + @StudioProperty(xmlAttribute = "containerPrefix", type = StudioPropertyType.STRING) + } + ) + interface ContainerPrefixWithoutDefaultValue { + } + + @StudioPropertyGroup + interface DataLoadCoordinatorGeneratedProperties extends StudioPropertyGroups.Id, + AutoWithoutDefaultValue, ComponentPrefixWithoutDefaultValue, ContainerPrefixWithoutDefaultValue { + } + + @StudioPropertyGroup( + properties = { + @StudioProperty(xmlAttribute = "id", type = StudioPropertyType.COMPONENT_ID, required = true), + @StudioProperty(xmlAttribute = "delay", type = StudioPropertyType.INTEGER, required = true), + @StudioProperty(xmlAttribute = "repeating", type = StudioPropertyType.BOOLEAN, defaultValue = "true"), + @StudioProperty(xmlAttribute = "autostart", type = StudioPropertyType.BOOLEAN, defaultValue = "false") + } + ) + interface TimerPropertiesWithDifferentRepeatingDefaultValue { + } +} From 5b4cb009e7c25352224e7a692c66982514c40567 Mon Sep 17 00:00:00 2001 From: Mikhail Fedoseev Date: Wed, 1 Apr 2026 18:18:50 +0300 Subject: [PATCH 06/10] Simplify components meta-descriptions #5053 --- .../kit/meta/StudioChartsElements.java | 476 ++++++------- .../kit/meta/StudioChartsPropertyGroups.java | 650 ++++++++---------- 2 files changed, 543 insertions(+), 583 deletions(-) diff --git a/jmix-charts/charts-flowui-kit/src/main/java/io/jmix/chartsflowui/kit/meta/StudioChartsElements.java b/jmix-charts/charts-flowui-kit/src/main/java/io/jmix/chartsflowui/kit/meta/StudioChartsElements.java index 4d222ba272..35193cd1c7 100644 --- a/jmix-charts/charts-flowui-kit/src/main/java/io/jmix/chartsflowui/kit/meta/StudioChartsElements.java +++ b/jmix-charts/charts-flowui-kit/src/main/java/io/jmix/chartsflowui/kit/meta/StudioChartsElements.java @@ -71,7 +71,7 @@ public interface StudioChartsElements { StudioChartsPropertyGroups.FontSize.class, StudioChartsPropertyGroups.LineHeight.class, StudioPropertyGroups.WidthWithIntegerType.class, - StudioChartsPropertyGroups.Height.class, + StudioChartsPropertyGroups.IntegerHeight.class, StudioChartsPropertyGroups.TextBorderColor.class, StudioChartsPropertyGroups.TextBorderWidth.class, StudioChartsPropertyGroups.TextBorderType.class, @@ -199,15 +199,15 @@ public interface StudioChartsElements { StudioChartsPropertyGroups.TriggerEvent.class, StudioChartsPropertyGroups.Padding.class, StudioChartsPropertyGroups.ItemGap.class, - StudioChartsPropertyGroups.ZLevel2.class, - StudioChartsPropertyGroups.Z2.class, - StudioChartsPropertyGroups.Left2.class, - StudioChartsPropertyGroups.Top2.class, - StudioChartsPropertyGroups.Right2.class, - StudioChartsPropertyGroups.Bottom2.class, + StudioChartsPropertyGroups.IntegerZLevel.class, + StudioChartsPropertyGroups.IntegerZ.class, + StudioChartsPropertyGroups.Left.class, + StudioChartsPropertyGroups.StringTop.class, + StudioChartsPropertyGroups.StringRight.class, + StudioChartsPropertyGroups.Bottom.class, StudioChartsPropertyGroups.BackgroundColor.class, StudioChartsPropertyGroups.BorderColor.class, - StudioChartsPropertyGroups.BorderWidth2.class, + StudioChartsPropertyGroups.IntegerBorderWidth.class, StudioChartsPropertyGroups.BorderRadius.class, StudioChartsPropertyGroups.ShadowBlur.class, StudioChartsPropertyGroups.ShadowColor.class, @@ -342,7 +342,7 @@ public interface StudioChartsElements { StudioChartsPropertyGroups.FontSize.class, StudioChartsPropertyGroups.FontStyle.class, StudioChartsPropertyGroups.FontWeight.class, - StudioChartsPropertyGroups.Height.class, + StudioChartsPropertyGroups.IntegerHeight.class, StudioChartsPropertyGroups.LineHeight.class, StudioChartsPropertyGroups.Overflow.class, StudioChartsPropertyGroups.TextBorderColor.class, @@ -464,14 +464,14 @@ public interface StudioChartsElements { unlimitedCount = false, icon = "io/jmix/chartsflowui/kit/meta/icon/unknownComponent.svg", propertyGroups = { - StudioChartsPropertyGroups.Align.class, + StudioChartsPropertyGroups.SharedAlign.class, StudioChartsPropertyGroups.ChartColor.class, StudioChartsPropertyGroups.Ellipsis.class, StudioChartsPropertyGroups.FontFamily.class, StudioChartsPropertyGroups.FontSize.class, StudioChartsPropertyGroups.FontStyle.class, StudioChartsPropertyGroups.FontWeight.class, - StudioChartsPropertyGroups.Height.class, + StudioChartsPropertyGroups.IntegerHeight.class, StudioChartsPropertyGroups.LineHeight.class, StudioChartsPropertyGroups.Overflow.class, StudioChartsPropertyGroups.TextBorderColor.class, @@ -599,19 +599,19 @@ public interface StudioChartsElements { icon = "io/jmix/chartsflowui/kit/meta/icon/unknownComponent.svg", propertyGroups = { StudioPropertyGroups.RequiredStringName.class, - StudioChartsPropertyGroups.Align.class, + StudioChartsPropertyGroups.SharedAlign.class, StudioChartsPropertyGroups.BackgroundColor.class, StudioChartsPropertyGroups.BorderColor.class, StudioChartsPropertyGroups.BorderDashOffset.class, StudioChartsPropertyGroups.BorderRadius.class, StudioChartsPropertyGroups.BorderType.class, - StudioChartsPropertyGroups.BorderWidth2.class, + StudioChartsPropertyGroups.IntegerBorderWidth.class, StudioChartsPropertyGroups.ChartColor.class, StudioChartsPropertyGroups.FontFamily.class, StudioChartsPropertyGroups.FontSize.class, StudioChartsPropertyGroups.FontStyle.class, StudioChartsPropertyGroups.FontWeight.class, - StudioChartsPropertyGroups.Height.class, + StudioChartsPropertyGroups.IntegerHeight.class, StudioChartsPropertyGroups.LineHeight.class, StudioChartsPropertyGroups.Padding.class, StudioChartsPropertyGroups.ShadowBlur.class, @@ -830,7 +830,7 @@ public interface StudioChartsElements { StudioChartsPropertyGroups.XAxisIndexes.class, StudioChartsPropertyGroups.YAxisIndex.class, StudioChartsPropertyGroups.YAxisIndexes.class, - StudioChartsPropertyGroups.Z2.class + StudioChartsPropertyGroups.IntegerZ.class }, properties = { @StudioProperty(xmlAttribute = "id", category = StudioProperty.Category.GENERAL, type = StudioPropertyType.COMPONENT_ID), @@ -885,7 +885,7 @@ public interface StudioChartsElements { unlimitedCount = false, icon = "io/jmix/chartsflowui/kit/meta/icon/unknownComponent.svg", propertyGroups = { - StudioChartsPropertyGroups.BorderWidth2.class, + StudioChartsPropertyGroups.IntegerBorderWidth.class, StudioChartsPropertyGroups.ChartColor.class, StudioChartsPropertyGroups.BorderColor.class }, @@ -1157,7 +1157,7 @@ public interface StudioChartsElements { StudioPropertyGroups.HideDelay.class, StudioChartsPropertyGroups.Show.class, StudioChartsPropertyGroups.Trigger.class, - StudioChartsPropertyGroups.Position.class, + StudioChartsPropertyGroups.TooltipPosition.class, StudioChartsPropertyGroups.PositionCoordinates.class, StudioChartsPropertyGroups.Formatter.class, StudioChartsPropertyGroups.FormatterFunction.class, @@ -1165,7 +1165,7 @@ public interface StudioChartsElements { StudioChartsPropertyGroups.ValueFormatterFunction.class, StudioChartsPropertyGroups.BackgroundColor.class, StudioChartsPropertyGroups.BorderColor.class, - StudioChartsPropertyGroups.BorderWidth2.class, + StudioChartsPropertyGroups.IntegerBorderWidth.class, StudioChartsPropertyGroups.ExtraCssText.class, StudioChartsPropertyGroups.Padding.class }, @@ -1268,17 +1268,17 @@ public interface StudioChartsElements { propertyGroups = { StudioPropertyGroups.Id.class, StudioChartsPropertyGroups.Show.class, - StudioChartsPropertyGroups.ZLevel2.class, - StudioChartsPropertyGroups.Z2.class, + StudioChartsPropertyGroups.IntegerZLevel.class, + StudioChartsPropertyGroups.IntegerZ.class, StudioChartsPropertyGroups.Left.class, - StudioChartsPropertyGroups.Top.class, - StudioChartsPropertyGroups.Right.class, + StudioChartsPropertyGroups.IntegerTop.class, + StudioChartsPropertyGroups.IntegerRight.class, StudioChartsPropertyGroups.Bottom.class, StudioPropertyGroups.WidthWithIntegerType.class, - StudioChartsPropertyGroups.Height.class, + StudioChartsPropertyGroups.IntegerHeight.class, StudioChartsPropertyGroups.BackgroundColor.class, StudioChartsPropertyGroups.BorderColor.class, - StudioChartsPropertyGroups.BorderWidth2.class, + StudioChartsPropertyGroups.IntegerBorderWidth.class, StudioChartsPropertyGroups.ShadowBlur.class, StudioChartsPropertyGroups.ShadowColor.class, StudioChartsPropertyGroups.ShadowOffsetX.class, @@ -1393,7 +1393,7 @@ public interface StudioChartsElements { StudioChartsPropertyGroups.BorderColor.class, StudioChartsPropertyGroups.BorderDashOffset.class, StudioChartsPropertyGroups.BorderType.class, - StudioChartsPropertyGroups.BorderWidth.class, + StudioChartsPropertyGroups.DoubleBorderWidth.class, StudioChartsPropertyGroups.BorderRadius.class, StudioChartsPropertyGroups.ChartColor.class, StudioChartsPropertyGroups.Padding.class, @@ -1402,7 +1402,7 @@ public interface StudioChartsElements { StudioChartsPropertyGroups.FontSize.class, StudioChartsPropertyGroups.FontStyle.class, StudioChartsPropertyGroups.FontWeight.class, - StudioChartsPropertyGroups.Height.class, + StudioChartsPropertyGroups.IntegerHeight.class, StudioChartsPropertyGroups.LineHeight.class, StudioChartsPropertyGroups.Overflow.class, StudioChartsPropertyGroups.ShadowBlur.class, @@ -1614,20 +1614,20 @@ public interface StudioChartsElements { propertyGroups = { StudioPropertyGroups.Id.class, StudioChartsPropertyGroups.Show.class, - StudioChartsPropertyGroups.ZLevel2.class, - StudioChartsPropertyGroups.Z2.class, + StudioChartsPropertyGroups.IntegerZLevel.class, + StudioChartsPropertyGroups.IntegerZ.class, StudioChartsPropertyGroups.Left.class, - StudioChartsPropertyGroups.Top.class, - StudioChartsPropertyGroups.Right.class, + StudioChartsPropertyGroups.IntegerTop.class, + StudioChartsPropertyGroups.IntegerRight.class, StudioChartsPropertyGroups.Bottom.class, StudioPropertyGroups.WidthWithIntegerType.class, - StudioChartsPropertyGroups.Height.class, + StudioChartsPropertyGroups.IntegerHeight.class, StudioChartsPropertyGroups.Orientation.class, - StudioChartsPropertyGroups.Align2.class, + StudioChartsPropertyGroups.LegendAlign.class, StudioChartsPropertyGroups.Padding.class, StudioChartsPropertyGroups.ItemGap.class, - StudioChartsPropertyGroups.ItemWidth2.class, - StudioChartsPropertyGroups.ItemHeight2.class, + StudioChartsPropertyGroups.IntegerItemWidth.class, + StudioChartsPropertyGroups.IntegerItemHeight.class, StudioChartsPropertyGroups.SymbolRotate.class, StudioChartsPropertyGroups.Formatter.class, StudioChartsPropertyGroups.FormatterFunction.class, @@ -1639,7 +1639,7 @@ public interface StudioChartsElements { StudioChartsPropertyGroups.Icon.class, StudioChartsPropertyGroups.BackgroundColor.class, StudioChartsPropertyGroups.BorderColor.class, - StudioChartsPropertyGroups.BorderWidth2.class, + StudioChartsPropertyGroups.IntegerBorderWidth.class, StudioChartsPropertyGroups.BorderRadius.class, StudioChartsPropertyGroups.ShadowBlur.class, StudioChartsPropertyGroups.ShadowColor.class, @@ -1896,20 +1896,20 @@ public interface StudioChartsElements { propertyGroups = { StudioPropertyGroups.Id.class, StudioChartsPropertyGroups.Show.class, - StudioChartsPropertyGroups.ZLevel2.class, - StudioChartsPropertyGroups.Z2.class, + StudioChartsPropertyGroups.IntegerZLevel.class, + StudioChartsPropertyGroups.IntegerZ.class, StudioChartsPropertyGroups.Left.class, - StudioChartsPropertyGroups.Top.class, - StudioChartsPropertyGroups.Right.class, + StudioChartsPropertyGroups.IntegerTop.class, + StudioChartsPropertyGroups.IntegerRight.class, StudioChartsPropertyGroups.Bottom.class, StudioPropertyGroups.WidthWithIntegerType.class, - StudioChartsPropertyGroups.Height.class, + StudioChartsPropertyGroups.IntegerHeight.class, StudioChartsPropertyGroups.Orientation.class, - StudioChartsPropertyGroups.Align2.class, + StudioChartsPropertyGroups.LegendAlign.class, StudioChartsPropertyGroups.Padding.class, StudioChartsPropertyGroups.ItemGap.class, - StudioChartsPropertyGroups.ItemWidth2.class, - StudioChartsPropertyGroups.ItemHeight2.class, + StudioChartsPropertyGroups.IntegerItemWidth.class, + StudioChartsPropertyGroups.IntegerItemHeight.class, StudioChartsPropertyGroups.SymbolRotate.class, StudioChartsPropertyGroups.Formatter.class, StudioChartsPropertyGroups.FormatterFunction.class, @@ -1921,7 +1921,7 @@ public interface StudioChartsElements { StudioChartsPropertyGroups.Icon.class, StudioChartsPropertyGroups.BackgroundColor.class, StudioChartsPropertyGroups.BorderColor.class, - StudioChartsPropertyGroups.BorderWidth2.class, + StudioChartsPropertyGroups.IntegerBorderWidth.class, StudioChartsPropertyGroups.BorderRadius.class, StudioChartsPropertyGroups.ShadowBlur.class, StudioChartsPropertyGroups.ShadowColor.class, @@ -2163,7 +2163,7 @@ public interface StudioChartsElements { StudioChartsPropertyGroups.FontSize.class, StudioChartsPropertyGroups.LineHeight.class, StudioPropertyGroups.WidthWithIntegerType.class, - StudioChartsPropertyGroups.Height.class, + StudioChartsPropertyGroups.IntegerHeight.class, StudioChartsPropertyGroups.TextBorderColor.class, StudioChartsPropertyGroups.TextBorderWidth.class, StudioChartsPropertyGroups.TextBorderType.class, @@ -2302,12 +2302,12 @@ public interface StudioChartsElements { StudioChartsPropertyGroups.Show.class, StudioChartsPropertyGroups.Distance.class, StudioChartsPropertyGroups.Rotate.class, - StudioChartsPropertyGroups.Offset2.class, - StudioChartsPropertyGroups.Align.class, + StudioChartsPropertyGroups.StringOffset.class, + StudioChartsPropertyGroups.SharedAlign.class, StudioChartsPropertyGroups.VerticalAlign.class, StudioChartsPropertyGroups.BackgroundColor.class, StudioChartsPropertyGroups.BorderColor.class, - StudioChartsPropertyGroups.BorderWidth2.class, + StudioChartsPropertyGroups.IntegerBorderWidth.class, StudioChartsPropertyGroups.BorderType.class, StudioChartsPropertyGroups.BorderDashOffset.class, StudioChartsPropertyGroups.BorderRadius.class, @@ -2323,7 +2323,7 @@ public interface StudioChartsElements { StudioChartsPropertyGroups.FontSize.class, StudioChartsPropertyGroups.LineHeight.class, StudioPropertyGroups.WidthWithIntegerType.class, - StudioChartsPropertyGroups.Height.class, + StudioChartsPropertyGroups.IntegerHeight.class, StudioChartsPropertyGroups.TextBorderColor.class, StudioChartsPropertyGroups.TextBorderWidth.class, StudioChartsPropertyGroups.TextBorderType.class, @@ -3199,8 +3199,8 @@ public interface StudioChartsElements { icon = "io/jmix/chartsflowui/kit/meta/icon/unknownComponent.svg", propertyGroups = { StudioPropertyGroups.Id.class, - StudioChartsPropertyGroups.ZLevel2.class, - StudioChartsPropertyGroups.Z2.class, + StudioChartsPropertyGroups.IntegerZLevel.class, + StudioChartsPropertyGroups.IntegerZ.class, StudioChartsPropertyGroups.Center.class, StudioChartsPropertyGroups.Radius.class }, @@ -3227,7 +3227,7 @@ public interface StudioChartsElements { propertyGroups = { StudioChartsPropertyGroups.Show.class, StudioChartsPropertyGroups.Trigger.class, - StudioChartsPropertyGroups.Position.class, + StudioChartsPropertyGroups.TooltipPosition.class, StudioChartsPropertyGroups.PositionCoordinates.class, StudioChartsPropertyGroups.Formatter.class, StudioChartsPropertyGroups.FormatterFunction.class, @@ -3235,7 +3235,7 @@ public interface StudioChartsElements { StudioChartsPropertyGroups.ValueFormatterFunction.class, StudioChartsPropertyGroups.BackgroundColor.class, StudioChartsPropertyGroups.BorderColor.class, - StudioChartsPropertyGroups.BorderWidth2.class, + StudioChartsPropertyGroups.IntegerBorderWidth.class, StudioChartsPropertyGroups.ExtraCssText.class, StudioChartsPropertyGroups.Padding.class }, @@ -3320,7 +3320,7 @@ public interface StudioChartsElements { icon = "io/jmix/chartsflowui/kit/meta/icon/unknownComponent.svg", propertyGroups = { StudioChartsPropertyGroups.Snap.class, - StudioChartsPropertyGroups.Z2.class, + StudioChartsPropertyGroups.IntegerZ.class, StudioChartsPropertyGroups.Animation.class, StudioChartsPropertyGroups.AnimationThreshold.class, StudioChartsPropertyGroups.AnimationDuration.class, @@ -3370,12 +3370,12 @@ public interface StudioChartsElements { icon = "io/jmix/chartsflowui/kit/meta/icon/unknownComponent.svg", propertyGroups = { StudioChartsPropertyGroups.Show.class, - StudioChartsPropertyGroups.Type.class, + StudioChartsPropertyGroups.AxisPointerType.class, StudioChartsPropertyGroups.Snap.class, - StudioChartsPropertyGroups.Z2.class, + StudioChartsPropertyGroups.IntegerZ.class, StudioChartsPropertyGroups.TriggerEmphasis.class, StudioChartsPropertyGroups.TriggerTooltip.class, - StudioChartsPropertyGroups.Value2.class, + StudioChartsPropertyGroups.IntegerValue.class, StudioChartsPropertyGroups.Status.class }, properties = { @@ -3406,13 +3406,13 @@ public interface StudioChartsElements { propertyGroups = { StudioPropertyGroups.Id.class, StudioChartsPropertyGroups.Show.class, - StudioChartsPropertyGroups.Type.class, + StudioChartsPropertyGroups.AxisPointerType.class, StudioChartsPropertyGroups.Snap.class, - StudioChartsPropertyGroups.Z2.class, + StudioChartsPropertyGroups.IntegerZ.class, StudioChartsPropertyGroups.TriggerOn.class, StudioChartsPropertyGroups.TriggerEmphasis.class, StudioChartsPropertyGroups.TriggerTooltip.class, - StudioChartsPropertyGroups.Value2.class, + StudioChartsPropertyGroups.IntegerValue.class, StudioChartsPropertyGroups.Status.class }, properties = { @@ -3531,14 +3531,14 @@ public interface StudioChartsElements { icon = "io/jmix/chartsflowui/kit/meta/icon/unknownComponent.svg", propertyGroups = { StudioChartsPropertyGroups.Show.class, - StudioChartsPropertyGroups.Precision2.class, + StudioChartsPropertyGroups.IntegerPrecision.class, StudioChartsPropertyGroups.Formatter.class, StudioChartsPropertyGroups.FormatterFunction.class, StudioChartsPropertyGroups.Margin.class, StudioChartsPropertyGroups.Padding.class, StudioChartsPropertyGroups.BackgroundColor.class, StudioChartsPropertyGroups.BorderColor.class, - StudioChartsPropertyGroups.BorderWidth2.class, + StudioChartsPropertyGroups.IntegerBorderWidth.class, StudioChartsPropertyGroups.ShadowBlur.class, StudioChartsPropertyGroups.ShadowColor.class, StudioChartsPropertyGroups.ShadowOffsetX.class, @@ -3550,7 +3550,7 @@ public interface StudioChartsElements { StudioChartsPropertyGroups.FontSize.class, StudioChartsPropertyGroups.LineHeight.class, StudioPropertyGroups.WidthWithIntegerType.class, - StudioChartsPropertyGroups.Height.class, + StudioChartsPropertyGroups.IntegerHeight.class, StudioChartsPropertyGroups.TextBorderColor.class, StudioChartsPropertyGroups.TextBorderWidth.class, StudioChartsPropertyGroups.TextBorderType.class, @@ -3758,13 +3758,13 @@ public interface StudioChartsElements { icon = "io/jmix/chartsflowui/kit/meta/icon/unknownComponent.svg", propertyGroups = { StudioPropertyGroups.Id.class, - StudioChartsPropertyGroups.ZLevel2.class, - StudioChartsPropertyGroups.Center2.class, - StudioChartsPropertyGroups.Radius2.class, + StudioChartsPropertyGroups.IntegerZLevel.class, + StudioChartsPropertyGroups.Center.class, + StudioChartsPropertyGroups.Radius.class, StudioChartsPropertyGroups.StartAngle.class, StudioChartsPropertyGroups.NameGap.class, StudioChartsPropertyGroups.SplitNumber.class, - StudioChartsPropertyGroups.Scale.class, + StudioChartsPropertyGroups.BooleanScale.class, StudioChartsPropertyGroups.Silent.class, StudioChartsPropertyGroups.TriggerEvent.class }, @@ -3848,7 +3848,7 @@ public interface StudioChartsElements { StudioChartsPropertyGroups.FormatterFunction.class, StudioChartsPropertyGroups.BackgroundColor.class, StudioChartsPropertyGroups.BorderColor.class, - StudioChartsPropertyGroups.BorderWidth2.class, + StudioChartsPropertyGroups.IntegerBorderWidth.class, StudioChartsPropertyGroups.BorderType.class, StudioChartsPropertyGroups.BorderDashOffset.class, StudioChartsPropertyGroups.BorderRadius.class, @@ -3864,7 +3864,7 @@ public interface StudioChartsElements { StudioChartsPropertyGroups.FontSize.class, StudioChartsPropertyGroups.LineHeight.class, StudioPropertyGroups.WidthWithIntegerType.class, - StudioChartsPropertyGroups.Height.class, + StudioChartsPropertyGroups.IntegerHeight.class, StudioChartsPropertyGroups.TextBorderColor.class, StudioChartsPropertyGroups.TextBorderWidth.class, StudioChartsPropertyGroups.TextBorderType.class, @@ -4257,11 +4257,11 @@ public interface StudioChartsElements { StudioChartsPropertyGroups.Formatter.class, StudioChartsPropertyGroups.FormatterFunction.class, StudioChartsPropertyGroups.HideOverlap.class, - StudioChartsPropertyGroups.Align.class, + StudioChartsPropertyGroups.SharedAlign.class, StudioChartsPropertyGroups.VerticalAlign.class, StudioChartsPropertyGroups.BackgroundColor.class, StudioChartsPropertyGroups.BorderColor.class, - StudioChartsPropertyGroups.BorderWidth2.class, + StudioChartsPropertyGroups.IntegerBorderWidth.class, StudioChartsPropertyGroups.BorderType.class, StudioChartsPropertyGroups.BorderDashOffset.class, StudioChartsPropertyGroups.BorderRadius.class, @@ -4277,7 +4277,7 @@ public interface StudioChartsElements { StudioChartsPropertyGroups.FontSize.class, StudioChartsPropertyGroups.LineHeight.class, StudioPropertyGroups.WidthWithIntegerType.class, - StudioChartsPropertyGroups.Height.class, + StudioChartsPropertyGroups.IntegerHeight.class, StudioChartsPropertyGroups.TextBorderColor.class, StudioChartsPropertyGroups.TextBorderWidth.class, StudioChartsPropertyGroups.TextBorderType.class, @@ -4578,7 +4578,7 @@ public interface StudioChartsElements { propertyGroups = { StudioChartsPropertyGroups.ChartColor.class, StudioPropertyGroups.WidthWithIntegerType.class, - StudioChartsPropertyGroups.Type5.class, + StudioChartsPropertyGroups.Type.class, StudioChartsPropertyGroups.DashOffset.class, StudioChartsPropertyGroups.Cap.class, StudioChartsPropertyGroups.Join.class, @@ -4670,7 +4670,7 @@ public interface StudioChartsElements { propertyGroups = { StudioChartsPropertyGroups.ChartColor.class, StudioPropertyGroups.WidthWithIntegerType.class, - StudioChartsPropertyGroups.Type5.class, + StudioChartsPropertyGroups.Type.class, StudioChartsPropertyGroups.DashOffset.class, StudioChartsPropertyGroups.Cap.class, StudioChartsPropertyGroups.Join.class, @@ -4762,8 +4762,8 @@ public interface StudioChartsElements { StudioChartsPropertyGroups.Show.class, StudioChartsPropertyGroups.GridIndex.class, StudioChartsPropertyGroups.AlignTicks.class, - StudioChartsPropertyGroups.Position2.class, - StudioChartsPropertyGroups.Offset.class, + StudioChartsPropertyGroups.AxisPosition.class, + StudioChartsPropertyGroups.IntegerOffset.class, StudioChartsPropertyGroups.Name.class, StudioChartsPropertyGroups.NameLocation.class, StudioChartsPropertyGroups.NameGap.class, @@ -4776,12 +4776,12 @@ public interface StudioChartsElements { StudioChartsPropertyGroups.AnimationDurationUpdateFunction.class, StudioChartsPropertyGroups.AnimationDelayUpdateFunction.class, StudioPropertyGroups.Id.class, - StudioChartsPropertyGroups.Type2.class, + StudioChartsPropertyGroups.AxisType.class, StudioChartsPropertyGroups.CategoryBoundaryGap.class, StudioChartsPropertyGroups.NonCategoryBoundaryGap.class, - StudioChartsPropertyGroups.Min2.class, - StudioChartsPropertyGroups.Max2.class, - StudioChartsPropertyGroups.Scale.class, + StudioChartsPropertyGroups.StringMin.class, + StudioChartsPropertyGroups.StringMax.class, + StudioChartsPropertyGroups.BooleanScale.class, StudioChartsPropertyGroups.SplitNumber.class, StudioChartsPropertyGroups.MinInterval.class, StudioChartsPropertyGroups.MaxInterval.class, @@ -4797,8 +4797,8 @@ public interface StudioChartsElements { StudioChartsPropertyGroups.AnimationDurationUpdate.class, StudioChartsPropertyGroups.AnimationEasingUpdate.class, StudioChartsPropertyGroups.AnimationDelayUpdate.class, - StudioChartsPropertyGroups.ZLevel2.class, - StudioChartsPropertyGroups.Z2.class + StudioChartsPropertyGroups.IntegerZLevel.class, + StudioChartsPropertyGroups.IntegerZ.class }, properties = { @StudioProperty(xmlAttribute = "show", type = StudioPropertyType.BOOLEAN), @@ -4863,12 +4863,12 @@ public interface StudioChartsElements { StudioChartsPropertyGroups.Show.class, StudioChartsPropertyGroups.GridIndex.class, StudioChartsPropertyGroups.AlignTicks.class, - StudioChartsPropertyGroups.Position2.class, - StudioChartsPropertyGroups.Offset.class, + StudioChartsPropertyGroups.AxisPosition.class, + StudioChartsPropertyGroups.IntegerOffset.class, StudioChartsPropertyGroups.NameGap.class, StudioChartsPropertyGroups.Name.class, StudioChartsPropertyGroups.NameLocation.class, - StudioChartsPropertyGroups.Scale.class, + StudioChartsPropertyGroups.BooleanScale.class, StudioChartsPropertyGroups.Silent.class, StudioChartsPropertyGroups.TriggerEvent.class, StudioChartsPropertyGroups.NameRotate.class, @@ -4880,11 +4880,11 @@ public interface StudioChartsElements { StudioChartsPropertyGroups.AnimationDurationUpdateFunction.class, StudioChartsPropertyGroups.AnimationDelayUpdateFunction.class, StudioPropertyGroups.Id.class, - StudioChartsPropertyGroups.Type2.class, + StudioChartsPropertyGroups.AxisType.class, StudioChartsPropertyGroups.CategoryBoundaryGap.class, StudioChartsPropertyGroups.NonCategoryBoundaryGap.class, - StudioChartsPropertyGroups.Min2.class, - StudioChartsPropertyGroups.Max2.class, + StudioChartsPropertyGroups.StringMin.class, + StudioChartsPropertyGroups.StringMax.class, StudioChartsPropertyGroups.SplitNumber.class, StudioChartsPropertyGroups.MinInterval.class, StudioChartsPropertyGroups.MaxInterval.class, @@ -4898,8 +4898,8 @@ public interface StudioChartsElements { StudioChartsPropertyGroups.AnimationDurationUpdate.class, StudioChartsPropertyGroups.AnimationEasingUpdate.class, StudioChartsPropertyGroups.AnimationDelayUpdate.class, - StudioChartsPropertyGroups.ZLevel2.class, - StudioChartsPropertyGroups.Z2.class + StudioChartsPropertyGroups.IntegerZLevel.class, + StudioChartsPropertyGroups.IntegerZ.class }, properties = { @StudioProperty(xmlAttribute = "show", type = StudioPropertyType.BOOLEAN), @@ -4977,12 +4977,12 @@ public interface StudioChartsElements { StudioChartsPropertyGroups.AnimationDurationUpdateFunction.class, StudioChartsPropertyGroups.AnimationDelayUpdateFunction.class, StudioPropertyGroups.Id.class, - StudioChartsPropertyGroups.Type2.class, + StudioChartsPropertyGroups.AxisType.class, StudioChartsPropertyGroups.CategoryBoundaryGap.class, StudioChartsPropertyGroups.NonCategoryBoundaryGap.class, - StudioChartsPropertyGroups.Min2.class, - StudioChartsPropertyGroups.Max2.class, - StudioChartsPropertyGroups.Scale.class, + StudioChartsPropertyGroups.StringMin.class, + StudioChartsPropertyGroups.StringMax.class, + StudioChartsPropertyGroups.BooleanScale.class, StudioChartsPropertyGroups.SplitNumber.class, StudioChartsPropertyGroups.MinInterval.class, StudioChartsPropertyGroups.MaxInterval.class, @@ -4998,8 +4998,8 @@ public interface StudioChartsElements { StudioChartsPropertyGroups.AnimationDurationUpdate.class, StudioChartsPropertyGroups.AnimationEasingUpdate.class, StudioChartsPropertyGroups.AnimationDelayUpdate.class, - StudioChartsPropertyGroups.ZLevel2.class, - StudioChartsPropertyGroups.Z2.class + StudioChartsPropertyGroups.IntegerZLevel.class, + StudioChartsPropertyGroups.IntegerZ.class }, properties = { @StudioProperty(xmlAttribute = "startAngle", type = StudioPropertyType.INTEGER), @@ -5064,12 +5064,12 @@ public interface StudioChartsElements { StudioChartsPropertyGroups.AnimationDurationUpdateFunction.class, StudioChartsPropertyGroups.AnimationDelayUpdateFunction.class, StudioPropertyGroups.Id.class, - StudioChartsPropertyGroups.Type2.class, + StudioChartsPropertyGroups.AxisType.class, StudioChartsPropertyGroups.CategoryBoundaryGap.class, StudioChartsPropertyGroups.NonCategoryBoundaryGap.class, - StudioChartsPropertyGroups.Min2.class, - StudioChartsPropertyGroups.Max2.class, - StudioChartsPropertyGroups.Scale.class, + StudioChartsPropertyGroups.StringMin.class, + StudioChartsPropertyGroups.StringMax.class, + StudioChartsPropertyGroups.BooleanScale.class, StudioChartsPropertyGroups.SplitNumber.class, StudioChartsPropertyGroups.MinInterval.class, StudioChartsPropertyGroups.MaxInterval.class, @@ -5085,8 +5085,8 @@ public interface StudioChartsElements { StudioChartsPropertyGroups.AnimationDurationUpdate.class, StudioChartsPropertyGroups.AnimationEasingUpdate.class, StudioChartsPropertyGroups.AnimationDelayUpdate.class, - StudioChartsPropertyGroups.ZLevel2.class, - StudioChartsPropertyGroups.Z2.class + StudioChartsPropertyGroups.IntegerZLevel.class, + StudioChartsPropertyGroups.IntegerZ.class }, properties = { @@ -5150,7 +5150,7 @@ public interface StudioChartsElements { StudioChartsPropertyGroups.FontSize.class, StudioChartsPropertyGroups.FontStyle.class, StudioChartsPropertyGroups.FontWeight.class, - StudioChartsPropertyGroups.Height.class, + StudioChartsPropertyGroups.IntegerHeight.class, StudioChartsPropertyGroups.LineHeight.class, StudioChartsPropertyGroups.Overflow.class, StudioChartsPropertyGroups.TextBorderColor.class, @@ -5162,11 +5162,11 @@ public interface StudioChartsElements { StudioChartsPropertyGroups.TextShadowOffsetX.class, StudioChartsPropertyGroups.TextShadowOffsetY.class, StudioPropertyGroups.WidthWithIntegerType.class, - StudioChartsPropertyGroups.Align.class, + StudioChartsPropertyGroups.SharedAlign.class, StudioChartsPropertyGroups.VerticalAlign.class, StudioChartsPropertyGroups.BackgroundColor.class, StudioChartsPropertyGroups.BorderColor.class, - StudioChartsPropertyGroups.BorderWidth2.class, + StudioChartsPropertyGroups.IntegerBorderWidth.class, StudioChartsPropertyGroups.BorderType.class, StudioChartsPropertyGroups.BorderDashOffset.class, StudioChartsPropertyGroups.BorderRadius.class, @@ -5539,14 +5539,14 @@ public interface StudioChartsElements { StudioChartsPropertyGroups.HandleIcon.class, StudioChartsPropertyGroups.HandleSize.class, StudioChartsPropertyGroups.Realtime.class, - StudioChartsPropertyGroups.ZLevel2.class, - StudioChartsPropertyGroups.Z2.class, - StudioChartsPropertyGroups.Left2.class, - StudioChartsPropertyGroups.Top2.class, - StudioChartsPropertyGroups.Right2.class, - StudioChartsPropertyGroups.Bottom2.class, + StudioChartsPropertyGroups.IntegerZLevel.class, + StudioChartsPropertyGroups.IntegerZ.class, + StudioChartsPropertyGroups.Left.class, + StudioChartsPropertyGroups.StringTop.class, + StudioChartsPropertyGroups.StringRight.class, + StudioChartsPropertyGroups.Bottom.class, StudioChartsPropertyGroups.Width.class, - StudioChartsPropertyGroups.Height2.class + StudioChartsPropertyGroups.StringHeight.class }, properties = { @StudioProperty(xmlAttribute = "id", category = StudioProperty.Category.GENERAL, type = StudioPropertyType.COMPONENT_ID), @@ -5718,27 +5718,27 @@ public interface StudioChartsElements { icon = "io/jmix/chartsflowui/kit/meta/icon/unknownComponent.svg", propertyGroups = { StudioPropertyGroups.Id.class, - StudioChartsPropertyGroups.Min.class, - StudioChartsPropertyGroups.Max.class, + StudioChartsPropertyGroups.DoubleMin.class, + StudioChartsPropertyGroups.DoubleMax.class, StudioChartsPropertyGroups.Inverse.class, - StudioChartsPropertyGroups.Precision.class, - StudioChartsPropertyGroups.ItemWidth.class, - StudioChartsPropertyGroups.ItemHeight.class, - StudioChartsPropertyGroups.Align3.class, + StudioChartsPropertyGroups.DoublePrecision.class, + StudioChartsPropertyGroups.DoubleItemWidth.class, + StudioChartsPropertyGroups.DoubleItemHeight.class, + StudioChartsPropertyGroups.MapAlign.class, StudioChartsPropertyGroups.Text.class, StudioChartsPropertyGroups.TextGap.class, StudioChartsPropertyGroups.Show.class, StudioChartsPropertyGroups.Dimension.class, StudioChartsPropertyGroups.SeriesIndex.class, StudioChartsPropertyGroups.HoverLink.class, - StudioChartsPropertyGroups.ZLevel.class, - StudioChartsPropertyGroups.Z.class, - StudioChartsPropertyGroups.Left2.class, - StudioChartsPropertyGroups.Top2.class, - StudioChartsPropertyGroups.Right2.class, - StudioChartsPropertyGroups.Bottom2.class, + StudioChartsPropertyGroups.DoubleZLevel.class, + StudioChartsPropertyGroups.DoubleZ.class, + StudioChartsPropertyGroups.Left.class, + StudioChartsPropertyGroups.StringTop.class, + StudioChartsPropertyGroups.StringRight.class, + StudioChartsPropertyGroups.Bottom.class, StudioChartsPropertyGroups.Padding.class, - StudioChartsPropertyGroups.BorderWidth.class, + StudioChartsPropertyGroups.DoubleBorderWidth.class, StudioChartsPropertyGroups.Formatter.class, StudioChartsPropertyGroups.FormatterFunction.class, StudioChartsPropertyGroups.Orientation.class, @@ -5849,27 +5849,27 @@ public interface StudioChartsElements { icon = "io/jmix/chartsflowui/kit/meta/icon/unknownComponent.svg", propertyGroups = { StudioPropertyGroups.Id.class, - StudioChartsPropertyGroups.Min.class, - StudioChartsPropertyGroups.Max.class, + StudioChartsPropertyGroups.DoubleMin.class, + StudioChartsPropertyGroups.DoubleMax.class, StudioChartsPropertyGroups.Inverse.class, - StudioChartsPropertyGroups.Precision.class, - StudioChartsPropertyGroups.ItemWidth.class, - StudioChartsPropertyGroups.ItemHeight.class, - StudioChartsPropertyGroups.Align3.class, + StudioChartsPropertyGroups.DoublePrecision.class, + StudioChartsPropertyGroups.DoubleItemWidth.class, + StudioChartsPropertyGroups.DoubleItemHeight.class, + StudioChartsPropertyGroups.MapAlign.class, StudioChartsPropertyGroups.Text.class, StudioChartsPropertyGroups.TextGap.class, StudioChartsPropertyGroups.Show.class, StudioChartsPropertyGroups.Dimension.class, StudioChartsPropertyGroups.SeriesIndex.class, StudioChartsPropertyGroups.HoverLink.class, - StudioChartsPropertyGroups.ZLevel.class, - StudioChartsPropertyGroups.Z.class, - StudioChartsPropertyGroups.Left2.class, - StudioChartsPropertyGroups.Top2.class, - StudioChartsPropertyGroups.Right2.class, - StudioChartsPropertyGroups.Bottom2.class, + StudioChartsPropertyGroups.DoubleZLevel.class, + StudioChartsPropertyGroups.DoubleZ.class, + StudioChartsPropertyGroups.Left.class, + StudioChartsPropertyGroups.StringTop.class, + StudioChartsPropertyGroups.StringRight.class, + StudioChartsPropertyGroups.Bottom.class, StudioChartsPropertyGroups.Padding.class, - StudioChartsPropertyGroups.BorderWidth.class, + StudioChartsPropertyGroups.DoubleBorderWidth.class, StudioChartsPropertyGroups.Formatter.class, StudioChartsPropertyGroups.FormatterFunction.class, StudioChartsPropertyGroups.Orientation.class, @@ -5984,10 +5984,10 @@ public interface StudioChartsElements { xmlnsAlias = "charts", icon = "io/jmix/chartsflowui/kit/meta/icon/unknownComponent.svg", propertyGroups = { - StudioChartsPropertyGroups.Min.class, - StudioChartsPropertyGroups.Max.class, + StudioChartsPropertyGroups.DoubleMin.class, + StudioChartsPropertyGroups.DoubleMax.class, StudioPropertyGroups.Label.class, - StudioChartsPropertyGroups.Value.class, + StudioChartsPropertyGroups.DoubleValue.class, StudioChartsPropertyGroups.ChartColor.class }, properties = { @@ -6058,7 +6058,7 @@ public interface StudioChartsElements { StudioChartsPropertyGroups.FontSize.class, StudioChartsPropertyGroups.LineHeight.class, StudioPropertyGroups.WidthWithIntegerType.class, - StudioChartsPropertyGroups.Height.class, + StudioChartsPropertyGroups.IntegerHeight.class, StudioChartsPropertyGroups.TextBorderColor.class, StudioChartsPropertyGroups.TextBorderWidth.class, StudioChartsPropertyGroups.TextBorderType.class, @@ -6191,7 +6191,7 @@ public interface StudioChartsElements { StudioChartsPropertyGroups.AnimationEasingUpdate.class, StudioChartsPropertyGroups.AnimationDelayUpdate.class, StudioPropertyGroups.Symbol.class, - StudioChartsPropertyGroups.SymbolSize.class, + StudioChartsPropertyGroups.IntegerSymbolSize.class, StudioChartsPropertyGroups.SymbolSizeFunction.class, StudioChartsPropertyGroups.SymbolRotate.class, StudioChartsPropertyGroups.SymbolKeepAspect.class, @@ -6207,8 +6207,8 @@ public interface StudioChartsElements { StudioChartsPropertyGroups.ColorBy.class, StudioChartsPropertyGroups.SelectedMode.class, StudioChartsPropertyGroups.DataGroupId.class, - StudioChartsPropertyGroups.ZLevel2.class, - StudioChartsPropertyGroups.Z2.class, + StudioChartsPropertyGroups.IntegerZLevel.class, + StudioChartsPropertyGroups.IntegerZ.class, StudioChartsPropertyGroups.Silent.class, StudioChartsPropertyGroups.AnimationDuration.class, StudioChartsPropertyGroups.AnimationEasing.class, @@ -6293,7 +6293,7 @@ public interface StudioChartsElements { unlimitedCount = false, icon = "io/jmix/chartsflowui/kit/meta/icon/unknownComponent.svg", propertyGroups = { - StudioChartsPropertyGroups.Align.class, + StudioChartsPropertyGroups.SharedAlign.class, StudioChartsPropertyGroups.VerticalAlign.class, StudioChartsPropertyGroups.BorderType.class, StudioChartsPropertyGroups.BorderDashOffset.class, @@ -6307,7 +6307,7 @@ public interface StudioChartsElements { StudioChartsPropertyGroups.Padding.class, StudioChartsPropertyGroups.BackgroundColor.class, StudioChartsPropertyGroups.BorderColor.class, - StudioChartsPropertyGroups.BorderWidth2.class, + StudioChartsPropertyGroups.IntegerBorderWidth.class, StudioChartsPropertyGroups.ShadowBlur.class, StudioChartsPropertyGroups.ShadowColor.class, StudioChartsPropertyGroups.ShadowOffsetX.class, @@ -6319,7 +6319,7 @@ public interface StudioChartsElements { StudioChartsPropertyGroups.FontSize.class, StudioChartsPropertyGroups.LineHeight.class, StudioPropertyGroups.WidthWithIntegerType.class, - StudioChartsPropertyGroups.Height.class, + StudioChartsPropertyGroups.IntegerHeight.class, StudioChartsPropertyGroups.TextBorderColor.class, StudioChartsPropertyGroups.TextBorderWidth.class, StudioChartsPropertyGroups.TextBorderType.class, @@ -6875,7 +6875,7 @@ public interface StudioChartsElements { icon = "io/jmix/chartsflowui/kit/meta/icon/unknownComponent.svg", propertyGroups = { StudioChartsPropertyGroups.Disabled.class, - StudioChartsPropertyGroups.Scale2.class, + StudioChartsPropertyGroups.DoubleScale.class, StudioChartsPropertyGroups.Focus.class, StudioChartsPropertyGroups.BlurScope.class }, @@ -7032,8 +7032,8 @@ public interface StudioChartsElements { StudioChartsPropertyGroups.ColorBy.class, StudioChartsPropertyGroups.SelectedMode.class, StudioChartsPropertyGroups.DataGroupId.class, - StudioChartsPropertyGroups.ZLevel2.class, - StudioChartsPropertyGroups.Z2.class, + StudioChartsPropertyGroups.IntegerZLevel.class, + StudioChartsPropertyGroups.IntegerZ.class, StudioChartsPropertyGroups.Silent.class, StudioChartsPropertyGroups.AnimationDuration.class, StudioChartsPropertyGroups.AnimationEasing.class, @@ -7169,8 +7169,8 @@ public interface StudioChartsElements { StudioChartsPropertyGroups.Y.class, StudioChartsPropertyGroups.Rotate.class, StudioPropertyGroups.WidthWithIntegerType.class, - StudioChartsPropertyGroups.Height.class, - StudioChartsPropertyGroups.Align.class, + StudioChartsPropertyGroups.IntegerHeight.class, + StudioChartsPropertyGroups.SharedAlign.class, StudioChartsPropertyGroups.VerticalAlign.class, StudioChartsPropertyGroups.FontSize.class }, @@ -7209,14 +7209,14 @@ public interface StudioChartsElements { unlimitedCount = false, icon = "io/jmix/chartsflowui/kit/meta/icon/unknownComponent.svg", propertyGroups = { - StudioChartsPropertyGroups.Position.class, + StudioChartsPropertyGroups.TooltipPosition.class, StudioChartsPropertyGroups.PositionCoordinates.class, StudioChartsPropertyGroups.Formatter.class, StudioChartsPropertyGroups.FormatterFunction.class, StudioChartsPropertyGroups.ValueFormatter.class, StudioChartsPropertyGroups.BackgroundColor.class, StudioChartsPropertyGroups.BorderColor.class, - StudioChartsPropertyGroups.BorderWidth2.class, + StudioChartsPropertyGroups.IntegerBorderWidth.class, StudioChartsPropertyGroups.Padding.class, StudioChartsPropertyGroups.ExtraCssText.class }, @@ -7299,7 +7299,7 @@ public interface StudioChartsElements { icon = "io/jmix/chartsflowui/kit/meta/icon/unknownComponent.svg", propertyGroups = { StudioPropertyGroups.Symbol.class, - StudioChartsPropertyGroups.SymbolSize.class, + StudioChartsPropertyGroups.IntegerSymbolSize.class, StudioChartsPropertyGroups.SymbolSizeFunction.class, StudioChartsPropertyGroups.SymbolRotate.class, StudioChartsPropertyGroups.SymbolKeepAspect.class, @@ -7313,7 +7313,7 @@ public interface StudioChartsElements { StudioChartsPropertyGroups.AnimationDelay.class, StudioChartsPropertyGroups.AnimationDurationUpdate.class, StudioChartsPropertyGroups.AnimationEasingUpdate.class, - StudioChartsPropertyGroups.AnimationDelayUpdate2.class + StudioChartsPropertyGroups.AnimationDelayUpdate.class }, properties = { @StudioProperty(xmlAttribute = "symbol", type = StudioPropertyType.STRING), @@ -7334,7 +7334,7 @@ public interface StudioChartsElements { @StudioProperty(xmlAttribute = "animationDelay", type = StudioPropertyType.INTEGER), @StudioProperty(xmlAttribute = "animationDurationUpdate", type = StudioPropertyType.INTEGER), @StudioProperty(xmlAttribute = "animationEasingUpdate", type = StudioPropertyType.STRING), - @StudioProperty(xmlAttribute = "animationDelayUpdate", type = StudioPropertyType.STRING) + @StudioProperty(xmlAttribute = "animationDelayUpdate", type = StudioPropertyType.INTEGER) } ) MarkPoint markPoint(); @@ -7352,8 +7352,8 @@ public interface StudioChartsElements { unlimitedCount = false, icon = "io/jmix/chartsflowui/kit/meta/icon/unknownComponent.svg", propertyGroups = { - StudioChartsPropertyGroups.SymbolSize.class, - StudioChartsPropertyGroups.Precision2.class, + StudioChartsPropertyGroups.IntegerSymbolSize.class, + StudioChartsPropertyGroups.IntegerPrecision.class, StudioChartsPropertyGroups.Silent.class, StudioChartsPropertyGroups.Animation.class, StudioChartsPropertyGroups.AnimationThreshold.class, @@ -7362,7 +7362,7 @@ public interface StudioChartsElements { StudioChartsPropertyGroups.AnimationDelay.class, StudioChartsPropertyGroups.AnimationDurationUpdate.class, StudioChartsPropertyGroups.AnimationEasingUpdate.class, - StudioChartsPropertyGroups.AnimationDelayUpdate2.class + StudioChartsPropertyGroups.AnimationDelayUpdate.class }, properties = { @StudioProperty(xmlAttribute = "symbolSize", type = StudioPropertyType.INTEGER), @@ -7379,7 +7379,7 @@ public interface StudioChartsElements { @StudioProperty(xmlAttribute = "animationDelay", type = StudioPropertyType.INTEGER), @StudioProperty(xmlAttribute = "animationDurationUpdate", type = StudioPropertyType.INTEGER), @StudioProperty(xmlAttribute = "animationEasingUpdate", type = StudioPropertyType.STRING), - @StudioProperty(xmlAttribute = "animationDelayUpdate", type = StudioPropertyType.STRING) + @StudioProperty(xmlAttribute = "animationDelayUpdate", type = StudioPropertyType.INTEGER) } ) MarkLine markLine(); @@ -7405,7 +7405,7 @@ public interface StudioChartsElements { StudioChartsPropertyGroups.AnimationDelay.class, StudioChartsPropertyGroups.AnimationDurationUpdate.class, StudioChartsPropertyGroups.AnimationEasingUpdate.class, - StudioChartsPropertyGroups.AnimationDelayUpdate2.class + StudioChartsPropertyGroups.AnimationDelayUpdate.class }, properties = { @StudioProperty(xmlAttribute = "silent", type = StudioPropertyType.BOOLEAN), @@ -7416,7 +7416,7 @@ public interface StudioChartsElements { @StudioProperty(xmlAttribute = "animationDelay", type = StudioPropertyType.INTEGER), @StudioProperty(xmlAttribute = "animationDurationUpdate", type = StudioPropertyType.INTEGER), @StudioProperty(xmlAttribute = "animationEasingUpdate", type = StudioPropertyType.STRING), - @StudioProperty(xmlAttribute = "animationDelayUpdate", type = StudioPropertyType.STRING) + @StudioProperty(xmlAttribute = "animationDelayUpdate", type = StudioPropertyType.INTEGER) } ) MarkArea markArea(); @@ -7479,7 +7479,7 @@ public interface StudioChartsElements { icon = "io/jmix/chartsflowui/kit/meta/icon/unknownComponent.svg", propertyGroups = { StudioChartsPropertyGroups.Name.class, - StudioChartsPropertyGroups.Type3.class, + StudioChartsPropertyGroups.LineDataType.class, StudioChartsPropertyGroups.ValueIndex.class, StudioChartsPropertyGroups.ValueDim.class, StudioChartsPropertyGroups.StringCoordinate.class, @@ -7488,9 +7488,9 @@ public interface StudioChartsElements { StudioChartsPropertyGroups.Y.class, StudioChartsPropertyGroups.XAxis.class, StudioChartsPropertyGroups.YAxis.class, - StudioChartsPropertyGroups.Value.class, + StudioChartsPropertyGroups.DoubleValue.class, StudioPropertyGroups.Symbol.class, - StudioChartsPropertyGroups.SymbolSize.class, + StudioChartsPropertyGroups.IntegerSymbolSize.class, StudioChartsPropertyGroups.SymbolSizeFunction.class, StudioChartsPropertyGroups.SymbolRotate.class, StudioChartsPropertyGroups.SymbolKeepAspect.class, @@ -7547,7 +7547,7 @@ public interface StudioChartsElements { icon = "io/jmix/chartsflowui/kit/meta/icon/unknownComponent.svg", propertyGroups = { StudioChartsPropertyGroups.Name.class, - StudioChartsPropertyGroups.Type3.class, + StudioChartsPropertyGroups.LineDataType.class, StudioChartsPropertyGroups.ValueIndex.class, StudioChartsPropertyGroups.ValueDim.class, StudioChartsPropertyGroups.StringCoordinate.class, @@ -7556,9 +7556,9 @@ public interface StudioChartsElements { StudioChartsPropertyGroups.Y.class, StudioChartsPropertyGroups.XAxis.class, StudioChartsPropertyGroups.YAxis.class, - StudioChartsPropertyGroups.Value.class, + StudioChartsPropertyGroups.DoubleValue.class, StudioPropertyGroups.Symbol.class, - StudioChartsPropertyGroups.SymbolSize.class, + StudioChartsPropertyGroups.IntegerSymbolSize.class, StudioChartsPropertyGroups.SymbolSizeFunction.class, StudioChartsPropertyGroups.SymbolRotate.class, StudioChartsPropertyGroups.SymbolKeepAspect.class, @@ -7604,7 +7604,7 @@ public interface StudioChartsElements { icon = "io/jmix/chartsflowui/kit/meta/icon/unknownComponent.svg", propertyGroups = { StudioChartsPropertyGroups.Name.class, - StudioChartsPropertyGroups.Type3.class, + StudioChartsPropertyGroups.LineDataType.class, StudioChartsPropertyGroups.ValueIndex.class, StudioChartsPropertyGroups.ValueDim.class, StudioChartsPropertyGroups.StringCoordinate.class, @@ -7613,9 +7613,9 @@ public interface StudioChartsElements { StudioChartsPropertyGroups.Y.class, StudioChartsPropertyGroups.XAxis.class, StudioChartsPropertyGroups.YAxis.class, - StudioChartsPropertyGroups.Value.class, + StudioChartsPropertyGroups.DoubleValue.class, StudioPropertyGroups.Symbol.class, - StudioChartsPropertyGroups.SymbolSize.class, + StudioChartsPropertyGroups.IntegerSymbolSize.class, StudioChartsPropertyGroups.SymbolSizeFunction.class, StudioChartsPropertyGroups.SymbolRotate.class, StudioChartsPropertyGroups.SymbolKeepAspect.class, @@ -7692,7 +7692,7 @@ public interface StudioChartsElements { icon = "io/jmix/chartsflowui/kit/meta/icon/unknownComponent.svg", propertyGroups = { StudioChartsPropertyGroups.Name.class, - StudioChartsPropertyGroups.Type4.class, + StudioChartsPropertyGroups.PintDataType.class, StudioChartsPropertyGroups.ValueIndex.class, StudioChartsPropertyGroups.ValueDim.class, StudioChartsPropertyGroups.StringCoordinate.class, @@ -7700,7 +7700,7 @@ public interface StudioChartsElements { StudioChartsPropertyGroups.X.class, StudioChartsPropertyGroups.Y.class, StudioPropertyGroups.Symbol.class, - StudioChartsPropertyGroups.SymbolSize.class, + StudioChartsPropertyGroups.IntegerSymbolSize.class, StudioChartsPropertyGroups.SymbolSizeFunction.class, StudioChartsPropertyGroups.SymbolRotate.class, StudioChartsPropertyGroups.SymbolKeepAspect.class, @@ -7790,14 +7790,14 @@ public interface StudioChartsElements { icon = "io/jmix/chartsflowui/kit/meta/icon/unknownComponent.svg", propertyGroups = { StudioChartsPropertyGroups.Name.class, - StudioChartsPropertyGroups.Type4.class, + StudioChartsPropertyGroups.PintDataType.class, StudioChartsPropertyGroups.ValueIndex.class, StudioChartsPropertyGroups.ValueDim.class, StudioChartsPropertyGroups.StringCoordinate.class, StudioChartsPropertyGroups.NumberCoordinate.class, StudioChartsPropertyGroups.X.class, StudioChartsPropertyGroups.Y.class, - StudioChartsPropertyGroups.Value.class + StudioChartsPropertyGroups.DoubleValue.class }, properties = { @StudioProperty(xmlAttribute = "name", type = StudioPropertyType.STRING), @@ -7826,14 +7826,14 @@ public interface StudioChartsElements { icon = "io/jmix/chartsflowui/kit/meta/icon/unknownComponent.svg", propertyGroups = { StudioChartsPropertyGroups.Name.class, - StudioChartsPropertyGroups.Type4.class, + StudioChartsPropertyGroups.PintDataType.class, StudioChartsPropertyGroups.ValueIndex.class, StudioChartsPropertyGroups.ValueDim.class, StudioChartsPropertyGroups.StringCoordinate.class, StudioChartsPropertyGroups.NumberCoordinate.class, StudioChartsPropertyGroups.X.class, StudioChartsPropertyGroups.Y.class, - StudioChartsPropertyGroups.Value.class + StudioChartsPropertyGroups.DoubleValue.class }, properties = { @StudioProperty(xmlAttribute = "name", type = StudioPropertyType.STRING), @@ -7866,12 +7866,12 @@ public interface StudioChartsElements { StudioChartsPropertyGroups.Show.class, StudioChartsPropertyGroups.Distance.class, StudioChartsPropertyGroups.Rotate.class, - StudioChartsPropertyGroups.Offset2.class, - StudioChartsPropertyGroups.Align.class, + StudioChartsPropertyGroups.StringOffset.class, + StudioChartsPropertyGroups.SharedAlign.class, StudioChartsPropertyGroups.VerticalAlign.class, StudioChartsPropertyGroups.BackgroundColor.class, StudioChartsPropertyGroups.BorderColor.class, - StudioChartsPropertyGroups.BorderWidth2.class, + StudioChartsPropertyGroups.IntegerBorderWidth.class, StudioChartsPropertyGroups.BorderType.class, StudioChartsPropertyGroups.BorderDashOffset.class, StudioChartsPropertyGroups.BorderRadius.class, @@ -7880,7 +7880,7 @@ public interface StudioChartsElements { StudioChartsPropertyGroups.ShadowBlur.class, StudioChartsPropertyGroups.ShadowOffsetX.class, StudioChartsPropertyGroups.ShadowOffsetY.class, - StudioChartsPropertyGroups.Position.class, + StudioChartsPropertyGroups.TooltipPosition.class, StudioChartsPropertyGroups.PositionCoordinates.class, StudioChartsPropertyGroups.ChartColor.class, StudioChartsPropertyGroups.FontStyle.class, @@ -7889,7 +7889,7 @@ public interface StudioChartsElements { StudioChartsPropertyGroups.FontSize.class, StudioChartsPropertyGroups.LineHeight.class, StudioPropertyGroups.WidthWithIntegerType.class, - StudioChartsPropertyGroups.Height.class, + StudioChartsPropertyGroups.IntegerHeight.class, StudioChartsPropertyGroups.TextBorderColor.class, StudioChartsPropertyGroups.TextBorderWidth.class, StudioChartsPropertyGroups.TextBorderType.class, @@ -8127,12 +8127,12 @@ public interface StudioChartsElements { StudioChartsPropertyGroups.Show.class, StudioChartsPropertyGroups.Distance.class, StudioChartsPropertyGroups.Rotate.class, - StudioChartsPropertyGroups.Offset2.class, - StudioChartsPropertyGroups.Align.class, + StudioChartsPropertyGroups.StringOffset.class, + StudioChartsPropertyGroups.SharedAlign.class, StudioChartsPropertyGroups.VerticalAlign.class, StudioChartsPropertyGroups.BackgroundColor.class, StudioChartsPropertyGroups.BorderColor.class, - StudioChartsPropertyGroups.BorderWidth2.class, + StudioChartsPropertyGroups.IntegerBorderWidth.class, StudioChartsPropertyGroups.BorderType.class, StudioChartsPropertyGroups.BorderDashOffset.class, StudioChartsPropertyGroups.BorderRadius.class, @@ -8141,7 +8141,7 @@ public interface StudioChartsElements { StudioChartsPropertyGroups.ShadowBlur.class, StudioChartsPropertyGroups.ShadowOffsetX.class, StudioChartsPropertyGroups.ShadowOffsetY.class, - StudioChartsPropertyGroups.Position.class, + StudioChartsPropertyGroups.TooltipPosition.class, StudioChartsPropertyGroups.PositionCoordinates.class, StudioChartsPropertyGroups.ChartColor.class, StudioChartsPropertyGroups.FontStyle.class, @@ -8150,7 +8150,7 @@ public interface StudioChartsElements { StudioChartsPropertyGroups.FontSize.class, StudioChartsPropertyGroups.LineHeight.class, StudioPropertyGroups.WidthWithIntegerType.class, - StudioChartsPropertyGroups.Height.class, + StudioChartsPropertyGroups.IntegerHeight.class, StudioChartsPropertyGroups.TextBorderColor.class, StudioChartsPropertyGroups.TextBorderWidth.class, StudioChartsPropertyGroups.TextBorderType.class, @@ -8370,7 +8370,7 @@ public interface StudioChartsElements { unlimitedCount = false, icon = "io/jmix/chartsflowui/kit/meta/icon/unknownComponent.svg", propertyGroups = { - StudioChartsPropertyGroups.Radius2.class + StudioChartsPropertyGroups.Radius.class }, properties = { @StudioProperty(xmlAttribute = "x", type = StudioPropertyType.VALUES_LIST), @@ -8393,7 +8393,7 @@ public interface StudioChartsElements { unlimitedCount = false, icon = "io/jmix/chartsflowui/kit/meta/icon/unknownComponent.svg", propertyGroups = { - StudioChartsPropertyGroups.BorderWidth2.class, + StudioChartsPropertyGroups.IntegerBorderWidth.class, StudioChartsPropertyGroups.BorderType.class, StudioChartsPropertyGroups.BorderRadius.class, StudioChartsPropertyGroups.ShadowBlur.class, @@ -8527,7 +8527,7 @@ public interface StudioChartsElements { propertyGroups = { StudioChartsPropertyGroups.ChartColor.class, StudioChartsPropertyGroups.BorderColor.class, - StudioChartsPropertyGroups.BorderWidth2.class, + StudioChartsPropertyGroups.IntegerBorderWidth.class, StudioChartsPropertyGroups.BorderType.class, StudioChartsPropertyGroups.BorderRadius.class, StudioChartsPropertyGroups.ShadowBlur.class, @@ -8635,7 +8635,7 @@ public interface StudioChartsElements { propertyGroups = { StudioChartsPropertyGroups.ChartColor.class, StudioChartsPropertyGroups.BorderColor.class, - StudioChartsPropertyGroups.BorderWidth2.class, + StudioChartsPropertyGroups.IntegerBorderWidth.class, StudioChartsPropertyGroups.BorderType.class, StudioChartsPropertyGroups.BorderRadius.class, StudioChartsPropertyGroups.ShadowBlur.class, @@ -8829,7 +8829,7 @@ public interface StudioChartsElements { StudioChartsPropertyGroups.Clockwise.class, StudioChartsPropertyGroups.StartAngle.class, StudioChartsPropertyGroups.Width.class, - StudioChartsPropertyGroups.Height2.class, + StudioChartsPropertyGroups.StringHeight.class, StudioChartsPropertyGroups.Cursor.class, StudioChartsPropertyGroups.Center.class, StudioChartsPropertyGroups.Radius.class, @@ -8838,10 +8838,10 @@ public interface StudioChartsElements { StudioChartsPropertyGroups.AnimationDurationUpdate.class, StudioChartsPropertyGroups.AnimationEasingUpdate.class, StudioChartsPropertyGroups.AnimationDelayUpdate.class, - StudioChartsPropertyGroups.Left2.class, - StudioChartsPropertyGroups.Bottom2.class, - StudioChartsPropertyGroups.Right2.class, - StudioChartsPropertyGroups.Top2.class, + StudioChartsPropertyGroups.Left.class, + StudioChartsPropertyGroups.Bottom.class, + StudioChartsPropertyGroups.StringRight.class, + StudioChartsPropertyGroups.StringTop.class, StudioChartsPropertyGroups.LegendHoverLink.class, StudioChartsPropertyGroups.SeriesLayoutBy.class, StudioChartsPropertyGroups.DatasetIndex.class, @@ -8850,8 +8850,8 @@ public interface StudioChartsElements { StudioChartsPropertyGroups.ColorBy.class, StudioChartsPropertyGroups.SelectedMode.class, StudioChartsPropertyGroups.DataGroupId.class, - StudioChartsPropertyGroups.ZLevel2.class, - StudioChartsPropertyGroups.Z2.class, + StudioChartsPropertyGroups.IntegerZLevel.class, + StudioChartsPropertyGroups.IntegerZ.class, StudioChartsPropertyGroups.Silent.class, StudioChartsPropertyGroups.AnimationDuration.class, StudioChartsPropertyGroups.AnimationEasing.class, @@ -9019,7 +9019,7 @@ public interface StudioChartsElements { StudioChartsPropertyGroups.AnimationEasingUpdate.class, StudioChartsPropertyGroups.AnimationDelayUpdate.class, StudioPropertyGroups.Symbol.class, - StudioChartsPropertyGroups.SymbolSize.class, + StudioChartsPropertyGroups.IntegerSymbolSize.class, StudioChartsPropertyGroups.SymbolSizeFunction.class, StudioChartsPropertyGroups.SymbolRotate.class, StudioChartsPropertyGroups.SymbolKeepAspect.class, @@ -9033,8 +9033,8 @@ public interface StudioChartsElements { StudioChartsPropertyGroups.ColorBy.class, StudioChartsPropertyGroups.SelectedMode.class, StudioChartsPropertyGroups.DataGroupId.class, - StudioChartsPropertyGroups.ZLevel2.class, - StudioChartsPropertyGroups.Z2.class, + StudioChartsPropertyGroups.IntegerZLevel.class, + StudioChartsPropertyGroups.IntegerZ.class, StudioChartsPropertyGroups.Silent.class, StudioChartsPropertyGroups.AnimationDuration.class, StudioChartsPropertyGroups.AnimationEasing.class, @@ -9190,7 +9190,7 @@ public interface StudioChartsElements { StudioChartsPropertyGroups.AnimationEasingUpdate.class, StudioChartsPropertyGroups.AnimationDelayUpdate.class, StudioPropertyGroups.Symbol.class, - StudioChartsPropertyGroups.SymbolSize.class, + StudioChartsPropertyGroups.IntegerSymbolSize.class, StudioChartsPropertyGroups.SymbolSizeFunction.class, StudioChartsPropertyGroups.SymbolRotate.class, StudioChartsPropertyGroups.SymbolKeepAspect.class, @@ -9204,8 +9204,8 @@ public interface StudioChartsElements { StudioChartsPropertyGroups.ColorBy.class, StudioChartsPropertyGroups.SelectedMode.class, StudioChartsPropertyGroups.DataGroupId.class, - StudioChartsPropertyGroups.ZLevel2.class, - StudioChartsPropertyGroups.Z2.class, + StudioChartsPropertyGroups.IntegerZLevel.class, + StudioChartsPropertyGroups.IntegerZ.class, StudioChartsPropertyGroups.Silent.class, StudioChartsPropertyGroups.AnimationDuration.class, StudioChartsPropertyGroups.AnimationEasing.class, @@ -9276,7 +9276,7 @@ public interface StudioChartsElements { icon = "io/jmix/chartsflowui/kit/meta/icon/unknownComponent.svg", propertyGroups = { StudioChartsPropertyGroups.ChartColor.class, - StudioChartsPropertyGroups.Scale2.class + StudioChartsPropertyGroups.DoubleScale.class }, properties = { @StudioProperty(xmlAttribute = "color", type = StudioPropertyType.OPTIONS, @@ -9401,7 +9401,7 @@ public interface StudioChartsElements { StudioChartsPropertyGroups.AnimationEasingUpdate.class, StudioChartsPropertyGroups.AnimationDelayUpdate.class, StudioPropertyGroups.Symbol.class, - StudioChartsPropertyGroups.SymbolSize.class, + StudioChartsPropertyGroups.IntegerSymbolSize.class, StudioChartsPropertyGroups.SymbolSizeFunction.class, StudioChartsPropertyGroups.SymbolRotate.class, StudioChartsPropertyGroups.SymbolKeepAspect.class, @@ -9412,8 +9412,8 @@ public interface StudioChartsElements { StudioChartsPropertyGroups.ColorBy.class, StudioChartsPropertyGroups.SelectedMode.class, StudioChartsPropertyGroups.DataGroupId.class, - StudioChartsPropertyGroups.ZLevel2.class, - StudioChartsPropertyGroups.Z2.class, + StudioChartsPropertyGroups.IntegerZLevel.class, + StudioChartsPropertyGroups.IntegerZ.class, StudioChartsPropertyGroups.Silent.class, StudioChartsPropertyGroups.AnimationDuration.class, StudioChartsPropertyGroups.AnimationEasing.class, @@ -9608,8 +9608,8 @@ public interface StudioChartsElements { StudioChartsPropertyGroups.ColorBy.class, StudioChartsPropertyGroups.SelectedMode.class, StudioChartsPropertyGroups.DataGroupId.class, - StudioChartsPropertyGroups.ZLevel2.class, - StudioChartsPropertyGroups.Z2.class, + StudioChartsPropertyGroups.IntegerZLevel.class, + StudioChartsPropertyGroups.IntegerZ.class, StudioChartsPropertyGroups.Silent.class, StudioChartsPropertyGroups.AnimationDuration.class, StudioChartsPropertyGroups.AnimationEasing.class, @@ -9733,8 +9733,8 @@ public interface StudioChartsElements { StudioChartsPropertyGroups.ColorBy.class, StudioChartsPropertyGroups.SelectedMode.class, StudioChartsPropertyGroups.DataGroupId.class, - StudioChartsPropertyGroups.ZLevel2.class, - StudioChartsPropertyGroups.Z2.class, + StudioChartsPropertyGroups.IntegerZLevel.class, + StudioChartsPropertyGroups.IntegerZ.class, StudioChartsPropertyGroups.Silent.class, StudioChartsPropertyGroups.AnimationDuration.class, StudioChartsPropertyGroups.AnimationEasing.class, @@ -9850,7 +9850,7 @@ public interface StudioChartsElements { unlimitedCount = false, icon = "io/jmix/chartsflowui/kit/meta/icon/unknownComponent.svg", propertyGroups = { - StudioChartsPropertyGroups.BorderWidth.class, + StudioChartsPropertyGroups.DoubleBorderWidth.class, StudioChartsPropertyGroups.Opacity.class, StudioChartsPropertyGroups.ShadowBlur.class, StudioChartsPropertyGroups.ShadowColor.class, @@ -10030,16 +10030,16 @@ public interface StudioChartsElements { StudioPropertyGroups.IntegerMin.class, StudioChartsPropertyGroups.Orientation.class, StudioChartsPropertyGroups.Width.class, - StudioChartsPropertyGroups.Height2.class, + StudioChartsPropertyGroups.StringHeight.class, StudioChartsPropertyGroups.Animation.class, StudioChartsPropertyGroups.AnimationThreshold.class, StudioChartsPropertyGroups.AnimationDurationUpdate.class, StudioChartsPropertyGroups.AnimationEasingUpdate.class, StudioChartsPropertyGroups.AnimationDelayUpdate.class, - StudioChartsPropertyGroups.Left2.class, - StudioChartsPropertyGroups.Top2.class, - StudioChartsPropertyGroups.Right2.class, - StudioChartsPropertyGroups.Bottom2.class, + StudioChartsPropertyGroups.Left.class, + StudioChartsPropertyGroups.StringTop.class, + StudioChartsPropertyGroups.StringRight.class, + StudioChartsPropertyGroups.Bottom.class, StudioChartsPropertyGroups.LegendHoverLink.class, StudioChartsPropertyGroups.SeriesLayoutBy.class, StudioChartsPropertyGroups.DatasetIndex.class, @@ -10048,8 +10048,8 @@ public interface StudioChartsElements { StudioChartsPropertyGroups.ColorBy.class, StudioChartsPropertyGroups.SelectedMode.class, StudioChartsPropertyGroups.DataGroupId.class, - StudioChartsPropertyGroups.ZLevel2.class, - StudioChartsPropertyGroups.Z2.class, + StudioChartsPropertyGroups.IntegerZLevel.class, + StudioChartsPropertyGroups.IntegerZ.class, StudioChartsPropertyGroups.Silent.class, StudioChartsPropertyGroups.AnimationDuration.class, StudioChartsPropertyGroups.AnimationEasing.class, @@ -10187,8 +10187,8 @@ public interface StudioChartsElements { isInjectable = false, icon = "io/jmix/chartsflowui/kit/meta/icon/element/gaugeSeries.svg", propertyGroups = { - StudioChartsPropertyGroups.Center2.class, - StudioChartsPropertyGroups.Radius2.class, + StudioChartsPropertyGroups.Center.class, + StudioChartsPropertyGroups.Radius.class, StudioChartsPropertyGroups.LegendHoverLink.class, StudioChartsPropertyGroups.StartAngle.class, StudioChartsPropertyGroups.Clockwise.class, @@ -10205,8 +10205,8 @@ public interface StudioChartsElements { StudioChartsPropertyGroups.ColorBy.class, StudioChartsPropertyGroups.SelectedMode.class, StudioChartsPropertyGroups.DataGroupId.class, - StudioChartsPropertyGroups.ZLevel2.class, - StudioChartsPropertyGroups.Z2.class, + StudioChartsPropertyGroups.IntegerZLevel.class, + StudioChartsPropertyGroups.IntegerZ.class, StudioChartsPropertyGroups.Silent.class, StudioChartsPropertyGroups.AnimationDuration.class, StudioChartsPropertyGroups.AnimationEasing.class, @@ -10255,7 +10255,7 @@ public interface StudioChartsElements { icon = "io/jmix/chartsflowui/kit/meta/icon/unknownComponent.svg", propertyGroups = { StudioPropertyGroups.LocalizedNameWithoutCategory.class, - StudioChartsPropertyGroups.Value.class + StudioChartsPropertyGroups.DoubleValue.class }, properties = { @StudioProperty(xmlAttribute = "name", type = StudioPropertyType.LOCALIZED_STRING), @@ -10282,7 +10282,7 @@ public interface StudioChartsElements { StudioChartsPropertyGroups.ValueAnimation.class, StudioChartsPropertyGroups.BackgroundColor.class, StudioChartsPropertyGroups.BorderColor.class, - StudioChartsPropertyGroups.BorderWidth2.class, + StudioChartsPropertyGroups.IntegerBorderWidth.class, StudioChartsPropertyGroups.BorderType.class, StudioChartsPropertyGroups.BorderDashOffset.class, StudioChartsPropertyGroups.BorderRadius.class, @@ -10297,7 +10297,7 @@ public interface StudioChartsElements { StudioChartsPropertyGroups.FontSize.class, StudioChartsPropertyGroups.FontStyle.class, StudioChartsPropertyGroups.FontWeight.class, - StudioChartsPropertyGroups.Height.class, + StudioChartsPropertyGroups.IntegerHeight.class, StudioChartsPropertyGroups.LineHeight.class, StudioChartsPropertyGroups.Overflow.class, StudioChartsPropertyGroups.TextBorderColor.class, @@ -10515,7 +10515,7 @@ public interface StudioChartsElements { StudioChartsPropertyGroups.ValueAnimation.class, StudioChartsPropertyGroups.BackgroundColor.class, StudioChartsPropertyGroups.BorderColor.class, - StudioChartsPropertyGroups.BorderWidth2.class, + StudioChartsPropertyGroups.IntegerBorderWidth.class, StudioChartsPropertyGroups.BorderType.class, StudioChartsPropertyGroups.BorderDashOffset.class, StudioChartsPropertyGroups.BorderRadius.class, @@ -10530,7 +10530,7 @@ public interface StudioChartsElements { StudioChartsPropertyGroups.FontSize.class, StudioChartsPropertyGroups.FontStyle.class, StudioChartsPropertyGroups.FontWeight.class, - StudioChartsPropertyGroups.Height.class, + StudioChartsPropertyGroups.IntegerHeight.class, StudioChartsPropertyGroups.LineHeight.class, StudioChartsPropertyGroups.Overflow.class, StudioChartsPropertyGroups.TextBorderColor.class, @@ -11177,14 +11177,14 @@ public interface StudioChartsElements { StudioChartsPropertyGroups.Show.class, StudioChartsPropertyGroups.Orientation.class, StudioChartsPropertyGroups.ItemGap.class, - StudioChartsPropertyGroups.ZLevel2.class, - StudioChartsPropertyGroups.Z2.class, - StudioChartsPropertyGroups.Left2.class, - StudioChartsPropertyGroups.Top2.class, - StudioChartsPropertyGroups.Right2.class, - StudioChartsPropertyGroups.Bottom2.class, + StudioChartsPropertyGroups.IntegerZLevel.class, + StudioChartsPropertyGroups.IntegerZ.class, + StudioChartsPropertyGroups.Left.class, + StudioChartsPropertyGroups.StringTop.class, + StudioChartsPropertyGroups.StringRight.class, + StudioChartsPropertyGroups.Bottom.class, StudioChartsPropertyGroups.Width.class, - StudioChartsPropertyGroups.Height2.class + StudioChartsPropertyGroups.StringHeight.class }, properties = { @StudioProperty(xmlAttribute = "id", category = StudioProperty.Category.GENERAL, type = StudioPropertyType.COMPONENT_ID), diff --git a/jmix-charts/charts-flowui-kit/src/main/java/io/jmix/chartsflowui/kit/meta/StudioChartsPropertyGroups.java b/jmix-charts/charts-flowui-kit/src/main/java/io/jmix/chartsflowui/kit/meta/StudioChartsPropertyGroups.java index 5dc0721eb9..ec732628a0 100644 --- a/jmix-charts/charts-flowui-kit/src/main/java/io/jmix/chartsflowui/kit/meta/StudioChartsPropertyGroups.java +++ b/jmix-charts/charts-flowui-kit/src/main/java/io/jmix/chartsflowui/kit/meta/StudioChartsPropertyGroups.java @@ -27,31 +27,31 @@ private StudioChartsPropertyGroups() { @StudioPropertyGroup( properties = { @StudioProperty(xmlAttribute = "align", type = StudioPropertyType.ENUMERATION, - classFqn = "io.jmix.chartsflowui.kit.component.model.shared.Align", - options = {"LEFT", "RIGHT", "CENTER"}) + classFqn = "io.jmix.chartsflowui.kit.component.model.shared.Align", + options = {"LEFT", "RIGHT", "CENTER"}) } ) - public interface Align { + public interface SharedAlign { } @StudioPropertyGroup( properties = { @StudioProperty(xmlAttribute = "align", type = StudioPropertyType.ENUMERATION, - classFqn = "io.jmix.chartsflowui.kit.component.model.legend.AbstractLegend.Align", - options = {"AUTO", "LEFT", "RIGHT"}) + classFqn = "io.jmix.chartsflowui.kit.component.model.legend.AbstractLegend.Align", + options = {"AUTO", "LEFT", "RIGHT"}) } ) - public interface Align2 { + public interface LegendAlign { } @StudioPropertyGroup( properties = { @StudioProperty(xmlAttribute = "align", type = StudioPropertyType.ENUMERATION, - classFqn = "io.jmix.chartsflowui.kit.component.model.visualMap.AbstractVisualMap.MapAlign", - options = {"AUTO", "LEFT", "TOP", "BOTTOM", "RIGHT"}) + classFqn = "io.jmix.chartsflowui.kit.component.model.visualMap.AbstractVisualMap.MapAlign", + options = {"AUTO", "LEFT", "TOP", "BOTTOM", "RIGHT"}) } ) - public interface Align3 { + public interface MapAlign { } @StudioPropertyGroup( @@ -110,14 +110,6 @@ public interface AnimationDelayUpdateFunction { public interface AnimationDelayUpdate { } - @StudioPropertyGroup( - properties = { - @StudioProperty(xmlAttribute = "animationDelayUpdate", type = StudioPropertyType.STRING) - } - ) - public interface AnimationDelayUpdate2 { - } - @StudioPropertyGroup( properties = { @StudioProperty(xmlAttribute = "animationDurationFunction", type = StudioPropertyType.STRING) @@ -177,30 +169,30 @@ public interface AnimationThreshold { @StudioPropertyGroup( properties = { @StudioProperty(xmlAttribute = "backgroundColor", type = StudioPropertyType.OPTIONS, - options = {"ALICEBLUE", "ANTIQUEWHITE", "AQUA", "AQUAMARINE", "AZURE", "BEIGE", "BISQUE", - "BLACK", "BLANCHEDALMOND", "BLUE", "BLUEVIOLET", "BROWN", "BURLYWOOD", "CADETBLUE", - "CHARTREUSE", "CHOCOLATE", "CORAL", "CORNFLOWERBLUE", "CORNSILK", "CRIMSON", "CYAN", - "DARKBLUE", "DARKCYAN", "DARKGOLDENROD", "DARKGRAY", "DARKGREY", "DARKGREEN", - "DARKKHAKI", "DARKMAGENTA", "DARKOLIVEGREEN", "DARKORANGE", "DARKORCHID", "DARKRED", - "DARKSALMON", "DARKSEAGREEN", "DARKSLATEBLUE", "DARKSLATEGRAY", "DARKSLATEGREY", - "DARKTURQUOISE", "DARKVIOLET", "DEEPPINK", "DEEPSKYBLUE", "DIMGRAY", "DIMGREY", - "DODGERBLUE", "FIREBRICK", "FLORALWHITE", "FORESTGREEN", "FUCHSIA", "GAINSBORO", - "GHOSTWHITE", "GOLD", "GOLDENROD", "GRAY", "GREY", "GREEN", "GREENYELLOW", - "HONEYDEW", "HOTPINK", "INDIANRED", "INDIGO", "IVORY", "KHAKI", "LAVENDER", - "LAVENDERBLUSH", "LAWNGREEN", "LEMONCHIFFON", "LIGHTBLUE", "LIGHTCORAL", - "LIGHTCYAN", "LIGHTGOLDENRODYELLOW", "LIGHTGRAY", "LIGHTGREY", "LIGHTGREEN", - "LIGHTPINK", "LIGHTSALMON", "LIGHTSEAGREEN", "LIGHTSKYBLUE", "LIGHTSLATEGRAY", - "LIGHTSLATEGREY", "LIGHTSTEELBLUE", "LIGHTYELLOW", "LIME", "LIMEGREEN", "LINEN", - "MAGENTA", "MAROON", "MEDIUMAQUAMARINE", "MEDIUMBLUE", "MEDIUMORCHID", - "MEDIUMPURPLE", "MEDIUMSEAGREEN", "MEDIUMSLATEBLUE", "MEDIUMSPRINGGREEN", - "MEDIUMTURQUOISE", "MEDIUMVIOLETRED", "MIDNIGHTBLUE", "MINTCREAM", "MISTYROSE", - "MOCCASIN", "NAVAJOWHITE", "NAVY", "OLDLACE", "OLIVE", "OLIVEDRAB", "ORANGE", - "ORANGERED", "ORCHID", "PALEGOLDENROD", "PALEGREEN", "PALETURQUOISE", - "PALEVIOLETRED", "PAPAYAWHIP", "PEACHPUFF", "PERU", "PINK", "PLUM", "POWDERBLUE", - "PURPLE", "RED", "ROSYBROWN", "ROYALBLUE", "SADDLEBROWN", "SALMON", "SANDYBROWN", - "SEAGREEN", "SEASHELL", "SIENNA", "SILVER", "SKYBLUE", "SLATEBLUE", "SLATEGRAY", - "SLATEGREY", "SNOW", "SPRINGGREEN", "STEELBLUE", "TAN", "TEAL", "THISTLE", "TOMATO", - "TURQUOISE", "VIOLET", "WHEAT", "WHITE", "WHITESMOKE", "YELLOW", "YELLOWGREEN"}) + options = {"ALICEBLUE", "ANTIQUEWHITE", "AQUA", "AQUAMARINE", "AZURE", "BEIGE", "BISQUE", + "BLACK", "BLANCHEDALMOND", "BLUE", "BLUEVIOLET", "BROWN", "BURLYWOOD", "CADETBLUE", + "CHARTREUSE", "CHOCOLATE", "CORAL", "CORNFLOWERBLUE", "CORNSILK", "CRIMSON", "CYAN", + "DARKBLUE", "DARKCYAN", "DARKGOLDENROD", "DARKGRAY", "DARKGREY", "DARKGREEN", + "DARKKHAKI", "DARKMAGENTA", "DARKOLIVEGREEN", "DARKORANGE", "DARKORCHID", "DARKRED", + "DARKSALMON", "DARKSEAGREEN", "DARKSLATEBLUE", "DARKSLATEGRAY", "DARKSLATEGREY", + "DARKTURQUOISE", "DARKVIOLET", "DEEPPINK", "DEEPSKYBLUE", "DIMGRAY", "DIMGREY", + "DODGERBLUE", "FIREBRICK", "FLORALWHITE", "FORESTGREEN", "FUCHSIA", "GAINSBORO", + "GHOSTWHITE", "GOLD", "GOLDENROD", "GRAY", "GREY", "GREEN", "GREENYELLOW", + "HONEYDEW", "HOTPINK", "INDIANRED", "INDIGO", "IVORY", "KHAKI", "LAVENDER", + "LAVENDERBLUSH", "LAWNGREEN", "LEMONCHIFFON", "LIGHTBLUE", "LIGHTCORAL", + "LIGHTCYAN", "LIGHTGOLDENRODYELLOW", "LIGHTGRAY", "LIGHTGREY", "LIGHTGREEN", + "LIGHTPINK", "LIGHTSALMON", "LIGHTSEAGREEN", "LIGHTSKYBLUE", "LIGHTSLATEGRAY", + "LIGHTSLATEGREY", "LIGHTSTEELBLUE", "LIGHTYELLOW", "LIME", "LIMEGREEN", "LINEN", + "MAGENTA", "MAROON", "MEDIUMAQUAMARINE", "MEDIUMBLUE", "MEDIUMORCHID", + "MEDIUMPURPLE", "MEDIUMSEAGREEN", "MEDIUMSLATEBLUE", "MEDIUMSPRINGGREEN", + "MEDIUMTURQUOISE", "MEDIUMVIOLETRED", "MIDNIGHTBLUE", "MINTCREAM", "MISTYROSE", + "MOCCASIN", "NAVAJOWHITE", "NAVY", "OLDLACE", "OLIVE", "OLIVEDRAB", "ORANGE", + "ORANGERED", "ORCHID", "PALEGOLDENROD", "PALEGREEN", "PALETURQUOISE", + "PALEVIOLETRED", "PAPAYAWHIP", "PEACHPUFF", "PERU", "PINK", "PLUM", "POWDERBLUE", + "PURPLE", "RED", "ROSYBROWN", "ROYALBLUE", "SADDLEBROWN", "SALMON", "SANDYBROWN", + "SEAGREEN", "SEASHELL", "SIENNA", "SILVER", "SKYBLUE", "SLATEBLUE", "SLATEGRAY", + "SLATEGREY", "SNOW", "SPRINGGREEN", "STEELBLUE", "TAN", "TEAL", "THISTLE", "TOMATO", + "TURQUOISE", "VIOLET", "WHEAT", "WHITE", "WHITESMOKE", "YELLOW", "YELLOWGREEN"}) } ) public interface BackgroundColor { @@ -233,8 +225,8 @@ public interface BarWidth { @StudioPropertyGroup( properties = { @StudioProperty(xmlAttribute = "blurScope", type = StudioPropertyType.ENUMERATION, - classFqn = "io.jmix.chartsflowui.kit.component.model.series.BlurScopeType", - options = {"COORDINATE_SYSTEM", "SERIES", "GLOBAL"}) + classFqn = "io.jmix.chartsflowui.kit.component.model.series.BlurScopeType", + options = {"COORDINATE_SYSTEM", "SERIES", "GLOBAL"}) } ) public interface BlurScope { @@ -243,30 +235,30 @@ public interface BlurScope { @StudioPropertyGroup( properties = { @StudioProperty(xmlAttribute = "borderColor", type = StudioPropertyType.OPTIONS, - options = {"ALICEBLUE", "ANTIQUEWHITE", "AQUA", "AQUAMARINE", "AZURE", "BEIGE", "BISQUE", - "BLACK", "BLANCHEDALMOND", "BLUE", "BLUEVIOLET", "BROWN", "BURLYWOOD", "CADETBLUE", - "CHARTREUSE", "CHOCOLATE", "CORAL", "CORNFLOWERBLUE", "CORNSILK", "CRIMSON", "CYAN", - "DARKBLUE", "DARKCYAN", "DARKGOLDENROD", "DARKGRAY", "DARKGREY", "DARKGREEN", - "DARKKHAKI", "DARKMAGENTA", "DARKOLIVEGREEN", "DARKORANGE", "DARKORCHID", "DARKRED", - "DARKSALMON", "DARKSEAGREEN", "DARKSLATEBLUE", "DARKSLATEGRAY", "DARKSLATEGREY", - "DARKTURQUOISE", "DARKVIOLET", "DEEPPINK", "DEEPSKYBLUE", "DIMGRAY", "DIMGREY", - "DODGERBLUE", "FIREBRICK", "FLORALWHITE", "FORESTGREEN", "FUCHSIA", "GAINSBORO", - "GHOSTWHITE", "GOLD", "GOLDENROD", "GRAY", "GREY", "GREEN", "GREENYELLOW", - "HONEYDEW", "HOTPINK", "INDIANRED", "INDIGO", "IVORY", "KHAKI", "LAVENDER", - "LAVENDERBLUSH", "LAWNGREEN", "LEMONCHIFFON", "LIGHTBLUE", "LIGHTCORAL", - "LIGHTCYAN", "LIGHTGOLDENRODYELLOW", "LIGHTGRAY", "LIGHTGREY", "LIGHTGREEN", - "LIGHTPINK", "LIGHTSALMON", "LIGHTSEAGREEN", "LIGHTSKYBLUE", "LIGHTSLATEGRAY", - "LIGHTSLATEGREY", "LIGHTSTEELBLUE", "LIGHTYELLOW", "LIME", "LIMEGREEN", "LINEN", - "MAGENTA", "MAROON", "MEDIUMAQUAMARINE", "MEDIUMBLUE", "MEDIUMORCHID", - "MEDIUMPURPLE", "MEDIUMSEAGREEN", "MEDIUMSLATEBLUE", "MEDIUMSPRINGGREEN", - "MEDIUMTURQUOISE", "MEDIUMVIOLETRED", "MIDNIGHTBLUE", "MINTCREAM", "MISTYROSE", - "MOCCASIN", "NAVAJOWHITE", "NAVY", "OLDLACE", "OLIVE", "OLIVEDRAB", "ORANGE", - "ORANGERED", "ORCHID", "PALEGOLDENROD", "PALEGREEN", "PALETURQUOISE", - "PALEVIOLETRED", "PAPAYAWHIP", "PEACHPUFF", "PERU", "PINK", "PLUM", "POWDERBLUE", - "PURPLE", "RED", "ROSYBROWN", "ROYALBLUE", "SADDLEBROWN", "SALMON", "SANDYBROWN", - "SEAGREEN", "SEASHELL", "SIENNA", "SILVER", "SKYBLUE", "SLATEBLUE", "SLATEGRAY", - "SLATEGREY", "SNOW", "SPRINGGREEN", "STEELBLUE", "TAN", "TEAL", "THISTLE", "TOMATO", - "TURQUOISE", "VIOLET", "WHEAT", "WHITE", "WHITESMOKE", "YELLOW", "YELLOWGREEN"}) + options = {"ALICEBLUE", "ANTIQUEWHITE", "AQUA", "AQUAMARINE", "AZURE", "BEIGE", "BISQUE", + "BLACK", "BLANCHEDALMOND", "BLUE", "BLUEVIOLET", "BROWN", "BURLYWOOD", "CADETBLUE", + "CHARTREUSE", "CHOCOLATE", "CORAL", "CORNFLOWERBLUE", "CORNSILK", "CRIMSON", "CYAN", + "DARKBLUE", "DARKCYAN", "DARKGOLDENROD", "DARKGRAY", "DARKGREY", "DARKGREEN", + "DARKKHAKI", "DARKMAGENTA", "DARKOLIVEGREEN", "DARKORANGE", "DARKORCHID", "DARKRED", + "DARKSALMON", "DARKSEAGREEN", "DARKSLATEBLUE", "DARKSLATEGRAY", "DARKSLATEGREY", + "DARKTURQUOISE", "DARKVIOLET", "DEEPPINK", "DEEPSKYBLUE", "DIMGRAY", "DIMGREY", + "DODGERBLUE", "FIREBRICK", "FLORALWHITE", "FORESTGREEN", "FUCHSIA", "GAINSBORO", + "GHOSTWHITE", "GOLD", "GOLDENROD", "GRAY", "GREY", "GREEN", "GREENYELLOW", + "HONEYDEW", "HOTPINK", "INDIANRED", "INDIGO", "IVORY", "KHAKI", "LAVENDER", + "LAVENDERBLUSH", "LAWNGREEN", "LEMONCHIFFON", "LIGHTBLUE", "LIGHTCORAL", + "LIGHTCYAN", "LIGHTGOLDENRODYELLOW", "LIGHTGRAY", "LIGHTGREY", "LIGHTGREEN", + "LIGHTPINK", "LIGHTSALMON", "LIGHTSEAGREEN", "LIGHTSKYBLUE", "LIGHTSLATEGRAY", + "LIGHTSLATEGREY", "LIGHTSTEELBLUE", "LIGHTYELLOW", "LIME", "LIMEGREEN", "LINEN", + "MAGENTA", "MAROON", "MEDIUMAQUAMARINE", "MEDIUMBLUE", "MEDIUMORCHID", + "MEDIUMPURPLE", "MEDIUMSEAGREEN", "MEDIUMSLATEBLUE", "MEDIUMSPRINGGREEN", + "MEDIUMTURQUOISE", "MEDIUMVIOLETRED", "MIDNIGHTBLUE", "MINTCREAM", "MISTYROSE", + "MOCCASIN", "NAVAJOWHITE", "NAVY", "OLDLACE", "OLIVE", "OLIVEDRAB", "ORANGE", + "ORANGERED", "ORCHID", "PALEGOLDENROD", "PALEGREEN", "PALETURQUOISE", + "PALEVIOLETRED", "PAPAYAWHIP", "PEACHPUFF", "PERU", "PINK", "PLUM", "POWDERBLUE", + "PURPLE", "RED", "ROSYBROWN", "ROYALBLUE", "SADDLEBROWN", "SALMON", "SANDYBROWN", + "SEAGREEN", "SEASHELL", "SIENNA", "SILVER", "SKYBLUE", "SLATEBLUE", "SLATEGRAY", + "SLATEGREY", "SNOW", "SPRINGGREEN", "STEELBLUE", "TAN", "TEAL", "THISTLE", "TOMATO", + "TURQUOISE", "VIOLET", "WHEAT", "WHITE", "WHITESMOKE", "YELLOW", "YELLOWGREEN"}) } ) public interface BorderColor { @@ -301,7 +293,7 @@ public interface BorderType { @StudioProperty(xmlAttribute = "borderWidth", type = StudioPropertyType.DOUBLE) } ) - public interface BorderWidth { + public interface DoubleBorderWidth { } @StudioPropertyGroup( @@ -309,15 +301,7 @@ public interface BorderWidth { @StudioProperty(xmlAttribute = "borderWidth", type = StudioPropertyType.INTEGER) } ) - public interface BorderWidth2 { - } - - @StudioPropertyGroup( - properties = { - @StudioProperty(xmlAttribute = "bottom", type = StudioPropertyType.INTEGER) - } - ) - public interface Bottom { + public interface IntegerBorderWidth { } @StudioPropertyGroup( @@ -325,7 +309,7 @@ public interface Bottom { @StudioProperty(xmlAttribute = "bottom", type = StudioPropertyType.STRING) } ) - public interface Bottom2 { + public interface Bottom { } @StudioPropertyGroup( @@ -339,8 +323,8 @@ public interface CalendarIndex { @StudioPropertyGroup( properties = { @StudioProperty(xmlAttribute = "cap", type = StudioPropertyType.ENUMERATION, - classFqn = "io.jmix.chartsflowui.kit.component.model.HasLineStyle.Cap", - options = {"BUTT", "ROUND", "SQUARE"}) + classFqn = "io.jmix.chartsflowui.kit.component.model.HasLineStyle.Cap", + options = {"BUTT", "ROUND", "SQUARE"}) } ) public interface Cap { @@ -362,14 +346,6 @@ public interface CategoryBoundaryGap { public interface Center { } - @StudioPropertyGroup( - properties = { - @StudioProperty(xmlAttribute = "center", type = StudioPropertyType.VALUES_LIST) - } - ) - public interface Center2 { - } - @StudioPropertyGroup( properties = { @StudioProperty(xmlAttribute = "clip", type = StudioPropertyType.BOOLEAN) @@ -397,8 +373,8 @@ public interface ColorAlpha { @StudioPropertyGroup( properties = { @StudioProperty(xmlAttribute = "colorBy", type = StudioPropertyType.ENUMERATION, - classFqn = "io.jmix.chartsflowui.kit.component.model.series.ColorBy", - options = {"SERIES", "DATA"}) + classFqn = "io.jmix.chartsflowui.kit.component.model.series.ColorBy", + options = {"SERIES", "DATA"}) } ) public interface ColorBy { @@ -431,30 +407,30 @@ public interface ColorSaturation { @StudioPropertyGroup( properties = { @StudioProperty(xmlAttribute = "color", type = StudioPropertyType.VALUES_LIST, - options = {"ALICEBLUE", "ANTIQUEWHITE", "AQUA", "AQUAMARINE", "AZURE", "BEIGE", "BISQUE", - "BLACK", "BLANCHEDALMOND", "BLUE", "BLUEVIOLET", "BROWN", "BURLYWOOD", "CADETBLUE", - "CHARTREUSE", "CHOCOLATE", "CORAL", "CORNFLOWERBLUE", "CORNSILK", "CRIMSON", "CYAN", - "DARKBLUE", "DARKCYAN", "DARKGOLDENROD", "DARKGRAY", "DARKGREY", "DARKGREEN", - "DARKKHAKI", "DARKMAGENTA", "DARKOLIVEGREEN", "DARKORANGE", "DARKORCHID", "DARKRED", - "DARKSALMON", "DARKSEAGREEN", "DARKSLATEBLUE", "DARKSLATEGRAY", "DARKSLATEGREY", - "DARKTURQUOISE", "DARKVIOLET", "DEEPPINK", "DEEPSKYBLUE", "DIMGRAY", "DIMGREY", - "DODGERBLUE", "FIREBRICK", "FLORALWHITE", "FORESTGREEN", "FUCHSIA", "GAINSBORO", - "GHOSTWHITE", "GOLD", "GOLDENROD", "GRAY", "GREY", "GREEN", "GREENYELLOW", - "HONEYDEW", "HOTPINK", "INDIANRED", "INDIGO", "IVORY", "KHAKI", "LAVENDER", - "LAVENDERBLUSH", "LAWNGREEN", "LEMONCHIFFON", "LIGHTBLUE", "LIGHTCORAL", - "LIGHTCYAN", "LIGHTGOLDENRODYELLOW", "LIGHTGRAY", "LIGHTGREY", "LIGHTGREEN", - "LIGHTPINK", "LIGHTSALMON", "LIGHTSEAGREEN", "LIGHTSKYBLUE", "LIGHTSLATEGRAY", - "LIGHTSLATEGREY", "LIGHTSTEELBLUE", "LIGHTYELLOW", "LIME", "LIMEGREEN", "LINEN", - "MAGENTA", "MAROON", "MEDIUMAQUAMARINE", "MEDIUMBLUE", "MEDIUMORCHID", - "MEDIUMPURPLE", "MEDIUMSEAGREEN", "MEDIUMSLATEBLUE", "MEDIUMSPRINGGREEN", - "MEDIUMTURQUOISE", "MEDIUMVIOLETRED", "MIDNIGHTBLUE", "MINTCREAM", "MISTYROSE", - "MOCCASIN", "NAVAJOWHITE", "NAVY", "OLDLACE", "OLIVE", "OLIVEDRAB", "ORANGE", - "ORANGERED", "ORCHID", "PALEGOLDENROD", "PALEGREEN", "PALETURQUOISE", - "PALEVIOLETRED", "PAPAYAWHIP", "PEACHPUFF", "PERU", "PINK", "PLUM", "POWDERBLUE", - "PURPLE", "RED", "ROSYBROWN", "ROYALBLUE", "SADDLEBROWN", "SALMON", "SANDYBROWN", - "SEAGREEN", "SEASHELL", "SIENNA", "SILVER", "SKYBLUE", "SLATEBLUE", "SLATEGRAY", - "SLATEGREY", "SNOW", "SPRINGGREEN", "STEELBLUE", "TAN", "TEAL", "THISTLE", "TOMATO", - "TURQUOISE", "VIOLET", "WHEAT", "WHITE", "WHITESMOKE", "YELLOW", "YELLOWGREEN"}) + options = {"ALICEBLUE", "ANTIQUEWHITE", "AQUA", "AQUAMARINE", "AZURE", "BEIGE", "BISQUE", + "BLACK", "BLANCHEDALMOND", "BLUE", "BLUEVIOLET", "BROWN", "BURLYWOOD", "CADETBLUE", + "CHARTREUSE", "CHOCOLATE", "CORAL", "CORNFLOWERBLUE", "CORNSILK", "CRIMSON", "CYAN", + "DARKBLUE", "DARKCYAN", "DARKGOLDENROD", "DARKGRAY", "DARKGREY", "DARKGREEN", + "DARKKHAKI", "DARKMAGENTA", "DARKOLIVEGREEN", "DARKORANGE", "DARKORCHID", "DARKRED", + "DARKSALMON", "DARKSEAGREEN", "DARKSLATEBLUE", "DARKSLATEGRAY", "DARKSLATEGREY", + "DARKTURQUOISE", "DARKVIOLET", "DEEPPINK", "DEEPSKYBLUE", "DIMGRAY", "DIMGREY", + "DODGERBLUE", "FIREBRICK", "FLORALWHITE", "FORESTGREEN", "FUCHSIA", "GAINSBORO", + "GHOSTWHITE", "GOLD", "GOLDENROD", "GRAY", "GREY", "GREEN", "GREENYELLOW", + "HONEYDEW", "HOTPINK", "INDIANRED", "INDIGO", "IVORY", "KHAKI", "LAVENDER", + "LAVENDERBLUSH", "LAWNGREEN", "LEMONCHIFFON", "LIGHTBLUE", "LIGHTCORAL", + "LIGHTCYAN", "LIGHTGOLDENRODYELLOW", "LIGHTGRAY", "LIGHTGREY", "LIGHTGREEN", + "LIGHTPINK", "LIGHTSALMON", "LIGHTSEAGREEN", "LIGHTSKYBLUE", "LIGHTSLATEGRAY", + "LIGHTSLATEGREY", "LIGHTSTEELBLUE", "LIGHTYELLOW", "LIME", "LIMEGREEN", "LINEN", + "MAGENTA", "MAROON", "MEDIUMAQUAMARINE", "MEDIUMBLUE", "MEDIUMORCHID", + "MEDIUMPURPLE", "MEDIUMSEAGREEN", "MEDIUMSLATEBLUE", "MEDIUMSPRINGGREEN", + "MEDIUMTURQUOISE", "MEDIUMVIOLETRED", "MIDNIGHTBLUE", "MINTCREAM", "MISTYROSE", + "MOCCASIN", "NAVAJOWHITE", "NAVY", "OLDLACE", "OLIVE", "OLIVEDRAB", "ORANGE", + "ORANGERED", "ORCHID", "PALEGOLDENROD", "PALEGREEN", "PALETURQUOISE", + "PALEVIOLETRED", "PAPAYAWHIP", "PEACHPUFF", "PERU", "PINK", "PLUM", "POWDERBLUE", + "PURPLE", "RED", "ROSYBROWN", "ROYALBLUE", "SADDLEBROWN", "SALMON", "SANDYBROWN", + "SEAGREEN", "SEASHELL", "SIENNA", "SILVER", "SKYBLUE", "SLATEBLUE", "SLATEGRAY", + "SLATEGREY", "SNOW", "SPRINGGREEN", "STEELBLUE", "TAN", "TEAL", "THISTLE", "TOMATO", + "TURQUOISE", "VIOLET", "WHEAT", "WHITE", "WHITESMOKE", "YELLOW", "YELLOWGREEN"}) } ) public interface Color { @@ -463,8 +439,8 @@ public interface Color { @StudioPropertyGroup( properties = { @StudioProperty(xmlAttribute = "coordinateSystem", type = StudioPropertyType.ENUMERATION, - classFqn = "io.jmix.chartsflowui.kit.component.model.series.CoordinateSystem", - options = {"CARTESIAN_2_D", "POLAR"}) + classFqn = "io.jmix.chartsflowui.kit.component.model.series.CoordinateSystem", + options = {"CARTESIAN_2_D", "POLAR"}) } ) public interface CoordinateSystem { @@ -561,8 +537,8 @@ public interface ExtraCssText { @StudioPropertyGroup( properties = { @StudioProperty(xmlAttribute = "filterMode", type = StudioPropertyType.ENUMERATION, - classFqn = "io.jmix.chartsflowui.kit.component.model.datazoom.AbstractDataZoom.FilterMode", - options = {"FILTER", "WEAK_FILTER", "EMPTY", "NONE"}) + classFqn = "io.jmix.chartsflowui.kit.component.model.datazoom.AbstractDataZoom.FilterMode", + options = {"FILTER", "WEAK_FILTER", "EMPTY", "NONE"}) } ) public interface FilterMode { @@ -571,8 +547,8 @@ public interface FilterMode { @StudioPropertyGroup( properties = { @StudioProperty(xmlAttribute = "focus", type = StudioPropertyType.ENUMERATION, - classFqn = "io.jmix.chartsflowui.kit.component.model.series.FocusType", - options = {"NONE", "SELF", "SERIES"}) + classFqn = "io.jmix.chartsflowui.kit.component.model.series.FocusType", + options = {"NONE", "SELF", "SERIES"}) } ) public interface Focus { @@ -597,8 +573,8 @@ public interface FontSize { @StudioPropertyGroup( properties = { @StudioProperty(xmlAttribute = "fontStyle", type = StudioPropertyType.ENUMERATION, - classFqn = "io.jmix.chartsflowui.kit.component.model.shared.FontStyle", - options = {"NORMAL", "ITALIC", "OBLIQUE"}) + classFqn = "io.jmix.chartsflowui.kit.component.model.shared.FontStyle", + options = {"NORMAL", "ITALIC", "OBLIQUE"}) } ) public interface FontStyle { @@ -665,7 +641,7 @@ public interface HandleSize { @StudioProperty(xmlAttribute = "height", category = StudioProperty.Category.SIZE, type = StudioPropertyType.INTEGER) } ) - public interface Height { + public interface IntegerHeight { } @StudioPropertyGroup( @@ -673,7 +649,7 @@ public interface Height { @StudioProperty(xmlAttribute = "height", category = StudioProperty.Category.SIZE, type = StudioPropertyType.STRING) } ) - public interface Height2 { + public interface StringHeight { } @StudioPropertyGroup( @@ -711,30 +687,30 @@ public interface Icon { @StudioPropertyGroup( properties = { @StudioProperty(xmlAttribute = "inactiveBorderColor", type = StudioPropertyType.OPTIONS, - options = {"ALICEBLUE", "ANTIQUEWHITE", "AQUA", "AQUAMARINE", "AZURE", "BEIGE", "BISQUE", - "BLACK", "BLANCHEDALMOND", "BLUE", "BLUEVIOLET", "BROWN", "BURLYWOOD", "CADETBLUE", - "CHARTREUSE", "CHOCOLATE", "CORAL", "CORNFLOWERBLUE", "CORNSILK", "CRIMSON", "CYAN", - "DARKBLUE", "DARKCYAN", "DARKGOLDENROD", "DARKGRAY", "DARKGREY", "DARKGREEN", - "DARKKHAKI", "DARKMAGENTA", "DARKOLIVEGREEN", "DARKORANGE", "DARKORCHID", "DARKRED", - "DARKSALMON", "DARKSEAGREEN", "DARKSLATEBLUE", "DARKSLATEGRAY", "DARKSLATEGREY", - "DARKTURQUOISE", "DARKVIOLET", "DEEPPINK", "DEEPSKYBLUE", "DIMGRAY", "DIMGREY", - "DODGERBLUE", "FIREBRICK", "FLORALWHITE", "FORESTGREEN", "FUCHSIA", "GAINSBORO", - "GHOSTWHITE", "GOLD", "GOLDENROD", "GRAY", "GREY", "GREEN", "GREENYELLOW", - "HONEYDEW", "HOTPINK", "INDIANRED", "INDIGO", "IVORY", "KHAKI", "LAVENDER", - "LAVENDERBLUSH", "LAWNGREEN", "LEMONCHIFFON", "LIGHTBLUE", "LIGHTCORAL", - "LIGHTCYAN", "LIGHTGOLDENRODYELLOW", "LIGHTGRAY", "LIGHTGREY", "LIGHTGREEN", - "LIGHTPINK", "LIGHTSALMON", "LIGHTSEAGREEN", "LIGHTSKYBLUE", "LIGHTSLATEGRAY", - "LIGHTSLATEGREY", "LIGHTSTEELBLUE", "LIGHTYELLOW", "LIME", "LIMEGREEN", "LINEN", - "MAGENTA", "MAROON", "MEDIUMAQUAMARINE", "MEDIUMBLUE", "MEDIUMORCHID", - "MEDIUMPURPLE", "MEDIUMSEAGREEN", "MEDIUMSLATEBLUE", "MEDIUMSPRINGGREEN", - "MEDIUMTURQUOISE", "MEDIUMVIOLETRED", "MIDNIGHTBLUE", "MINTCREAM", "MISTYROSE", - "MOCCASIN", "NAVAJOWHITE", "NAVY", "OLDLACE", "OLIVE", "OLIVEDRAB", "ORANGE", - "ORANGERED", "ORCHID", "PALEGOLDENROD", "PALEGREEN", "PALETURQUOISE", - "PALEVIOLETRED", "PAPAYAWHIP", "PEACHPUFF", "PERU", "PINK", "PLUM", "POWDERBLUE", - "PURPLE", "RED", "ROSYBROWN", "ROYALBLUE", "SADDLEBROWN", "SALMON", "SANDYBROWN", - "SEAGREEN", "SEASHELL", "SIENNA", "SILVER", "SKYBLUE", "SLATEBLUE", "SLATEGRAY", - "SLATEGREY", "SNOW", "SPRINGGREEN", "STEELBLUE", "TAN", "TEAL", "THISTLE", "TOMATO", - "TURQUOISE", "VIOLET", "WHEAT", "WHITE", "WHITESMOKE", "YELLOW", "YELLOWGREEN"}) + options = {"ALICEBLUE", "ANTIQUEWHITE", "AQUA", "AQUAMARINE", "AZURE", "BEIGE", "BISQUE", + "BLACK", "BLANCHEDALMOND", "BLUE", "BLUEVIOLET", "BROWN", "BURLYWOOD", "CADETBLUE", + "CHARTREUSE", "CHOCOLATE", "CORAL", "CORNFLOWERBLUE", "CORNSILK", "CRIMSON", "CYAN", + "DARKBLUE", "DARKCYAN", "DARKGOLDENROD", "DARKGRAY", "DARKGREY", "DARKGREEN", + "DARKKHAKI", "DARKMAGENTA", "DARKOLIVEGREEN", "DARKORANGE", "DARKORCHID", "DARKRED", + "DARKSALMON", "DARKSEAGREEN", "DARKSLATEBLUE", "DARKSLATEGRAY", "DARKSLATEGREY", + "DARKTURQUOISE", "DARKVIOLET", "DEEPPINK", "DEEPSKYBLUE", "DIMGRAY", "DIMGREY", + "DODGERBLUE", "FIREBRICK", "FLORALWHITE", "FORESTGREEN", "FUCHSIA", "GAINSBORO", + "GHOSTWHITE", "GOLD", "GOLDENROD", "GRAY", "GREY", "GREEN", "GREENYELLOW", + "HONEYDEW", "HOTPINK", "INDIANRED", "INDIGO", "IVORY", "KHAKI", "LAVENDER", + "LAVENDERBLUSH", "LAWNGREEN", "LEMONCHIFFON", "LIGHTBLUE", "LIGHTCORAL", + "LIGHTCYAN", "LIGHTGOLDENRODYELLOW", "LIGHTGRAY", "LIGHTGREY", "LIGHTGREEN", + "LIGHTPINK", "LIGHTSALMON", "LIGHTSEAGREEN", "LIGHTSKYBLUE", "LIGHTSLATEGRAY", + "LIGHTSLATEGREY", "LIGHTSTEELBLUE", "LIGHTYELLOW", "LIME", "LIMEGREEN", "LINEN", + "MAGENTA", "MAROON", "MEDIUMAQUAMARINE", "MEDIUMBLUE", "MEDIUMORCHID", + "MEDIUMPURPLE", "MEDIUMSEAGREEN", "MEDIUMSLATEBLUE", "MEDIUMSPRINGGREEN", + "MEDIUMTURQUOISE", "MEDIUMVIOLETRED", "MIDNIGHTBLUE", "MINTCREAM", "MISTYROSE", + "MOCCASIN", "NAVAJOWHITE", "NAVY", "OLDLACE", "OLIVE", "OLIVEDRAB", "ORANGE", + "ORANGERED", "ORCHID", "PALEGOLDENROD", "PALEGREEN", "PALETURQUOISE", + "PALEVIOLETRED", "PAPAYAWHIP", "PEACHPUFF", "PERU", "PINK", "PLUM", "POWDERBLUE", + "PURPLE", "RED", "ROSYBROWN", "ROYALBLUE", "SADDLEBROWN", "SALMON", "SANDYBROWN", + "SEAGREEN", "SEASHELL", "SIENNA", "SILVER", "SKYBLUE", "SLATEBLUE", "SLATEGRAY", + "SLATEGREY", "SNOW", "SPRINGGREEN", "STEELBLUE", "TAN", "TEAL", "THISTLE", "TOMATO", + "TURQUOISE", "VIOLET", "WHEAT", "WHITE", "WHITESMOKE", "YELLOW", "YELLOWGREEN"}) } ) public interface InactiveBorderColor { @@ -751,30 +727,30 @@ public interface InactiveBorderWidth { @StudioPropertyGroup( properties = { @StudioProperty(xmlAttribute = "inactiveColor", type = StudioPropertyType.OPTIONS, - options = {"ALICEBLUE", "ANTIQUEWHITE", "AQUA", "AQUAMARINE", "AZURE", "BEIGE", "BISQUE", - "BLACK", "BLANCHEDALMOND", "BLUE", "BLUEVIOLET", "BROWN", "BURLYWOOD", "CADETBLUE", - "CHARTREUSE", "CHOCOLATE", "CORAL", "CORNFLOWERBLUE", "CORNSILK", "CRIMSON", "CYAN", - "DARKBLUE", "DARKCYAN", "DARKGOLDENROD", "DARKGRAY", "DARKGREY", "DARKGREEN", - "DARKKHAKI", "DARKMAGENTA", "DARKOLIVEGREEN", "DARKORANGE", "DARKORCHID", "DARKRED", - "DARKSALMON", "DARKSEAGREEN", "DARKSLATEBLUE", "DARKSLATEGRAY", "DARKSLATEGREY", - "DARKTURQUOISE", "DARKVIOLET", "DEEPPINK", "DEEPSKYBLUE", "DIMGRAY", "DIMGREY", - "DODGERBLUE", "FIREBRICK", "FLORALWHITE", "FORESTGREEN", "FUCHSIA", "GAINSBORO", - "GHOSTWHITE", "GOLD", "GOLDENROD", "GRAY", "GREY", "GREEN", "GREENYELLOW", - "HONEYDEW", "HOTPINK", "INDIANRED", "INDIGO", "IVORY", "KHAKI", "LAVENDER", - "LAVENDERBLUSH", "LAWNGREEN", "LEMONCHIFFON", "LIGHTBLUE", "LIGHTCORAL", - "LIGHTCYAN", "LIGHTGOLDENRODYELLOW", "LIGHTGRAY", "LIGHTGREY", "LIGHTGREEN", - "LIGHTPINK", "LIGHTSALMON", "LIGHTSEAGREEN", "LIGHTSKYBLUE", "LIGHTSLATEGRAY", - "LIGHTSLATEGREY", "LIGHTSTEELBLUE", "LIGHTYELLOW", "LIME", "LIMEGREEN", "LINEN", - "MAGENTA", "MAROON", "MEDIUMAQUAMARINE", "MEDIUMBLUE", "MEDIUMORCHID", - "MEDIUMPURPLE", "MEDIUMSEAGREEN", "MEDIUMSLATEBLUE", "MEDIUMSPRINGGREEN", - "MEDIUMTURQUOISE", "MEDIUMVIOLETRED", "MIDNIGHTBLUE", "MINTCREAM", "MISTYROSE", - "MOCCASIN", "NAVAJOWHITE", "NAVY", "OLDLACE", "OLIVE", "OLIVEDRAB", "ORANGE", - "ORANGERED", "ORCHID", "PALEGOLDENROD", "PALEGREEN", "PALETURQUOISE", - "PALEVIOLETRED", "PAPAYAWHIP", "PEACHPUFF", "PERU", "PINK", "PLUM", "POWDERBLUE", - "PURPLE", "RED", "ROSYBROWN", "ROYALBLUE", "SADDLEBROWN", "SALMON", "SANDYBROWN", - "SEAGREEN", "SEASHELL", "SIENNA", "SILVER", "SKYBLUE", "SLATEBLUE", "SLATEGRAY", - "SLATEGREY", "SNOW", "SPRINGGREEN", "STEELBLUE", "TAN", "TEAL", "THISTLE", "TOMATO", - "TURQUOISE", "VIOLET", "WHEAT", "WHITE", "WHITESMOKE", "YELLOW", "YELLOWGREEN"}) + options = {"ALICEBLUE", "ANTIQUEWHITE", "AQUA", "AQUAMARINE", "AZURE", "BEIGE", "BISQUE", + "BLACK", "BLANCHEDALMOND", "BLUE", "BLUEVIOLET", "BROWN", "BURLYWOOD", "CADETBLUE", + "CHARTREUSE", "CHOCOLATE", "CORAL", "CORNFLOWERBLUE", "CORNSILK", "CRIMSON", "CYAN", + "DARKBLUE", "DARKCYAN", "DARKGOLDENROD", "DARKGRAY", "DARKGREY", "DARKGREEN", + "DARKKHAKI", "DARKMAGENTA", "DARKOLIVEGREEN", "DARKORANGE", "DARKORCHID", "DARKRED", + "DARKSALMON", "DARKSEAGREEN", "DARKSLATEBLUE", "DARKSLATEGRAY", "DARKSLATEGREY", + "DARKTURQUOISE", "DARKVIOLET", "DEEPPINK", "DEEPSKYBLUE", "DIMGRAY", "DIMGREY", + "DODGERBLUE", "FIREBRICK", "FLORALWHITE", "FORESTGREEN", "FUCHSIA", "GAINSBORO", + "GHOSTWHITE", "GOLD", "GOLDENROD", "GRAY", "GREY", "GREEN", "GREENYELLOW", + "HONEYDEW", "HOTPINK", "INDIANRED", "INDIGO", "IVORY", "KHAKI", "LAVENDER", + "LAVENDERBLUSH", "LAWNGREEN", "LEMONCHIFFON", "LIGHTBLUE", "LIGHTCORAL", + "LIGHTCYAN", "LIGHTGOLDENRODYELLOW", "LIGHTGRAY", "LIGHTGREY", "LIGHTGREEN", + "LIGHTPINK", "LIGHTSALMON", "LIGHTSEAGREEN", "LIGHTSKYBLUE", "LIGHTSLATEGRAY", + "LIGHTSLATEGREY", "LIGHTSTEELBLUE", "LIGHTYELLOW", "LIME", "LIMEGREEN", "LINEN", + "MAGENTA", "MAROON", "MEDIUMAQUAMARINE", "MEDIUMBLUE", "MEDIUMORCHID", + "MEDIUMPURPLE", "MEDIUMSEAGREEN", "MEDIUMSLATEBLUE", "MEDIUMSPRINGGREEN", + "MEDIUMTURQUOISE", "MEDIUMVIOLETRED", "MIDNIGHTBLUE", "MINTCREAM", "MISTYROSE", + "MOCCASIN", "NAVAJOWHITE", "NAVY", "OLDLACE", "OLIVE", "OLIVEDRAB", "ORANGE", + "ORANGERED", "ORCHID", "PALEGOLDENROD", "PALEGREEN", "PALETURQUOISE", + "PALEVIOLETRED", "PAPAYAWHIP", "PEACHPUFF", "PERU", "PINK", "PLUM", "POWDERBLUE", + "PURPLE", "RED", "ROSYBROWN", "ROYALBLUE", "SADDLEBROWN", "SALMON", "SANDYBROWN", + "SEAGREEN", "SEASHELL", "SIENNA", "SILVER", "SKYBLUE", "SLATEBLUE", "SLATEGRAY", + "SLATEGREY", "SNOW", "SPRINGGREEN", "STEELBLUE", "TAN", "TEAL", "THISTLE", "TOMATO", + "TURQUOISE", "VIOLET", "WHEAT", "WHITE", "WHITESMOKE", "YELLOW", "YELLOWGREEN"}) } ) public interface InactiveColor { @@ -825,7 +801,7 @@ public interface ItemGap { @StudioProperty(xmlAttribute = "itemHeight", type = StudioPropertyType.DOUBLE) } ) - public interface ItemHeight { + public interface DoubleItemHeight { } @StudioPropertyGroup( @@ -833,7 +809,7 @@ public interface ItemHeight { @StudioProperty(xmlAttribute = "itemHeight", type = StudioPropertyType.INTEGER) } ) - public interface ItemHeight2 { + public interface IntegerItemHeight { } @StudioPropertyGroup( @@ -841,7 +817,7 @@ public interface ItemHeight2 { @StudioProperty(xmlAttribute = "itemWidth", type = StudioPropertyType.DOUBLE) } ) - public interface ItemWidth { + public interface DoubleItemWidth { } @StudioPropertyGroup( @@ -849,14 +825,14 @@ public interface ItemWidth { @StudioProperty(xmlAttribute = "itemWidth", type = StudioPropertyType.INTEGER) } ) - public interface ItemWidth2 { + public interface IntegerItemWidth { } @StudioPropertyGroup( properties = { @StudioProperty(xmlAttribute = "join", type = StudioPropertyType.ENUMERATION, - classFqn = "io.jmix.chartsflowui.kit.component.model.HasLineStyle.Join", - options = {"BEVEL", "ROUND", "MITER"}) + classFqn = "io.jmix.chartsflowui.kit.component.model.HasLineStyle.Join", + options = {"BEVEL", "ROUND", "MITER"}) } ) public interface Join { @@ -889,27 +865,19 @@ public interface LargeThreshold { @StudioPropertyGroup( properties = { @StudioProperty(xmlAttribute = "layout", type = StudioPropertyType.ENUMERATION, - classFqn = "io.jmix.chartsflowui.kit.component.model.shared.Orientation", - options = {"HORIZONTAL", "VERTICAL"}) + classFqn = "io.jmix.chartsflowui.kit.component.model.shared.Orientation", + options = {"HORIZONTAL", "VERTICAL"}) } ) public interface Layout { } - @StudioPropertyGroup( - properties = { - @StudioProperty(xmlAttribute = "left", type = StudioPropertyType.INTEGER) - } - ) - public interface Left { - } - @StudioPropertyGroup( properties = { @StudioProperty(xmlAttribute = "left", type = StudioPropertyType.STRING) } ) - public interface Left2 { + public interface Left { } @StudioPropertyGroup( @@ -965,7 +933,7 @@ public interface MaxCount { @StudioProperty(xmlAttribute = "max", type = StudioPropertyType.DOUBLE) } ) - public interface Max { + public interface DoubleMax { } @StudioPropertyGroup( @@ -997,7 +965,7 @@ public interface MaxSpan { @StudioProperty(xmlAttribute = "max", type = StudioPropertyType.STRING) } ) - public interface Max2 { + public interface StringMax { } @StudioPropertyGroup( @@ -1013,7 +981,7 @@ public interface MaxValueSpan { @StudioProperty(xmlAttribute = "min", type = StudioPropertyType.DOUBLE) } ) - public interface Min { + public interface DoubleMin { } @StudioPropertyGroup( @@ -1045,7 +1013,7 @@ public interface MinSpan { @StudioProperty(xmlAttribute = "min", type = StudioPropertyType.STRING) } ) - public interface Min2 { + public interface StringMin { } @StudioPropertyGroup( @@ -1083,8 +1051,8 @@ public interface NameGap { @StudioPropertyGroup( properties = { @StudioProperty(xmlAttribute = "nameLocation", type = StudioPropertyType.ENUMERATION, - classFqn = "io.jmix.chartsflowui.kit.component.model.axis.AbstractCartesianAxis.NameLocation", - options = {"END", "CENTER", "START"}) + classFqn = "io.jmix.chartsflowui.kit.component.model.axis.AbstractCartesianAxis.NameLocation", + options = {"END", "CENTER", "START"}) } ) public interface NameLocation { @@ -1143,15 +1111,15 @@ public interface OffsetCenter { @StudioProperty(xmlAttribute = "offset", type = StudioPropertyType.INTEGER) } ) - public interface Offset { + public interface IntegerOffset { } @StudioPropertyGroup( properties = { - @StudioProperty(xmlAttribute = "offset", type = StudioPropertyType.VALUES_LIST) + @StudioProperty(xmlAttribute = "offset", type = StudioPropertyType.STRING) } ) - public interface Offset2 { + public interface StringOffset { } @StudioPropertyGroup( @@ -1164,17 +1132,17 @@ public interface Opacity { @StudioPropertyGroup( properties = { - @StudioProperty(xmlAttribute = "opacity", type = StudioPropertyType.VALUES_LIST) + @StudioProperty(xmlAttribute = "opacity", type = StudioPropertyType.STRING) } ) - public interface Opacity2 { + public interface StringOpacity { } @StudioPropertyGroup( properties = { @StudioProperty(xmlAttribute = "orientation", type = StudioPropertyType.ENUMERATION, - classFqn = "io.jmix.chartsflowui.kit.component.model.shared.Orientation", - options = {"HORIZONTAL", "VERTICAL"}) + classFqn = "io.jmix.chartsflowui.kit.component.model.shared.Orientation", + options = {"HORIZONTAL", "VERTICAL"}) } ) public interface Orientation { @@ -1183,8 +1151,8 @@ public interface Orientation { @StudioPropertyGroup( properties = { @StudioProperty(xmlAttribute = "overflow", type = StudioPropertyType.ENUMERATION, - classFqn = "io.jmix.chartsflowui.kit.component.model.shared.Overflow", - options = {"NONE", "TRUNCATE", "BREAK", "BREAK_ALL"}) + classFqn = "io.jmix.chartsflowui.kit.component.model.shared.Overflow", + options = {"NONE", "TRUNCATE", "BREAK", "BREAK_ALL"}) } ) public interface Overflow { @@ -1217,21 +1185,21 @@ public interface PositionCoordinates { @StudioPropertyGroup( properties = { @StudioProperty(xmlAttribute = "position", type = StudioPropertyType.ENUMERATION, - classFqn = "io.jmix.chartsflowui.kit.component.model.shared.AbstractTooltip.Position.ItemTriggerPosition", - options = {"INSIDE", "TOP", "LEFT", "RIGHT", "BOTTOM"}) + classFqn = "io.jmix.chartsflowui.kit.component.model.shared.AbstractTooltip.Position.ItemTriggerPosition", + options = {"INSIDE", "TOP", "LEFT", "RIGHT", "BOTTOM"}) } ) - public interface Position { + public interface TooltipPosition { } @StudioPropertyGroup( properties = { @StudioProperty(xmlAttribute = "position", type = StudioPropertyType.ENUMERATION, - classFqn = "io.jmix.chartsflowui.kit.component.model.axis.AbstractCartesianAxis.Position", - options = {"TOP", "BOTTOM", "RIGHT", "LEFT"}) + classFqn = "io.jmix.chartsflowui.kit.component.model.axis.AbstractCartesianAxis.Position", + options = {"TOP", "BOTTOM", "RIGHT", "LEFT"}) } ) - public interface Position2 { + public interface AxisPosition { } @StudioPropertyGroup( @@ -1239,7 +1207,7 @@ public interface Position2 { @StudioProperty(xmlAttribute = "precision", type = StudioPropertyType.DOUBLE) } ) - public interface Precision { + public interface DoublePrecision { } @StudioPropertyGroup( @@ -1247,7 +1215,7 @@ public interface Precision { @StudioProperty(xmlAttribute = "precision", type = StudioPropertyType.INTEGER) } ) - public interface Precision2 { + public interface IntegerPrecision { } @StudioPropertyGroup( @@ -1269,8 +1237,8 @@ public interface PrevPageIcon { @StudioPropertyGroup( properties = { @StudioProperty(xmlAttribute = "progressiveChunkMode", type = StudioPropertyType.ENUMERATION, - classFqn = "io.jmix.chartsflowui.kit.component.model.series.ProgressiveChunkMode", - options = {"SEQUENTIAL", "MOD"}) + classFqn = "io.jmix.chartsflowui.kit.component.model.series.ProgressiveChunkMode", + options = {"SEQUENTIAL", "MOD"}) } ) public interface ProgressiveChunkMode { @@ -1308,18 +1276,10 @@ public interface RadiusAxisIndexes { public interface Radius { } - @StudioPropertyGroup( - properties = { - @StudioProperty(xmlAttribute = "radius", type = StudioPropertyType.VALUES_LIST) - } - ) - public interface Radius2 { - } - @StudioPropertyGroup( properties = { @StudioProperty(xmlAttribute = "rangeMode", type = StudioPropertyType.VALUES_LIST, - options = {"VALUE", "PERCENT"}) + options = {"VALUE", "PERCENT"}) } ) public interface RangeMode { @@ -1338,7 +1298,7 @@ public interface Realtime { @StudioProperty(xmlAttribute = "right", type = StudioPropertyType.INTEGER) } ) - public interface Right { + public interface IntegerRight { } @StudioPropertyGroup( @@ -1346,7 +1306,7 @@ public interface Right { @StudioProperty(xmlAttribute = "right", type = StudioPropertyType.STRING) } ) - public interface Right2 { + public interface StringRight { } @StudioPropertyGroup( @@ -1368,8 +1328,8 @@ public interface RoundCap { @StudioPropertyGroup( properties = { @StudioProperty(xmlAttribute = "sampling", type = StudioPropertyType.ENUMERATION, - classFqn = "io.jmix.chartsflowui.kit.component.model.series.SamplingType", - options = {"LARGEST_TRIANGLE_THREE_BUCKET", "AVERAGE", "MAX", "MIN", "SUM"}) + classFqn = "io.jmix.chartsflowui.kit.component.model.series.SamplingType", + options = {"LARGEST_TRIANGLE_THREE_BUCKET", "AVERAGE", "MAX", "MIN", "SUM"}) } ) public interface Sampling { @@ -1380,7 +1340,7 @@ public interface Sampling { @StudioProperty(xmlAttribute = "scale", type = StudioPropertyType.BOOLEAN) } ) - public interface Scale { + public interface BooleanScale { } @StudioPropertyGroup( @@ -1388,14 +1348,14 @@ public interface Scale { @StudioProperty(xmlAttribute = "scale", type = StudioPropertyType.DOUBLE) } ) - public interface Scale2 { + public interface DoubleScale { } @StudioPropertyGroup( properties = { @StudioProperty(xmlAttribute = "selectedMode", type = StudioPropertyType.ENUMERATION, - classFqn = "io.jmix.chartsflowui.kit.component.model.shared.SelectedMode", - options = {"DISABLED", "SINGLE", "MULTIPLE"}) + classFqn = "io.jmix.chartsflowui.kit.component.model.shared.SelectedMode", + options = {"DISABLED", "SINGLE", "MULTIPLE"}) } ) public interface SelectedMode { @@ -1428,8 +1388,8 @@ public interface SelectorItemGap { @StudioPropertyGroup( properties = { @StudioProperty(xmlAttribute = "selectorPosition", type = StudioPropertyType.ENUMERATION, - classFqn = "io.jmix.chartsflowui.kit.component.model.legend.AbstractLegend.Position", - options = {"START", "END"}) + classFqn = "io.jmix.chartsflowui.kit.component.model.legend.AbstractLegend.Position", + options = {"START", "END"}) } ) public interface SelectorPosition { @@ -1446,8 +1406,8 @@ public interface SeriesIndex { @StudioPropertyGroup( properties = { @StudioProperty(xmlAttribute = "seriesLayoutBy", type = StudioPropertyType.ENUMERATION, - classFqn = "io.jmix.chartsflowui.kit.component.model.series.AbstractAxisAwareSeries.SeriesLayoutType", - options = {"COLUMN", "ROW"}) + classFqn = "io.jmix.chartsflowui.kit.component.model.series.AbstractAxisAwareSeries.SeriesLayoutType", + options = {"COLUMN", "ROW"}) } ) public interface SeriesLayoutBy { @@ -1464,30 +1424,30 @@ public interface ShadowBlur { @StudioPropertyGroup( properties = { @StudioProperty(xmlAttribute = "shadowColor", type = StudioPropertyType.OPTIONS, - options = {"ALICEBLUE", "ANTIQUEWHITE", "AQUA", "AQUAMARINE", "AZURE", "BEIGE", "BISQUE", - "BLACK", "BLANCHEDALMOND", "BLUE", "BLUEVIOLET", "BROWN", "BURLYWOOD", "CADETBLUE", - "CHARTREUSE", "CHOCOLATE", "CORAL", "CORNFLOWERBLUE", "CORNSILK", "CRIMSON", "CYAN", - "DARKBLUE", "DARKCYAN", "DARKGOLDENROD", "DARKGRAY", "DARKGREY", "DARKGREEN", - "DARKKHAKI", "DARKMAGENTA", "DARKOLIVEGREEN", "DARKORANGE", "DARKORCHID", "DARKRED", - "DARKSALMON", "DARKSEAGREEN", "DARKSLATEBLUE", "DARKSLATEGRAY", "DARKSLATEGREY", - "DARKTURQUOISE", "DARKVIOLET", "DEEPPINK", "DEEPSKYBLUE", "DIMGRAY", "DIMGREY", - "DODGERBLUE", "FIREBRICK", "FLORALWHITE", "FORESTGREEN", "FUCHSIA", "GAINSBORO", - "GHOSTWHITE", "GOLD", "GOLDENROD", "GRAY", "GREY", "GREEN", "GREENYELLOW", - "HONEYDEW", "HOTPINK", "INDIANRED", "INDIGO", "IVORY", "KHAKI", "LAVENDER", - "LAVENDERBLUSH", "LAWNGREEN", "LEMONCHIFFON", "LIGHTBLUE", "LIGHTCORAL", - "LIGHTCYAN", "LIGHTGOLDENRODYELLOW", "LIGHTGRAY", "LIGHTGREY", "LIGHTGREEN", - "LIGHTPINK", "LIGHTSALMON", "LIGHTSEAGREEN", "LIGHTSKYBLUE", "LIGHTSLATEGRAY", - "LIGHTSLATEGREY", "LIGHTSTEELBLUE", "LIGHTYELLOW", "LIME", "LIMEGREEN", "LINEN", - "MAGENTA", "MAROON", "MEDIUMAQUAMARINE", "MEDIUMBLUE", "MEDIUMORCHID", - "MEDIUMPURPLE", "MEDIUMSEAGREEN", "MEDIUMSLATEBLUE", "MEDIUMSPRINGGREEN", - "MEDIUMTURQUOISE", "MEDIUMVIOLETRED", "MIDNIGHTBLUE", "MINTCREAM", "MISTYROSE", - "MOCCASIN", "NAVAJOWHITE", "NAVY", "OLDLACE", "OLIVE", "OLIVEDRAB", "ORANGE", - "ORANGERED", "ORCHID", "PALEGOLDENROD", "PALEGREEN", "PALETURQUOISE", - "PALEVIOLETRED", "PAPAYAWHIP", "PEACHPUFF", "PERU", "PINK", "PLUM", "POWDERBLUE", - "PURPLE", "RED", "ROSYBROWN", "ROYALBLUE", "SADDLEBROWN", "SALMON", "SANDYBROWN", - "SEAGREEN", "SEASHELL", "SIENNA", "SILVER", "SKYBLUE", "SLATEBLUE", "SLATEGRAY", - "SLATEGREY", "SNOW", "SPRINGGREEN", "STEELBLUE", "TAN", "TEAL", "THISTLE", "TOMATO", - "TURQUOISE", "VIOLET", "WHEAT", "WHITE", "WHITESMOKE", "YELLOW", "YELLOWGREEN"}) + options = {"ALICEBLUE", "ANTIQUEWHITE", "AQUA", "AQUAMARINE", "AZURE", "BEIGE", "BISQUE", + "BLACK", "BLANCHEDALMOND", "BLUE", "BLUEVIOLET", "BROWN", "BURLYWOOD", "CADETBLUE", + "CHARTREUSE", "CHOCOLATE", "CORAL", "CORNFLOWERBLUE", "CORNSILK", "CRIMSON", "CYAN", + "DARKBLUE", "DARKCYAN", "DARKGOLDENROD", "DARKGRAY", "DARKGREY", "DARKGREEN", + "DARKKHAKI", "DARKMAGENTA", "DARKOLIVEGREEN", "DARKORANGE", "DARKORCHID", "DARKRED", + "DARKSALMON", "DARKSEAGREEN", "DARKSLATEBLUE", "DARKSLATEGRAY", "DARKSLATEGREY", + "DARKTURQUOISE", "DARKVIOLET", "DEEPPINK", "DEEPSKYBLUE", "DIMGRAY", "DIMGREY", + "DODGERBLUE", "FIREBRICK", "FLORALWHITE", "FORESTGREEN", "FUCHSIA", "GAINSBORO", + "GHOSTWHITE", "GOLD", "GOLDENROD", "GRAY", "GREY", "GREEN", "GREENYELLOW", + "HONEYDEW", "HOTPINK", "INDIANRED", "INDIGO", "IVORY", "KHAKI", "LAVENDER", + "LAVENDERBLUSH", "LAWNGREEN", "LEMONCHIFFON", "LIGHTBLUE", "LIGHTCORAL", + "LIGHTCYAN", "LIGHTGOLDENRODYELLOW", "LIGHTGRAY", "LIGHTGREY", "LIGHTGREEN", + "LIGHTPINK", "LIGHTSALMON", "LIGHTSEAGREEN", "LIGHTSKYBLUE", "LIGHTSLATEGRAY", + "LIGHTSLATEGREY", "LIGHTSTEELBLUE", "LIGHTYELLOW", "LIME", "LIMEGREEN", "LINEN", + "MAGENTA", "MAROON", "MEDIUMAQUAMARINE", "MEDIUMBLUE", "MEDIUMORCHID", + "MEDIUMPURPLE", "MEDIUMSEAGREEN", "MEDIUMSLATEBLUE", "MEDIUMSPRINGGREEN", + "MEDIUMTURQUOISE", "MEDIUMVIOLETRED", "MIDNIGHTBLUE", "MINTCREAM", "MISTYROSE", + "MOCCASIN", "NAVAJOWHITE", "NAVY", "OLDLACE", "OLIVE", "OLIVEDRAB", "ORANGE", + "ORANGERED", "ORCHID", "PALEGOLDENROD", "PALEGREEN", "PALETURQUOISE", + "PALEVIOLETRED", "PAPAYAWHIP", "PEACHPUFF", "PERU", "PINK", "PLUM", "POWDERBLUE", + "PURPLE", "RED", "ROSYBROWN", "ROYALBLUE", "SADDLEBROWN", "SALMON", "SANDYBROWN", + "SEAGREEN", "SEASHELL", "SIENNA", "SILVER", "SKYBLUE", "SLATEBLUE", "SLATEGRAY", + "SLATEGREY", "SNOW", "SPRINGGREEN", "STEELBLUE", "TAN", "TEAL", "THISTLE", "TOMATO", + "TURQUOISE", "VIOLET", "WHEAT", "WHITE", "WHITESMOKE", "YELLOW", "YELLOWGREEN"}) } ) public interface ShadowColor { @@ -1560,8 +1520,8 @@ public interface SplitNumber { @StudioPropertyGroup( properties = { @StudioProperty(xmlAttribute = "stackStrategy", type = StudioPropertyType.ENUMERATION, - classFqn = "io.jmix.chartsflowui.kit.component.model.series.HasStack.StackStrategy", - options = {"SAME_SIGN", "ALL", "POSITIVE", "NEGATIVE"}) + classFqn = "io.jmix.chartsflowui.kit.component.model.series.HasStack.StackStrategy", + options = {"SAME_SIGN", "ALL", "POSITIVE", "NEGATIVE"}) } ) public interface StackStrategy { @@ -1652,23 +1612,23 @@ public interface SymbolSizeFunction { @StudioProperty(xmlAttribute = "symbolSize", type = StudioPropertyType.INTEGER) } ) - public interface SymbolSize { + public interface IntegerSymbolSize { } @StudioPropertyGroup( properties = { - @StudioProperty(xmlAttribute = "symbolSize", type = StudioPropertyType.VALUES_LIST) + @StudioProperty(xmlAttribute = "symbolSize", type = StudioPropertyType.STRING) } ) - public interface SymbolSize2 { + public interface StringSymbolSize { } @StudioPropertyGroup( properties = { @StudioProperty(xmlAttribute = "symbolType", type = StudioPropertyType.ENUMERATION, - classFqn = "io.jmix.chartsflowui.kit.component.model.shared.HasSymbols.SymbolType", - options = {"CIRCLE", "RECTANGLE", "ROUND_RECTANGLE", "PIN", "TRIANGLE", "DIAMOND", - "ARROW", "NONE"}) + classFqn = "io.jmix.chartsflowui.kit.component.model.shared.HasSymbols.SymbolType", + options = {"CIRCLE", "RECTANGLE", "ROUND_RECTANGLE", "PIN", "TRIANGLE", "DIAMOND", + "ARROW", "NONE"}) } ) public interface SymbolType { @@ -1693,30 +1653,30 @@ public interface SymbolsSize { @StudioPropertyGroup( properties = { @StudioProperty(xmlAttribute = "textBorderColor", type = StudioPropertyType.OPTIONS, - options = {"ALICEBLUE", "ANTIQUEWHITE", "AQUA", "AQUAMARINE", "AZURE", "BEIGE", "BISQUE", - "BLACK", "BLANCHEDALMOND", "BLUE", "BLUEVIOLET", "BROWN", "BURLYWOOD", "CADETBLUE", - "CHARTREUSE", "CHOCOLATE", "CORAL", "CORNFLOWERBLUE", "CORNSILK", "CRIMSON", "CYAN", - "DARKBLUE", "DARKCYAN", "DARKGOLDENROD", "DARKGRAY", "DARKGREY", "DARKGREEN", - "DARKKHAKI", "DARKMAGENTA", "DARKOLIVEGREEN", "DARKORANGE", "DARKORCHID", "DARKRED", - "DARKSALMON", "DARKSEAGREEN", "DARKSLATEBLUE", "DARKSLATEGRAY", "DARKSLATEGREY", - "DARKTURQUOISE", "DARKVIOLET", "DEEPPINK", "DEEPSKYBLUE", "DIMGRAY", "DIMGREY", - "DODGERBLUE", "FIREBRICK", "FLORALWHITE", "FORESTGREEN", "FUCHSIA", "GAINSBORO", - "GHOSTWHITE", "GOLD", "GOLDENROD", "GRAY", "GREY", "GREEN", "GREENYELLOW", - "HONEYDEW", "HOTPINK", "INDIANRED", "INDIGO", "IVORY", "KHAKI", "LAVENDER", - "LAVENDERBLUSH", "LAWNGREEN", "LEMONCHIFFON", "LIGHTBLUE", "LIGHTCORAL", - "LIGHTCYAN", "LIGHTGOLDENRODYELLOW", "LIGHTGRAY", "LIGHTGREY", "LIGHTGREEN", - "LIGHTPINK", "LIGHTSALMON", "LIGHTSEAGREEN", "LIGHTSKYBLUE", "LIGHTSLATEGRAY", - "LIGHTSLATEGREY", "LIGHTSTEELBLUE", "LIGHTYELLOW", "LIME", "LIMEGREEN", "LINEN", - "MAGENTA", "MAROON", "MEDIUMAQUAMARINE", "MEDIUMBLUE", "MEDIUMORCHID", - "MEDIUMPURPLE", "MEDIUMSEAGREEN", "MEDIUMSLATEBLUE", "MEDIUMSPRINGGREEN", - "MEDIUMTURQUOISE", "MEDIUMVIOLETRED", "MIDNIGHTBLUE", "MINTCREAM", "MISTYROSE", - "MOCCASIN", "NAVAJOWHITE", "NAVY", "OLDLACE", "OLIVE", "OLIVEDRAB", "ORANGE", - "ORANGERED", "ORCHID", "PALEGOLDENROD", "PALEGREEN", "PALETURQUOISE", - "PALEVIOLETRED", "PAPAYAWHIP", "PEACHPUFF", "PERU", "PINK", "PLUM", "POWDERBLUE", - "PURPLE", "RED", "ROSYBROWN", "ROYALBLUE", "SADDLEBROWN", "SALMON", "SANDYBROWN", - "SEAGREEN", "SEASHELL", "SIENNA", "SILVER", "SKYBLUE", "SLATEBLUE", "SLATEGRAY", - "SLATEGREY", "SNOW", "SPRINGGREEN", "STEELBLUE", "TAN", "TEAL", "THISTLE", "TOMATO", - "TURQUOISE", "VIOLET", "WHEAT", "WHITE", "WHITESMOKE", "YELLOW", "YELLOWGREEN"}) + options = {"ALICEBLUE", "ANTIQUEWHITE", "AQUA", "AQUAMARINE", "AZURE", "BEIGE", "BISQUE", + "BLACK", "BLANCHEDALMOND", "BLUE", "BLUEVIOLET", "BROWN", "BURLYWOOD", "CADETBLUE", + "CHARTREUSE", "CHOCOLATE", "CORAL", "CORNFLOWERBLUE", "CORNSILK", "CRIMSON", "CYAN", + "DARKBLUE", "DARKCYAN", "DARKGOLDENROD", "DARKGRAY", "DARKGREY", "DARKGREEN", + "DARKKHAKI", "DARKMAGENTA", "DARKOLIVEGREEN", "DARKORANGE", "DARKORCHID", "DARKRED", + "DARKSALMON", "DARKSEAGREEN", "DARKSLATEBLUE", "DARKSLATEGRAY", "DARKSLATEGREY", + "DARKTURQUOISE", "DARKVIOLET", "DEEPPINK", "DEEPSKYBLUE", "DIMGRAY", "DIMGREY", + "DODGERBLUE", "FIREBRICK", "FLORALWHITE", "FORESTGREEN", "FUCHSIA", "GAINSBORO", + "GHOSTWHITE", "GOLD", "GOLDENROD", "GRAY", "GREY", "GREEN", "GREENYELLOW", + "HONEYDEW", "HOTPINK", "INDIANRED", "INDIGO", "IVORY", "KHAKI", "LAVENDER", + "LAVENDERBLUSH", "LAWNGREEN", "LEMONCHIFFON", "LIGHTBLUE", "LIGHTCORAL", + "LIGHTCYAN", "LIGHTGOLDENRODYELLOW", "LIGHTGRAY", "LIGHTGREY", "LIGHTGREEN", + "LIGHTPINK", "LIGHTSALMON", "LIGHTSEAGREEN", "LIGHTSKYBLUE", "LIGHTSLATEGRAY", + "LIGHTSLATEGREY", "LIGHTSTEELBLUE", "LIGHTYELLOW", "LIME", "LIMEGREEN", "LINEN", + "MAGENTA", "MAROON", "MEDIUMAQUAMARINE", "MEDIUMBLUE", "MEDIUMORCHID", + "MEDIUMPURPLE", "MEDIUMSEAGREEN", "MEDIUMSLATEBLUE", "MEDIUMSPRINGGREEN", + "MEDIUMTURQUOISE", "MEDIUMVIOLETRED", "MIDNIGHTBLUE", "MINTCREAM", "MISTYROSE", + "MOCCASIN", "NAVAJOWHITE", "NAVY", "OLDLACE", "OLIVE", "OLIVEDRAB", "ORANGE", + "ORANGERED", "ORCHID", "PALEGOLDENROD", "PALEGREEN", "PALETURQUOISE", + "PALEVIOLETRED", "PAPAYAWHIP", "PEACHPUFF", "PERU", "PINK", "PLUM", "POWDERBLUE", + "PURPLE", "RED", "ROSYBROWN", "ROYALBLUE", "SADDLEBROWN", "SALMON", "SANDYBROWN", + "SEAGREEN", "SEASHELL", "SIENNA", "SILVER", "SKYBLUE", "SLATEBLUE", "SLATEGRAY", + "SLATEGREY", "SNOW", "SPRINGGREEN", "STEELBLUE", "TAN", "TEAL", "THISTLE", "TOMATO", + "TURQUOISE", "VIOLET", "WHEAT", "WHITE", "WHITESMOKE", "YELLOW", "YELLOWGREEN"}) } ) public interface TextBorderColor { @@ -1765,30 +1725,30 @@ public interface TextShadowBlur { @StudioPropertyGroup( properties = { @StudioProperty(xmlAttribute = "textShadowColor", type = StudioPropertyType.OPTIONS, - options = {"ALICEBLUE", "ANTIQUEWHITE", "AQUA", "AQUAMARINE", "AZURE", "BEIGE", "BISQUE", - "BLACK", "BLANCHEDALMOND", "BLUE", "BLUEVIOLET", "BROWN", "BURLYWOOD", "CADETBLUE", - "CHARTREUSE", "CHOCOLATE", "CORAL", "CORNFLOWERBLUE", "CORNSILK", "CRIMSON", "CYAN", - "DARKBLUE", "DARKCYAN", "DARKGOLDENROD", "DARKGRAY", "DARKGREY", "DARKGREEN", - "DARKKHAKI", "DARKMAGENTA", "DARKOLIVEGREEN", "DARKORANGE", "DARKORCHID", "DARKRED", - "DARKSALMON", "DARKSEAGREEN", "DARKSLATEBLUE", "DARKSLATEGRAY", "DARKSLATEGREY", - "DARKTURQUOISE", "DARKVIOLET", "DEEPPINK", "DEEPSKYBLUE", "DIMGRAY", "DIMGREY", - "DODGERBLUE", "FIREBRICK", "FLORALWHITE", "FORESTGREEN", "FUCHSIA", "GAINSBORO", - "GHOSTWHITE", "GOLD", "GOLDENROD", "GRAY", "GREY", "GREEN", "GREENYELLOW", - "HONEYDEW", "HOTPINK", "INDIANRED", "INDIGO", "IVORY", "KHAKI", "LAVENDER", - "LAVENDERBLUSH", "LAWNGREEN", "LEMONCHIFFON", "LIGHTBLUE", "LIGHTCORAL", - "LIGHTCYAN", "LIGHTGOLDENRODYELLOW", "LIGHTGRAY", "LIGHTGREY", "LIGHTGREEN", - "LIGHTPINK", "LIGHTSALMON", "LIGHTSEAGREEN", "LIGHTSKYBLUE", "LIGHTSLATEGRAY", - "LIGHTSLATEGREY", "LIGHTSTEELBLUE", "LIGHTYELLOW", "LIME", "LIMEGREEN", "LINEN", - "MAGENTA", "MAROON", "MEDIUMAQUAMARINE", "MEDIUMBLUE", "MEDIUMORCHID", - "MEDIUMPURPLE", "MEDIUMSEAGREEN", "MEDIUMSLATEBLUE", "MEDIUMSPRINGGREEN", - "MEDIUMTURQUOISE", "MEDIUMVIOLETRED", "MIDNIGHTBLUE", "MINTCREAM", "MISTYROSE", - "MOCCASIN", "NAVAJOWHITE", "NAVY", "OLDLACE", "OLIVE", "OLIVEDRAB", "ORANGE", - "ORANGERED", "ORCHID", "PALEGOLDENROD", "PALEGREEN", "PALETURQUOISE", - "PALEVIOLETRED", "PAPAYAWHIP", "PEACHPUFF", "PERU", "PINK", "PLUM", "POWDERBLUE", - "PURPLE", "RED", "ROSYBROWN", "ROYALBLUE", "SADDLEBROWN", "SALMON", "SANDYBROWN", - "SEAGREEN", "SEASHELL", "SIENNA", "SILVER", "SKYBLUE", "SLATEBLUE", "SLATEGRAY", - "SLATEGREY", "SNOW", "SPRINGGREEN", "STEELBLUE", "TAN", "TEAL", "THISTLE", "TOMATO", - "TURQUOISE", "VIOLET", "WHEAT", "WHITE", "WHITESMOKE", "YELLOW", "YELLOWGREEN"}) + options = {"ALICEBLUE", "ANTIQUEWHITE", "AQUA", "AQUAMARINE", "AZURE", "BEIGE", "BISQUE", + "BLACK", "BLANCHEDALMOND", "BLUE", "BLUEVIOLET", "BROWN", "BURLYWOOD", "CADETBLUE", + "CHARTREUSE", "CHOCOLATE", "CORAL", "CORNFLOWERBLUE", "CORNSILK", "CRIMSON", "CYAN", + "DARKBLUE", "DARKCYAN", "DARKGOLDENROD", "DARKGRAY", "DARKGREY", "DARKGREEN", + "DARKKHAKI", "DARKMAGENTA", "DARKOLIVEGREEN", "DARKORANGE", "DARKORCHID", "DARKRED", + "DARKSALMON", "DARKSEAGREEN", "DARKSLATEBLUE", "DARKSLATEGRAY", "DARKSLATEGREY", + "DARKTURQUOISE", "DARKVIOLET", "DEEPPINK", "DEEPSKYBLUE", "DIMGRAY", "DIMGREY", + "DODGERBLUE", "FIREBRICK", "FLORALWHITE", "FORESTGREEN", "FUCHSIA", "GAINSBORO", + "GHOSTWHITE", "GOLD", "GOLDENROD", "GRAY", "GREY", "GREEN", "GREENYELLOW", + "HONEYDEW", "HOTPINK", "INDIANRED", "INDIGO", "IVORY", "KHAKI", "LAVENDER", + "LAVENDERBLUSH", "LAWNGREEN", "LEMONCHIFFON", "LIGHTBLUE", "LIGHTCORAL", + "LIGHTCYAN", "LIGHTGOLDENRODYELLOW", "LIGHTGRAY", "LIGHTGREY", "LIGHTGREEN", + "LIGHTPINK", "LIGHTSALMON", "LIGHTSEAGREEN", "LIGHTSKYBLUE", "LIGHTSLATEGRAY", + "LIGHTSLATEGREY", "LIGHTSTEELBLUE", "LIGHTYELLOW", "LIME", "LIMEGREEN", "LINEN", + "MAGENTA", "MAROON", "MEDIUMAQUAMARINE", "MEDIUMBLUE", "MEDIUMORCHID", + "MEDIUMPURPLE", "MEDIUMSEAGREEN", "MEDIUMSLATEBLUE", "MEDIUMSPRINGGREEN", + "MEDIUMTURQUOISE", "MEDIUMVIOLETRED", "MIDNIGHTBLUE", "MINTCREAM", "MISTYROSE", + "MOCCASIN", "NAVAJOWHITE", "NAVY", "OLDLACE", "OLIVE", "OLIVEDRAB", "ORANGE", + "ORANGERED", "ORCHID", "PALEGOLDENROD", "PALEGREEN", "PALETURQUOISE", + "PALEVIOLETRED", "PAPAYAWHIP", "PEACHPUFF", "PERU", "PINK", "PLUM", "POWDERBLUE", + "PURPLE", "RED", "ROSYBROWN", "ROYALBLUE", "SADDLEBROWN", "SALMON", "SANDYBROWN", + "SEAGREEN", "SEASHELL", "SIENNA", "SILVER", "SKYBLUE", "SLATEBLUE", "SLATEGRAY", + "SLATEGREY", "SNOW", "SPRINGGREEN", "STEELBLUE", "TAN", "TEAL", "THISTLE", "TOMATO", + "TURQUOISE", "VIOLET", "WHEAT", "WHITE", "WHITESMOKE", "YELLOW", "YELLOWGREEN"}) } ) public interface TextShadowColor { @@ -1831,7 +1791,7 @@ public interface Throttle { @StudioProperty(xmlAttribute = "top", type = StudioPropertyType.INTEGER) } ) - public interface Top { + public interface IntegerTop { } @StudioPropertyGroup( @@ -1839,7 +1799,7 @@ public interface Top { @StudioProperty(xmlAttribute = "top", type = StudioPropertyType.STRING) } ) - public interface Top2 { + public interface StringTop { } @StudioPropertyGroup( @@ -1853,8 +1813,8 @@ public interface TriggerEmphasis { @StudioPropertyGroup( properties = { @StudioProperty(xmlAttribute = "trigger", type = StudioPropertyType.ENUMERATION, - classFqn = "io.jmix.chartsflowui.kit.component.model.shared.AbstractTooltip.Trigger", - options = {"ITEM", "AXIS", "NONE"}) + classFqn = "io.jmix.chartsflowui.kit.component.model.shared.AbstractTooltip.Trigger", + options = {"ITEM", "AXIS", "NONE"}) } ) public interface Trigger { @@ -1871,8 +1831,8 @@ public interface TriggerEvent { @StudioPropertyGroup( properties = { @StudioProperty(xmlAttribute = "triggerOn", type = StudioPropertyType.ENUMERATION, - classFqn = "io.jmix.chartsflowui.kit.component.model.shared.TriggerOnMode", - options = {"MOUSE_MOVE", "CLICK", "MOUSE_MOVE_CLICK", "NONE"}) + classFqn = "io.jmix.chartsflowui.kit.component.model.shared.TriggerOnMode", + options = {"MOUSE_MOVE", "CLICK", "MOUSE_MOVE_CLICK", "NONE"}) } ) public interface TriggerOn { @@ -1889,41 +1849,41 @@ public interface TriggerTooltip { @StudioPropertyGroup( properties = { @StudioProperty(xmlAttribute = "type", type = StudioPropertyType.ENUMERATION, - classFqn = "io.jmix.chartsflowui.kit.component.model.shared.AbstractAxisPointer.IndicatorType", - options = {"LINE", "SHADOW", "NONE"}) + classFqn = "io.jmix.chartsflowui.kit.component.model.shared.AbstractAxisPointer.IndicatorType", + options = {"LINE", "SHADOW", "NONE"}) } ) - public interface Type { + public interface AxisPointerType { } @StudioPropertyGroup( properties = { @StudioProperty(xmlAttribute = "type", type = StudioPropertyType.ENUMERATION, - classFqn = "io.jmix.chartsflowui.kit.component.model.axis.AxisType", - options = {"CATEGORY", "VALUE", "TIME", "LOG"}) + classFqn = "io.jmix.chartsflowui.kit.component.model.axis.AxisType", + options = {"CATEGORY", "VALUE", "TIME", "LOG"}) } ) - public interface Type2 { + public interface AxisType { } @StudioPropertyGroup( properties = { @StudioProperty(xmlAttribute = "type", type = StudioPropertyType.ENUMERATION, - classFqn = "io.jmix.chartsflowui.kit.component.model.series.mark.LineDataType", - options = {"MIN", "MAX", "AVERAGE", "MEDIAN"}) + classFqn = "io.jmix.chartsflowui.kit.component.model.series.mark.LineDataType", + options = {"MIN", "MAX", "AVERAGE", "MEDIAN"}) } ) - public interface Type3 { + public interface LineDataType { } @StudioPropertyGroup( properties = { @StudioProperty(xmlAttribute = "type", type = StudioPropertyType.ENUMERATION, - classFqn = "io.jmix.chartsflowui.kit.component.model.series.mark.PointDataType", - options = {"MIN", "MAX", "AVERAGE"}) + classFqn = "io.jmix.chartsflowui.kit.component.model.series.mark.PointDataType", + options = {"MIN", "MAX", "AVERAGE"}) } ) - public interface Type4 { + public interface PintDataType { } @StudioPropertyGroup( @@ -1931,7 +1891,7 @@ public interface Type4 { @StudioProperty(xmlAttribute = "type", type = StudioPropertyType.STRING) } ) - public interface Type5 { + public interface Type { } @StudioPropertyGroup( @@ -1963,7 +1923,7 @@ public interface ValueDim { @StudioProperty(xmlAttribute = "value", type = StudioPropertyType.DOUBLE) } ) - public interface Value { + public interface DoubleValue { } @StudioPropertyGroup( @@ -1995,14 +1955,14 @@ public interface ValueIndex { @StudioProperty(xmlAttribute = "value", type = StudioPropertyType.INTEGER) } ) - public interface Value2 { + public interface IntegerValue { } @StudioPropertyGroup( properties = { @StudioProperty(xmlAttribute = "verticalAlign", type = StudioPropertyType.ENUMERATION, - classFqn = "io.jmix.chartsflowui.kit.component.model.shared.VerticalAlign", - options = {"TOP", "BOTTOM", "MIDDLE"}) + classFqn = "io.jmix.chartsflowui.kit.component.model.shared.VerticalAlign", + options = {"TOP", "BOTTOM", "MIDDLE"}) } ) public interface VerticalAlign { @@ -2101,7 +2061,7 @@ public interface Y { @StudioProperty(xmlAttribute = "z", type = StudioPropertyType.DOUBLE) } ) - public interface Z { + public interface DoubleZ { } @StudioPropertyGroup( @@ -2109,7 +2069,7 @@ public interface Z { @StudioProperty(xmlAttribute = "z", type = StudioPropertyType.INTEGER) } ) - public interface Z2 { + public interface IntegerZ { } @StudioPropertyGroup( @@ -2117,7 +2077,7 @@ public interface Z2 { @StudioProperty(xmlAttribute = "zLevel", type = StudioPropertyType.DOUBLE) } ) - public interface ZLevel { + public interface DoubleZLevel { } @StudioPropertyGroup( @@ -2125,7 +2085,7 @@ public interface ZLevel { @StudioProperty(xmlAttribute = "zLevel", type = StudioPropertyType.INTEGER) } ) - public interface ZLevel2 { + public interface IntegerZLevel { } @StudioPropertyGroup( @@ -2169,7 +2129,7 @@ public interface ChartColor { } @StudioPropertyGroup - public interface VisualEffectDefaultProperties extends Symbol, SymbolSize2, Color, ColorAlpha, Opacity2, + public interface VisualEffectDefaultProperties extends Symbol, StringSymbolSize, Color, ColorAlpha, StringOpacity, ColorLightness, ColorSaturation, ColorHue { } @@ -2178,7 +2138,7 @@ public interface PageIconsDefaultProperties extends PrevPageIcon, NextPageIcon { } @StudioPropertyGroup - public interface ItemStyleDefaultProperties extends ChartColor, BorderColor, BorderWidth2, BorderType, + public interface ItemStyleDefaultProperties extends ChartColor, BorderColor, IntegerBorderWidth, BorderType, BorderDashOffset, Cap, Join, MiterLimit, ShadowBlur, ShadowColor, ShadowOffsetX, ShadowOffsetY, Opacity { } @@ -2188,7 +2148,7 @@ public interface LabelLineDefaultProperties extends Show, ShowAbove, Length, Smo } @StudioPropertyGroup - public interface ScaleEmphasisDefaultProperties extends Disabled, Scale, Focus, BlurScope { + public interface ScaleEmphasisDefaultProperties extends Disabled, BooleanScale, Focus, BlurScope { } @StudioPropertyGroup From d0939bfa1c27604facd6471821b5073ddf87b04a Mon Sep 17 00:00:00 2001 From: Mikhail Fedoseev Date: Wed, 1 Apr 2026 19:12:08 +0300 Subject: [PATCH 07/10] Simplify components meta-descriptions #5053 --- .../kit/meta/StudioChartsElements.java | 320 +----------------- .../kit/meta/StudioChartsPropertyGroups.java | 44 +++ .../flowui/kit/meta/StudioPropertyGroups.java | 115 +++++++ .../action/StudioActionPropertyGroups.java | 24 ++ .../StudioListDataComponentActions.java | 30 +- .../kit/meta/component/StudioComponents.java | 138 +------- .../kit/meta/component/StudioLayouts.java | 50 +-- .../component/StudioMainViewComponents.java | 5 +- .../kit/meta/element/StudioElements.java | 114 +------ .../kit/meta/element/StudioHTMLElements.java | 38 +-- .../flowui/kit/meta/facet/StudioFacets.java | 24 +- .../kit/meta/StudioFullCalendarActions.java | 8 +- .../meta/StudioFullCalendarComponents.java | 8 +- .../kit/meta/StudioFullCalendarElements.java | 29 +- .../StudioFullCalendarPropertyGroups.java | 5 + .../kit/meta/StudioPivotTableActions.java | 9 +- .../kit/meta/StudioSupersetComponents.java | 8 +- 17 files changed, 254 insertions(+), 715 deletions(-) diff --git a/jmix-charts/charts-flowui-kit/src/main/java/io/jmix/chartsflowui/kit/meta/StudioChartsElements.java b/jmix-charts/charts-flowui-kit/src/main/java/io/jmix/chartsflowui/kit/meta/StudioChartsElements.java index 35193cd1c7..c7475b4305 100644 --- a/jmix-charts/charts-flowui-kit/src/main/java/io/jmix/chartsflowui/kit/meta/StudioChartsElements.java +++ b/jmix-charts/charts-flowui-kit/src/main/java/io/jmix/chartsflowui/kit/meta/StudioChartsElements.java @@ -63,26 +63,7 @@ public interface StudioChartsElements { xmlnsAlias = "charts", unlimitedCount = false, icon = "io/jmix/chartsflowui/kit/meta/icon/unknownComponent.svg", - propertyGroups = { - StudioChartsPropertyGroups.ChartColor.class, - StudioChartsPropertyGroups.FontStyle.class, - StudioChartsPropertyGroups.FontWeight.class, - StudioChartsPropertyGroups.FontFamily.class, - StudioChartsPropertyGroups.FontSize.class, - StudioChartsPropertyGroups.LineHeight.class, - StudioPropertyGroups.WidthWithIntegerType.class, - StudioChartsPropertyGroups.IntegerHeight.class, - StudioChartsPropertyGroups.TextBorderColor.class, - StudioChartsPropertyGroups.TextBorderWidth.class, - StudioChartsPropertyGroups.TextBorderType.class, - StudioChartsPropertyGroups.TextBorderDashOffset.class, - StudioChartsPropertyGroups.TextShadowColor.class, - StudioChartsPropertyGroups.TextShadowBlur.class, - StudioChartsPropertyGroups.TextShadowOffsetX.class, - StudioChartsPropertyGroups.TextShadowOffsetY.class, - StudioChartsPropertyGroups.Overflow.class, - StudioChartsPropertyGroups.Ellipsis.class - }, + propertyGroups = StudioChartsPropertyGroups.TextStyleDefaultProperties.class, properties = { @StudioProperty(xmlAttribute = "color", type = StudioPropertyType.OPTIONS, options = {"ALICEBLUE", "ANTIQUEWHITE", "AQUA", "AQUAMARINE", "AZURE", "BEIGE", "BISQUE", @@ -2155,26 +2136,7 @@ public interface StudioChartsElements { unlimitedCount = false, xmlnsAlias = "charts", icon = "io/jmix/chartsflowui/kit/meta/icon/unknownComponent.svg", - propertyGroups = { - StudioChartsPropertyGroups.ChartColor.class, - StudioChartsPropertyGroups.FontStyle.class, - StudioChartsPropertyGroups.FontWeight.class, - StudioChartsPropertyGroups.FontFamily.class, - StudioChartsPropertyGroups.FontSize.class, - StudioChartsPropertyGroups.LineHeight.class, - StudioPropertyGroups.WidthWithIntegerType.class, - StudioChartsPropertyGroups.IntegerHeight.class, - StudioChartsPropertyGroups.TextBorderColor.class, - StudioChartsPropertyGroups.TextBorderWidth.class, - StudioChartsPropertyGroups.TextBorderType.class, - StudioChartsPropertyGroups.TextBorderDashOffset.class, - StudioChartsPropertyGroups.TextShadowColor.class, - StudioChartsPropertyGroups.TextShadowBlur.class, - StudioChartsPropertyGroups.TextShadowOffsetX.class, - StudioChartsPropertyGroups.TextShadowOffsetY.class, - StudioChartsPropertyGroups.Overflow.class, - StudioChartsPropertyGroups.Ellipsis.class - }, + propertyGroups = StudioChartsPropertyGroups.TextStyleDefaultProperties.class, properties = { @StudioProperty(xmlAttribute = "color", type = StudioPropertyType.OPTIONS, options = {"ALICEBLUE", "ANTIQUEWHITE", "AQUA", "AQUAMARINE", "AZURE", "BEIGE", "BISQUE", @@ -4575,20 +4537,7 @@ public interface StudioChartsElements { xmlnsAlias = "charts", unlimitedCount = false, icon = "io/jmix/chartsflowui/kit/meta/icon/unknownComponent.svg", - propertyGroups = { - StudioChartsPropertyGroups.ChartColor.class, - StudioPropertyGroups.WidthWithIntegerType.class, - StudioChartsPropertyGroups.Type.class, - StudioChartsPropertyGroups.DashOffset.class, - StudioChartsPropertyGroups.Cap.class, - StudioChartsPropertyGroups.Join.class, - StudioChartsPropertyGroups.MiterLimit.class, - StudioChartsPropertyGroups.ShadowBlur.class, - StudioChartsPropertyGroups.ShadowColor.class, - StudioChartsPropertyGroups.ShadowOffsetX.class, - StudioChartsPropertyGroups.ShadowOffsetY.class, - StudioChartsPropertyGroups.Opacity.class - }, + propertyGroups = StudioChartsPropertyGroups.LineStyleDefaultProperties.class, properties = { @StudioProperty(xmlAttribute = "color", type = StudioPropertyType.OPTIONS, options = {"ALICEBLUE", "ANTIQUEWHITE", "AQUA", "AQUAMARINE", "AZURE", "BEIGE", "BISQUE", @@ -4667,20 +4616,7 @@ public interface StudioChartsElements { xmlnsAlias = "charts", unlimitedCount = false, icon = "io/jmix/chartsflowui/kit/meta/icon/unknownComponent.svg", - propertyGroups = { - StudioChartsPropertyGroups.ChartColor.class, - StudioPropertyGroups.WidthWithIntegerType.class, - StudioChartsPropertyGroups.Type.class, - StudioChartsPropertyGroups.DashOffset.class, - StudioChartsPropertyGroups.Cap.class, - StudioChartsPropertyGroups.Join.class, - StudioChartsPropertyGroups.MiterLimit.class, - StudioChartsPropertyGroups.ShadowBlur.class, - StudioChartsPropertyGroups.ShadowColor.class, - StudioChartsPropertyGroups.ShadowOffsetX.class, - StudioChartsPropertyGroups.ShadowOffsetY.class, - StudioChartsPropertyGroups.Opacity.class - }, + propertyGroups = StudioChartsPropertyGroups.LineStyleDefaultProperties.class, properties = { @StudioProperty(xmlAttribute = "color", type = StudioPropertyType.OPTIONS, options = {"ALICEBLUE", "ANTIQUEWHITE", "AQUA", "AQUAMARINE", "AZURE", "BEIGE", "BISQUE", @@ -6050,26 +5986,7 @@ public interface StudioChartsElements { unlimitedCount = false, xmlnsAlias = "charts", icon = "io/jmix/chartsflowui/kit/meta/icon/unknownComponent.svg", - propertyGroups = { - StudioChartsPropertyGroups.ChartColor.class, - StudioChartsPropertyGroups.FontStyle.class, - StudioChartsPropertyGroups.FontWeight.class, - StudioChartsPropertyGroups.FontFamily.class, - StudioChartsPropertyGroups.FontSize.class, - StudioChartsPropertyGroups.LineHeight.class, - StudioPropertyGroups.WidthWithIntegerType.class, - StudioChartsPropertyGroups.IntegerHeight.class, - StudioChartsPropertyGroups.TextBorderColor.class, - StudioChartsPropertyGroups.TextBorderWidth.class, - StudioChartsPropertyGroups.TextBorderType.class, - StudioChartsPropertyGroups.TextBorderDashOffset.class, - StudioChartsPropertyGroups.TextShadowColor.class, - StudioChartsPropertyGroups.TextShadowBlur.class, - StudioChartsPropertyGroups.TextShadowOffsetX.class, - StudioChartsPropertyGroups.TextShadowOffsetY.class, - StudioChartsPropertyGroups.Overflow.class, - StudioChartsPropertyGroups.Ellipsis.class - }, + propertyGroups = StudioChartsPropertyGroups.TextStyleDefaultProperties.class, properties = { @StudioProperty(xmlAttribute = "color", type = StudioPropertyType.OPTIONS, options = {"ALICEBLUE", "ANTIQUEWHITE", "AQUA", "AQUAMARINE", "AZURE", "BEIGE", "BISQUE", @@ -6925,14 +6842,7 @@ public interface StudioChartsElements { xmlnsAlias = "charts", unlimitedCount = false, icon = "io/jmix/chartsflowui/kit/meta/icon/unknownComponent.svg", - propertyGroups = { - StudioChartsPropertyGroups.ChartColor.class, - StudioChartsPropertyGroups.ShadowColor.class, - StudioChartsPropertyGroups.ShadowBlur.class, - StudioChartsPropertyGroups.ShadowOffsetX.class, - StudioChartsPropertyGroups.ShadowOffsetY.class, - StudioChartsPropertyGroups.Opacity.class - }, + propertyGroups = StudioChartsPropertyGroups.AreaStyleDefaultProperties.class, properties = { @StudioProperty(xmlAttribute = "color", type = StudioPropertyType.OPTIONS, options = {"ALICEBLUE", "ANTIQUEWHITE", "AQUA", "AQUAMARINE", "AZURE", "BEIGE", "BISQUE", @@ -7477,26 +7387,7 @@ public interface StudioChartsElements { xmlns = "http://jmix.io/schema/charts/ui", xmlnsAlias = "charts", icon = "io/jmix/chartsflowui/kit/meta/icon/unknownComponent.svg", - propertyGroups = { - StudioChartsPropertyGroups.Name.class, - StudioChartsPropertyGroups.LineDataType.class, - StudioChartsPropertyGroups.ValueIndex.class, - StudioChartsPropertyGroups.ValueDim.class, - StudioChartsPropertyGroups.StringCoordinate.class, - StudioChartsPropertyGroups.NumberCoordinate.class, - StudioChartsPropertyGroups.X.class, - StudioChartsPropertyGroups.Y.class, - StudioChartsPropertyGroups.XAxis.class, - StudioChartsPropertyGroups.YAxis.class, - StudioChartsPropertyGroups.DoubleValue.class, - StudioPropertyGroups.Symbol.class, - StudioChartsPropertyGroups.IntegerSymbolSize.class, - StudioChartsPropertyGroups.SymbolSizeFunction.class, - StudioChartsPropertyGroups.SymbolRotate.class, - StudioChartsPropertyGroups.SymbolKeepAspect.class, - StudioChartsPropertyGroups.SymbolOffset.class, - StudioChartsPropertyGroups.SymbolType.class - }, + propertyGroups = StudioChartsPropertyGroups.LinePointDefaultProperties.class, properties = { @StudioProperty(xmlAttribute = "name", type = StudioPropertyType.STRING), @StudioProperty(xmlAttribute = "type", type = StudioPropertyType.ENUMERATION, @@ -7545,26 +7436,7 @@ public interface StudioChartsElements { xmlnsAlias = "charts", unlimitedCount = false, icon = "io/jmix/chartsflowui/kit/meta/icon/unknownComponent.svg", - propertyGroups = { - StudioChartsPropertyGroups.Name.class, - StudioChartsPropertyGroups.LineDataType.class, - StudioChartsPropertyGroups.ValueIndex.class, - StudioChartsPropertyGroups.ValueDim.class, - StudioChartsPropertyGroups.StringCoordinate.class, - StudioChartsPropertyGroups.NumberCoordinate.class, - StudioChartsPropertyGroups.X.class, - StudioChartsPropertyGroups.Y.class, - StudioChartsPropertyGroups.XAxis.class, - StudioChartsPropertyGroups.YAxis.class, - StudioChartsPropertyGroups.DoubleValue.class, - StudioPropertyGroups.Symbol.class, - StudioChartsPropertyGroups.IntegerSymbolSize.class, - StudioChartsPropertyGroups.SymbolSizeFunction.class, - StudioChartsPropertyGroups.SymbolRotate.class, - StudioChartsPropertyGroups.SymbolKeepAspect.class, - StudioChartsPropertyGroups.SymbolOffset.class, - StudioChartsPropertyGroups.SymbolType.class - }, + propertyGroups = StudioChartsPropertyGroups.LinePointDefaultProperties.class, properties = { @StudioProperty(xmlAttribute = "name", type = StudioPropertyType.STRING), @StudioProperty(xmlAttribute = "type", type = StudioPropertyType.ENUMERATION, @@ -7602,26 +7474,7 @@ public interface StudioChartsElements { xmlnsAlias = "charts", unlimitedCount = false, icon = "io/jmix/chartsflowui/kit/meta/icon/unknownComponent.svg", - propertyGroups = { - StudioChartsPropertyGroups.Name.class, - StudioChartsPropertyGroups.LineDataType.class, - StudioChartsPropertyGroups.ValueIndex.class, - StudioChartsPropertyGroups.ValueDim.class, - StudioChartsPropertyGroups.StringCoordinate.class, - StudioChartsPropertyGroups.NumberCoordinate.class, - StudioChartsPropertyGroups.X.class, - StudioChartsPropertyGroups.Y.class, - StudioChartsPropertyGroups.XAxis.class, - StudioChartsPropertyGroups.YAxis.class, - StudioChartsPropertyGroups.DoubleValue.class, - StudioPropertyGroups.Symbol.class, - StudioChartsPropertyGroups.IntegerSymbolSize.class, - StudioChartsPropertyGroups.SymbolSizeFunction.class, - StudioChartsPropertyGroups.SymbolRotate.class, - StudioChartsPropertyGroups.SymbolKeepAspect.class, - StudioChartsPropertyGroups.SymbolOffset.class, - StudioChartsPropertyGroups.SymbolType.class - }, + propertyGroups = StudioChartsPropertyGroups.LinePointDefaultProperties.class, properties = { @StudioProperty(xmlAttribute = "name", type = StudioPropertyType.STRING), @StudioProperty(xmlAttribute = "type", type = StudioPropertyType.ENUMERATION, @@ -7788,17 +7641,7 @@ public interface StudioChartsElements { xmlnsAlias = "charts", unlimitedCount = false, icon = "io/jmix/chartsflowui/kit/meta/icon/unknownComponent.svg", - propertyGroups = { - StudioChartsPropertyGroups.Name.class, - StudioChartsPropertyGroups.PintDataType.class, - StudioChartsPropertyGroups.ValueIndex.class, - StudioChartsPropertyGroups.ValueDim.class, - StudioChartsPropertyGroups.StringCoordinate.class, - StudioChartsPropertyGroups.NumberCoordinate.class, - StudioChartsPropertyGroups.X.class, - StudioChartsPropertyGroups.Y.class, - StudioChartsPropertyGroups.DoubleValue.class - }, + propertyGroups = StudioChartsPropertyGroups.PointDefaultProperties.class, properties = { @StudioProperty(xmlAttribute = "name", type = StudioPropertyType.STRING), @StudioProperty(xmlAttribute = "type", type = StudioPropertyType.ENUMERATION, @@ -7824,17 +7667,7 @@ public interface StudioChartsElements { xmlnsAlias = "charts", unlimitedCount = false, icon = "io/jmix/chartsflowui/kit/meta/icon/unknownComponent.svg", - propertyGroups = { - StudioChartsPropertyGroups.Name.class, - StudioChartsPropertyGroups.PintDataType.class, - StudioChartsPropertyGroups.ValueIndex.class, - StudioChartsPropertyGroups.ValueDim.class, - StudioChartsPropertyGroups.StringCoordinate.class, - StudioChartsPropertyGroups.NumberCoordinate.class, - StudioChartsPropertyGroups.X.class, - StudioChartsPropertyGroups.Y.class, - StudioChartsPropertyGroups.DoubleValue.class - }, + propertyGroups = StudioChartsPropertyGroups.PointDefaultProperties.class, properties = { @StudioProperty(xmlAttribute = "name", type = StudioPropertyType.STRING), @StudioProperty(xmlAttribute = "type", type = StudioPropertyType.ENUMERATION, @@ -7860,47 +7693,7 @@ public interface StudioChartsElements { xmlnsAlias = "charts", unlimitedCount = false, icon = "io/jmix/chartsflowui/kit/meta/icon/unknownComponent.svg", - propertyGroups = { - StudioChartsPropertyGroups.Formatter.class, - StudioChartsPropertyGroups.FormatterFunction.class, - StudioChartsPropertyGroups.Show.class, - StudioChartsPropertyGroups.Distance.class, - StudioChartsPropertyGroups.Rotate.class, - StudioChartsPropertyGroups.StringOffset.class, - StudioChartsPropertyGroups.SharedAlign.class, - StudioChartsPropertyGroups.VerticalAlign.class, - StudioChartsPropertyGroups.BackgroundColor.class, - StudioChartsPropertyGroups.BorderColor.class, - StudioChartsPropertyGroups.IntegerBorderWidth.class, - StudioChartsPropertyGroups.BorderType.class, - StudioChartsPropertyGroups.BorderDashOffset.class, - StudioChartsPropertyGroups.BorderRadius.class, - StudioChartsPropertyGroups.Padding.class, - StudioChartsPropertyGroups.ShadowColor.class, - StudioChartsPropertyGroups.ShadowBlur.class, - StudioChartsPropertyGroups.ShadowOffsetX.class, - StudioChartsPropertyGroups.ShadowOffsetY.class, - StudioChartsPropertyGroups.TooltipPosition.class, - StudioChartsPropertyGroups.PositionCoordinates.class, - StudioChartsPropertyGroups.ChartColor.class, - StudioChartsPropertyGroups.FontStyle.class, - StudioChartsPropertyGroups.FontWeight.class, - StudioChartsPropertyGroups.FontFamily.class, - StudioChartsPropertyGroups.FontSize.class, - StudioChartsPropertyGroups.LineHeight.class, - StudioPropertyGroups.WidthWithIntegerType.class, - StudioChartsPropertyGroups.IntegerHeight.class, - StudioChartsPropertyGroups.TextBorderColor.class, - StudioChartsPropertyGroups.TextBorderWidth.class, - StudioChartsPropertyGroups.TextBorderType.class, - StudioChartsPropertyGroups.TextBorderDashOffset.class, - StudioChartsPropertyGroups.TextShadowColor.class, - StudioChartsPropertyGroups.TextShadowBlur.class, - StudioChartsPropertyGroups.TextShadowOffsetX.class, - StudioChartsPropertyGroups.TextShadowOffsetY.class, - StudioChartsPropertyGroups.Overflow.class, - StudioChartsPropertyGroups.Ellipsis.class - }, + propertyGroups = StudioChartsPropertyGroups.LabelDefaultProperties.class, properties = { @StudioProperty(xmlAttribute = "formatter", type = StudioPropertyType.STRING), @StudioProperty(xmlAttribute = "formatterFunction", type = StudioPropertyType.STRING), @@ -8121,47 +7914,7 @@ public interface StudioChartsElements { xmlnsAlias = "charts", unlimitedCount = false, icon = "io/jmix/chartsflowui/kit/meta/icon/unknownComponent.svg", - propertyGroups = { - StudioChartsPropertyGroups.Formatter.class, - StudioChartsPropertyGroups.FormatterFunction.class, - StudioChartsPropertyGroups.Show.class, - StudioChartsPropertyGroups.Distance.class, - StudioChartsPropertyGroups.Rotate.class, - StudioChartsPropertyGroups.StringOffset.class, - StudioChartsPropertyGroups.SharedAlign.class, - StudioChartsPropertyGroups.VerticalAlign.class, - StudioChartsPropertyGroups.BackgroundColor.class, - StudioChartsPropertyGroups.BorderColor.class, - StudioChartsPropertyGroups.IntegerBorderWidth.class, - StudioChartsPropertyGroups.BorderType.class, - StudioChartsPropertyGroups.BorderDashOffset.class, - StudioChartsPropertyGroups.BorderRadius.class, - StudioChartsPropertyGroups.Padding.class, - StudioChartsPropertyGroups.ShadowColor.class, - StudioChartsPropertyGroups.ShadowBlur.class, - StudioChartsPropertyGroups.ShadowOffsetX.class, - StudioChartsPropertyGroups.ShadowOffsetY.class, - StudioChartsPropertyGroups.TooltipPosition.class, - StudioChartsPropertyGroups.PositionCoordinates.class, - StudioChartsPropertyGroups.ChartColor.class, - StudioChartsPropertyGroups.FontStyle.class, - StudioChartsPropertyGroups.FontWeight.class, - StudioChartsPropertyGroups.FontFamily.class, - StudioChartsPropertyGroups.FontSize.class, - StudioChartsPropertyGroups.LineHeight.class, - StudioPropertyGroups.WidthWithIntegerType.class, - StudioChartsPropertyGroups.IntegerHeight.class, - StudioChartsPropertyGroups.TextBorderColor.class, - StudioChartsPropertyGroups.TextBorderWidth.class, - StudioChartsPropertyGroups.TextBorderType.class, - StudioChartsPropertyGroups.TextBorderDashOffset.class, - StudioChartsPropertyGroups.TextShadowColor.class, - StudioChartsPropertyGroups.TextShadowBlur.class, - StudioChartsPropertyGroups.TextShadowOffsetX.class, - StudioChartsPropertyGroups.TextShadowOffsetY.class, - StudioChartsPropertyGroups.Overflow.class, - StudioChartsPropertyGroups.Ellipsis.class - }, + propertyGroups = StudioChartsPropertyGroups.LabelDefaultProperties.class, properties = { @StudioProperty(xmlAttribute = "formatter", type = StudioPropertyType.STRING), @StudioProperty(xmlAttribute = "formatterFunction", type = StudioPropertyType.STRING), @@ -8524,18 +8277,7 @@ public interface StudioChartsElements { xmlnsAlias = "charts", unlimitedCount = false, icon = "io/jmix/chartsflowui/kit/meta/icon/unknownComponent.svg", - propertyGroups = { - StudioChartsPropertyGroups.ChartColor.class, - StudioChartsPropertyGroups.BorderColor.class, - StudioChartsPropertyGroups.IntegerBorderWidth.class, - StudioChartsPropertyGroups.BorderType.class, - StudioChartsPropertyGroups.BorderRadius.class, - StudioChartsPropertyGroups.ShadowBlur.class, - StudioChartsPropertyGroups.ShadowColor.class, - StudioChartsPropertyGroups.ShadowOffsetX.class, - StudioChartsPropertyGroups.ShadowOffsetY.class, - StudioChartsPropertyGroups.Opacity.class - }, + propertyGroups = StudioChartsPropertyGroups.RoundedItemStyleDefaultProperties.class, properties = { @StudioProperty(xmlAttribute = "color", type = StudioPropertyType.OPTIONS, options = {"ALICEBLUE", "ANTIQUEWHITE", "AQUA", "AQUAMARINE", "AZURE", "BEIGE", "BISQUE", @@ -8632,18 +8374,7 @@ public interface StudioChartsElements { xmlnsAlias = "charts", unlimitedCount = false, icon = "io/jmix/chartsflowui/kit/meta/icon/unknownComponent.svg", - propertyGroups = { - StudioChartsPropertyGroups.ChartColor.class, - StudioChartsPropertyGroups.BorderColor.class, - StudioChartsPropertyGroups.IntegerBorderWidth.class, - StudioChartsPropertyGroups.BorderType.class, - StudioChartsPropertyGroups.BorderRadius.class, - StudioChartsPropertyGroups.ShadowBlur.class, - StudioChartsPropertyGroups.ShadowColor.class, - StudioChartsPropertyGroups.ShadowOffsetX.class, - StudioChartsPropertyGroups.ShadowOffsetY.class, - StudioChartsPropertyGroups.Opacity.class - }, + propertyGroups = StudioChartsPropertyGroups.RoundedItemStyleDefaultProperties.class, properties = { @StudioProperty(xmlAttribute = "color", type = StudioPropertyType.OPTIONS, options = {"ALICEBLUE", "ANTIQUEWHITE", "AQUA", "AQUAMARINE", "AZURE", "BEIGE", "BISQUE", @@ -9467,14 +9198,7 @@ public interface StudioChartsElements { xmlnsAlias = "charts", unlimitedCount = false, icon = "io/jmix/chartsflowui/kit/meta/icon/unknownComponent.svg", - propertyGroups = { - StudioChartsPropertyGroups.ChartColor.class, - StudioChartsPropertyGroups.ShadowColor.class, - StudioChartsPropertyGroups.ShadowBlur.class, - StudioChartsPropertyGroups.ShadowOffsetX.class, - StudioChartsPropertyGroups.ShadowOffsetY.class, - StudioChartsPropertyGroups.Opacity.class - }, + propertyGroups = StudioChartsPropertyGroups.AreaStyleDefaultProperties.class, properties = { @StudioProperty(xmlAttribute = "color", type = StudioPropertyType.OPTIONS, options = {"ALICEBLUE", "ANTIQUEWHITE", "AQUA", "AQUAMARINE", "AZURE", "BEIGE", "BISQUE", @@ -11066,11 +10790,7 @@ public interface StudioChartsElements { xmlnsAlias = "charts", unlimitedCount = false, icon = "io/jmix/chartsflowui/kit/meta/icon/unknownComponent.svg", - propertyGroups = { - StudioChartsPropertyGroups.Prefix.class, - StudioChartsPropertyGroups.WithName.class, - StudioChartsPropertyGroups.WithoutName.class - }, + propertyGroups = StudioChartsPropertyGroups.SeriesAriaLabelDefaultProperties.class, properties = { @StudioProperty(xmlAttribute = "prefix", type = StudioPropertyType.LOCALIZED_STRING), @StudioProperty(xmlAttribute = "withName", type = StudioPropertyType.LOCALIZED_STRING), @@ -11088,11 +10808,7 @@ public interface StudioChartsElements { xmlnsAlias = "charts", unlimitedCount = false, icon = "io/jmix/chartsflowui/kit/meta/icon/unknownComponent.svg", - propertyGroups = { - StudioChartsPropertyGroups.Prefix.class, - StudioChartsPropertyGroups.WithName.class, - StudioChartsPropertyGroups.WithoutName.class - }, + propertyGroups = StudioChartsPropertyGroups.SeriesAriaLabelDefaultProperties.class, properties = { @StudioProperty(xmlAttribute = "prefix", type = StudioPropertyType.LOCALIZED_STRING), @StudioProperty(xmlAttribute = "withName", type = StudioPropertyType.LOCALIZED_STRING), diff --git a/jmix-charts/charts-flowui-kit/src/main/java/io/jmix/chartsflowui/kit/meta/StudioChartsPropertyGroups.java b/jmix-charts/charts-flowui-kit/src/main/java/io/jmix/chartsflowui/kit/meta/StudioChartsPropertyGroups.java index ec732628a0..4e0e9d6c36 100644 --- a/jmix-charts/charts-flowui-kit/src/main/java/io/jmix/chartsflowui/kit/meta/StudioChartsPropertyGroups.java +++ b/jmix-charts/charts-flowui-kit/src/main/java/io/jmix/chartsflowui/kit/meta/StudioChartsPropertyGroups.java @@ -2154,4 +2154,48 @@ public interface ScaleEmphasisDefaultProperties extends Disabled, BooleanScale, @StudioPropertyGroup public interface EmphasisDefaultProperties extends Disabled, Focus, BlurScope { } + + @StudioPropertyGroup + public interface TextStyleDefaultProperties extends ChartColor, FontStyle, FontWeight, FontFamily, FontSize, + LineHeight, StudioPropertyGroups.WidthWithIntegerType, IntegerHeight, TextBorderColor, + TextBorderWidth, TextBorderType, TextBorderDashOffset, TextShadowColor, TextShadowBlur, + TextShadowOffsetX, TextShadowOffsetY, Overflow, Ellipsis { + } + + @StudioPropertyGroup + public interface LineStyleDefaultProperties extends AreaStyleDefaultProperties, + StudioPropertyGroups.WidthWithIntegerType, Type, DashOffset, Cap, Join, MiterLimit { + } + + @StudioPropertyGroup + public interface AreaStyleDefaultProperties extends ChartColor, ShadowColor, ShadowBlur, ShadowOffsetX, + ShadowOffsetY, Opacity { + } + + @StudioPropertyGroup + public interface LinePointDefaultProperties extends Name, LineDataType, ValueIndex, ValueDim, + StringCoordinate, NumberCoordinate, X, Y, XAxis, YAxis, DoubleValue, StudioPropertyGroups.Symbol, + IntegerSymbolSize, SymbolSizeFunction, SymbolRotate, SymbolKeepAspect, SymbolOffset, SymbolType { + } + + @StudioPropertyGroup + public interface PointDefaultProperties extends Name, PintDataType, ValueIndex, ValueDim, StringCoordinate, + NumberCoordinate, X, Y, DoubleValue { + } + + @StudioPropertyGroup + public interface LabelDefaultProperties extends Formatter, FormatterFunction, Show, Distance, Rotate, + StringOffset, SharedAlign, VerticalAlign, BackgroundColor, BorderColor, IntegerBorderWidth, + BorderType, BorderDashOffset, BorderRadius, Padding, ShadowColor, ShadowBlur, ShadowOffsetX, + ShadowOffsetY, TooltipPosition, PositionCoordinates, TextStyleDefaultProperties { + } + + @StudioPropertyGroup + public interface RoundedItemStyleDefaultProperties extends AreaStyleDefaultProperties, BorderColor, + IntegerBorderWidth, BorderType, BorderRadius { + } + + @StudioPropertyGroup + public interface SeriesAriaLabelDefaultProperties extends Prefix, WithName, WithoutName { + } } diff --git a/jmix-flowui/flowui-kit/src/main/java/io/jmix/flowui/kit/meta/StudioPropertyGroups.java b/jmix-flowui/flowui-kit/src/main/java/io/jmix/flowui/kit/meta/StudioPropertyGroups.java index b310548d76..7b880f6293 100644 --- a/jmix-flowui/flowui-kit/src/main/java/io/jmix/flowui/kit/meta/StudioPropertyGroups.java +++ b/jmix-flowui/flowui-kit/src/main/java/io/jmix/flowui/kit/meta/StudioPropertyGroups.java @@ -1899,6 +1899,117 @@ public interface TextWithEditInitialValue { public interface AggregationType { } + @StudioPropertyGroup( + properties = { + @StudioProperty(xmlAttribute = "id", category = StudioProperty.Category.GENERAL, + type = StudioPropertyType.COMPONENT_ID, required = true, + initialValue = "create") + } + ) + public interface RequiredIdWithCreateInitialValue { + } + + @StudioPropertyGroup( + properties = { + @StudioProperty(xmlAttribute = "icon", category = StudioProperty.Category.LOOK_AND_FEEL, + type = StudioPropertyType.ICON, defaultValue = "PLUS", + setParameterFqn = "com.vaadin.flow.component.icon.Icon") + } + ) + public interface LookAndFeelIconWithPlusDefaultValue { + } + + @StudioPropertyGroup + public interface HtmlTextElementDefaultProperties extends ClassNames, ClickShortcut, Css, + EnabledWithTrueDefaultValue, Size, Id, Text, NativeLabelThemeNames, Title, Visible, WhiteSpace { + } + + @StudioPropertyGroup + public interface EditorActionButtonDefaultProperties extends Title, ShortcutCombination, WhiteSpace, + ButtonThemeNames, ClassNames, IconAfterText { + } + + @StudioPropertyGroup + public interface EditorActionTextButtonDefaultProperties extends EditorActionButtonDefaultProperties, Text { + } + + @StudioPropertyGroup + public interface LoginFormDefaultProperties extends ForgotPassword, Password, Submit, Title, Username { + } + + @StudioPropertyGroup + public interface UserMenuItemDefaultProperties extends RequiredId, Visible, Enabled, Checkable, Checked, + UserMenuItemThemeNames { + } + + @StudioPropertyGroup + public interface TextUserMenuItemDefaultProperties extends UserMenuItemDefaultProperties, RequiredText, Icon { + } + + @StudioPropertyGroup + public interface IdAndParam extends Id, Param { + } + + @StudioPropertyGroup + public interface ResponsiveStepDefaultProperties extends RequiredMinWidthWithOptions, Columns { + } + + @StudioPropertyGroup + public interface BasicComponentDefaultProperties extends AlignSelfAndJustifySelfAndColspan, IdAndVisible, Css { + } + + @StudioPropertyGroup + public interface AddonComponentDefaultProperties extends ClassNamesAndCss, IdAndVisible, Size, AlignSelf, + Colspan { + } + + @StudioPropertyGroup + public interface MultiSelectComboBoxDefaultProperties extends AlignSelfAndJustifySelfAndColspan, + ClassNamesAndCss, IdAndVisible, EnabledWithTrueDefaultValue, Size, + AriaLabelAndTabIndexAndFocusShortcut, AllowCustomValue, AllowedCharPattern, Autofocus, AutoOpen, + OverlayWidth, ClearButtonVisible, CollectionOrInstanceDataContainer, ErrorMessage, HelperText, + ItemsContainerTypeParameterV, ItemsEnum, Label, MetaClassTypeParameterV, Opened, PageSize, + Placeholder, PropertyTypeParameterV, ReadOnly, Required, ComboBoxThemeNames, Title { + } + + @StudioPropertyGroup + public interface ListBoxDefaultProperties extends AlignSelfAndJustifySelfAndColspan, ClassNamesAndCss, + IdAndVisible, EnabledWithTrueDefaultValue, Size, AriaLabel, AriaLabelledBy, + ItemsContainerTypeParameterV, ItemsEnum, ReadOnly { + } + + @StudioPropertyGroup + public interface ValuePickerDefaultProperties extends AlignSelfAndJustifySelfAndColspan, ClassNamesAndCss, + IdAndVisible, EnabledWithTrueDefaultValue, Size, AriaLabelAndTabIndexAndFocusShortcut, + RequiredAndRequiredMessageAndErrorMessage, AllowCustomValue, Autofocus, + CollectionOrInstanceDataContainer, HelperText, Label, Placeholder, PropertyTypeParameterV, + ReadOnly, ThemeNames, Title { + } + + @StudioPropertyGroup + public interface AutoWidthLayoutDefaultProperties extends AlignSelfAndJustifySelfAndColspan, + ClassNamesAndCss, IdAndVisible, Height, MaxHeight, MaxWidth, MinHeight, MinWidth, + WidthWithDefaultValueAuto { + } + + @StudioPropertyGroup + public interface EnabledAutoWidthLayoutDefaultProperties extends AutoWidthLayoutDefaultProperties, + EnabledWithTrueDefaultValue { + } + + @StudioPropertyGroup + public interface DataLoadCoordinatorDefaultProperties extends IdWithoutCategory, Auto, ComponentPrefix, + ContainerPrefix { + } + + @StudioPropertyGroup + public interface SettingsDefaultProperties extends IdWithoutCategory, Auto { + } + + @StudioPropertyGroup + public interface RequiredStringNameAndValue extends RequiredStringName, RequiredStringValue { + } + @StudioPropertyGroup public interface MessageAndRequiredStringValue extends Message, RequiredStringValue { } @@ -1906,4 +2017,8 @@ public interface MessageAndRequiredStringValue extends Message, RequiredStringVa @StudioPropertyGroup public interface MessageAndInclusiveRequiredStringValue extends Message, Inclusive, RequiredStringValue { } + + @StudioPropertyGroup + public interface MessagesGroupAndTitle extends MessagesGroup, Title { + } } diff --git a/jmix-flowui/flowui-kit/src/main/java/io/jmix/flowui/kit/meta/action/StudioActionPropertyGroups.java b/jmix-flowui/flowui-kit/src/main/java/io/jmix/flowui/kit/meta/action/StudioActionPropertyGroups.java index aafede91b9..b1e7e7f4a7 100644 --- a/jmix-flowui/flowui-kit/src/main/java/io/jmix/flowui/kit/meta/action/StudioActionPropertyGroups.java +++ b/jmix-flowui/flowui-kit/src/main/java/io/jmix/flowui/kit/meta/action/StudioActionPropertyGroups.java @@ -49,9 +49,33 @@ public interface RequiredIconTextActionDefaultProperties extends IconTextActionD StudioPropertyGroups.RequiredId { } + @StudioPropertyGroup + public interface ActionDefaultPropertiesWithoutShortcutCombination extends + StudioPropertyGroups.ActionVariantWithDefaultDefaultValue, StudioPropertyGroups.Description, + StudioPropertyGroups.EnabledWithTrueDefaultValue, StudioPropertyGroups.Visible { + } + + @StudioPropertyGroup + public interface DangerActionDefaultProperties extends StudioPropertyGroups.ActionVariantWithDangerDefaultValue, + StudioPropertyGroups.Description, StudioPropertyGroups.EnabledWithTrueDefaultValue, + StudioPropertyGroups.ShortcutCombination, StudioPropertyGroups.Visible { + } + @StudioPropertyGroup public interface PrimaryActionDefaultProperties extends StudioPropertyGroups.ActionVariantWithPrimaryDefaultValue, StudioPropertyGroups.Description, StudioPropertyGroups.EnabledWithTrueDefaultValue, StudioPropertyGroups.ShortcutCombination, StudioPropertyGroups.Visible { } + + @StudioPropertyGroup + public interface ActionCommonPropertiesWithoutCategory extends StudioPropertyGroups.DescriptionWithoutCategory, + StudioPropertyGroups.EnabledWithTrueDefaultValueWithoutCategory, + StudioPropertyGroups.ShortcutCombination, StudioPropertyGroups.VisibleWithDefaultValueTrue { + } + + @StudioPropertyGroup + public interface PrimaryActionDefaultPropertiesWithCreateIdAndPlusIcon extends + PrimaryActionDefaultProperties, StudioPropertyGroups.RequiredIdWithCreateInitialValue, + StudioPropertyGroups.LookAndFeelIconWithPlusDefaultValue { + } } diff --git a/jmix-flowui/flowui-kit/src/main/java/io/jmix/flowui/kit/meta/action/StudioListDataComponentActions.java b/jmix-flowui/flowui-kit/src/main/java/io/jmix/flowui/kit/meta/action/StudioListDataComponentActions.java index 38d1d1e1ee..401113630b 100644 --- a/jmix-flowui/flowui-kit/src/main/java/io/jmix/flowui/kit/meta/action/StudioListDataComponentActions.java +++ b/jmix-flowui/flowui-kit/src/main/java/io/jmix/flowui/kit/meta/action/StudioListDataComponentActions.java @@ -64,12 +64,7 @@ interface StudioListDataComponentActions { classFqn = "io.jmix.flowui.action.list.EditAction", documentationLink = "%VERSION%/flow-ui/actions/list-actions.html#list_edit", availableInViewWizard = true, - propertyGroups = { - StudioPropertyGroups.ActionVariantWithDefaultDefaultValue.class, - StudioPropertyGroups.Description.class, - StudioPropertyGroups.EnabledWithTrueDefaultValue.class, - StudioPropertyGroups.Visible.class - }, + propertyGroups = StudioActionPropertyGroups.ActionDefaultPropertiesWithoutShortcutCombination.class, properties = { @StudioProperty(xmlAttribute = "actionVariant", category = StudioProperty.Category.LOOK_AND_FEEL, type = StudioPropertyType.ENUMERATION, setMethod = "setVariant", classFqn = "io.jmix.flowui.kit.action.ActionVariant", @@ -102,13 +97,7 @@ interface StudioListDataComponentActions { classFqn = "io.jmix.flowui.action.list.RemoveAction", documentationLink = "%VERSION%/flow-ui/actions/list-actions.html#list_remove", availableInViewWizard = true, - propertyGroups = { - StudioPropertyGroups.ActionVariantWithDangerDefaultValue.class, - StudioPropertyGroups.Description.class, - StudioPropertyGroups.EnabledWithTrueDefaultValue.class, - StudioPropertyGroups.ShortcutCombination.class, - StudioPropertyGroups.Visible.class - }, + propertyGroups = StudioActionPropertyGroups.DangerActionDefaultProperties.class, properties = { @StudioProperty(xmlAttribute = "actionVariant", category = StudioProperty.Category.LOOK_AND_FEEL, type = StudioPropertyType.ENUMERATION, setMethod = "setVariant", classFqn = "io.jmix.flowui.kit.action.ActionVariant", @@ -168,13 +157,7 @@ interface StudioListDataComponentActions { classFqn = "io.jmix.flowui.action.list.ExcludeAction", documentationLink = "%VERSION%/flow-ui/actions/list-actions.html#list_exclude", availableInViewWizard = true, - propertyGroups = { - StudioPropertyGroups.ActionVariantWithDangerDefaultValue.class, - StudioPropertyGroups.Description.class, - StudioPropertyGroups.EnabledWithTrueDefaultValue.class, - StudioPropertyGroups.ShortcutCombination.class, - StudioPropertyGroups.Visible.class - }, + propertyGroups = StudioActionPropertyGroups.DangerActionDefaultProperties.class, properties = { @StudioProperty(xmlAttribute = "actionVariant", category = StudioProperty.Category.LOOK_AND_FEEL, type = StudioPropertyType.ENUMERATION, setMethod = "setVariant", classFqn = "io.jmix.flowui.kit.action.ActionVariant", @@ -205,12 +188,7 @@ interface StudioListDataComponentActions { classFqn = "io.jmix.flowui.action.list.ReadAction", documentationLink = "%VERSION%/flow-ui/actions/list-actions.html#list_read", availableInViewWizard = true, - propertyGroups = { - StudioPropertyGroups.ActionVariantWithDefaultDefaultValue.class, - StudioPropertyGroups.Description.class, - StudioPropertyGroups.EnabledWithTrueDefaultValue.class, - StudioPropertyGroups.Visible.class - }, + propertyGroups = StudioActionPropertyGroups.ActionDefaultPropertiesWithoutShortcutCombination.class, properties = { @StudioProperty(xmlAttribute = "actionVariant", category = StudioProperty.Category.LOOK_AND_FEEL, type = StudioPropertyType.ENUMERATION, setMethod = "setVariant", classFqn = "io.jmix.flowui.kit.action.ActionVariant", diff --git a/jmix-flowui/flowui-kit/src/main/java/io/jmix/flowui/kit/meta/component/StudioComponents.java b/jmix-flowui/flowui-kit/src/main/java/io/jmix/flowui/kit/meta/component/StudioComponents.java index 3ce10127a4..e3b9a24db8 100644 --- a/jmix-flowui/flowui-kit/src/main/java/io/jmix/flowui/kit/meta/component/StudioComponents.java +++ b/jmix-flowui/flowui-kit/src/main/java/io/jmix/flowui/kit/meta/component/StudioComponents.java @@ -75,11 +75,7 @@ interface StudioComponents { classFqn = "com.vaadin.flow.component.Component", category = "Components", xmlElement = "component", - propertyGroups = { - StudioPropertyGroups.AlignSelfAndJustifySelfAndColspan.class, - StudioPropertyGroups.IdAndVisible.class, - StudioPropertyGroups.Css.class - }, + propertyGroups = StudioPropertyGroups.BasicComponentDefaultProperties.class, properties = { @StudioProperty(xmlAttribute = "id", category = StudioProperty.Category.GENERAL, type = StudioPropertyType.COMPONENT_ID), @StudioProperty(xmlAttribute = "css", category = StudioProperty.Category.LOOK_AND_FEEL, type = StudioPropertyType.STRING), @@ -106,11 +102,7 @@ interface StudioComponents { category = "Components", xmlElement = "fragment", icon = "io/jmix/flowui/kit/meta/icon/component/fragment.svg", - propertyGroups = { - StudioPropertyGroups.AlignSelfAndJustifySelfAndColspan.class, - StudioPropertyGroups.IdAndVisible.class, - StudioPropertyGroups.Css.class - }, + propertyGroups = StudioPropertyGroups.BasicComponentDefaultProperties.class, properties = { @StudioProperty(xmlAttribute = "id", category = StudioProperty.Category.GENERAL, type = StudioPropertyType.COMPONENT_ID), @StudioProperty(xmlAttribute = "css", category = StudioProperty.Category.LOOK_AND_FEEL, type = StudioPropertyType.STRING), @@ -856,35 +848,7 @@ interface StudioComponents { @StudioConvertStrategy.TagInfo(qualifiedName = "select"), @StudioConvertStrategy.TagInfo(qualifiedName = "comboBox") }), - propertyGroups = { - StudioPropertyGroups.AlignSelfAndJustifySelfAndColspan.class, - StudioPropertyGroups.ClassNamesAndCss.class, - StudioPropertyGroups.IdAndVisible.class, - StudioPropertyGroups.EnabledWithTrueDefaultValue.class, - StudioPropertyGroups.Size.class, - StudioPropertyGroups.AriaLabelAndTabIndexAndFocusShortcut.class, - StudioPropertyGroups.AllowCustomValue.class, - StudioPropertyGroups.AllowedCharPattern.class, - StudioPropertyGroups.Autofocus.class, - StudioPropertyGroups.AutoOpen.class, - StudioPropertyGroups.OverlayWidth.class, - StudioPropertyGroups.ClearButtonVisible.class, - StudioPropertyGroups.CollectionOrInstanceDataContainer.class, - StudioPropertyGroups.ErrorMessage.class, - StudioPropertyGroups.HelperText.class, - StudioPropertyGroups.ItemsContainerTypeParameterV.class, - StudioPropertyGroups.ItemsEnum.class, - StudioPropertyGroups.Label.class, - StudioPropertyGroups.MetaClassTypeParameterV.class, - StudioPropertyGroups.Opened.class, - StudioPropertyGroups.PageSize.class, - StudioPropertyGroups.Placeholder.class, - StudioPropertyGroups.PropertyTypeParameterV.class, - StudioPropertyGroups.ReadOnly.class, - StudioPropertyGroups.Required.class, - StudioPropertyGroups.ComboBoxThemeNames.class, - StudioPropertyGroups.Title.class - }, + propertyGroups = StudioPropertyGroups.MultiSelectComboBoxDefaultProperties.class, properties = { @StudioProperty(xmlAttribute = "alignSelf", category = StudioProperty.Category.POSITION, type = StudioPropertyType.ENUMERATION, classFqn = "com.vaadin.flow.component.orderedlayout.FlexComponent$Alignment", @@ -975,35 +939,7 @@ interface StudioComponents { xmlElement = "multiSelectComboBoxPicker", icon = "io/jmix/flowui/kit/meta/icon/component/comboBox.svg", documentationLink = "%VERSION%/flow-ui/vc/components/multiSelectComboBoxPicker.html", - propertyGroups = { - StudioPropertyGroups.AlignSelfAndJustifySelfAndColspan.class, - StudioPropertyGroups.ClassNamesAndCss.class, - StudioPropertyGroups.IdAndVisible.class, - StudioPropertyGroups.EnabledWithTrueDefaultValue.class, - StudioPropertyGroups.Size.class, - StudioPropertyGroups.AriaLabelAndTabIndexAndFocusShortcut.class, - StudioPropertyGroups.AllowCustomValue.class, - StudioPropertyGroups.AllowedCharPattern.class, - StudioPropertyGroups.Autofocus.class, - StudioPropertyGroups.AutoOpen.class, - StudioPropertyGroups.OverlayWidth.class, - StudioPropertyGroups.ClearButtonVisible.class, - StudioPropertyGroups.CollectionOrInstanceDataContainer.class, - StudioPropertyGroups.ErrorMessage.class, - StudioPropertyGroups.HelperText.class, - StudioPropertyGroups.ItemsContainerTypeParameterV.class, - StudioPropertyGroups.ItemsEnum.class, - StudioPropertyGroups.Label.class, - StudioPropertyGroups.MetaClassTypeParameterV.class, - StudioPropertyGroups.Opened.class, - StudioPropertyGroups.PageSize.class, - StudioPropertyGroups.Placeholder.class, - StudioPropertyGroups.PropertyTypeParameterV.class, - StudioPropertyGroups.ReadOnly.class, - StudioPropertyGroups.Required.class, - StudioPropertyGroups.ComboBoxThemeNames.class, - StudioPropertyGroups.Title.class - }, + propertyGroups = StudioPropertyGroups.MultiSelectComboBoxDefaultProperties.class, properties = { @StudioProperty(xmlAttribute = "alignSelf", category = StudioProperty.Category.POSITION, type = StudioPropertyType.ENUMERATION, classFqn = "com.vaadin.flow.component.orderedlayout.FlexComponent$Alignment", @@ -2835,18 +2771,7 @@ interface StudioComponents { ) } ), - propertyGroups = { - StudioPropertyGroups.AlignSelfAndJustifySelfAndColspan.class, - StudioPropertyGroups.ClassNamesAndCss.class, - StudioPropertyGroups.IdAndVisible.class, - StudioPropertyGroups.EnabledWithTrueDefaultValue.class, - StudioPropertyGroups.Size.class, - StudioPropertyGroups.AriaLabel.class, - StudioPropertyGroups.AriaLabelledBy.class, - StudioPropertyGroups.ItemsContainerTypeParameterV.class, - StudioPropertyGroups.ItemsEnum.class, - StudioPropertyGroups.ReadOnly.class - }, + propertyGroups = StudioPropertyGroups.ListBoxDefaultProperties.class, properties = { @StudioProperty(xmlAttribute = "alignSelf", category = StudioProperty.Category.POSITION, type = StudioPropertyType.ENUMERATION, classFqn = "com.vaadin.flow.component.orderedlayout.FlexComponent$Alignment", @@ -2910,18 +2835,7 @@ interface StudioComponents { ) } ), - propertyGroups = { - StudioPropertyGroups.AlignSelfAndJustifySelfAndColspan.class, - StudioPropertyGroups.ClassNamesAndCss.class, - StudioPropertyGroups.IdAndVisible.class, - StudioPropertyGroups.EnabledWithTrueDefaultValue.class, - StudioPropertyGroups.Size.class, - StudioPropertyGroups.AriaLabel.class, - StudioPropertyGroups.AriaLabelledBy.class, - StudioPropertyGroups.ItemsContainerTypeParameterV.class, - StudioPropertyGroups.ItemsEnum.class, - StudioPropertyGroups.ReadOnly.class - }, + propertyGroups = StudioPropertyGroups.ListBoxDefaultProperties.class, properties = { @StudioProperty(xmlAttribute = "alignSelf", category = StudioProperty.Category.POSITION, type = StudioPropertyType.ENUMERATION, classFqn = "com.vaadin.flow.component.orderedlayout.FlexComponent$Alignment", @@ -3332,25 +3246,7 @@ interface StudioComponents { xmlElement = "valuePicker", icon = "io/jmix/flowui/kit/meta/icon/component/valuePicker.svg", documentationLink = "%VERSION%/flow-ui/vc/components/valuePicker.html", - propertyGroups = { - StudioPropertyGroups.AlignSelfAndJustifySelfAndColspan.class, - StudioPropertyGroups.ClassNamesAndCss.class, - StudioPropertyGroups.IdAndVisible.class, - StudioPropertyGroups.EnabledWithTrueDefaultValue.class, - StudioPropertyGroups.Size.class, - StudioPropertyGroups.AriaLabelAndTabIndexAndFocusShortcut.class, - StudioPropertyGroups.RequiredAndRequiredMessageAndErrorMessage.class, - StudioPropertyGroups.AllowCustomValue.class, - StudioPropertyGroups.Autofocus.class, - StudioPropertyGroups.CollectionOrInstanceDataContainer.class, - StudioPropertyGroups.HelperText.class, - StudioPropertyGroups.Label.class, - StudioPropertyGroups.Placeholder.class, - StudioPropertyGroups.PropertyTypeParameterV.class, - StudioPropertyGroups.ReadOnly.class, - StudioPropertyGroups.ThemeNames.class, - StudioPropertyGroups.Title.class - }, + propertyGroups = StudioPropertyGroups.ValuePickerDefaultProperties.class, properties = { @StudioProperty(xmlAttribute = "alignSelf", category = StudioProperty.Category.POSITION, type = StudioPropertyType.ENUMERATION, classFqn = "com.vaadin.flow.component.orderedlayout.FlexComponent$Alignment", @@ -3413,25 +3309,7 @@ interface StudioComponents { xmlElement = "multiValuePicker", icon = "io/jmix/flowui/kit/meta/icon/component/multiValuePicker.svg", documentationLink = "%VERSION%/flow-ui/vc/components/multiValuePicker.html", - propertyGroups = { - StudioPropertyGroups.AlignSelfAndJustifySelfAndColspan.class, - StudioPropertyGroups.ClassNamesAndCss.class, - StudioPropertyGroups.IdAndVisible.class, - StudioPropertyGroups.EnabledWithTrueDefaultValue.class, - StudioPropertyGroups.Size.class, - StudioPropertyGroups.AriaLabelAndTabIndexAndFocusShortcut.class, - StudioPropertyGroups.RequiredAndRequiredMessageAndErrorMessage.class, - StudioPropertyGroups.AllowCustomValue.class, - StudioPropertyGroups.Autofocus.class, - StudioPropertyGroups.CollectionOrInstanceDataContainer.class, - StudioPropertyGroups.HelperText.class, - StudioPropertyGroups.Label.class, - StudioPropertyGroups.Placeholder.class, - StudioPropertyGroups.PropertyTypeParameterV.class, - StudioPropertyGroups.ReadOnly.class, - StudioPropertyGroups.ThemeNames.class, - StudioPropertyGroups.Title.class - }, + propertyGroups = StudioPropertyGroups.ValuePickerDefaultProperties.class, properties = { @StudioProperty(xmlAttribute = "alignSelf", category = StudioProperty.Category.POSITION, type = StudioPropertyType.ENUMERATION, classFqn = "com.vaadin.flow.component.orderedlayout.FlexComponent$Alignment", diff --git a/jmix-flowui/flowui-kit/src/main/java/io/jmix/flowui/kit/meta/component/StudioLayouts.java b/jmix-flowui/flowui-kit/src/main/java/io/jmix/flowui/kit/meta/component/StudioLayouts.java index 514c08db3b..d3fd7d050b 100644 --- a/jmix-flowui/flowui-kit/src/main/java/io/jmix/flowui/kit/meta/component/StudioLayouts.java +++ b/jmix-flowui/flowui-kit/src/main/java/io/jmix/flowui/kit/meta/component/StudioLayouts.java @@ -382,18 +382,7 @@ interface StudioLayouts { availableChildren = @StudioAvailableChildrenInfo( availableClasses = @ClassInfo(qualifiedName = FLOW_COMPONENT_FQN, maxCount = 1) ), - propertyGroups = { - StudioPropertyGroups.AlignSelfAndJustifySelfAndColspan.class, - StudioPropertyGroups.ClassNamesAndCss.class, - StudioPropertyGroups.IdAndVisible.class, - StudioPropertyGroups.EnabledWithTrueDefaultValue.class, - StudioPropertyGroups.Height.class, - StudioPropertyGroups.MaxHeight.class, - StudioPropertyGroups.MaxWidth.class, - StudioPropertyGroups.MinHeight.class, - StudioPropertyGroups.MinWidth.class, - StudioPropertyGroups.WidthWithDefaultValueAuto.class - }, + propertyGroups = StudioPropertyGroups.EnabledAutoWidthLayoutDefaultProperties.class, properties = { @StudioProperty(xmlAttribute = "alignSelf", category = StudioProperty.Category.POSITION, type = StudioPropertyType.ENUMERATION, classFqn = "com.vaadin.flow.component.orderedlayout.FlexComponent$Alignment", @@ -492,17 +481,7 @@ interface StudioLayouts { xmlElement = "accordion", icon = "io/jmix/flowui/kit/meta/icon/layout/accordion.svg", documentationLink = "%VERSION%/flow-ui/vc/layouts/accordion.html", - propertyGroups = { - StudioPropertyGroups.AlignSelfAndJustifySelfAndColspan.class, - StudioPropertyGroups.ClassNamesAndCss.class, - StudioPropertyGroups.IdAndVisible.class, - StudioPropertyGroups.Height.class, - StudioPropertyGroups.MaxHeight.class, - StudioPropertyGroups.MaxWidth.class, - StudioPropertyGroups.MinHeight.class, - StudioPropertyGroups.MinWidth.class, - StudioPropertyGroups.WidthWithDefaultValueAuto.class - }, + propertyGroups = StudioPropertyGroups.AutoWidthLayoutDefaultProperties.class, properties = { @StudioProperty(xmlAttribute = "alignSelf", category = StudioProperty.Category.POSITION, type = StudioPropertyType.ENUMERATION, classFqn = "com.vaadin.flow.component.orderedlayout.FlexComponent$Alignment", @@ -636,18 +615,7 @@ interface StudioLayouts { xmlElement = "formLayout", icon = "io/jmix/flowui/kit/meta/icon/layout/formLayout.svg", documentationLink = "%VERSION%/flow-ui/vc/layouts/formLayout.html", - propertyGroups = { - StudioPropertyGroups.AlignSelfAndJustifySelfAndColspan.class, - StudioPropertyGroups.ClassNamesAndCss.class, - StudioPropertyGroups.IdAndVisible.class, - StudioPropertyGroups.EnabledWithTrueDefaultValue.class, - StudioPropertyGroups.Height.class, - StudioPropertyGroups.MaxHeight.class, - StudioPropertyGroups.MaxWidth.class, - StudioPropertyGroups.MinHeight.class, - StudioPropertyGroups.MinWidth.class, - StudioPropertyGroups.WidthWithDefaultValueAuto.class - }, + propertyGroups = StudioPropertyGroups.EnabledAutoWidthLayoutDefaultProperties.class, properties = { @StudioProperty(xmlAttribute = "alignSelf", category = StudioProperty.Category.POSITION, type = StudioPropertyType.ENUMERATION, classFqn = "com.vaadin.flow.component.orderedlayout.FlexComponent$Alignment", @@ -701,17 +669,7 @@ interface StudioLayouts { xmlElement = "tabSheet", icon = "io/jmix/flowui/kit/meta/icon/component/tabSheet.svg", documentationLink = "%VERSION%/flow-ui/vc/layouts/tabSheet.html", - propertyGroups = { - StudioPropertyGroups.AlignSelfAndJustifySelfAndColspan.class, - StudioPropertyGroups.ClassNamesAndCss.class, - StudioPropertyGroups.IdAndVisible.class, - StudioPropertyGroups.Height.class, - StudioPropertyGroups.MaxHeight.class, - StudioPropertyGroups.MaxWidth.class, - StudioPropertyGroups.MinHeight.class, - StudioPropertyGroups.MinWidth.class, - StudioPropertyGroups.WidthWithDefaultValueAuto.class - }, + propertyGroups = StudioPropertyGroups.AutoWidthLayoutDefaultProperties.class, properties = { @StudioProperty(xmlAttribute = "alignSelf", category = StudioProperty.Category.POSITION, type = StudioPropertyType.ENUMERATION, classFqn = "com.vaadin.flow.component.orderedlayout.FlexComponent$Alignment", diff --git a/jmix-flowui/flowui-kit/src/main/java/io/jmix/flowui/kit/meta/component/StudioMainViewComponents.java b/jmix-flowui/flowui-kit/src/main/java/io/jmix/flowui/kit/meta/component/StudioMainViewComponents.java index 0b496ce98a..3f6e3f779a 100644 --- a/jmix-flowui/flowui-kit/src/main/java/io/jmix/flowui/kit/meta/component/StudioMainViewComponents.java +++ b/jmix-flowui/flowui-kit/src/main/java/io/jmix/flowui/kit/meta/component/StudioMainViewComponents.java @@ -97,10 +97,7 @@ interface StudioMainViewComponents { @StudioAvailableChildrenInfo.TagInfo(qualifiedName = "appLayout", maxCount = 1) } ), - propertyGroups = { - StudioPropertyGroups.MessagesGroup.class, - StudioPropertyGroups.Title.class - }, + propertyGroups = StudioPropertyGroups.MessagesGroupAndTitle.class, properties = { @StudioProperty(xmlAttribute = "messagesGroup", type = StudioPropertyType.STRING), @StudioProperty(xmlAttribute = "title", type = StudioPropertyType.LOCALIZED_STRING) diff --git a/jmix-flowui/flowui-kit/src/main/java/io/jmix/flowui/kit/meta/element/StudioElements.java b/jmix-flowui/flowui-kit/src/main/java/io/jmix/flowui/kit/meta/element/StudioElements.java index c4575ad1d5..88a2127150 100644 --- a/jmix-flowui/flowui-kit/src/main/java/io/jmix/flowui/kit/meta/element/StudioElements.java +++ b/jmix-flowui/flowui-kit/src/main/java/io/jmix/flowui/kit/meta/element/StudioElements.java @@ -292,14 +292,7 @@ interface StudioElements { xmlElement = "editButton", target = "io.jmix.flowui.kit.component.grid.EditorActionsColumn", unlimitedCount = false, - propertyGroups = { - StudioPropertyGroups.Title.class, - StudioPropertyGroups.ShortcutCombination.class, - StudioPropertyGroups.WhiteSpace.class, - StudioPropertyGroups.ButtonThemeNames.class, - StudioPropertyGroups.ClassNames.class, - StudioPropertyGroups.IconAfterText.class - }, + propertyGroups = StudioPropertyGroups.EditorActionButtonDefaultProperties.class, properties = { @StudioProperty(xmlAttribute = "title", type = StudioPropertyType.LOCALIZED_STRING), @StudioProperty(xmlAttribute = "icon", category = StudioProperty.Category.LOOK_AND_FEEL, type = StudioPropertyType.ICON, @@ -327,15 +320,7 @@ interface StudioElements { xmlElement = "saveButton", target = "io.jmix.flowui.kit.component.grid.EditorActionsColumn", unlimitedCount = false, - propertyGroups = { - StudioPropertyGroups.Title.class, - StudioPropertyGroups.Text.class, - StudioPropertyGroups.ShortcutCombination.class, - StudioPropertyGroups.WhiteSpace.class, - StudioPropertyGroups.ButtonThemeNames.class, - StudioPropertyGroups.ClassNames.class, - StudioPropertyGroups.IconAfterText.class - }, + propertyGroups = StudioPropertyGroups.EditorActionTextButtonDefaultProperties.class, properties = { @StudioProperty(xmlAttribute = "title", type = StudioPropertyType.LOCALIZED_STRING), @StudioProperty(xmlAttribute = "icon", category = StudioProperty.Category.LOOK_AND_FEEL, type = StudioPropertyType.ICON, @@ -362,15 +347,7 @@ interface StudioElements { xmlElement = "closeButton", target = "io.jmix.flowui.kit.component.grid.EditorActionsColumn", unlimitedCount = false, - propertyGroups = { - StudioPropertyGroups.Title.class, - StudioPropertyGroups.Text.class, - StudioPropertyGroups.ShortcutCombination.class, - StudioPropertyGroups.WhiteSpace.class, - StudioPropertyGroups.ButtonThemeNames.class, - StudioPropertyGroups.ClassNames.class, - StudioPropertyGroups.IconAfterText.class - }, + propertyGroups = StudioPropertyGroups.EditorActionTextButtonDefaultProperties.class, properties = { @StudioProperty(xmlAttribute = "title", type = StudioPropertyType.LOCALIZED_STRING), @StudioProperty(xmlAttribute = "icon", category = StudioProperty.Category.LOOK_AND_FEEL, type = StudioPropertyType.ICON, @@ -397,14 +374,7 @@ interface StudioElements { xmlElement = "cancelButton", target = "io.jmix.flowui.kit.component.grid.EditorActionsColumn", unlimitedCount = false, - propertyGroups = { - StudioPropertyGroups.Title.class, - StudioPropertyGroups.ShortcutCombination.class, - StudioPropertyGroups.WhiteSpace.class, - StudioPropertyGroups.ButtonThemeNames.class, - StudioPropertyGroups.ClassNames.class, - StudioPropertyGroups.IconAfterText.class - }, + propertyGroups = StudioPropertyGroups.EditorActionButtonDefaultProperties.class, properties = { @StudioProperty(xmlAttribute = "title", type = StudioPropertyType.LOCALIZED_STRING), @StudioProperty(xmlAttribute = "icon", category = StudioProperty.Category.LOOK_AND_FEEL, type = StudioPropertyType.ICON, @@ -549,13 +519,7 @@ interface StudioElements { xmlElement = "form", unlimitedCount = false, target = {"io.jmix.flowui.kit.component.loginform.EnhancedLoginForm"}, - propertyGroups = { - StudioPropertyGroups.ForgotPassword.class, - StudioPropertyGroups.Password.class, - StudioPropertyGroups.Submit.class, - StudioPropertyGroups.Title.class, - StudioPropertyGroups.Username.class - }, + propertyGroups = StudioPropertyGroups.LoginFormDefaultProperties.class, properties = { @StudioProperty(xmlAttribute = "forgotPassword", type = StudioPropertyType.LOCALIZED_STRING), @StudioProperty(xmlAttribute = "password", type = StudioPropertyType.LOCALIZED_STRING), @@ -573,13 +537,7 @@ interface StudioElements { xmlElement = "form", target = {"com.vaadin.flow.component.login.LoginOverlay"}, unlimitedCount = false, - propertyGroups = { - StudioPropertyGroups.ForgotPassword.class, - StudioPropertyGroups.Password.class, - StudioPropertyGroups.Submit.class, - StudioPropertyGroups.Title.class, - StudioPropertyGroups.Username.class - }, + propertyGroups = StudioPropertyGroups.LoginFormDefaultProperties.class, properties = { @StudioProperty(xmlAttribute = "forgotPassword", type = StudioPropertyType.LOCALIZED_STRING), @StudioProperty(xmlAttribute = "password", type = StudioPropertyType.LOCALIZED_STRING), @@ -723,16 +681,7 @@ interface StudioElements { xmlElement = "textItem", isInjectable = false, documentationLink = "%VERSION%/flow-ui/vc/components/userMenu.html#textItem", - propertyGroups = { - StudioPropertyGroups.RequiredId.class, - StudioPropertyGroups.RequiredText.class, - StudioPropertyGroups.Icon.class, - StudioPropertyGroups.Visible.class, - StudioPropertyGroups.Enabled.class, - StudioPropertyGroups.Checkable.class, - StudioPropertyGroups.Checked.class, - StudioPropertyGroups.UserMenuItemThemeNames.class - }, + propertyGroups = StudioPropertyGroups.TextUserMenuItemDefaultProperties.class, properties = { @StudioProperty(xmlAttribute = "id", category = StudioProperty.Category.GENERAL, type = StudioPropertyType.COMPONENT_ID, required = true), @StudioProperty(xmlAttribute = "text", category = StudioProperty.Category.GENERAL, type = StudioPropertyType.LOCALIZED_STRING, required = true), @@ -756,14 +705,7 @@ interface StudioElements { xmlElement = "actionItem", documentationLink = "%VERSION%/flow-ui/vc/components/userMenu.html#actionItem", isInjectable = false, - propertyGroups = { - StudioPropertyGroups.RequiredId.class, - StudioPropertyGroups.Visible.class, - StudioPropertyGroups.Enabled.class, - StudioPropertyGroups.Checkable.class, - StudioPropertyGroups.Checked.class, - StudioPropertyGroups.UserMenuItemThemeNames.class - }, + propertyGroups = StudioPropertyGroups.UserMenuItemDefaultProperties.class, properties = { @StudioProperty(xmlAttribute = "id", category = StudioProperty.Category.GENERAL, type = StudioPropertyType.COMPONENT_ID, required = true), @StudioProperty(xmlAttribute = "ref", category = StudioProperty.Category.GENERAL, type = StudioPropertyType.ACTION_REF), @@ -827,14 +769,7 @@ interface StudioElements { maxCount = 1 ) ), - propertyGroups = { - StudioPropertyGroups.RequiredId.class, - StudioPropertyGroups.Visible.class, - StudioPropertyGroups.Enabled.class, - StudioPropertyGroups.Checkable.class, - StudioPropertyGroups.Checked.class, - StudioPropertyGroups.UserMenuItemThemeNames.class - }, + propertyGroups = StudioPropertyGroups.UserMenuItemDefaultProperties.class, properties = { @StudioProperty(xmlAttribute = "id", category = StudioProperty.Category.GENERAL, type = StudioPropertyType.COMPONENT_ID, required = true), @StudioProperty(xmlAttribute = "visible", category = StudioProperty.Category.GENERAL, type = StudioPropertyType.BOOLEAN, @@ -856,16 +791,7 @@ interface StudioElements { xmlElement = "viewItem", isInjectable = false, documentationLink = "%VERSION%/flow-ui/vc/components/userMenu.html#viewItem", - propertyGroups = { - StudioPropertyGroups.RequiredId.class, - StudioPropertyGroups.RequiredText.class, - StudioPropertyGroups.Icon.class, - StudioPropertyGroups.Visible.class, - StudioPropertyGroups.Enabled.class, - StudioPropertyGroups.Checkable.class, - StudioPropertyGroups.Checked.class, - StudioPropertyGroups.UserMenuItemThemeNames.class - }, + propertyGroups = StudioPropertyGroups.TextUserMenuItemDefaultProperties.class, properties = { @StudioProperty(xmlAttribute = "id", category = StudioProperty.Category.GENERAL, type = StudioPropertyType.COMPONENT_ID, required = true), @StudioProperty(xmlAttribute = "text", category = StudioProperty.Category.GENERAL, type = StudioPropertyType.LOCALIZED_STRING, required = true), @@ -988,10 +914,7 @@ interface StudioElements { xmlElement = "propertyFilter", target = {"io.jmix.flowui.facet.UrlQueryParametersFacet"}, icon = "io/jmix/flowui/kit/meta/icon/element/filter.svg", - propertyGroups = { - StudioPropertyGroups.Id.class, - StudioPropertyGroups.Param.class - }, + propertyGroups = StudioPropertyGroups.IdAndParam.class, properties = { @StudioProperty(xmlAttribute = "component", category = StudioProperty.Category.GENERAL, type = StudioPropertyType.COMPONENT_REF, componentRefTags = "propertyFilter", required = true), @@ -1006,10 +929,7 @@ interface StudioElements { classFqn = "io.jmix.flowui.facet.urlqueryparameters.DataGridFilterUrlQueryParametersBinder", xmlElement = "dataGridFilter", target = {"io.jmix.flowui.facet.UrlQueryParametersFacet"}, - propertyGroups = { - StudioPropertyGroups.Id.class, - StudioPropertyGroups.Param.class - }, + propertyGroups = StudioPropertyGroups.IdAndParam.class, properties = { @StudioProperty(xmlAttribute = "component", category = StudioProperty.Category.GENERAL, type = StudioPropertyType.COMPONENT_REF, componentRefTags = "dataGridFilter", required = true), @@ -1024,10 +944,7 @@ interface StudioElements { classFqn = "com.vaadin.flow.component.formlayout.FormLayout.ResponsiveStep", xmlElement = "responsiveStep", documentationLink = "%VERSION%/flow-ui/vc/layouts/formLayout.html#responsive-steps", - propertyGroups = { - StudioPropertyGroups.RequiredMinWidthWithOptions.class, - StudioPropertyGroups.Columns.class - }, + propertyGroups = StudioPropertyGroups.ResponsiveStepDefaultProperties.class, properties = { @StudioProperty(xmlAttribute = "minWidth", category = StudioProperty.Category.GENERAL, type = StudioPropertyType.SIZE, options = {"AUTO", "100%"}, required = true), @StudioProperty(xmlAttribute = "columns", category = StudioProperty.Category.GENERAL, type = StudioPropertyType.INTEGER, required = true), @@ -1086,10 +1003,7 @@ interface StudioElements { name = "ResponsiveStep", classFqn = "io.jmix.flowui.component.SupportsResponsiveSteps.ResponsiveStep", xmlElement = "responsiveStep", - propertyGroups = { - StudioPropertyGroups.RequiredMinWidthWithOptions.class, - StudioPropertyGroups.Columns.class - }, + propertyGroups = StudioPropertyGroups.ResponsiveStepDefaultProperties.class, properties = { @StudioProperty(xmlAttribute = "minWidth", category = StudioProperty.Category.GENERAL, type = StudioPropertyType.SIZE, options = {"AUTO", "100%"}, required = true), @StudioProperty(xmlAttribute = "columns", category = StudioProperty.Category.GENERAL, type = StudioPropertyType.INTEGER, required = true), diff --git a/jmix-flowui/flowui-kit/src/main/java/io/jmix/flowui/kit/meta/element/StudioHTMLElements.java b/jmix-flowui/flowui-kit/src/main/java/io/jmix/flowui/kit/meta/element/StudioHTMLElements.java index 4eff24341a..8799477059 100644 --- a/jmix-flowui/flowui-kit/src/main/java/io/jmix/flowui/kit/meta/element/StudioHTMLElements.java +++ b/jmix-flowui/flowui-kit/src/main/java/io/jmix/flowui/kit/meta/element/StudioHTMLElements.java @@ -32,24 +32,7 @@ interface StudioHTMLElements { xmlElement = "description", target = {"com.vaadin.flow.component.html.DescriptionList"}, visible = true, - propertyGroups = { - StudioPropertyGroups.ClassNames.class, - StudioPropertyGroups.ClickShortcut.class, - StudioPropertyGroups.Css.class, - StudioPropertyGroups.EnabledWithTrueDefaultValue.class, - StudioPropertyGroups.Height.class, - StudioPropertyGroups.Id.class, - StudioPropertyGroups.MaxHeight.class, - StudioPropertyGroups.MaxWidth.class, - StudioPropertyGroups.MinHeight.class, - StudioPropertyGroups.MinWidth.class, - StudioPropertyGroups.Text.class, - StudioPropertyGroups.NativeLabelThemeNames.class, - StudioPropertyGroups.Title.class, - StudioPropertyGroups.Visible.class, - StudioPropertyGroups.WhiteSpace.class, - StudioPropertyGroups.Width.class - }, + propertyGroups = StudioPropertyGroups.HtmlTextElementDefaultProperties.class, properties = { @StudioProperty(xmlAttribute = "classNames", category = StudioProperty.Category.LOOK_AND_FEEL, type = StudioPropertyType.VALUES_LIST), @StudioProperty(xmlAttribute = "clickShortcut", type = StudioPropertyType.SHORTCUT_COMBINATION), @@ -83,24 +66,7 @@ interface StudioHTMLElements { xmlElement = "term", target = "com.vaadin.flow.component.html.DescriptionList", visible = true, - propertyGroups = { - StudioPropertyGroups.ClassNames.class, - StudioPropertyGroups.ClickShortcut.class, - StudioPropertyGroups.Css.class, - StudioPropertyGroups.EnabledWithTrueDefaultValue.class, - StudioPropertyGroups.Height.class, - StudioPropertyGroups.Id.class, - StudioPropertyGroups.MaxHeight.class, - StudioPropertyGroups.MaxWidth.class, - StudioPropertyGroups.MinHeight.class, - StudioPropertyGroups.MinWidth.class, - StudioPropertyGroups.Text.class, - StudioPropertyGroups.NativeLabelThemeNames.class, - StudioPropertyGroups.Title.class, - StudioPropertyGroups.Visible.class, - StudioPropertyGroups.WhiteSpace.class, - StudioPropertyGroups.Width.class - }, + propertyGroups = StudioPropertyGroups.HtmlTextElementDefaultProperties.class, properties = { @StudioProperty(xmlAttribute = "classNames", category = StudioProperty.Category.LOOK_AND_FEEL, type = StudioPropertyType.VALUES_LIST), @StudioProperty(xmlAttribute = "clickShortcut", type = StudioPropertyType.SHORTCUT_COMBINATION), diff --git a/jmix-flowui/flowui-kit/src/main/java/io/jmix/flowui/kit/meta/facet/StudioFacets.java b/jmix-flowui/flowui-kit/src/main/java/io/jmix/flowui/kit/meta/facet/StudioFacets.java index 90228ccab7..54688ae89b 100644 --- a/jmix-flowui/flowui-kit/src/main/java/io/jmix/flowui/kit/meta/facet/StudioFacets.java +++ b/jmix-flowui/flowui-kit/src/main/java/io/jmix/flowui/kit/meta/facet/StudioFacets.java @@ -32,12 +32,7 @@ interface StudioFacets { xmlElement = "dataLoadCoordinator", icon = "io/jmix/flowui/kit/meta/icon/facet/dataLoadCoordinator.svg", documentationLink = "%VERSION%/flow-ui/facets/dataLoadCoordinator.html", - propertyGroups = { - StudioPropertyGroups.IdWithoutCategory.class, - StudioPropertyGroups.Auto.class, - StudioPropertyGroups.ComponentPrefix.class, - StudioPropertyGroups.ContainerPrefix.class - }, + propertyGroups = StudioPropertyGroups.DataLoadCoordinatorDefaultProperties.class, properties = { @StudioProperty(xmlAttribute = "id", type = StudioPropertyType.COMPONENT_ID), @StudioProperty(xmlAttribute = "auto", type = StudioPropertyType.BOOLEAN, @@ -57,12 +52,7 @@ interface StudioFacets { xmlElement = "fragmentDataLoadCoordinator", icon = "io/jmix/flowui/kit/meta/icon/facet/dataLoadCoordinator.svg", documentationLink = "%VERSION%/flow-ui/facets/dataLoadCoordinator.html", - propertyGroups = { - StudioPropertyGroups.IdWithoutCategory.class, - StudioPropertyGroups.Auto.class, - StudioPropertyGroups.ComponentPrefix.class, - StudioPropertyGroups.ContainerPrefix.class - }, + propertyGroups = StudioPropertyGroups.DataLoadCoordinatorDefaultProperties.class, properties = { @StudioProperty(xmlAttribute = "id", type = StudioPropertyType.COMPONENT_ID), @StudioProperty(xmlAttribute = "auto", type = StudioPropertyType.BOOLEAN, @@ -109,10 +99,7 @@ interface StudioFacets { category = "Facets", xmlElement = "settings", icon = "io/jmix/flowui/kit/meta/icon/facet/settings.svg", - propertyGroups = { - StudioPropertyGroups.IdWithoutCategory.class, - StudioPropertyGroups.Auto.class - }, + propertyGroups = StudioPropertyGroups.SettingsDefaultProperties.class, properties = { @StudioProperty(xmlAttribute = "id", type = StudioPropertyType.COMPONENT_ID), @StudioProperty(xmlAttribute = "auto", type = StudioPropertyType.BOOLEAN, @@ -127,10 +114,7 @@ interface StudioFacets { category = "Facets", xmlElement = "fragmentSettings", icon = "io/jmix/flowui/kit/meta/icon/facet/settings.svg", - propertyGroups = { - StudioPropertyGroups.IdWithoutCategory.class, - StudioPropertyGroups.Auto.class - }, + propertyGroups = StudioPropertyGroups.SettingsDefaultProperties.class, properties = { @StudioProperty(xmlAttribute = "id", type = StudioPropertyType.COMPONENT_ID), @StudioProperty(xmlAttribute = "auto", type = StudioPropertyType.BOOLEAN, diff --git a/jmix-fullcalendar/fullcalendar-flowui-kit/src/main/java/io/jmix/fullcalendarflowui/kit/meta/StudioFullCalendarActions.java b/jmix-fullcalendar/fullcalendar-flowui-kit/src/main/java/io/jmix/fullcalendarflowui/kit/meta/StudioFullCalendarActions.java index a82d5eb975..755a7fa415 100644 --- a/jmix-fullcalendar/fullcalendar-flowui-kit/src/main/java/io/jmix/fullcalendarflowui/kit/meta/StudioFullCalendarActions.java +++ b/jmix-fullcalendar/fullcalendar-flowui-kit/src/main/java/io/jmix/fullcalendarflowui/kit/meta/StudioFullCalendarActions.java @@ -17,6 +17,7 @@ package io.jmix.fullcalendarflowui.kit.meta; import io.jmix.flowui.kit.meta.*; +import io.jmix.flowui.kit.meta.action.StudioActionPropertyGroups; @StudioUiKit public interface StudioFullCalendarActions { @@ -27,12 +28,7 @@ public interface StudioFullCalendarActions { classFqn = "io.jmix.fullcalendarflowui.action.DaysOfWeekEditAction", icon = "io/jmix/fullcalendarflowui/kit/meta/icon/action/action.svg", documentationLink = "%VERSION%/calendar/full-calendar-component.html#days-of-week-datatype", - propertyGroups = { - StudioPropertyGroups.DescriptionWithoutCategory.class, - StudioPropertyGroups.EnabledWithTrueDefaultValueWithoutCategory.class, - StudioPropertyGroups.ShortcutCombination.class, - StudioPropertyGroups.VisibleWithDefaultValueTrue.class - }, + propertyGroups = StudioActionPropertyGroups.ActionCommonPropertiesWithoutCategory.class, properties = { @StudioProperty(xmlAttribute = "actionVariant", type = StudioPropertyType.ENUMERATION, setMethod = "setVariant", classFqn = "io.jmix.flowui.kit.action.ActionVariant", diff --git a/jmix-fullcalendar/fullcalendar-flowui-kit/src/main/java/io/jmix/fullcalendarflowui/kit/meta/StudioFullCalendarComponents.java b/jmix-fullcalendar/fullcalendar-flowui-kit/src/main/java/io/jmix/fullcalendarflowui/kit/meta/StudioFullCalendarComponents.java index e9c58d345b..62f30fc2e6 100644 --- a/jmix-fullcalendar/fullcalendar-flowui-kit/src/main/java/io/jmix/fullcalendarflowui/kit/meta/StudioFullCalendarComponents.java +++ b/jmix-fullcalendar/fullcalendar-flowui-kit/src/main/java/io/jmix/fullcalendarflowui/kit/meta/StudioFullCalendarComponents.java @@ -35,13 +35,7 @@ public interface StudioFullCalendarComponents { classFqn = "io.jmix.fullcalendarflowui.component.FullCalendar", documentationLink = "%VERSION%/calendar/full-calendar-component.html", icon = "io/jmix/fullcalendarflowui/kit/meta/icon/component/calendar.svg", - propertyGroups = { - StudioPropertyGroups.ClassNamesAndCss.class, - StudioPropertyGroups.IdAndVisible.class, - StudioPropertyGroups.Size.class, - StudioPropertyGroups.AlignSelf.class, - StudioPropertyGroups.Colspan.class - }, + propertyGroups = StudioPropertyGroups.AddonComponentDefaultProperties.class, properties = { @StudioProperty(xmlAttribute = "alignSelf", category = StudioProperty.Category.POSITION, type = StudioPropertyType.ENUMERATION, classFqn = "com.vaadin.flow.component.orderedlayout.FlexComponent$Alignment", diff --git a/jmix-fullcalendar/fullcalendar-flowui-kit/src/main/java/io/jmix/fullcalendarflowui/kit/meta/StudioFullCalendarElements.java b/jmix-fullcalendar/fullcalendar-flowui-kit/src/main/java/io/jmix/fullcalendarflowui/kit/meta/StudioFullCalendarElements.java index 8b841e3c48..836dc1d0fd 100644 --- a/jmix-fullcalendar/fullcalendar-flowui-kit/src/main/java/io/jmix/fullcalendarflowui/kit/meta/StudioFullCalendarElements.java +++ b/jmix-fullcalendar/fullcalendar-flowui-kit/src/main/java/io/jmix/fullcalendarflowui/kit/meta/StudioFullCalendarElements.java @@ -198,13 +198,7 @@ public interface StudioFullCalendarElements { classFqn = "io.jmix.fullcalendarflowui.kit.component.model.DayGridWeekProperties", target = "io.jmix.fullcalendarflowui.kit.meta.element.StudioFullCalendarDisplayModeProperties", icon = "io/jmix/fullcalendarflowui/kit/meta/icon/unknownComponent.svg", - propertyGroups = { - StudioFullCalendarPropertyGroups.DayHeaderFormat.class, - StudioFullCalendarPropertyGroups.DayPopoverFormat.class, - StudioFullCalendarPropertyGroups.EventTimeFormat.class, - StudioFullCalendarPropertyGroups.WeekNumberFormat.class, - StudioFullCalendarPropertyGroups.DisplayEventEndWithFalseDefaultValue.class - }, + propertyGroups = StudioFullCalendarPropertyGroups.DayGridProperties.class, properties = { @StudioProperty(xmlAttribute = "dayHeaderFormat", type = StudioPropertyType.LOCALIZED_STRING), @StudioProperty(xmlAttribute = "dayPopoverFormat", type = StudioPropertyType.LOCALIZED_STRING), @@ -225,13 +219,9 @@ public interface StudioFullCalendarElements { target = "io.jmix.fullcalendarflowui.kit.meta.element.StudioFullCalendarDisplayModeProperties", icon = "io/jmix/fullcalendarflowui/kit/meta/icon/unknownComponent.svg", propertyGroups = { - StudioFullCalendarPropertyGroups.DayHeaderFormat.class, - StudioFullCalendarPropertyGroups.DayPopoverFormat.class, - StudioFullCalendarPropertyGroups.EventTimeFormat.class, - StudioFullCalendarPropertyGroups.WeekNumberFormat.class, + StudioFullCalendarPropertyGroups.DayGridProperties.class, StudioFullCalendarPropertyGroups.FixedWeekCount.class, - StudioFullCalendarPropertyGroups.ShowNonCurrentDates.class, - StudioFullCalendarPropertyGroups.DisplayEventEndWithFalseDefaultValue.class + StudioFullCalendarPropertyGroups.ShowNonCurrentDates.class }, properties = { @StudioProperty(xmlAttribute = "dayHeaderFormat", type = StudioPropertyType.LOCALIZED_STRING), @@ -254,13 +244,7 @@ public interface StudioFullCalendarElements { classFqn = "io.jmix.fullcalendarflowui.kit.component.model.DayGridYearProperties", target = "io.jmix.fullcalendarflowui.kit.meta.element.StudioFullCalendarDisplayModeProperties", icon = "io/jmix/fullcalendarflowui/kit/meta/icon/unknownComponent.svg", - propertyGroups = { - StudioFullCalendarPropertyGroups.DayHeaderFormat.class, - StudioFullCalendarPropertyGroups.DayPopoverFormat.class, - StudioFullCalendarPropertyGroups.EventTimeFormat.class, - StudioFullCalendarPropertyGroups.WeekNumberFormat.class, - StudioFullCalendarPropertyGroups.DisplayEventEndWithFalseDefaultValue.class - }, + propertyGroups = StudioFullCalendarPropertyGroups.DayGridProperties.class, properties = { @StudioProperty(xmlAttribute = "dayHeaderFormat", type = StudioPropertyType.LOCALIZED_STRING), @StudioProperty(xmlAttribute = "dayPopoverFormat", type = StudioPropertyType.LOCALIZED_STRING), @@ -451,10 +435,7 @@ public interface StudioFullCalendarElements { documentationLink = "%VERSION%/calendar/full-calendar-component.html#properties", classFqn = "io.jmix.fullcalendarflowui.kit.meta.group.StudioFullCalendarProperties", icon = "io/jmix/fullcalendarflowui/kit/meta/icon/unknownComponent.svg", - propertyGroups = { - StudioPropertyGroups.RequiredStringName.class, - StudioPropertyGroups.RequiredStringValue.class - }, + propertyGroups = StudioPropertyGroups.RequiredStringNameAndValue.class, properties = { @StudioProperty(xmlAttribute = "name", type = StudioPropertyType.STRING, required = true), @StudioProperty(xmlAttribute = "value", type = StudioPropertyType.STRING, required = true), diff --git a/jmix-fullcalendar/fullcalendar-flowui-kit/src/main/java/io/jmix/fullcalendarflowui/kit/meta/StudioFullCalendarPropertyGroups.java b/jmix-fullcalendar/fullcalendar-flowui-kit/src/main/java/io/jmix/fullcalendarflowui/kit/meta/StudioFullCalendarPropertyGroups.java index d273f6fb13..f620a77c2d 100644 --- a/jmix-fullcalendar/fullcalendar-flowui-kit/src/main/java/io/jmix/fullcalendarflowui/kit/meta/StudioFullCalendarPropertyGroups.java +++ b/jmix-fullcalendar/fullcalendar-flowui-kit/src/main/java/io/jmix/fullcalendarflowui/kit/meta/StudioFullCalendarPropertyGroups.java @@ -353,4 +353,9 @@ public interface TimeGridProperties extends DayPopoverFormat, DayHeaderFormat, W EventTimeFormat, SlotLabelFormat, EventMinHeight, EventShortHeight, SlotEventOverlap, AllDaySlotVisible, DisplayEventEnd { } + + @StudioPropertyGroup + public interface DayGridProperties extends DayHeaderFormat, DayPopoverFormat, EventTimeFormat, + WeekNumberFormat, DisplayEventEndWithFalseDefaultValue { + } } diff --git a/jmix-pivottable/pivottable-flowui-kit/src/main/java/io/jmix/pivottableflowui/kit/meta/StudioPivotTableActions.java b/jmix-pivottable/pivottable-flowui-kit/src/main/java/io/jmix/pivottableflowui/kit/meta/StudioPivotTableActions.java index 0a4567be4f..20cb7228d3 100644 --- a/jmix-pivottable/pivottable-flowui-kit/src/main/java/io/jmix/pivottableflowui/kit/meta/StudioPivotTableActions.java +++ b/jmix-pivottable/pivottable-flowui-kit/src/main/java/io/jmix/pivottableflowui/kit/meta/StudioPivotTableActions.java @@ -17,6 +17,7 @@ package io.jmix.pivottableflowui.kit.meta; import io.jmix.flowui.kit.meta.*; +import io.jmix.flowui.kit.meta.action.StudioActionPropertyGroups; @StudioUiKit(requiredDependencies = "io.jmix.pivottable:jmix-pivottable-flowui-starter") public interface StudioPivotTableActions { @@ -25,12 +26,7 @@ public interface StudioPivotTableActions { type = "pvttbl_showPivotTableAction", description = "Shows the Pivot Table component", classFqn = "io.jmix.pivottableflowui.action.ShowPivotTableAction", - propertyGroups = { - StudioPropertyGroups.DescriptionWithoutCategory.class, - StudioPropertyGroups.EnabledWithTrueDefaultValueWithoutCategory.class, - StudioPropertyGroups.ShortcutCombination.class, - StudioPropertyGroups.VisibleWithDefaultValueTrue.class - }, + propertyGroups = StudioActionPropertyGroups.ActionCommonPropertiesWithoutCategory.class, properties = { @StudioProperty(xmlAttribute = "actionVariant", type = StudioPropertyType.ENUMERATION, setMethod = "setVariant", classFqn = "io.jmix.flowui.kit.action.ActionVariant", @@ -58,4 +54,3 @@ public interface StudioPivotTableActions { ) void showPivotTableAction(); } - diff --git a/jmix-superset/superset-flowui-kit/src/main/java/io/jmix/supersetflowui/kit/meta/StudioSupersetComponents.java b/jmix-superset/superset-flowui-kit/src/main/java/io/jmix/supersetflowui/kit/meta/StudioSupersetComponents.java index 1ba947ba0d..561d439aac 100644 --- a/jmix-superset/superset-flowui-kit/src/main/java/io/jmix/supersetflowui/kit/meta/StudioSupersetComponents.java +++ b/jmix-superset/superset-flowui-kit/src/main/java/io/jmix/supersetflowui/kit/meta/StudioSupersetComponents.java @@ -33,13 +33,7 @@ public interface StudioSupersetComponents { xmlns = "http://jmix.io/schema/superset/ui", xmlnsAlias = "superset", icon = "io/jmix/supersetflowui/kit/meta/icon/supersetDashboard.svg", - propertyGroups = { - StudioPropertyGroups.ClassNamesAndCss.class, - StudioPropertyGroups.IdAndVisible.class, - StudioPropertyGroups.Size.class, - StudioPropertyGroups.AlignSelf.class, - StudioPropertyGroups.Colspan.class - }, + propertyGroups = StudioPropertyGroups.AddonComponentDefaultProperties.class, properties = { @StudioProperty(xmlAttribute = "alignSelf", category = StudioProperty.Category.POSITION, type = StudioPropertyType.ENUMERATION, classFqn = "com.vaadin.flow.component.orderedlayout.FlexComponent$Alignment", From 7becbfc32a088aeb4c75ef49a2bb1d0d85443c30 Mon Sep 17 00:00:00 2001 From: Mikhail Fedoseev Date: Wed, 1 Apr 2026 19:17:54 +0300 Subject: [PATCH 08/10] Simplify components meta-descriptions #5053 --- .../StudioMetaDescriptionGenerator.java | 134 +++++++++--------- 1 file changed, 67 insertions(+), 67 deletions(-) diff --git a/jmix-flowui/flowui-kit/src/main/java/io/jmix/flowui/kit/meta/generator/StudioMetaDescriptionGenerator.java b/jmix-flowui/flowui-kit/src/main/java/io/jmix/flowui/kit/meta/generator/StudioMetaDescriptionGenerator.java index e8241d9b44..7950af6ec4 100644 --- a/jmix-flowui/flowui-kit/src/main/java/io/jmix/flowui/kit/meta/generator/StudioMetaDescriptionGenerator.java +++ b/jmix-flowui/flowui-kit/src/main/java/io/jmix/flowui/kit/meta/generator/StudioMetaDescriptionGenerator.java @@ -69,71 +69,21 @@ */ final class StudioMetaDescriptionGenerator { - static final String XS_NS = "http://www.w3.org/2001/XMLSchema"; - static final String FLOWUI_LAYOUT_NS = "http://jmix.io/schema/flowui/layout"; - static final String FLOWUI_DATA_NS = "http://jmix.io/schema/flowui/data"; - - private static final Set IGNORED_DIRS = Set.of(".git", ".gradle", ".idea", "build", "out"); - private static final Set GENERIC_METHOD_NAMES = Set.of("action", "column", "item", "loader", "property"); - private static final Set LOOK_AND_FEEL_NAMES = Set.of("classNames", "css", "icon", "themeNames"); - private static final Set SIZE_NAMES = Set.of("height", "maxHeight", "maxWidth", "minHeight", "minWidth", "width"); - private static final Set POSITION_NAMES = Set.of("alignSelf", "colspan", "justifySelf", "rowspan"); - private static final Set VALIDATION_NAMES = Set.of( - "allowedCharPattern", "pattern", "errorMessage", "max", "maxLength", - "min", "minLength", "preventInvalidInput", "required", "requiredMessage" - ); - private static final Set AMBIGUOUS_SPECIAL_NAMES = Set.of( - "class", "component", "metaClass", "property", - "container", "dataContainer", "itemsContainer" - ); - private static final Map BUILTIN_TYPE_MAP = Map.ofEntries( - Map.entry("boolean", "BOOLEAN"), - Map.entry("byte", "INTEGER"), - Map.entry("date", "STRING"), - Map.entry("dateTime", "STRING"), - Map.entry("decimal", "BIG_DECIMAL"), - Map.entry("double", "DOUBLE"), - Map.entry("duration", "STRING"), - Map.entry("float", "FLOAT"), - Map.entry("int", "INTEGER"), - Map.entry("integer", "INTEGER"), - Map.entry("language", "STRING"), - Map.entry("long", "LONG"), - Map.entry("NCName", "STRING"), - Map.entry("negativeInteger", "INTEGER"), - Map.entry("nonNegativeInteger", "INTEGER"), - Map.entry("nonPositiveInteger", "INTEGER"), - Map.entry("normalizedString", "STRING"), - Map.entry("positiveInteger", "INTEGER"), - Map.entry("short", "INTEGER"), - Map.entry("string", "STRING"), - Map.entry("time", "STRING"), - Map.entry("token", "STRING"), - Map.entry("unsignedInt", "LONG"), - Map.entry("unsignedLong", "LONG"), - Map.entry("unsignedShort", "INTEGER") - ); - private static final Set DATA_COMPONENT_ELEMENT_NAMES = Set.of( - "instance", "collection", "keyValueInstance", "keyValueCollection" - ); - private static final Pattern JAVA_PACKAGE_PATTERN = - Pattern.compile("^package\\s+([^;]+);$"); - private static final Pattern XMLNS_ALIAS_PATTERN_TEMPLATE = - Pattern.compile("xmlns:([A-Za-z_][A-Za-z0-9_.-]*)=\"%s\""); - private static final Pattern XMLNS_DEFAULT_PATTERN_TEMPLATE = - Pattern.compile("xmlns=\"%s\""); + public static void main(String[] args) throws Exception { + CLI.run(args); + } private final Path schemaSearchRoot; private final XsdRegistry registry; private final StudioPropertyGroupsMatcher propertyGroupsMatcher; - public StudioMetaDescriptionGenerator(Path schemaSearchRoot) { + StudioMetaDescriptionGenerator(Path schemaSearchRoot) { this.schemaSearchRoot = schemaSearchRoot.toAbsolutePath().normalize(); this.registry = new XsdRegistry(this.schemaSearchRoot); this.propertyGroupsMatcher = new StudioPropertyGroupsMatcher(this.schemaSearchRoot); } - public static Path detectWorkspaceRoot(Path workingDirectory) { + static Path detectWorkspaceRoot(Path workingDirectory) { Path current = workingDirectory.toAbsolutePath().normalize(); while (current != null) { if (Files.isDirectory(current.resolve("jmix")) @@ -163,16 +113,16 @@ public static Path detectWorkspaceRoot(Path workingDirectory) { return workingDirectory.toAbsolutePath().normalize(); } - public List findKnownSchemas() { + List findKnownSchemas() { return registry.discoverSchemas(); } - public List findElementCandidates(Path schemaPath, String elementIdentifier) { + List findElementCandidates(Path schemaPath, String elementIdentifier) { Objects.requireNonNull(elementIdentifier, "elementIdentifier"); return registry.findCandidates(resolveAbsolutePath(schemaPath), elementIdentifier); } - public Path getDefaultOutputPath(StudioXsdElementCandidate candidate) { + Path getDefaultOutputPath(StudioXsdElementCandidate candidate) { Path moduleRoot = findModuleRoot(candidate.schemaPath()); if (moduleRoot == null) { throw new IllegalArgumentException("Cannot detect module root for " + candidate.schemaPath()); @@ -194,7 +144,7 @@ public Path getDefaultOutputPath(StudioXsdElementCandidate candidate) { return moduleRoot.resolve("src/main/java").resolve(packagePath).resolve(fileName).normalize(); } - public StudioMetaGenerationResult generate(StudioXsdElementCandidate candidate, + StudioMetaGenerationResult generate(StudioXsdElementCandidate candidate, StudioMetaKind forcedKind, @Nullable Path outputPath) { GeneratedMeta meta = createGeneratedMeta(candidate, forcedKind); @@ -212,7 +162,7 @@ public StudioMetaGenerationResult generate(StudioXsdElementCandidate candidate, return new StudioMetaGenerationResult(resolvedOutputPath, source, metaWithUniqueMethod.kind(), metaWithUniqueMethod.headerTodos()); } - public StudioMetaGenerationResult write(StudioXsdElementCandidate candidate, + StudioMetaGenerationResult write(StudioXsdElementCandidate candidate, StudioMetaKind forcedKind, @Nullable Path outputPath) throws IOException { GeneratedMeta meta = createGeneratedMeta(candidate, forcedKind); @@ -1832,10 +1782,10 @@ private String relativize(Path base, Path path) { } } - static final class Cli { + static final class CLI { - public static void main(String[] args) throws Exception { - CliArguments cliArguments = CliArguments.parse(args); + static void run(String[] args) throws IOException { + CLI.CliArguments cliArguments = CLI.CliArguments.parse(args); Path workspaceRoot = resolvePath(cliArguments.root()); StudioMetaDescriptionGenerator generator = new StudioMetaDescriptionGenerator(workspaceRoot); @@ -1909,10 +1859,6 @@ private static String prompt(BufferedReader reader, String message, @Nullable St } } - private static Path resolveOutputPath(String outputValue) { - return resolvePath(outputValue); - } - private static Path resolvePath(String pathValue) { Path path = Path.of(pathValue); if (!path.isAbsolute()) { @@ -1979,4 +1925,58 @@ private static StudioMetaKind parseKind(String rawKind) { } } } + + static final String XS_NS = "http://www.w3.org/2001/XMLSchema"; + static final String FLOWUI_LAYOUT_NS = "http://jmix.io/schema/flowui/layout"; + static final String FLOWUI_DATA_NS = "http://jmix.io/schema/flowui/data"; + + private static final Set IGNORED_DIRS = Set.of(".git", ".gradle", ".idea", "build", "out"); + private static final Set GENERIC_METHOD_NAMES = Set.of("action", "column", "item", "loader", "property"); + private static final Set LOOK_AND_FEEL_NAMES = Set.of("classNames", "css", "icon", "themeNames"); + private static final Set SIZE_NAMES = Set.of("height", "maxHeight", "maxWidth", "minHeight", "minWidth", "width"); + private static final Set POSITION_NAMES = Set.of("alignSelf", "colspan", "justifySelf", "rowspan"); + private static final Set VALIDATION_NAMES = Set.of( + "allowedCharPattern", "pattern", "errorMessage", "max", "maxLength", + "min", "minLength", "preventInvalidInput", "required", "requiredMessage" + ); + private static final Set AMBIGUOUS_SPECIAL_NAMES = Set.of( + "class", "component", "metaClass", "property", + "container", "dataContainer", "itemsContainer" + ); + private static final Map BUILTIN_TYPE_MAP = Map.ofEntries( + Map.entry("boolean", "BOOLEAN"), + Map.entry("byte", "INTEGER"), + Map.entry("date", "STRING"), + Map.entry("dateTime", "STRING"), + Map.entry("decimal", "BIG_DECIMAL"), + Map.entry("double", "DOUBLE"), + Map.entry("duration", "STRING"), + Map.entry("float", "FLOAT"), + Map.entry("int", "INTEGER"), + Map.entry("integer", "INTEGER"), + Map.entry("language", "STRING"), + Map.entry("long", "LONG"), + Map.entry("NCName", "STRING"), + Map.entry("negativeInteger", "INTEGER"), + Map.entry("nonNegativeInteger", "INTEGER"), + Map.entry("nonPositiveInteger", "INTEGER"), + Map.entry("normalizedString", "STRING"), + Map.entry("positiveInteger", "INTEGER"), + Map.entry("short", "INTEGER"), + Map.entry("string", "STRING"), + Map.entry("time", "STRING"), + Map.entry("token", "STRING"), + Map.entry("unsignedInt", "LONG"), + Map.entry("unsignedLong", "LONG"), + Map.entry("unsignedShort", "INTEGER") + ); + private static final Set DATA_COMPONENT_ELEMENT_NAMES = Set.of( + "instance", "collection", "keyValueInstance", "keyValueCollection" + ); + private static final Pattern JAVA_PACKAGE_PATTERN = + Pattern.compile("^package\\s+([^;]+);$"); + private static final Pattern XMLNS_ALIAS_PATTERN_TEMPLATE = + Pattern.compile("xmlns:([A-Za-z_][A-Za-z0-9_.-]*)=\"%s\""); + private static final Pattern XMLNS_DEFAULT_PATTERN_TEMPLATE = + Pattern.compile("xmlns=\"%s\""); } From 57c5d131a503751e33a6322ff5cd5df083b6a51f Mon Sep 17 00:00:00 2001 From: Mikhail Fedoseev Date: Wed, 1 Apr 2026 19:35:48 +0300 Subject: [PATCH 09/10] Simplify components meta-descriptions #5053 --- .../kit/meta/component/StudioComponents.java | 4 +- .../kit/meta/element/StudioDataElements.java | 9 +- .../elementsgroup/StudioElementsGroups.java | 8 +- .../StudioMetaDescriptionGeneratorTest.groovy | 252 +++++++++++++----- 4 files changed, 186 insertions(+), 87 deletions(-) diff --git a/jmix-flowui/flowui-kit/src/main/java/io/jmix/flowui/kit/meta/component/StudioComponents.java b/jmix-flowui/flowui-kit/src/main/java/io/jmix/flowui/kit/meta/component/StudioComponents.java index e3b9a24db8..fba539fa6f 100644 --- a/jmix-flowui/flowui-kit/src/main/java/io/jmix/flowui/kit/meta/component/StudioComponents.java +++ b/jmix-flowui/flowui-kit/src/main/java/io/jmix/flowui/kit/meta/component/StudioComponents.java @@ -68,6 +68,7 @@ import io.jmix.flowui.kit.meta.component.preview.StudioGenericComponentPreview; @StudioUiKit +@SuppressWarnings("rawtypes") interface StudioComponents { @StudioComponent( @@ -1023,8 +1024,7 @@ interface StudioComponents { category = "Components", xmlElement = "userMenu", icon = "io/jmix/flowui/kit/meta/icon/mainview/userIndicator.svg", - // TODO: gg, add link when available -// documentationLink = "%VERSION%/flow-ui/vc/components/userMenu.html", + documentationLink = "%VERSION%/flow-ui/vc/components/userMenu.html", propertyGroups = { StudioPropertyGroups.Id.class, StudioPropertyGroups.EnabledWithTrueDefaultValue.class, diff --git a/jmix-flowui/flowui-kit/src/main/java/io/jmix/flowui/kit/meta/element/StudioDataElements.java b/jmix-flowui/flowui-kit/src/main/java/io/jmix/flowui/kit/meta/element/StudioDataElements.java index e30e7ef477..1928ba288c 100644 --- a/jmix-flowui/flowui-kit/src/main/java/io/jmix/flowui/kit/meta/element/StudioDataElements.java +++ b/jmix-flowui/flowui-kit/src/main/java/io/jmix/flowui/kit/meta/element/StudioDataElements.java @@ -161,7 +161,8 @@ interface StudioDataElements { xmlElement = "property", icon = "io/jmix/flowui/kit/meta/icon/element/property.svg", propertyGroups = { - StudioPropertyGroups.EntityClass.class + StudioPropertyGroups.EntityClass.class, + StudioPropertyGroups.RequiredStringName.class }, properties = { @StudioProperty(xmlAttribute = "name", type = StudioPropertyType.STRING, required = true), @@ -200,9 +201,6 @@ interface StudioDataElements { classFqn = "io.jmix.flowui.facet.dataloadcoordinator.OnComponentValueChangedLoadTrigger", xmlElement = "onComponentValueChanged", icon = "io/jmix/flowui/kit/meta/icon/element/onComponentValueChangedLoadTrigger.svg", - propertyGroups = { - StudioPropertyGroups.Param.class - }, properties = { @StudioProperty(xmlAttribute = "param", type = StudioPropertyType.STRING), @StudioProperty(xmlAttribute = "likeClause", type = StudioPropertyType.ENUMERATION, @@ -217,9 +215,6 @@ interface StudioDataElements { classFqn = "io.jmix.flowui.facet.dataloadcoordinator.OnContainerItemChangedLoadTrigger", xmlElement = "onContainerItemChanged", icon = "io/jmix/flowui/kit/meta/icon/element/onContainerItemChangedLoadTrigger.svg", - propertyGroups = { - StudioPropertyGroups.Param.class - }, properties = { @StudioProperty(xmlAttribute = "param", type = StudioPropertyType.STRING), @StudioProperty(xmlAttribute = "container", type = StudioPropertyType.COLLECTION_OR_INSTANCE_DATA_CONTAINER_REF, required = true) diff --git a/jmix-flowui/flowui-kit/src/main/java/io/jmix/flowui/kit/meta/elementsgroup/StudioElementsGroups.java b/jmix-flowui/flowui-kit/src/main/java/io/jmix/flowui/kit/meta/elementsgroup/StudioElementsGroups.java index ee4dd5a628..0beec5eb28 100644 --- a/jmix-flowui/flowui-kit/src/main/java/io/jmix/flowui/kit/meta/elementsgroup/StudioElementsGroups.java +++ b/jmix-flowui/flowui-kit/src/main/java/io/jmix/flowui/kit/meta/elementsgroup/StudioElementsGroups.java @@ -76,8 +76,8 @@ interface StudioElementsGroups { name = "Items", elementClassFqn = "io.jmix.flowui.kit.component.usermenu.UserMenuItem", xmlElement = "items", - target = {"io.jmix.flowui.component.usermenu.UserMenu"} -// documentationLink = "%VERSION%/flow-ui/vc/components/dropdownButton.html#_elements" + target = {"io.jmix.flowui.component.usermenu.UserMenu"}, + documentationLink = "%VERSION%/flow-ui/vc/components/dropdownButton.html#_elements" ) void userMenuItems(); @@ -90,8 +90,8 @@ interface StudioElementsGroups { "io.jmix.flowui.kit.component.stub.UserMenuStubSeparatorItem", "io.jmix.flowui.kit.component.usermenu.ActionUserMenuItem", "io.jmix.flowui.component.usermenu.ViewUserMenuItem" - } -// documentationLink = "%VERSION%/flow-ui/vc/components/dropdownButton.html#_elements" + }, + documentationLink = "%VERSION%/flow-ui/vc/components/dropdownButton.html#_elements" ) void userMenuItemItems(); diff --git a/jmix-flowui/flowui/src/test/groovy/io/jmix/flowui/kit/meta/generator/StudioMetaDescriptionGeneratorTest.groovy b/jmix-flowui/flowui/src/test/groovy/io/jmix/flowui/kit/meta/generator/StudioMetaDescriptionGeneratorTest.groovy index 72745a8328..3c370724c5 100644 --- a/jmix-flowui/flowui/src/test/groovy/io/jmix/flowui/kit/meta/generator/StudioMetaDescriptionGeneratorTest.groovy +++ b/jmix-flowui/flowui/src/test/groovy/io/jmix/flowui/kit/meta/generator/StudioMetaDescriptionGeneratorTest.groovy @@ -16,6 +16,11 @@ package io.jmix.flowui.kit.meta.generator +import io.jmix.flowui.kit.meta.StudioAction +import io.jmix.flowui.kit.meta.StudioComponent +import io.jmix.flowui.kit.meta.StudioDataComponent +import io.jmix.flowui.kit.meta.StudioElement +import io.jmix.flowui.kit.meta.StudioFacet import io.jmix.flowui.kit.meta.StudioPropertyGroups import spock.lang.Shared import spock.lang.Specification @@ -28,40 +33,14 @@ import java.util.regex.Pattern class StudioMetaDescriptionGeneratorTest extends Specification { - private static final String LAYOUT_XSD = - 'jmix/jmix-flowui/flowui/src/main/resources/io/jmix/flowui/view/layout.xsd' - private static final String DATA_XSD = - 'jmix/jmix-flowui/flowui/src/main/resources/io/jmix/flowui/view/data.xsd' - - private static final String STUDIO_COMPONENTS_SOURCE = - 'jmix/jmix-flowui/flowui-kit/src/main/java/io/jmix/flowui/kit/meta/component/StudioComponents.java' - private static final String STUDIO_ELEMENTS_SOURCE = - 'jmix/jmix-flowui/flowui-kit/src/main/java/io/jmix/flowui/kit/meta/element/StudioElements.java' - private static final String STUDIO_ACTIONS_SOURCE = - 'jmix/jmix-flowui/flowui-kit/src/main/java/io/jmix/flowui/kit/meta/action/StudioActions.java' - private static final String STUDIO_DATA_COMPONENTS_SOURCE = - 'jmix/jmix-flowui/flowui-kit/src/main/java/io/jmix/flowui/kit/meta/datacomponent/StudioDataComponents.java' - private static final String STUDIO_FACETS_SOURCE = - 'jmix/jmix-flowui/flowui-kit/src/main/java/io/jmix/flowui/kit/meta/facet/StudioFacets.java' - private static final String TEST_META_DESCRIPTIONS_SOURCE = - 'jmix/jmix-flowui/flowui/src/test/java/io/jmix/flowui/kit/meta/generator/TestStudioMetaDescriptions.java' - - private static final List SUPPORTED_META_ANNOTATIONS = [ - 'StudioFacet', - 'StudioComponent', - 'StudioElement', - 'StudioAction', - 'StudioDataComponent' - ].asImmutable() - @Shared Path workspaceRoot = StudioMetaDescriptionGenerator.detectWorkspaceRoot(Path.of('').toAbsolutePath()) @Shared - Path layoutXsd = workspaceRoot.resolve(LAYOUT_XSD).normalize() + Path layoutXsd = requiredClasspathResource(LAYOUT_SCHEMA_RESOURCE) @Shared - Path dataXsd = workspaceRoot.resolve(DATA_XSD).normalize() + Path dataXsd = requiredClasspathResource(DATA_SCHEMA_RESOURCE) @Shared StudioMetaDescriptionGenerator generator = new StudioMetaDescriptionGenerator(workspaceRoot) @@ -71,24 +50,20 @@ class StudioMetaDescriptionGeneratorTest extends Specification { def "test generated dataLoadCoordinator meta matches exact fixture property group"() { when: - def generatedMeta = generateMeta(layoutXsd, 'dataLoadCoordinator') { candidate -> - candidate.contextNames().contains('facets') - } + def generatedMeta = generateFacetMeta('dataLoadCoordinator') then: - generatedMeta.toComparableMap() == expectedMeta(TEST_META_DESCRIPTIONS_SOURCE, 'dataLoadCoordinator').toComparableMap() + generatedMeta.toComparableMap() == expectedMeta(TestStudioMetaDescriptions, 'dataLoadCoordinator').toComparableMap() generatedMeta.propertyGroups == [TestStudioMetaPropertyGroups.DataLoadCoordinatorGeneratedProperties.canonicalName] - !generatedMeta.propertyGroups.contains(StudioPropertyGroups.Auto.canonicalName) + !containsPropertyGroup(generatedMeta.propertyGroups, StudioPropertyGroups.Auto) } def "test generated timer meta uses only exact property groups"() { when: - def generatedMeta = generateMeta(layoutXsd, 'timer') { candidate -> - candidate.contextNames().contains('facets') - } + def generatedMeta = generateFacetMeta('timer') then: - propertyShape(generatedMeta.properties) == propertyShape(expectedMeta(STUDIO_FACETS_SOURCE, 'timer').properties) + propertyShape(generatedMeta.properties) == propertyShape(expectedMeta(STUDIO_FACETS_CLASS_NAME, 'timer').properties) generatedMeta.propertyGroups == [StudioPropertyGroups.RequiredId.canonicalName] !generatedMeta.propertyGroups.contains(TestStudioMetaPropertyGroups.TimerPropertiesWithDifferentRepeatingDefaultValue.canonicalName) } @@ -96,60 +71,72 @@ class StudioMetaDescriptionGeneratorTest extends Specification { def "test generated avatar meta matches existing StudioComponents description"() { when: def generatedMeta = generateMeta(layoutXsd, 'avatar') { true } - def expectedMeta = expectedMeta(STUDIO_COMPONENTS_SOURCE, 'avatar') + def expectedMeta = expectedMeta(STUDIO_COMPONENTS_CLASS_NAME, 'avatar') then: generatedMeta.kind == expectedMeta.kind generatedMeta.xmlElement == expectedMeta.xmlElement propertyAttributes(generatedMeta.properties) == propertyAttributes(expectedMeta.properties) - generatedMeta.propertyGroups.contains(StudioPropertyGroups.ClassNamesAndCss.canonicalName) - generatedMeta.propertyGroups.contains(StudioPropertyGroups.ThemeNames.canonicalName) + containsPropertyGroup(generatedMeta.propertyGroups, StudioPropertyGroups.ClassNamesAndCss) + containsPropertyGroup(generatedMeta.propertyGroups, StudioPropertyGroups.ThemeNames) } def "test generated accordionPanel meta matches existing StudioElements description"() { when: def generatedMeta = generateMeta(layoutXsd, 'accordionPanel') { true } - def expectedMeta = expectedMeta(STUDIO_ELEMENTS_SOURCE, 'accordionPanel') + def expectedMeta = expectedMeta(STUDIO_ELEMENTS_CLASS_NAME, 'accordionPanel') then: generatedMeta.kind == expectedMeta.kind generatedMeta.xmlElement == expectedMeta.xmlElement propertyAttributes(generatedMeta.properties).containsAll(propertyAttributes(expectedMeta.properties)) - generatedMeta.propertyGroups.contains(StudioPropertyGroups.Colspan.canonicalName) - generatedMeta.propertyGroups.contains(StudioPropertyGroups.Enabled.canonicalName) + containsPropertyGroup(generatedMeta.propertyGroups, StudioPropertyGroups.Colspan) + containsPropertyGroup(generatedMeta.propertyGroups, StudioPropertyGroups.Enabled) } def "test generated view action reuses common StudioActions defaults"() { given: - def expectedBaseAction = expectedMeta(STUDIO_ACTIONS_SOURCE, 'baseAction') + def expectedBaseAction = expectedMeta(STUDIO_ACTIONS_CLASS_NAME, "baseAction") when: - def generatedMeta = generateMeta(layoutXsd, 'action') { candidate -> - candidate.contextNames().contains('viewActions') - } + def generatedMeta = generateViewActionMeta(VIEW_ACTION_XML_ELEMENT) then: generatedMeta.kind == StudioMetaKind.ACTION - generatedMeta.xmlElement == 'action' - propertyAttributes(generatedMeta.properties).containsAll(propertyAttributes(expectedBaseAction.properties) + ['type']) - generatedMeta.propertyGroups.contains(StudioPropertyGroups.RequiredId.canonicalName) - generatedMeta.propertyGroups.contains(StudioPropertyGroups.Text.canonicalName) - generatedMeta.propertyGroups.any { it.endsWith('.Description') || it.endsWith('.DescriptionWithoutCategory') } + generatedMeta.xmlElement == VIEW_ACTION_XML_ELEMENT + propertyAttributes(generatedMeta.properties).containsAll( + propertyAttributes(expectedBaseAction.properties) + [ACTION_TYPE_XML_ATTRIBUTE] + ) + containsPropertyGroup(generatedMeta.propertyGroups, StudioPropertyGroups.RequiredId) + containsPropertyGroup(generatedMeta.propertyGroups, StudioPropertyGroups.Text) + containsAnyPropertyGroup(generatedMeta.propertyGroups, + StudioPropertyGroups.Description, + StudioPropertyGroups.DescriptionWithoutCategory) } def "test generated collection data component matches existing StudioDataComponents description"() { when: - def generatedMeta = generateMeta(dataXsd, 'collection') { candidate -> - candidate.contextNames().contains('viewData') - } - def expectedMeta = expectedMeta(STUDIO_DATA_COMPONENTS_SOURCE, 'collection') + def generatedMeta = generateViewDataMeta('collection') + def expectedMeta = expectedMeta(STUDIO_DATA_COMPONENTS_CLASS_NAME, 'collection') then: generatedMeta.kind == expectedMeta.kind generatedMeta.xmlElement == expectedMeta.xmlElement propertyAttributes(generatedMeta.properties) == propertyAttributes(expectedMeta.properties) - generatedMeta.propertyGroups.contains(StudioPropertyGroups.RequiredId.canonicalName) - generatedMeta.propertyGroups.contains(StudioPropertyGroups.EntityClass.canonicalName) + containsPropertyGroup(generatedMeta.propertyGroups, StudioPropertyGroups.RequiredId) + containsPropertyGroup(generatedMeta.propertyGroups, StudioPropertyGroups.EntityClass) + } + + private MetaProjection generateFacetMeta(String elementName) { + generateMeta(layoutXsd, elementName, candidateInContext(FACETS_CONTEXT)) + } + + private MetaProjection generateViewActionMeta(String elementName) { + generateMeta(layoutXsd, elementName, candidateInContext(VIEW_ACTIONS_CONTEXT)) + } + + private MetaProjection generateViewDataMeta(String elementName) { + generateMeta(dataXsd, elementName, candidateInContext(VIEW_DATA_CONTEXT)) } private MetaProjection generateMeta(Path schemaPath, @@ -170,8 +157,19 @@ class StudioMetaDescriptionGeneratorTest extends Specification { candidates.first() } - private MetaProjection expectedMeta(String relativeSourcePath, String methodName) { - Path sourcePath = workspaceRoot.resolve(relativeSourcePath).normalize() + private static Closure candidateInContext(String contextName) { + return { StudioXsdElementCandidate candidate -> candidate.contextNames().contains(contextName) } + } + + private MetaProjection expectedMeta(Class sourceClass, String methodName) { + expectedMeta(sourcePathOf(sourceClass), methodName) + } + + private MetaProjection expectedMeta(String sourceClassName, String methodName) { + expectedMeta(sourcePathOf(sourceClassName), methodName) + } + + private MetaProjection expectedMeta(Path sourcePath, String methodName) { String source = Files.readString(sourcePath, StandardCharsets.UTF_8) parseMetaSource(source, methodName, sourcePath.fileName.toString().replaceFirst(/\.java$/, '')) } @@ -494,7 +492,7 @@ class StudioMetaDescriptionGeneratorTest extends Specification { private Map> buildJavaClassIndex() { Map> index = [:].withDefault { [] } - [workspaceRoot.resolve('jmix'), workspaceRoot.resolve('jmix-premium')].findAll { Files.isDirectory(it) }.each { root -> + repositoryRoots().findAll { Files.isDirectory(it) }.each { root -> Files.walk(root) .filter { path -> path.toString().endsWith('.java') } .forEach { Path path -> @@ -512,6 +510,67 @@ class StudioMetaDescriptionGeneratorTest extends Specification { index } + private List repositoryRoots() { + [ + workspaceRoot.resolve(OPEN_SOURCE_REPOSITORY_DIRECTORY), + workspaceRoot.resolve(PREMIUM_REPOSITORY_DIRECTORY) + ].collect { it.normalize() } + } + + private static Path requiredClasspathResource(String resourcePath) { + URL resource = StudioMetaDescriptionGeneratorTest.classLoader.getResource(resourcePath) + assert resource != null: "Classpath resource ${resourcePath} not found" + Path.of(resource.toURI()) + } + + private static Path sourcePathOf(String className) { + sourcePathOf(loadSourceClass(className)) + } + + private static Path sourcePathOf(Class sourceClass) { + Path compiledClassRoot = Path.of(sourceClass.protectionDomain.codeSource.location.toURI()) + Path buildDirectory = findAncestor(compiledClassRoot, BUILD_DIRECTORY) + assert buildDirectory != null: "Cannot resolve build directory for ${sourceClass.name}" + + Path moduleRoot = buildDirectory.parent + String relativeSourcePath = sourceClass.name.replace('.', '/') + '.java' + List preferredSourceSets = compiledClassRoot.fileName?.toString() == 'test' + ? TEST_SOURCE_SETS + MAIN_SOURCE_SETS + : MAIN_SOURCE_SETS + TEST_SOURCE_SETS + + Path sourcePath = preferredSourceSets.stream() + .map { sourceSet -> moduleRoot.resolve(sourceSet).resolve(relativeSourcePath).normalize() } + .filter { Files.exists(it) } + .findFirst() + .orElse(null) + + assert sourcePath != null: "Cannot resolve source path for ${sourceClass.name}" + sourcePath + } + + private static Class loadSourceClass(String className) { + Class.forName(className, false, StudioMetaDescriptionGeneratorTest.classLoader) + } + + private static Path findAncestor(Path path, String directoryName) { + Path current = path + while (current != null) { + if (current.fileName?.toString() == directoryName) { + return current + } + current = current.parent + } + null + } + + private static boolean containsPropertyGroup(List propertyGroups, Class propertyGroup) { + propertyGroups.contains(propertyGroup.canonicalName) + } + + private static boolean containsAnyPropertyGroup(List propertyGroups, Class... propertyGroupsToCheck) { + propertyGroupsToCheck.any { containsPropertyGroup(propertyGroups, it) } + } + private static String stripComments(String source) { source .replaceAll(/(?s)\/\*.*?\*\//, '') @@ -605,20 +664,11 @@ class StudioMetaDescriptionGeneratorTest extends Specification { } private static StudioMetaKind metaKind(String annotationName) { - switch (annotationName) { - case 'StudioFacet': - return StudioMetaKind.FACET - case 'StudioComponent': - return StudioMetaKind.COMPONENT - case 'StudioElement': - return StudioMetaKind.ELEMENT - case 'StudioAction': - return StudioMetaKind.ACTION - case 'StudioDataComponent': - return StudioMetaKind.DATA_COMPONENT - default: - throw new IllegalArgumentException("Unsupported meta annotation: ${annotationName}") + StudioMetaKind metaKind = META_KIND_BY_ANNOTATION[annotationName] + if (metaKind == null) { + throw new IllegalArgumentException("Unsupported meta annotation: ${annotationName}") } + metaKind } private static final class AnnotationParseResult { @@ -668,4 +718,58 @@ class StudioMetaDescriptionGeneratorTest extends Specification { ] } } + + private static final String BUILD_DIRECTORY = 'build' + + private static final String OPEN_SOURCE_REPOSITORY_DIRECTORY = 'jmix' + private static final String PREMIUM_REPOSITORY_DIRECTORY = 'jmix-premium' + + private static final String MAIN_JAVA_SOURCE_SET = 'src/main/java' + private static final String MAIN_GROOVY_SOURCE_SET = 'src/main/groovy' + private static final String TEST_JAVA_SOURCE_SET = 'src/test/java' + private static final String TEST_GROOVY_SOURCE_SET = 'src/test/groovy' + + private static final String FLOW_RESOURCES__BASE_DIR = 'io/jmix/flowui/view/' + private static final String LAYOUT_SCHEMA_RESOURCE = FLOW_RESOURCES__BASE_DIR + 'layout.xsd' + private static final String DATA_SCHEMA_RESOURCE = FLOW_RESOURCES__BASE_DIR + 'data.xsd' + + private static final String FACETS_CONTEXT = 'facets' + private static final String VIEW_ACTIONS_CONTEXT = 'viewActions' + private static final String VIEW_DATA_CONTEXT = 'viewData' + + private static final String ACTION_TYPE_XML_ATTRIBUTE = 'type' + private static final String VIEW_ACTION_XML_ELEMENT = 'action' + + // use string fqn because interfaces are package-private + private static final String STUDIO_COMPONENTS_CLASS_NAME = + 'io.jmix.flowui.kit.meta.component.StudioComponents' + private static final String STUDIO_ELEMENTS_CLASS_NAME = + 'io.jmix.flowui.kit.meta.element.StudioElements' + private static final String STUDIO_ACTIONS_CLASS_NAME = + 'io.jmix.flowui.kit.meta.action.StudioActions' + private static final String STUDIO_DATA_COMPONENTS_CLASS_NAME = + 'io.jmix.flowui.kit.meta.datacomponent.StudioDataComponents' + private static final String STUDIO_FACETS_CLASS_NAME = + 'io.jmix.flowui.kit.meta.facet.StudioFacets' + + private static final Map META_KIND_BY_ANNOTATION = [ + (StudioFacet.simpleName) : StudioMetaKind.FACET, + (StudioComponent.simpleName) : StudioMetaKind.COMPONENT, + (StudioElement.simpleName) : StudioMetaKind.ELEMENT, + (StudioAction.simpleName) : StudioMetaKind.ACTION, + (StudioDataComponent.simpleName): StudioMetaKind.DATA_COMPONENT + ].asImmutable() + + private static final List SUPPORTED_META_ANNOTATIONS = + META_KIND_BY_ANNOTATION.keySet().asList().asImmutable() + + private static final List TEST_SOURCE_SETS = [ + TEST_JAVA_SOURCE_SET, + TEST_GROOVY_SOURCE_SET + ].asImmutable() + + private static final List MAIN_SOURCE_SETS = [ + MAIN_JAVA_SOURCE_SET, + MAIN_GROOVY_SOURCE_SET + ].asImmutable() } From a79e1b17a93d67ce9102a107697447a598d6187f Mon Sep 17 00:00:00 2001 From: Mikhail Fedoseev Date: Wed, 1 Apr 2026 20:02:15 +0300 Subject: [PATCH 10/10] Simplify components meta-descriptions #5053 --- .../kit/meta/StudioChartsComponents.java | 9 +- .../kit/meta/StudioChartsElements.java | 278 ++---------- .../kit/meta/StudioChartsPropertyGroups.java | 23 + .../flowui/kit/meta/StudioPropertyGroups.java | 45 ++ .../action/StudioActionPropertyGroups.java | 6 + .../kit/meta/component/StudioComponents.java | 406 +++--------------- .../meta/component/StudioHTMLComponents.java | 60 +-- .../kit/meta/component/StudioLayouts.java | 15 +- .../kit/meta/element/StudioElements.java | 124 ++---- .../meta/element/StudioMainViewElements.java | 3 +- .../component/StudioSearchComponents.java | 19 +- 11 files changed, 210 insertions(+), 778 deletions(-) diff --git a/jmix-charts/charts-flowui-kit/src/main/java/io/jmix/chartsflowui/kit/meta/StudioChartsComponents.java b/jmix-charts/charts-flowui-kit/src/main/java/io/jmix/chartsflowui/kit/meta/StudioChartsComponents.java index 83f7f61e1c..6d68c2da2e 100644 --- a/jmix-charts/charts-flowui-kit/src/main/java/io/jmix/chartsflowui/kit/meta/StudioChartsComponents.java +++ b/jmix-charts/charts-flowui-kit/src/main/java/io/jmix/chartsflowui/kit/meta/StudioChartsComponents.java @@ -34,14 +34,7 @@ public interface StudioChartsComponents { StudioPropertyGroups.IdAndVisible.class, StudioPropertyGroups.Size.class, StudioPropertyGroups.AlignSelf.class, - StudioChartsPropertyGroups.Animation.class, - StudioChartsPropertyGroups.AnimationThreshold.class, - StudioChartsPropertyGroups.AnimationDuration.class, - StudioChartsPropertyGroups.AnimationEasing.class, - StudioChartsPropertyGroups.AnimationDelay.class, - StudioChartsPropertyGroups.AnimationDurationUpdate.class, - StudioChartsPropertyGroups.AnimationEasingUpdate.class, - StudioChartsPropertyGroups.AnimationDelayUpdate.class, + StudioChartsPropertyGroups.AnimationDefaultProperties.class, StudioPropertyGroups.Colspan.class }, properties = { diff --git a/jmix-charts/charts-flowui-kit/src/main/java/io/jmix/chartsflowui/kit/meta/StudioChartsElements.java b/jmix-charts/charts-flowui-kit/src/main/java/io/jmix/chartsflowui/kit/meta/StudioChartsElements.java index c7475b4305..4a85f58dde 100644 --- a/jmix-charts/charts-flowui-kit/src/main/java/io/jmix/chartsflowui/kit/meta/StudioChartsElements.java +++ b/jmix-charts/charts-flowui-kit/src/main/java/io/jmix/chartsflowui/kit/meta/StudioChartsElements.java @@ -3283,18 +3283,8 @@ public interface StudioChartsElements { propertyGroups = { StudioChartsPropertyGroups.Snap.class, StudioChartsPropertyGroups.IntegerZ.class, - StudioChartsPropertyGroups.Animation.class, - StudioChartsPropertyGroups.AnimationThreshold.class, - StudioChartsPropertyGroups.AnimationDuration.class, - StudioChartsPropertyGroups.AnimationDurationFunction.class, - StudioChartsPropertyGroups.AnimationEasing.class, - StudioChartsPropertyGroups.AnimationDelay.class, - StudioChartsPropertyGroups.AnimationDelayFunction.class, - StudioChartsPropertyGroups.AnimationDurationUpdate.class, - StudioChartsPropertyGroups.AnimationDurationUpdateFunction.class, - StudioChartsPropertyGroups.AnimationEasingUpdate.class, - StudioChartsPropertyGroups.AnimationDelayUpdate.class, - StudioChartsPropertyGroups.AnimationDelayUpdateFunction.class + StudioChartsPropertyGroups.AnimationDefaultProperties.class, + StudioChartsPropertyGroups.AnimationFunctionDefaultProperties.class }, properties = { @StudioProperty(xmlAttribute = "type", type = StudioPropertyType.ENUMERATION, @@ -4036,9 +4026,7 @@ public interface StudioChartsElements { unlimitedCount = false, icon = "io/jmix/chartsflowui/kit/meta/icon/unknownComponent.svg", propertyGroups = { - StudioChartsPropertyGroups.Interval.class, - StudioChartsPropertyGroups.IntervalFunction.class, - StudioChartsPropertyGroups.Show.class + StudioChartsPropertyGroups.SplitDefaultProperties.class }, properties = { @StudioProperty(xmlAttribute = "interval", type = StudioPropertyType.INTEGER), @@ -4167,9 +4155,7 @@ public interface StudioChartsElements { unlimitedCount = false, icon = "io/jmix/chartsflowui/kit/meta/icon/unknownComponent.svg", propertyGroups = { - StudioChartsPropertyGroups.Show.class, - StudioChartsPropertyGroups.Interval.class, - StudioChartsPropertyGroups.IntervalFunction.class + StudioChartsPropertyGroups.SplitDefaultProperties.class }, properties = { @StudioProperty(xmlAttribute = "show", type = StudioPropertyType.BOOLEAN), @@ -4210,9 +4196,7 @@ public interface StudioChartsElements { unlimitedCount = false, icon = "io/jmix/chartsflowui/kit/meta/icon/unknownComponent.svg", propertyGroups = { - StudioChartsPropertyGroups.Show.class, - StudioChartsPropertyGroups.Interval.class, - StudioChartsPropertyGroups.IntervalFunction.class, + StudioChartsPropertyGroups.SplitDefaultProperties.class, StudioChartsPropertyGroups.Inside.class, StudioChartsPropertyGroups.Rotate.class, StudioChartsPropertyGroups.Margin.class, @@ -4464,9 +4448,7 @@ public interface StudioChartsElements { unlimitedCount = false, icon = "io/jmix/chartsflowui/kit/meta/icon/unknownComponent.svg", propertyGroups = { - StudioChartsPropertyGroups.Show.class, - StudioChartsPropertyGroups.Interval.class, - StudioChartsPropertyGroups.IntervalFunction.class, + StudioChartsPropertyGroups.SplitDefaultProperties.class, StudioChartsPropertyGroups.Inside.class, StudioChartsPropertyGroups.Length.class }, @@ -4695,46 +4677,7 @@ public interface StudioChartsElements { isInjectable = false, icon = "io/jmix/chartsflowui/kit/meta/icon/unknownComponent.svg", propertyGroups = { - StudioChartsPropertyGroups.Show.class, - StudioChartsPropertyGroups.GridIndex.class, - StudioChartsPropertyGroups.AlignTicks.class, - StudioChartsPropertyGroups.AxisPosition.class, - StudioChartsPropertyGroups.IntegerOffset.class, - StudioChartsPropertyGroups.Name.class, - StudioChartsPropertyGroups.NameLocation.class, - StudioChartsPropertyGroups.NameGap.class, - StudioChartsPropertyGroups.NameRotate.class, - StudioChartsPropertyGroups.Inverse.class, - StudioChartsPropertyGroups.MinFunction.class, - StudioChartsPropertyGroups.MaxFunction.class, - StudioChartsPropertyGroups.AnimationDurationFunction.class, - StudioChartsPropertyGroups.AnimationDelayFunction.class, - StudioChartsPropertyGroups.AnimationDurationUpdateFunction.class, - StudioChartsPropertyGroups.AnimationDelayUpdateFunction.class, - StudioPropertyGroups.Id.class, - StudioChartsPropertyGroups.AxisType.class, - StudioChartsPropertyGroups.CategoryBoundaryGap.class, - StudioChartsPropertyGroups.NonCategoryBoundaryGap.class, - StudioChartsPropertyGroups.StringMin.class, - StudioChartsPropertyGroups.StringMax.class, - StudioChartsPropertyGroups.BooleanScale.class, - StudioChartsPropertyGroups.SplitNumber.class, - StudioChartsPropertyGroups.MinInterval.class, - StudioChartsPropertyGroups.MaxInterval.class, - StudioChartsPropertyGroups.Interval.class, - StudioChartsPropertyGroups.LogBase.class, - StudioChartsPropertyGroups.Silent.class, - StudioChartsPropertyGroups.TriggerEvent.class, - StudioChartsPropertyGroups.Animation.class, - StudioChartsPropertyGroups.AnimationThreshold.class, - StudioChartsPropertyGroups.AnimationDuration.class, - StudioChartsPropertyGroups.AnimationEasing.class, - StudioChartsPropertyGroups.AnimationDelay.class, - StudioChartsPropertyGroups.AnimationDurationUpdate.class, - StudioChartsPropertyGroups.AnimationEasingUpdate.class, - StudioChartsPropertyGroups.AnimationDelayUpdate.class, - StudioChartsPropertyGroups.IntegerZLevel.class, - StudioChartsPropertyGroups.IntegerZ.class + StudioChartsPropertyGroups.CartesianAxisDefaultProperties.class }, properties = { @StudioProperty(xmlAttribute = "show", type = StudioPropertyType.BOOLEAN), @@ -4796,46 +4739,7 @@ public interface StudioChartsElements { isInjectable = false, icon = "io/jmix/chartsflowui/kit/meta/icon/unknownComponent.svg", propertyGroups = { - StudioChartsPropertyGroups.Show.class, - StudioChartsPropertyGroups.GridIndex.class, - StudioChartsPropertyGroups.AlignTicks.class, - StudioChartsPropertyGroups.AxisPosition.class, - StudioChartsPropertyGroups.IntegerOffset.class, - StudioChartsPropertyGroups.NameGap.class, - StudioChartsPropertyGroups.Name.class, - StudioChartsPropertyGroups.NameLocation.class, - StudioChartsPropertyGroups.BooleanScale.class, - StudioChartsPropertyGroups.Silent.class, - StudioChartsPropertyGroups.TriggerEvent.class, - StudioChartsPropertyGroups.NameRotate.class, - StudioChartsPropertyGroups.Inverse.class, - StudioChartsPropertyGroups.MinFunction.class, - StudioChartsPropertyGroups.MaxFunction.class, - StudioChartsPropertyGroups.AnimationDurationFunction.class, - StudioChartsPropertyGroups.AnimationDelayFunction.class, - StudioChartsPropertyGroups.AnimationDurationUpdateFunction.class, - StudioChartsPropertyGroups.AnimationDelayUpdateFunction.class, - StudioPropertyGroups.Id.class, - StudioChartsPropertyGroups.AxisType.class, - StudioChartsPropertyGroups.CategoryBoundaryGap.class, - StudioChartsPropertyGroups.NonCategoryBoundaryGap.class, - StudioChartsPropertyGroups.StringMin.class, - StudioChartsPropertyGroups.StringMax.class, - StudioChartsPropertyGroups.SplitNumber.class, - StudioChartsPropertyGroups.MinInterval.class, - StudioChartsPropertyGroups.MaxInterval.class, - StudioChartsPropertyGroups.Interval.class, - StudioChartsPropertyGroups.LogBase.class, - StudioChartsPropertyGroups.Animation.class, - StudioChartsPropertyGroups.AnimationThreshold.class, - StudioChartsPropertyGroups.AnimationDuration.class, - StudioChartsPropertyGroups.AnimationEasing.class, - StudioChartsPropertyGroups.AnimationDelay.class, - StudioChartsPropertyGroups.AnimationDurationUpdate.class, - StudioChartsPropertyGroups.AnimationEasingUpdate.class, - StudioChartsPropertyGroups.AnimationDelayUpdate.class, - StudioChartsPropertyGroups.IntegerZLevel.class, - StudioChartsPropertyGroups.IntegerZ.class + StudioChartsPropertyGroups.CartesianAxisDefaultProperties.class }, properties = { @StudioProperty(xmlAttribute = "show", type = StudioPropertyType.BOOLEAN), @@ -4908,10 +4812,7 @@ public interface StudioChartsElements { StudioChartsPropertyGroups.PolarIndex.class, StudioChartsPropertyGroups.MinFunction.class, StudioChartsPropertyGroups.MaxFunction.class, - StudioChartsPropertyGroups.AnimationDurationFunction.class, - StudioChartsPropertyGroups.AnimationDelayFunction.class, - StudioChartsPropertyGroups.AnimationDurationUpdateFunction.class, - StudioChartsPropertyGroups.AnimationDelayUpdateFunction.class, + StudioChartsPropertyGroups.AnimationFunctionDefaultProperties.class, StudioPropertyGroups.Id.class, StudioChartsPropertyGroups.AxisType.class, StudioChartsPropertyGroups.CategoryBoundaryGap.class, @@ -4926,14 +4827,7 @@ public interface StudioChartsElements { StudioChartsPropertyGroups.LogBase.class, StudioChartsPropertyGroups.Silent.class, StudioChartsPropertyGroups.TriggerEvent.class, - StudioChartsPropertyGroups.Animation.class, - StudioChartsPropertyGroups.AnimationThreshold.class, - StudioChartsPropertyGroups.AnimationDuration.class, - StudioChartsPropertyGroups.AnimationEasing.class, - StudioChartsPropertyGroups.AnimationDelay.class, - StudioChartsPropertyGroups.AnimationDurationUpdate.class, - StudioChartsPropertyGroups.AnimationEasingUpdate.class, - StudioChartsPropertyGroups.AnimationDelayUpdate.class, + StudioChartsPropertyGroups.AnimationDefaultProperties.class, StudioChartsPropertyGroups.IntegerZLevel.class, StudioChartsPropertyGroups.IntegerZ.class }, @@ -4995,10 +4889,7 @@ public interface StudioChartsElements { StudioChartsPropertyGroups.PolarIndex.class, StudioChartsPropertyGroups.MinFunction.class, StudioChartsPropertyGroups.MaxFunction.class, - StudioChartsPropertyGroups.AnimationDurationFunction.class, - StudioChartsPropertyGroups.AnimationDelayFunction.class, - StudioChartsPropertyGroups.AnimationDurationUpdateFunction.class, - StudioChartsPropertyGroups.AnimationDelayUpdateFunction.class, + StudioChartsPropertyGroups.AnimationFunctionDefaultProperties.class, StudioPropertyGroups.Id.class, StudioChartsPropertyGroups.AxisType.class, StudioChartsPropertyGroups.CategoryBoundaryGap.class, @@ -5013,14 +4904,7 @@ public interface StudioChartsElements { StudioChartsPropertyGroups.LogBase.class, StudioChartsPropertyGroups.Silent.class, StudioChartsPropertyGroups.TriggerEvent.class, - StudioChartsPropertyGroups.Animation.class, - StudioChartsPropertyGroups.AnimationThreshold.class, - StudioChartsPropertyGroups.AnimationDuration.class, - StudioChartsPropertyGroups.AnimationEasing.class, - StudioChartsPropertyGroups.AnimationDelay.class, - StudioChartsPropertyGroups.AnimationDurationUpdate.class, - StudioChartsPropertyGroups.AnimationEasingUpdate.class, - StudioChartsPropertyGroups.AnimationDelayUpdate.class, + StudioChartsPropertyGroups.AnimationDefaultProperties.class, StudioChartsPropertyGroups.IntegerZLevel.class, StudioChartsPropertyGroups.IntegerZ.class }, @@ -5313,12 +5197,7 @@ public interface StudioChartsElements { unlimitedCount = false, icon = "io/jmix/chartsflowui/kit/meta/icon/unknownComponent.svg", propertyGroups = { - StudioChartsPropertyGroups.ShadowBlur.class, - StudioChartsPropertyGroups.ShadowOffsetX.class, - StudioChartsPropertyGroups.ShadowOffsetY.class, - StudioChartsPropertyGroups.Opacity.class, - StudioChartsPropertyGroups.ChartColor.class, - StudioChartsPropertyGroups.ShadowColor.class + StudioChartsPropertyGroups.AreaStyleDefaultProperties.class }, properties = { @StudioProperty(xmlAttribute = "shadowBlur", type = StudioPropertyType.INTEGER), @@ -6102,11 +5981,7 @@ public interface StudioChartsElements { StudioChartsPropertyGroups.Clip.class, StudioChartsPropertyGroups.Sampling.class, StudioChartsPropertyGroups.Cursor.class, - StudioChartsPropertyGroups.Animation.class, - StudioChartsPropertyGroups.AnimationThreshold.class, - StudioChartsPropertyGroups.AnimationDurationUpdate.class, - StudioChartsPropertyGroups.AnimationEasingUpdate.class, - StudioChartsPropertyGroups.AnimationDelayUpdate.class, + StudioChartsPropertyGroups.AnimationDefaultProperties.class, StudioPropertyGroups.Symbol.class, StudioChartsPropertyGroups.IntegerSymbolSize.class, StudioChartsPropertyGroups.SymbolSizeFunction.class, @@ -6126,10 +6001,7 @@ public interface StudioChartsElements { StudioChartsPropertyGroups.DataGroupId.class, StudioChartsPropertyGroups.IntegerZLevel.class, StudioChartsPropertyGroups.IntegerZ.class, - StudioChartsPropertyGroups.Silent.class, - StudioChartsPropertyGroups.AnimationDuration.class, - StudioChartsPropertyGroups.AnimationEasing.class, - StudioChartsPropertyGroups.AnimationDelay.class + StudioChartsPropertyGroups.Silent.class }, properties = { @StudioProperty(xmlAttribute = "coordinateSystem", type = StudioPropertyType.ENUMERATION, @@ -6681,12 +6553,7 @@ public interface StudioChartsElements { unlimitedCount = false, icon = "io/jmix/chartsflowui/kit/meta/icon/unknownComponent.svg", propertyGroups = { - StudioChartsPropertyGroups.Opacity.class, - StudioChartsPropertyGroups.ChartColor.class, - StudioChartsPropertyGroups.ShadowColor.class, - StudioChartsPropertyGroups.ShadowBlur.class, - StudioChartsPropertyGroups.ShadowOffsetX.class, - StudioChartsPropertyGroups.ShadowOffsetY.class + StudioChartsPropertyGroups.AreaStyleDefaultProperties.class }, properties = { @StudioProperty(xmlAttribute = "originType", type = StudioPropertyType.ENUMERATION, @@ -6928,11 +6795,7 @@ public interface StudioChartsElements { StudioChartsPropertyGroups.LargeThreshold.class, StudioChartsPropertyGroups.Progressive.class, StudioChartsPropertyGroups.ProgressiveThreshold.class, - StudioChartsPropertyGroups.Animation.class, - StudioChartsPropertyGroups.AnimationThreshold.class, - StudioChartsPropertyGroups.AnimationDurationUpdate.class, - StudioChartsPropertyGroups.AnimationDelayUpdate.class, - StudioChartsPropertyGroups.AnimationEasingUpdate.class, + StudioChartsPropertyGroups.AnimationDefaultProperties.class, StudioChartsPropertyGroups.ProgressiveChunkMode.class, StudioChartsPropertyGroups.LegendHoverLink.class, StudioChartsPropertyGroups.SeriesLayoutBy.class, @@ -6944,10 +6807,7 @@ public interface StudioChartsElements { StudioChartsPropertyGroups.DataGroupId.class, StudioChartsPropertyGroups.IntegerZLevel.class, StudioChartsPropertyGroups.IntegerZ.class, - StudioChartsPropertyGroups.Silent.class, - StudioChartsPropertyGroups.AnimationDuration.class, - StudioChartsPropertyGroups.AnimationEasing.class, - StudioChartsPropertyGroups.AnimationDelay.class + StudioChartsPropertyGroups.Silent.class }, properties = { @StudioProperty(xmlAttribute = "coordinateSystem", type = StudioPropertyType.ENUMERATION, @@ -7216,14 +7076,7 @@ public interface StudioChartsElements { StudioChartsPropertyGroups.SymbolOffset.class, StudioChartsPropertyGroups.SymbolType.class, StudioChartsPropertyGroups.Silent.class, - StudioChartsPropertyGroups.Animation.class, - StudioChartsPropertyGroups.AnimationThreshold.class, - StudioChartsPropertyGroups.AnimationDuration.class, - StudioChartsPropertyGroups.AnimationEasing.class, - StudioChartsPropertyGroups.AnimationDelay.class, - StudioChartsPropertyGroups.AnimationDurationUpdate.class, - StudioChartsPropertyGroups.AnimationEasingUpdate.class, - StudioChartsPropertyGroups.AnimationDelayUpdate.class + StudioChartsPropertyGroups.AnimationDefaultProperties.class }, properties = { @StudioProperty(xmlAttribute = "symbol", type = StudioPropertyType.STRING), @@ -7265,14 +7118,7 @@ public interface StudioChartsElements { StudioChartsPropertyGroups.IntegerSymbolSize.class, StudioChartsPropertyGroups.IntegerPrecision.class, StudioChartsPropertyGroups.Silent.class, - StudioChartsPropertyGroups.Animation.class, - StudioChartsPropertyGroups.AnimationThreshold.class, - StudioChartsPropertyGroups.AnimationDuration.class, - StudioChartsPropertyGroups.AnimationEasing.class, - StudioChartsPropertyGroups.AnimationDelay.class, - StudioChartsPropertyGroups.AnimationDurationUpdate.class, - StudioChartsPropertyGroups.AnimationEasingUpdate.class, - StudioChartsPropertyGroups.AnimationDelayUpdate.class + StudioChartsPropertyGroups.AnimationDefaultProperties.class }, properties = { @StudioProperty(xmlAttribute = "symbolSize", type = StudioPropertyType.INTEGER), @@ -7308,14 +7154,7 @@ public interface StudioChartsElements { icon = "io/jmix/chartsflowui/kit/meta/icon/unknownComponent.svg", propertyGroups = { StudioChartsPropertyGroups.Silent.class, - StudioChartsPropertyGroups.Animation.class, - StudioChartsPropertyGroups.AnimationThreshold.class, - StudioChartsPropertyGroups.AnimationDuration.class, - StudioChartsPropertyGroups.AnimationEasing.class, - StudioChartsPropertyGroups.AnimationDelay.class, - StudioChartsPropertyGroups.AnimationDurationUpdate.class, - StudioChartsPropertyGroups.AnimationEasingUpdate.class, - StudioChartsPropertyGroups.AnimationDelayUpdate.class + StudioChartsPropertyGroups.AnimationDefaultProperties.class }, properties = { @StudioProperty(xmlAttribute = "silent", type = StudioPropertyType.BOOLEAN), @@ -8149,13 +7988,8 @@ public interface StudioChartsElements { StudioChartsPropertyGroups.IntegerBorderWidth.class, StudioChartsPropertyGroups.BorderType.class, StudioChartsPropertyGroups.BorderRadius.class, - StudioChartsPropertyGroups.ShadowBlur.class, - StudioChartsPropertyGroups.ShadowOffsetX.class, - StudioChartsPropertyGroups.ShadowOffsetY.class, - StudioChartsPropertyGroups.Opacity.class, - StudioChartsPropertyGroups.ChartColor.class, - StudioChartsPropertyGroups.BorderColor.class, - StudioChartsPropertyGroups.ShadowColor.class + StudioChartsPropertyGroups.AreaStyleDefaultProperties.class, + StudioChartsPropertyGroups.BorderColor.class }, properties = { @StudioProperty(xmlAttribute = "borderWidth", type = StudioPropertyType.INTEGER), @@ -8564,11 +8398,7 @@ public interface StudioChartsElements { StudioChartsPropertyGroups.Cursor.class, StudioChartsPropertyGroups.Center.class, StudioChartsPropertyGroups.Radius.class, - StudioChartsPropertyGroups.Animation.class, - StudioChartsPropertyGroups.AnimationThreshold.class, - StudioChartsPropertyGroups.AnimationDurationUpdate.class, - StudioChartsPropertyGroups.AnimationEasingUpdate.class, - StudioChartsPropertyGroups.AnimationDelayUpdate.class, + StudioChartsPropertyGroups.AnimationDefaultProperties.class, StudioChartsPropertyGroups.Left.class, StudioChartsPropertyGroups.Bottom.class, StudioChartsPropertyGroups.StringRight.class, @@ -8583,10 +8413,7 @@ public interface StudioChartsElements { StudioChartsPropertyGroups.DataGroupId.class, StudioChartsPropertyGroups.IntegerZLevel.class, StudioChartsPropertyGroups.IntegerZ.class, - StudioChartsPropertyGroups.Silent.class, - StudioChartsPropertyGroups.AnimationDuration.class, - StudioChartsPropertyGroups.AnimationEasing.class, - StudioChartsPropertyGroups.AnimationDelay.class + StudioChartsPropertyGroups.Silent.class }, properties = { @StudioProperty(xmlAttribute = "geoIndex", type = StudioPropertyType.INTEGER), @@ -8744,11 +8571,7 @@ public interface StudioChartsElements { StudioChartsPropertyGroups.LargeThreshold.class, StudioChartsPropertyGroups.Progressive.class, StudioChartsPropertyGroups.ProgressiveThreshold.class, - StudioChartsPropertyGroups.Animation.class, - StudioChartsPropertyGroups.AnimationThreshold.class, - StudioChartsPropertyGroups.AnimationDurationUpdate.class, - StudioChartsPropertyGroups.AnimationEasingUpdate.class, - StudioChartsPropertyGroups.AnimationDelayUpdate.class, + StudioChartsPropertyGroups.AnimationDefaultProperties.class, StudioPropertyGroups.Symbol.class, StudioChartsPropertyGroups.IntegerSymbolSize.class, StudioChartsPropertyGroups.SymbolSizeFunction.class, @@ -8766,10 +8589,7 @@ public interface StudioChartsElements { StudioChartsPropertyGroups.DataGroupId.class, StudioChartsPropertyGroups.IntegerZLevel.class, StudioChartsPropertyGroups.IntegerZ.class, - StudioChartsPropertyGroups.Silent.class, - StudioChartsPropertyGroups.AnimationDuration.class, - StudioChartsPropertyGroups.AnimationEasing.class, - StudioChartsPropertyGroups.AnimationDelay.class + StudioChartsPropertyGroups.Silent.class }, properties = { @StudioProperty(xmlAttribute = "coordinateSystem", type = StudioPropertyType.ENUMERATION, @@ -8915,11 +8735,7 @@ public interface StudioChartsElements { StudioChartsPropertyGroups.CalendarIndex.class, StudioChartsPropertyGroups.Clip.class, StudioChartsPropertyGroups.Cursor.class, - StudioChartsPropertyGroups.Animation.class, - StudioChartsPropertyGroups.AnimationThreshold.class, - StudioChartsPropertyGroups.AnimationDurationUpdate.class, - StudioChartsPropertyGroups.AnimationEasingUpdate.class, - StudioChartsPropertyGroups.AnimationDelayUpdate.class, + StudioChartsPropertyGroups.AnimationDefaultProperties.class, StudioPropertyGroups.Symbol.class, StudioChartsPropertyGroups.IntegerSymbolSize.class, StudioChartsPropertyGroups.SymbolSizeFunction.class, @@ -8937,10 +8753,7 @@ public interface StudioChartsElements { StudioChartsPropertyGroups.DataGroupId.class, StudioChartsPropertyGroups.IntegerZLevel.class, StudioChartsPropertyGroups.IntegerZ.class, - StudioChartsPropertyGroups.Silent.class, - StudioChartsPropertyGroups.AnimationDuration.class, - StudioChartsPropertyGroups.AnimationEasing.class, - StudioChartsPropertyGroups.AnimationDelay.class + StudioChartsPropertyGroups.Silent.class }, properties = { @StudioProperty(xmlAttribute = "coordinateSystem", type = StudioPropertyType.ENUMERATION, @@ -9126,11 +8939,7 @@ public interface StudioChartsElements { isInjectable = false, icon = "io/jmix/chartsflowui/kit/meta/icon/element/radarSeries.svg", propertyGroups = { - StudioChartsPropertyGroups.Animation.class, - StudioChartsPropertyGroups.AnimationThreshold.class, - StudioChartsPropertyGroups.AnimationDurationUpdate.class, - StudioChartsPropertyGroups.AnimationEasingUpdate.class, - StudioChartsPropertyGroups.AnimationDelayUpdate.class, + StudioChartsPropertyGroups.AnimationDefaultProperties.class, StudioPropertyGroups.Symbol.class, StudioChartsPropertyGroups.IntegerSymbolSize.class, StudioChartsPropertyGroups.SymbolSizeFunction.class, @@ -9145,10 +8954,7 @@ public interface StudioChartsElements { StudioChartsPropertyGroups.DataGroupId.class, StudioChartsPropertyGroups.IntegerZLevel.class, StudioChartsPropertyGroups.IntegerZ.class, - StudioChartsPropertyGroups.Silent.class, - StudioChartsPropertyGroups.AnimationDuration.class, - StudioChartsPropertyGroups.AnimationEasing.class, - StudioChartsPropertyGroups.AnimationDelay.class + StudioChartsPropertyGroups.Silent.class }, properties = { @StudioProperty(xmlAttribute = "radarIndex", type = StudioPropertyType.INTEGER), @@ -9755,11 +9561,7 @@ public interface StudioChartsElements { StudioChartsPropertyGroups.Orientation.class, StudioChartsPropertyGroups.Width.class, StudioChartsPropertyGroups.StringHeight.class, - StudioChartsPropertyGroups.Animation.class, - StudioChartsPropertyGroups.AnimationThreshold.class, - StudioChartsPropertyGroups.AnimationDurationUpdate.class, - StudioChartsPropertyGroups.AnimationEasingUpdate.class, - StudioChartsPropertyGroups.AnimationDelayUpdate.class, + StudioChartsPropertyGroups.AnimationDefaultProperties.class, StudioChartsPropertyGroups.Left.class, StudioChartsPropertyGroups.StringTop.class, StudioChartsPropertyGroups.StringRight.class, @@ -9774,10 +9576,7 @@ public interface StudioChartsElements { StudioChartsPropertyGroups.DataGroupId.class, StudioChartsPropertyGroups.IntegerZLevel.class, StudioChartsPropertyGroups.IntegerZ.class, - StudioChartsPropertyGroups.Silent.class, - StudioChartsPropertyGroups.AnimationDuration.class, - StudioChartsPropertyGroups.AnimationEasing.class, - StudioChartsPropertyGroups.AnimationDelay.class + StudioChartsPropertyGroups.Silent.class }, properties = { @StudioProperty(xmlAttribute = "max", type = StudioPropertyType.INTEGER), @@ -9919,11 +9718,7 @@ public interface StudioChartsElements { StudioPropertyGroups.IntegerMin.class, StudioPropertyGroups.IntegerMax.class, StudioChartsPropertyGroups.SplitNumber.class, - StudioChartsPropertyGroups.Animation.class, - StudioChartsPropertyGroups.AnimationThreshold.class, - StudioChartsPropertyGroups.AnimationDurationUpdate.class, - StudioChartsPropertyGroups.AnimationEasingUpdate.class, - StudioChartsPropertyGroups.AnimationDelayUpdate.class, + StudioChartsPropertyGroups.AnimationDefaultProperties.class, StudioPropertyGroups.Id.class, StudioChartsPropertyGroups.Name.class, StudioChartsPropertyGroups.ColorBy.class, @@ -9931,10 +9726,7 @@ public interface StudioChartsElements { StudioChartsPropertyGroups.DataGroupId.class, StudioChartsPropertyGroups.IntegerZLevel.class, StudioChartsPropertyGroups.IntegerZ.class, - StudioChartsPropertyGroups.Silent.class, - StudioChartsPropertyGroups.AnimationDuration.class, - StudioChartsPropertyGroups.AnimationEasing.class, - StudioChartsPropertyGroups.AnimationDelay.class + StudioChartsPropertyGroups.Silent.class }, properties = { @StudioProperty(xmlAttribute = "center", type = StudioPropertyType.VALUES_LIST), diff --git a/jmix-charts/charts-flowui-kit/src/main/java/io/jmix/chartsflowui/kit/meta/StudioChartsPropertyGroups.java b/jmix-charts/charts-flowui-kit/src/main/java/io/jmix/chartsflowui/kit/meta/StudioChartsPropertyGroups.java index 4e0e9d6c36..1a5e43edb6 100644 --- a/jmix-charts/charts-flowui-kit/src/main/java/io/jmix/chartsflowui/kit/meta/StudioChartsPropertyGroups.java +++ b/jmix-charts/charts-flowui-kit/src/main/java/io/jmix/chartsflowui/kit/meta/StudioChartsPropertyGroups.java @@ -2128,6 +2128,17 @@ public interface ZoomLock { public interface ChartColor { } + @StudioPropertyGroup + public interface AnimationDefaultProperties extends Animation, AnimationThreshold, AnimationDuration, + AnimationEasing, AnimationDelay, AnimationDurationUpdate, AnimationEasingUpdate, + AnimationDelayUpdate { + } + + @StudioPropertyGroup + public interface AnimationFunctionDefaultProperties extends AnimationDelayFunction, + AnimationDurationFunction, AnimationDelayUpdateFunction, AnimationDurationUpdateFunction { + } + @StudioPropertyGroup public interface VisualEffectDefaultProperties extends Symbol, StringSymbolSize, Color, ColorAlpha, StringOpacity, ColorLightness, ColorSaturation, ColorHue { @@ -2198,4 +2209,16 @@ public interface RoundedItemStyleDefaultProperties extends AreaStyleDefaultPrope @StudioPropertyGroup public interface SeriesAriaLabelDefaultProperties extends Prefix, WithName, WithoutName { } + + @StudioPropertyGroup + public interface SplitDefaultProperties extends Show, Interval, IntervalFunction { + } + + @StudioPropertyGroup + public interface CartesianAxisDefaultProperties extends StudioPropertyGroups.Id, Show, GridIndex, AlignTicks, + AxisPosition, IntegerOffset, Name, NameLocation, NameGap, NameRotate, Inverse, AxisType, + CategoryBoundaryGap, NonCategoryBoundaryGap, StringMin, StringMax, BooleanScale, SplitNumber, + MinInterval, MaxInterval, Interval, LogBase, Silent, TriggerEvent, AnimationDefaultProperties, + AnimationFunctionDefaultProperties, MinFunction, MaxFunction, IntegerZLevel, IntegerZ { + } } diff --git a/jmix-flowui/flowui-kit/src/main/java/io/jmix/flowui/kit/meta/StudioPropertyGroups.java b/jmix-flowui/flowui-kit/src/main/java/io/jmix/flowui/kit/meta/StudioPropertyGroups.java index 7b880f6293..056f2bc9d8 100644 --- a/jmix-flowui/flowui-kit/src/main/java/io/jmix/flowui/kit/meta/StudioPropertyGroups.java +++ b/jmix-flowui/flowui-kit/src/main/java/io/jmix/flowui/kit/meta/StudioPropertyGroups.java @@ -201,6 +201,10 @@ public interface AriaLabel { public interface AriaLabelledBy { } + @StudioPropertyGroup + public interface AriaLabelAndLabelledBy extends AriaLabel, AriaLabelledBy { + } + @StudioPropertyGroup( properties = { @StudioProperty(xmlAttribute = "tabIndex", type = StudioPropertyType.INTEGER) @@ -1049,6 +1053,11 @@ public interface ValidationStringMax { public interface RequiredStringValue { } + @StudioPropertyGroup(properties = @StudioProperty(xmlAttribute = "value", + category = StudioProperty.Category.GENERAL, type = StudioPropertyType.STRING)) + public interface StringValue { + } + @StudioPropertyGroup(properties = @StudioProperty(xmlAttribute = "integer", type = StudioPropertyType.INTEGER, required = true)) public interface RequiredInteger { @@ -1963,6 +1972,42 @@ public interface AddonComponentDefaultProperties extends ClassNamesAndCss, IdAnd Colspan { } + @StudioPropertyGroup + public interface SizedComponentDefaultProperties extends AlignSelfAndJustifySelfAndColspan, ClassNamesAndCss, + IdAndVisible, EnabledWithTrueDefaultValue, Size { + } + + @StudioPropertyGroup + public interface FieldThemeTitleAndValueChangeDefaultProperties extends FieldThemeNames, Title, + ValueChangeMode, ValueChangeTimeout { + } + + @StudioPropertyGroup + public interface IconDefaultProperties extends AlignSelfAndJustifySelfAndColspan, ClassNamesAndCss, + IdAndVisible, ClickShortcut, Color, RequiredIcon { + } + + @StudioPropertyGroup + public interface SvgIconDefaultProperties extends AlignSelfAndJustifySelfAndColspan, ClassNamesAndCss, + IdAndVisible, ClickShortcut, Color, Resource, Symbol { + } + + @StudioPropertyGroup + public interface FontIconDefaultProperties extends AlignSelfAndJustifySelfAndColspan, ClassNamesAndCss, + IdAndVisible, CharCode, ClickShortcut, Color, FontFamily, IconClassNames, Ligature { + } + + @StudioPropertyGroup + public interface FieldDefaultProperties extends SizedComponentDefaultProperties, + AriaLabelAndTabIndexAndFocusShortcut, RequiredAndRequiredMessageAndErrorMessage, + CollectionOrInstanceDataContainer, HelperText, Label, ReadOnly { + } + + @StudioPropertyGroup + public interface TextInputFieldDefaultProperties extends FieldDefaultProperties, Autocapitalize, Autocomplete, + Autocorrect, Autofocus, Autoselect, ClearButtonVisible, Placeholder { + } + @StudioPropertyGroup public interface MultiSelectComboBoxDefaultProperties extends AlignSelfAndJustifySelfAndColspan, ClassNamesAndCss, IdAndVisible, EnabledWithTrueDefaultValue, Size, diff --git a/jmix-flowui/flowui-kit/src/main/java/io/jmix/flowui/kit/meta/action/StudioActionPropertyGroups.java b/jmix-flowui/flowui-kit/src/main/java/io/jmix/flowui/kit/meta/action/StudioActionPropertyGroups.java index b1e7e7f4a7..8c5ca676d0 100644 --- a/jmix-flowui/flowui-kit/src/main/java/io/jmix/flowui/kit/meta/action/StudioActionPropertyGroups.java +++ b/jmix-flowui/flowui-kit/src/main/java/io/jmix/flowui/kit/meta/action/StudioActionPropertyGroups.java @@ -55,6 +55,12 @@ public interface ActionDefaultPropertiesWithoutShortcutCombination extends StudioPropertyGroups.EnabledWithTrueDefaultValue, StudioPropertyGroups.Visible { } + @StudioPropertyGroup + public interface RequiredIconTextActionDefaultPropertiesWithoutShortcutCombination extends + ActionDefaultPropertiesWithoutShortcutCombination, StudioPropertyGroups.LookAndFeelIcon, + StudioPropertyGroups.RequiredId, StudioPropertyGroups.Text { + } + @StudioPropertyGroup public interface DangerActionDefaultProperties extends StudioPropertyGroups.ActionVariantWithDangerDefaultValue, StudioPropertyGroups.Description, StudioPropertyGroups.EnabledWithTrueDefaultValue, diff --git a/jmix-flowui/flowui-kit/src/main/java/io/jmix/flowui/kit/meta/component/StudioComponents.java b/jmix-flowui/flowui-kit/src/main/java/io/jmix/flowui/kit/meta/component/StudioComponents.java index fba539fa6f..951847ef21 100644 --- a/jmix-flowui/flowui-kit/src/main/java/io/jmix/flowui/kit/meta/component/StudioComponents.java +++ b/jmix-flowui/flowui-kit/src/main/java/io/jmix/flowui/kit/meta/component/StudioComponents.java @@ -181,12 +181,7 @@ interface StudioComponents { @StudioConvertStrategy.TagInfo(qualifiedName = "fontIcon"), }), propertyGroups = { - StudioPropertyGroups.AlignSelfAndJustifySelfAndColspan.class, - StudioPropertyGroups.ClassNamesAndCss.class, - StudioPropertyGroups.IdAndVisible.class, - StudioPropertyGroups.ClickShortcut.class, - StudioPropertyGroups.Color.class, - StudioPropertyGroups.RequiredIcon.class, + StudioPropertyGroups.IconDefaultProperties.class }, properties = { @StudioProperty(xmlAttribute = "alignSelf", category = StudioProperty.Category.POSITION, type = StudioPropertyType.ENUMERATION, @@ -222,13 +217,7 @@ interface StudioComponents { @StudioConvertStrategy.TagInfo(qualifiedName = "fontIcon") }), propertyGroups = { - StudioPropertyGroups.AlignSelfAndJustifySelfAndColspan.class, - StudioPropertyGroups.ClassNamesAndCss.class, - StudioPropertyGroups.IdAndVisible.class, - StudioPropertyGroups.ClickShortcut.class, - StudioPropertyGroups.Color.class, - StudioPropertyGroups.Resource.class, - StudioPropertyGroups.Symbol.class + StudioPropertyGroups.SvgIconDefaultProperties.class }, properties = { @StudioProperty(xmlAttribute = "alignSelf", category = StudioProperty.Category.POSITION, type = StudioPropertyType.ENUMERATION, @@ -265,15 +254,7 @@ interface StudioComponents { @StudioConvertStrategy.TagInfo(qualifiedName = "svgIcon") }), propertyGroups = { - StudioPropertyGroups.AlignSelfAndJustifySelfAndColspan.class, - StudioPropertyGroups.ClassNamesAndCss.class, - StudioPropertyGroups.IdAndVisible.class, - StudioPropertyGroups.CharCode.class, - StudioPropertyGroups.ClickShortcut.class, - StudioPropertyGroups.Color.class, - StudioPropertyGroups.FontFamily.class, - StudioPropertyGroups.IconClassNames.class, - StudioPropertyGroups.Ligature.class + StudioPropertyGroups.FontIconDefaultProperties.class }, properties = { @StudioProperty(xmlAttribute = "alignSelf", category = StudioProperty.Category.POSITION, type = StudioPropertyType.ENUMERATION, @@ -314,29 +295,9 @@ interface StudioComponents { @StudioConvertStrategy.TagInfo(qualifiedName = "integerField"), }), propertyGroups = { - StudioPropertyGroups.AlignSelfAndJustifySelfAndColspan.class, - StudioPropertyGroups.ClassNamesAndCss.class, - StudioPropertyGroups.IdAndVisible.class, - StudioPropertyGroups.EnabledWithTrueDefaultValue.class, - StudioPropertyGroups.Size.class, - StudioPropertyGroups.AriaLabelAndTabIndexAndFocusShortcut.class, - StudioPropertyGroups.RequiredAndRequiredMessageAndErrorMessage.class, - StudioPropertyGroups.Autocapitalize.class, - StudioPropertyGroups.Autocomplete.class, - StudioPropertyGroups.Autocorrect.class, - StudioPropertyGroups.Autofocus.class, - StudioPropertyGroups.Autoselect.class, - StudioPropertyGroups.ClearButtonVisible.class, - StudioPropertyGroups.CollectionOrInstanceDataContainer.class, - StudioPropertyGroups.HelperText.class, - StudioPropertyGroups.Label.class, - StudioPropertyGroups.Placeholder.class, + StudioPropertyGroups.TextInputFieldDefaultProperties.class, StudioPropertyGroups.Property.class, - StudioPropertyGroups.ReadOnly.class, - StudioPropertyGroups.FieldThemeNames.class, - StudioPropertyGroups.Title.class, - StudioPropertyGroups.ValueChangeMode.class, - StudioPropertyGroups.ValueChangeTimeout.class + StudioPropertyGroups.FieldThemeTitleAndValueChangeDefaultProperties.class }, properties = { @StudioProperty(xmlAttribute = "alignSelf", category = StudioProperty.Category.POSITION, type = StudioPropertyType.ENUMERATION, @@ -430,11 +391,7 @@ interface StudioComponents { @StudioConvertStrategy.TagInfo(qualifiedName = "comboButton") }), propertyGroups = { - StudioPropertyGroups.AlignSelfAndJustifySelfAndColspan.class, - StudioPropertyGroups.ClassNamesAndCss.class, - StudioPropertyGroups.IdAndVisible.class, - StudioPropertyGroups.EnabledWithTrueDefaultValue.class, - StudioPropertyGroups.Size.class, + StudioPropertyGroups.SizedComponentDefaultProperties.class, StudioPropertyGroups.AriaLabelAndTabIndexAndFocusShortcut.class, StudioPropertyGroups.Autofocus.class, StudioPropertyGroups.LookAndFeelIcon.class, @@ -505,14 +462,9 @@ interface StudioComponents { @StudioConvertStrategy.TagInfo(qualifiedName = "radioButtonGroup") }), propertyGroups = { - StudioPropertyGroups.AlignSelfAndJustifySelfAndColspan.class, - StudioPropertyGroups.ClassNamesAndCss.class, - StudioPropertyGroups.IdAndVisible.class, - StudioPropertyGroups.EnabledWithTrueDefaultValue.class, - StudioPropertyGroups.Size.class, + StudioPropertyGroups.SizedComponentDefaultProperties.class, StudioPropertyGroups.RequiredAndRequiredMessageAndErrorMessage.class, - StudioPropertyGroups.AriaLabel.class, - StudioPropertyGroups.AriaLabelledBy.class, + StudioPropertyGroups.AriaLabelAndLabelledBy.class, StudioPropertyGroups.CollectionOrInstanceDataContainer.class, StudioPropertyGroups.HelperText.class, StudioPropertyGroups.ItemsContainerTypeParameterT.class, @@ -587,11 +539,7 @@ interface StudioComponents { icon = "io/jmix/flowui/kit/meta/icon/component/checkbox.svg", documentationLink = "%VERSION%/flow-ui/vc/components/checkbox.html", propertyGroups = { - StudioPropertyGroups.AlignSelfAndJustifySelfAndColspan.class, - StudioPropertyGroups.ClassNamesAndCss.class, - StudioPropertyGroups.IdAndVisible.class, - StudioPropertyGroups.EnabledWithTrueDefaultValue.class, - StudioPropertyGroups.Size.class, + StudioPropertyGroups.SizedComponentDefaultProperties.class, StudioPropertyGroups.AriaLabelAndTabIndexAndFocusShortcut.class, StudioPropertyGroups.RequiredAndRequiredMessageAndErrorMessage.class, StudioPropertyGroups.Autofocus.class, @@ -663,11 +611,7 @@ interface StudioComponents { icon = "io/jmix/flowui/kit/meta/icon/component/checkbox.svg", documentationLink = "%VERSION%/flow-ui/vc/components/switch.html", propertyGroups = { - StudioPropertyGroups.AlignSelfAndJustifySelfAndColspan.class, - StudioPropertyGroups.ClassNamesAndCss.class, - StudioPropertyGroups.IdAndVisible.class, - StudioPropertyGroups.EnabledWithTrueDefaultValue.class, - StudioPropertyGroups.Size.class, + StudioPropertyGroups.SizedComponentDefaultProperties.class, StudioPropertyGroups.AriaLabelAndTabIndexAndFocusShortcut.class, StudioPropertyGroups.RequiredAndRequiredMessageAndErrorMessage.class, StudioPropertyGroups.Autofocus.class, @@ -740,27 +684,17 @@ interface StudioComponents { @StudioConvertStrategy.TagInfo(qualifiedName = "multiSelectComboBox") }), propertyGroups = { - StudioPropertyGroups.AlignSelfAndJustifySelfAndColspan.class, - StudioPropertyGroups.ClassNamesAndCss.class, - StudioPropertyGroups.IdAndVisible.class, - StudioPropertyGroups.EnabledWithTrueDefaultValue.class, - StudioPropertyGroups.Size.class, - StudioPropertyGroups.AriaLabelAndTabIndexAndFocusShortcut.class, - StudioPropertyGroups.RequiredAndRequiredMessageAndErrorMessage.class, + StudioPropertyGroups.FieldDefaultProperties.class, StudioPropertyGroups.AllowCustomValue.class, StudioPropertyGroups.Autofocus.class, StudioPropertyGroups.Datatype.class, StudioPropertyGroups.OverlayWidth.class, StudioPropertyGroups.ClearButtonVisible.class, - StudioPropertyGroups.CollectionOrInstanceDataContainer.class, - StudioPropertyGroups.HelperText.class, StudioPropertyGroups.ItemsEnum.class, - StudioPropertyGroups.Label.class, StudioPropertyGroups.PageSize.class, StudioPropertyGroups.Pattern.class, StudioPropertyGroups.Placeholder.class, StudioPropertyGroups.PropertyTypeParameterV.class, - StudioPropertyGroups.ReadOnly.class, StudioPropertyGroups.ComboBoxThemeNames.class, StudioPropertyGroups.Title.class }, @@ -1026,15 +960,11 @@ interface StudioComponents { icon = "io/jmix/flowui/kit/meta/icon/mainview/userIndicator.svg", documentationLink = "%VERSION%/flow-ui/vc/components/userMenu.html", propertyGroups = { - StudioPropertyGroups.Id.class, + StudioPropertyGroups.IdAndVisible.class, StudioPropertyGroups.EnabledWithTrueDefaultValue.class, - StudioPropertyGroups.Visible.class, StudioPropertyGroups.OpenOnHover.class, - StudioPropertyGroups.AlignSelf.class, - StudioPropertyGroups.JustifySelf.class, - StudioPropertyGroups.Colspan.class, - StudioPropertyGroups.ClassNames.class, - StudioPropertyGroups.Css.class, + StudioPropertyGroups.AlignSelfAndJustifySelfAndColspan.class, + StudioPropertyGroups.ClassNamesAndCss.class, StudioPropertyGroups.TabIndex.class, StudioPropertyGroups.FocusShortcut.class, StudioPropertyGroups.Title.class @@ -1075,11 +1005,7 @@ interface StudioComponents { icon = "io/jmix/flowui/kit/meta/icon/component/dropdownButton.svg", documentationLink = "%VERSION%/flow-ui/vc/components/dropdownButton.html", propertyGroups = { - StudioPropertyGroups.AlignSelfAndJustifySelfAndColspan.class, - StudioPropertyGroups.ClassNamesAndCss.class, - StudioPropertyGroups.IdAndVisible.class, - StudioPropertyGroups.EnabledWithTrueDefaultValue.class, - StudioPropertyGroups.Size.class, + StudioPropertyGroups.SizedComponentDefaultProperties.class, StudioPropertyGroups.LookAndFeelIcon.class, StudioPropertyGroups.OpenOnHover.class, StudioPropertyGroups.TabIndex.class, @@ -1142,11 +1068,7 @@ interface StudioComponents { @StudioConvertStrategy.TagInfo(qualifiedName = "button") }), propertyGroups = { - StudioPropertyGroups.AlignSelfAndJustifySelfAndColspan.class, - StudioPropertyGroups.ClassNamesAndCss.class, - StudioPropertyGroups.IdAndVisible.class, - StudioPropertyGroups.EnabledWithTrueDefaultValue.class, - StudioPropertyGroups.Size.class, + StudioPropertyGroups.SizedComponentDefaultProperties.class, StudioPropertyGroups.ShortcutCombination.class, StudioPropertyGroups.OpenOnHover.class, StudioPropertyGroups.TabIndex.class, @@ -1211,25 +1133,15 @@ interface StudioComponents { @StudioConvertStrategy.TagInfo(qualifiedName = "dateTimePicker") }), propertyGroups = { - StudioPropertyGroups.AlignSelfAndJustifySelfAndColspan.class, - StudioPropertyGroups.ClassNamesAndCss.class, - StudioPropertyGroups.IdAndVisible.class, - StudioPropertyGroups.EnabledWithTrueDefaultValue.class, - StudioPropertyGroups.Size.class, - StudioPropertyGroups.AriaLabelAndTabIndexAndFocusShortcut.class, - StudioPropertyGroups.RequiredAndRequiredMessageAndErrorMessage.class, + StudioPropertyGroups.FieldDefaultProperties.class, StudioPropertyGroups.AllowedCharPattern.class, StudioPropertyGroups.AutoOpen.class, StudioPropertyGroups.ClearButtonVisible.class, - StudioPropertyGroups.CollectionOrInstanceDataContainer.class, - StudioPropertyGroups.HelperText.class, - StudioPropertyGroups.Label.class, StudioPropertyGroups.ValidationStringMax.class, StudioPropertyGroups.ValidationStringMin.class, StudioPropertyGroups.Opened.class, StudioPropertyGroups.Placeholder.class, StudioPropertyGroups.PropertyTypeParameterV.class, - StudioPropertyGroups.ReadOnly.class, StudioPropertyGroups.ComboBoxThemeNames.class, StudioPropertyGroups.WeekNumbersVisible.class }, @@ -1313,21 +1225,11 @@ interface StudioComponents { @StudioConvertStrategy.TagInfo(qualifiedName = "timePicker") }), propertyGroups = { - StudioPropertyGroups.AlignSelfAndJustifySelfAndColspan.class, - StudioPropertyGroups.ClassNamesAndCss.class, - StudioPropertyGroups.IdAndVisible.class, - StudioPropertyGroups.EnabledWithTrueDefaultValue.class, - StudioPropertyGroups.Size.class, - StudioPropertyGroups.AriaLabelAndTabIndexAndFocusShortcut.class, - StudioPropertyGroups.RequiredAndRequiredMessageAndErrorMessage.class, + StudioPropertyGroups.FieldDefaultProperties.class, StudioPropertyGroups.AutoOpen.class, - StudioPropertyGroups.CollectionOrInstanceDataContainer.class, - StudioPropertyGroups.HelperText.class, - StudioPropertyGroups.Label.class, StudioPropertyGroups.ValidationStringMax.class, StudioPropertyGroups.ValidationStringMin.class, StudioPropertyGroups.PropertyTypeParameterV.class, - StudioPropertyGroups.ReadOnly.class, StudioPropertyGroups.TimeStep.class, StudioPropertyGroups.ThemeNames.class, StudioPropertyGroups.WeekNumbersVisible.class @@ -1500,33 +1402,13 @@ interface StudioComponents { @StudioConvertStrategy.TagInfo(qualifiedName = "textField") }), propertyGroups = { - StudioPropertyGroups.AlignSelfAndJustifySelfAndColspan.class, - StudioPropertyGroups.ClassNamesAndCss.class, - StudioPropertyGroups.IdAndVisible.class, - StudioPropertyGroups.EnabledWithTrueDefaultValue.class, - StudioPropertyGroups.Size.class, - StudioPropertyGroups.AriaLabelAndTabIndexAndFocusShortcut.class, - StudioPropertyGroups.RequiredAndRequiredMessageAndErrorMessage.class, + StudioPropertyGroups.TextInputFieldDefaultProperties.class, StudioPropertyGroups.AllowedCharPattern.class, - StudioPropertyGroups.Autocapitalize.class, - StudioPropertyGroups.Autocomplete.class, - StudioPropertyGroups.Autocorrect.class, - StudioPropertyGroups.Autofocus.class, - StudioPropertyGroups.Autoselect.class, - StudioPropertyGroups.ClearButtonVisible.class, - StudioPropertyGroups.CollectionOrInstanceDataContainer.class, - StudioPropertyGroups.HelperText.class, - StudioPropertyGroups.Label.class, StudioPropertyGroups.MaxLength.class, StudioPropertyGroups.MinLength.class, StudioPropertyGroups.Pattern.class, - StudioPropertyGroups.Placeholder.class, StudioPropertyGroups.Property.class, - StudioPropertyGroups.ReadOnly.class, - StudioPropertyGroups.FieldThemeNames.class, - StudioPropertyGroups.Title.class, - StudioPropertyGroups.ValueChangeMode.class, - StudioPropertyGroups.ValueChangeTimeout.class + StudioPropertyGroups.FieldThemeTitleAndValueChangeDefaultProperties.class }, properties = { @StudioProperty(xmlAttribute = "alignSelf", category = StudioProperty.Category.POSITION, type = StudioPropertyType.ENUMERATION, @@ -1625,29 +1507,19 @@ interface StudioComponents { @StudioConvertStrategy.TagInfo(qualifiedName = "entityPicker") }), propertyGroups = { - StudioPropertyGroups.AlignSelfAndJustifySelfAndColspan.class, - StudioPropertyGroups.ClassNamesAndCss.class, - StudioPropertyGroups.IdAndVisible.class, - StudioPropertyGroups.EnabledWithTrueDefaultValue.class, - StudioPropertyGroups.Size.class, - StudioPropertyGroups.AriaLabelAndTabIndexAndFocusShortcut.class, - StudioPropertyGroups.RequiredAndRequiredMessageAndErrorMessage.class, + StudioPropertyGroups.FieldDefaultProperties.class, StudioPropertyGroups.AllowedCharPattern.class, StudioPropertyGroups.AllowCustomValue.class, StudioPropertyGroups.Autofocus.class, StudioPropertyGroups.AutoOpen.class, StudioPropertyGroups.OverlayWidth.class, - StudioPropertyGroups.CollectionOrInstanceDataContainer.class, - StudioPropertyGroups.HelperText.class, StudioPropertyGroups.ItemsContainerTypeParameterV.class, - StudioPropertyGroups.Label.class, StudioPropertyGroups.MetaClassTypeParameterV.class, StudioPropertyGroups.Opened.class, StudioPropertyGroups.PageSize.class, StudioPropertyGroups.Pattern.class, StudioPropertyGroups.Placeholder.class, StudioPropertyGroups.PropertyTypeParameterV.class, - StudioPropertyGroups.ReadOnly.class, StudioPropertyGroups.ComboBoxThemeNames.class, StudioPropertyGroups.Title.class }, @@ -1745,22 +1617,12 @@ interface StudioComponents { }) }), propertyGroups = { - StudioPropertyGroups.AlignSelfAndJustifySelfAndColspan.class, - StudioPropertyGroups.ClassNamesAndCss.class, - StudioPropertyGroups.IdAndVisible.class, - StudioPropertyGroups.EnabledWithTrueDefaultValue.class, - StudioPropertyGroups.Size.class, - StudioPropertyGroups.AriaLabelAndTabIndexAndFocusShortcut.class, - StudioPropertyGroups.RequiredAndRequiredMessageAndErrorMessage.class, + StudioPropertyGroups.FieldDefaultProperties.class, StudioPropertyGroups.AllowCustomValue.class, StudioPropertyGroups.Autofocus.class, - StudioPropertyGroups.CollectionOrInstanceDataContainer.class, - StudioPropertyGroups.HelperText.class, - StudioPropertyGroups.Label.class, StudioPropertyGroups.MetaClassTypeParameterV.class, StudioPropertyGroups.Placeholder.class, StudioPropertyGroups.PropertyTypeParameterV.class, - StudioPropertyGroups.ReadOnly.class, StudioPropertyGroups.ThemeNames.class, StudioPropertyGroups.Title.class }, @@ -2091,30 +1953,10 @@ interface StudioComponents { @StudioConvertStrategy.TagInfo(qualifiedName = "numberField") }), propertyGroups = { - StudioPropertyGroups.AlignSelfAndJustifySelfAndColspan.class, - StudioPropertyGroups.ClassNamesAndCss.class, - StudioPropertyGroups.IdAndVisible.class, - StudioPropertyGroups.EnabledWithTrueDefaultValue.class, - StudioPropertyGroups.Size.class, - StudioPropertyGroups.AriaLabelAndTabIndexAndFocusShortcut.class, - StudioPropertyGroups.RequiredAndRequiredMessageAndErrorMessage.class, - StudioPropertyGroups.Autocapitalize.class, - StudioPropertyGroups.Autocomplete.class, - StudioPropertyGroups.Autocorrect.class, - StudioPropertyGroups.Autofocus.class, - StudioPropertyGroups.Autoselect.class, - StudioPropertyGroups.ClearButtonVisible.class, - StudioPropertyGroups.CollectionOrInstanceDataContainer.class, - StudioPropertyGroups.HelperText.class, - StudioPropertyGroups.Label.class, - StudioPropertyGroups.Placeholder.class, + StudioPropertyGroups.TextInputFieldDefaultProperties.class, StudioPropertyGroups.Property.class, - StudioPropertyGroups.ReadOnly.class, StudioPropertyGroups.StepButtonsVisible.class, - StudioPropertyGroups.FieldThemeNames.class, - StudioPropertyGroups.Title.class, - StudioPropertyGroups.ValueChangeMode.class, - StudioPropertyGroups.ValueChangeTimeout.class + StudioPropertyGroups.FieldThemeTitleAndValueChangeDefaultProperties.class }, properties = { @StudioProperty(xmlAttribute = "alignSelf", category = StudioProperty.Category.POSITION, type = StudioPropertyType.ENUMERATION, @@ -2215,34 +2057,14 @@ interface StudioComponents { @StudioConvertStrategy.TagInfo(qualifiedName = "bigDecimalField") }), propertyGroups = { - StudioPropertyGroups.AlignSelfAndJustifySelfAndColspan.class, - StudioPropertyGroups.ClassNamesAndCss.class, - StudioPropertyGroups.IdAndVisible.class, - StudioPropertyGroups.EnabledWithTrueDefaultValue.class, - StudioPropertyGroups.Size.class, - StudioPropertyGroups.AriaLabelAndTabIndexAndFocusShortcut.class, - StudioPropertyGroups.RequiredAndRequiredMessageAndErrorMessage.class, + StudioPropertyGroups.TextInputFieldDefaultProperties.class, StudioPropertyGroups.AllowedCharPattern.class, - StudioPropertyGroups.Autocapitalize.class, - StudioPropertyGroups.Autocomplete.class, - StudioPropertyGroups.Autocorrect.class, - StudioPropertyGroups.Autofocus.class, - StudioPropertyGroups.Autoselect.class, - StudioPropertyGroups.ClearButtonVisible.class, - StudioPropertyGroups.CollectionOrInstanceDataContainer.class, - StudioPropertyGroups.HelperText.class, - StudioPropertyGroups.Label.class, StudioPropertyGroups.ValidationDoubleMax.class, StudioPropertyGroups.ValidationDoubleMin.class, - StudioPropertyGroups.Placeholder.class, StudioPropertyGroups.Property.class, - StudioPropertyGroups.ReadOnly.class, StudioPropertyGroups.Step.class, StudioPropertyGroups.StepButtonsVisible.class, - StudioPropertyGroups.FieldThemeNames.class, - StudioPropertyGroups.Title.class, - StudioPropertyGroups.ValueChangeMode.class, - StudioPropertyGroups.ValueChangeTimeout.class + StudioPropertyGroups.FieldThemeTitleAndValueChangeDefaultProperties.class }, properties = { @StudioProperty(xmlAttribute = "alignSelf", category = StudioProperty.Category.POSITION, type = StudioPropertyType.ENUMERATION, @@ -2342,31 +2164,11 @@ interface StudioComponents { @StudioConvertStrategy.TagInfo(qualifiedName = "textField") }), propertyGroups = { - StudioPropertyGroups.AlignSelfAndJustifySelfAndColspan.class, - StudioPropertyGroups.ClassNamesAndCss.class, - StudioPropertyGroups.IdAndVisible.class, - StudioPropertyGroups.EnabledWithTrueDefaultValue.class, - StudioPropertyGroups.Size.class, - StudioPropertyGroups.AriaLabelAndTabIndexAndFocusShortcut.class, - StudioPropertyGroups.RequiredAndRequiredMessageAndErrorMessage.class, + StudioPropertyGroups.TextInputFieldDefaultProperties.class, StudioPropertyGroups.AllowedCharPattern.class, - StudioPropertyGroups.Autocapitalize.class, - StudioPropertyGroups.Autocomplete.class, - StudioPropertyGroups.Autocorrect.class, - StudioPropertyGroups.Autofocus.class, - StudioPropertyGroups.Autoselect.class, - StudioPropertyGroups.ClearButtonVisible.class, - StudioPropertyGroups.CollectionOrInstanceDataContainer.class, - StudioPropertyGroups.HelperText.class, - StudioPropertyGroups.Label.class, StudioPropertyGroups.Pattern.class, - StudioPropertyGroups.Placeholder.class, StudioPropertyGroups.Property.class, - StudioPropertyGroups.ReadOnly.class, - StudioPropertyGroups.FieldThemeNames.class, - StudioPropertyGroups.Title.class, - StudioPropertyGroups.ValueChangeMode.class, - StudioPropertyGroups.ValueChangeTimeout.class + StudioPropertyGroups.FieldThemeTitleAndValueChangeDefaultProperties.class }, properties = { @StudioProperty(xmlAttribute = "alignSelf", category = StudioProperty.Category.POSITION, type = StudioPropertyType.ENUMERATION, @@ -2512,13 +2314,8 @@ interface StudioComponents { @StudioConvertStrategy.TagInfo(qualifiedName = "checkBoxGroup") }), propertyGroups = { - StudioPropertyGroups.AlignSelfAndJustifySelfAndColspan.class, - StudioPropertyGroups.ClassNamesAndCss.class, - StudioPropertyGroups.IdAndVisible.class, - StudioPropertyGroups.EnabledWithTrueDefaultValue.class, - StudioPropertyGroups.Size.class, - StudioPropertyGroups.AriaLabel.class, - StudioPropertyGroups.AriaLabelledBy.class, + StudioPropertyGroups.SizedComponentDefaultProperties.class, + StudioPropertyGroups.AriaLabelAndLabelledBy.class, StudioPropertyGroups.CollectionOrInstanceDataContainer.class, StudioPropertyGroups.Datatype.class, StudioPropertyGroups.ErrorMessage.class, @@ -2602,23 +2399,13 @@ interface StudioComponents { @StudioConvertStrategy.TagInfo(qualifiedName = "multiSelectComboBoxPicker") }), propertyGroups = { - StudioPropertyGroups.AlignSelfAndJustifySelfAndColspan.class, - StudioPropertyGroups.ClassNamesAndCss.class, - StudioPropertyGroups.IdAndVisible.class, - StudioPropertyGroups.EnabledWithTrueDefaultValue.class, - StudioPropertyGroups.Size.class, - StudioPropertyGroups.AriaLabelAndTabIndexAndFocusShortcut.class, - StudioPropertyGroups.RequiredAndRequiredMessageAndErrorMessage.class, + StudioPropertyGroups.FieldDefaultProperties.class, StudioPropertyGroups.Autofocus.class, StudioPropertyGroups.Datatype.class, StudioPropertyGroups.OverlayWidth.class, - StudioPropertyGroups.CollectionOrInstanceDataContainer.class, - StudioPropertyGroups.HelperText.class, StudioPropertyGroups.ItemsContainerTypeParameterT.class, - StudioPropertyGroups.Label.class, StudioPropertyGroups.Placeholder.class, - StudioPropertyGroups.PropertyTypeParameterV.class, - StudioPropertyGroups.ReadOnly.class + StudioPropertyGroups.PropertyTypeParameterV.class }, properties = { @StudioProperty(xmlAttribute = "alignSelf", category = StudioProperty.Category.POSITION, type = StudioPropertyType.ENUMERATION, @@ -2890,11 +2677,7 @@ interface StudioComponents { @StudioConvertStrategy.TagInfo(qualifiedName = "richTextEditor") }), propertyGroups = { - StudioPropertyGroups.AlignSelfAndJustifySelfAndColspan.class, - StudioPropertyGroups.ClassNamesAndCss.class, - StudioPropertyGroups.IdAndVisible.class, - StudioPropertyGroups.EnabledWithTrueDefaultValue.class, - StudioPropertyGroups.Size.class, + StudioPropertyGroups.SizedComponentDefaultProperties.class, StudioPropertyGroups.AriaLabelAndTabIndexAndFocusShortcut.class, StudioPropertyGroups.AllowedCharPattern.class, StudioPropertyGroups.Autocapitalize.class, @@ -3026,35 +2809,15 @@ interface StudioComponents { @StudioConvertStrategy.TagInfo(qualifiedName = "bigDecimalField") }), propertyGroups = { - StudioPropertyGroups.AlignSelfAndJustifySelfAndColspan.class, - StudioPropertyGroups.ClassNamesAndCss.class, - StudioPropertyGroups.IdAndVisible.class, - StudioPropertyGroups.EnabledWithTrueDefaultValue.class, - StudioPropertyGroups.Size.class, - StudioPropertyGroups.AriaLabelAndTabIndexAndFocusShortcut.class, - StudioPropertyGroups.RequiredAndRequiredMessageAndErrorMessage.class, + StudioPropertyGroups.TextInputFieldDefaultProperties.class, StudioPropertyGroups.AllowedCharPattern.class, - StudioPropertyGroups.Autocapitalize.class, - StudioPropertyGroups.Autocomplete.class, - StudioPropertyGroups.Autocorrect.class, - StudioPropertyGroups.Autofocus.class, - StudioPropertyGroups.Autoselect.class, - StudioPropertyGroups.ClearButtonVisible.class, - StudioPropertyGroups.CollectionOrInstanceDataContainer.class, StudioPropertyGroups.Datatype.class, - StudioPropertyGroups.HelperText.class, - StudioPropertyGroups.Label.class, StudioPropertyGroups.MaxLength.class, StudioPropertyGroups.MinLength.class, StudioPropertyGroups.Pattern.class, - StudioPropertyGroups.Placeholder.class, StudioPropertyGroups.PropertyTypeParameterV.class, - StudioPropertyGroups.ReadOnly.class, - StudioPropertyGroups.FieldThemeNames.class, - StudioPropertyGroups.Title.class, - StudioPropertyGroups.TrimEnabled.class, - StudioPropertyGroups.ValueChangeMode.class, - StudioPropertyGroups.ValueChangeTimeout.class + StudioPropertyGroups.FieldThemeTitleAndValueChangeDefaultProperties.class, + StudioPropertyGroups.TrimEnabled.class }, properties = { @StudioProperty(xmlAttribute = "alignSelf", category = StudioProperty.Category.POSITION, type = StudioPropertyType.ENUMERATION, @@ -3158,24 +2921,14 @@ interface StudioComponents { @StudioConvertStrategy.TagInfo(qualifiedName = "dateTimePicker"), }), propertyGroups = { - StudioPropertyGroups.AlignSelfAndJustifySelfAndColspan.class, - StudioPropertyGroups.ClassNamesAndCss.class, - StudioPropertyGroups.IdAndVisible.class, - StudioPropertyGroups.EnabledWithTrueDefaultValue.class, - StudioPropertyGroups.Size.class, - StudioPropertyGroups.AriaLabelAndTabIndexAndFocusShortcut.class, - StudioPropertyGroups.RequiredAndRequiredMessageAndErrorMessage.class, + StudioPropertyGroups.FieldDefaultProperties.class, StudioPropertyGroups.AllowedCharPattern.class, StudioPropertyGroups.AutoOpen.class, StudioPropertyGroups.ClearButtonVisible.class, - StudioPropertyGroups.CollectionOrInstanceDataContainer.class, - StudioPropertyGroups.HelperText.class, - StudioPropertyGroups.Label.class, StudioPropertyGroups.ValidationStringMax.class, StudioPropertyGroups.ValidationStringMin.class, StudioPropertyGroups.Placeholder.class, StudioPropertyGroups.PropertyTypeParameterV.class, - StudioPropertyGroups.ReadOnly.class, StudioPropertyGroups.TimeStep.class }, properties = { @@ -3491,11 +3244,7 @@ interface StudioComponents { icon = "io/jmix/flowui/kit/meta/icon/component/upload.svg", documentationLink = "%VERSION%/flow-ui/vc/components/upload.html", propertyGroups = { - StudioPropertyGroups.AlignSelfAndJustifySelfAndColspan.class, - StudioPropertyGroups.ClassNamesAndCss.class, - StudioPropertyGroups.IdAndVisible.class, - StudioPropertyGroups.EnabledWithTrueDefaultValue.class, - StudioPropertyGroups.Size.class, + StudioPropertyGroups.SizedComponentDefaultProperties.class, StudioPropertyGroups.MaxFileSize.class, StudioPropertyGroups.UploadText.class, StudioPropertyGroups.UploadIcon.class @@ -3556,11 +3305,7 @@ interface StudioComponents { @StudioConvertStrategy.TagInfo(qualifiedName = "fileStorageUploadField") }), propertyGroups = { - StudioPropertyGroups.AlignSelfAndJustifySelfAndColspan.class, - StudioPropertyGroups.ClassNamesAndCss.class, - StudioPropertyGroups.IdAndVisible.class, - StudioPropertyGroups.EnabledWithTrueDefaultValue.class, - StudioPropertyGroups.Size.class, + StudioPropertyGroups.SizedComponentDefaultProperties.class, StudioPropertyGroups.RequiredAndRequiredMessageAndErrorMessage.class, StudioPropertyGroups.AcceptedFileTypes.class, StudioPropertyGroups.ClearButtonAriaLabel.class, @@ -3660,11 +3405,7 @@ interface StudioComponents { @StudioConvertStrategy.TagInfo(qualifiedName = "fileUploadField") }), propertyGroups = { - StudioPropertyGroups.AlignSelfAndJustifySelfAndColspan.class, - StudioPropertyGroups.ClassNamesAndCss.class, - StudioPropertyGroups.IdAndVisible.class, - StudioPropertyGroups.EnabledWithTrueDefaultValue.class, - StudioPropertyGroups.Size.class, + StudioPropertyGroups.SizedComponentDefaultProperties.class, StudioPropertyGroups.RequiredAndRequiredMessageAndErrorMessage.class, StudioPropertyGroups.AcceptedFileTypes.class, StudioPropertyGroups.ClearButtonAriaLabel.class, @@ -3765,11 +3506,7 @@ interface StudioComponents { icon = "io/jmix/flowui/kit/meta/icon/component/genericFilter.svg", documentationLink = "%VERSION%/flow-ui/vc/components/genericFilter.html", propertyGroups = { - StudioPropertyGroups.AlignSelfAndJustifySelfAndColspan.class, - StudioPropertyGroups.ClassNamesAndCss.class, - StudioPropertyGroups.IdAndVisible.class, - StudioPropertyGroups.EnabledWithTrueDefaultValue.class, - StudioPropertyGroups.Size.class, + StudioPropertyGroups.SizedComponentDefaultProperties.class, StudioPropertyGroups.DataLoader.class, StudioPropertyGroups.DetailsThemeNames.class }, @@ -3826,11 +3563,7 @@ interface StudioComponents { ) ), propertyGroups = { - StudioPropertyGroups.AlignSelfAndJustifySelfAndColspan.class, - StudioPropertyGroups.ClassNamesAndCss.class, - StudioPropertyGroups.IdAndVisible.class, - StudioPropertyGroups.EnabledWithTrueDefaultValue.class, - StudioPropertyGroups.Size.class, + StudioPropertyGroups.SizedComponentDefaultProperties.class, StudioPropertyGroups.AriaLabelAndTabIndexAndFocusShortcut.class, StudioPropertyGroups.RequiredAndRequiredMessageAndErrorMessage.class, StudioPropertyGroups.AutoApply.class, @@ -3838,7 +3571,6 @@ interface StudioComponents { StudioPropertyGroups.DefaultValue.class, StudioPropertyGroups.HelperText.class, StudioPropertyGroups.Label.class, - StudioPropertyGroups.Label.class, StudioPropertyGroups.LabelVisible.class, StudioPropertyGroups.LabelWidth.class, StudioPropertyGroups.OperationTextVisible.class, @@ -3918,11 +3650,7 @@ interface StudioComponents { icon = "io/jmix/flowui/kit/meta/icon/component/jpqlFilter.svg", documentationLink = "%VERSION%/flow-ui/vc/components/genericFilter-components.html#jpql-filter", propertyGroups = { - StudioPropertyGroups.AlignSelfAndJustifySelfAndColspan.class, - StudioPropertyGroups.ClassNamesAndCss.class, - StudioPropertyGroups.IdAndVisible.class, - StudioPropertyGroups.EnabledWithTrueDefaultValue.class, - StudioPropertyGroups.Size.class, + StudioPropertyGroups.SizedComponentDefaultProperties.class, StudioPropertyGroups.AriaLabelAndTabIndexAndFocusShortcut.class, StudioPropertyGroups.RequiredAndRequiredMessageAndErrorMessage.class, StudioPropertyGroups.AutoApply.class, @@ -3931,7 +3659,6 @@ interface StudioComponents { StudioPropertyGroups.HasInExpression.class, StudioPropertyGroups.HelperText.class, StudioPropertyGroups.Label.class, - StudioPropertyGroups.Label.class, StudioPropertyGroups.LabelVisible.class, StudioPropertyGroups.LabelWidth.class, StudioPropertyGroups.ParameterName.class, @@ -4134,11 +3861,7 @@ interface StudioComponents { @StudioConvertStrategy.TagInfo(qualifiedName = "richTextEditor") }), propertyGroups = { - StudioPropertyGroups.AlignSelfAndJustifySelfAndColspan.class, - StudioPropertyGroups.ClassNamesAndCss.class, - StudioPropertyGroups.IdAndVisible.class, - StudioPropertyGroups.EnabledWithTrueDefaultValue.class, - StudioPropertyGroups.Size.class, + StudioPropertyGroups.SizedComponentDefaultProperties.class, StudioPropertyGroups.RequiredAndRequiredMessageAndErrorMessage.class, StudioPropertyGroups.CollectionOrInstanceDataContainer.class, StudioPropertyGroups.HelperText.class, @@ -4262,11 +3985,7 @@ interface StudioComponents { xmlElement = "virtualList", icon = "io/jmix/flowui/kit/meta/icon/component/virtualList.svg", propertyGroups = { - StudioPropertyGroups.AlignSelfAndJustifySelfAndColspan.class, - StudioPropertyGroups.ClassNamesAndCss.class, - StudioPropertyGroups.IdAndVisible.class, - StudioPropertyGroups.EnabledWithTrueDefaultValue.class, - StudioPropertyGroups.Size.class, + StudioPropertyGroups.SizedComponentDefaultProperties.class, StudioPropertyGroups.ItemsContainerTypeParameterV.class, StudioPropertyGroups.ItemsEnum.class, StudioPropertyGroups.TabIndex.class, @@ -4323,13 +4042,8 @@ interface StudioComponents { @StudioConvertStrategy.TagInfo(qualifiedName = "multiValuePicker") }), propertyGroups = { - StudioPropertyGroups.AlignSelfAndJustifySelfAndColspan.class, - StudioPropertyGroups.ClassNamesAndCss.class, - StudioPropertyGroups.IdAndVisible.class, - StudioPropertyGroups.EnabledWithTrueDefaultValue.class, - StudioPropertyGroups.Size.class, - StudioPropertyGroups.AriaLabel.class, - StudioPropertyGroups.AriaLabelledBy.class, + StudioPropertyGroups.SizedComponentDefaultProperties.class, + StudioPropertyGroups.AriaLabelAndLabelledBy.class, StudioPropertyGroups.CollectionOrInstanceDataContainer.class, StudioPropertyGroups.HelperText.class, StudioPropertyGroups.ItemsContainerTypeParameterV.class, @@ -4405,11 +4119,7 @@ interface StudioComponents { xmlElement = "gridColumnVisibility", icon = "io/jmix/flowui/kit/meta/icon/component/gridColumnVisibility.svg", propertyGroups = { - StudioPropertyGroups.AlignSelfAndJustifySelfAndColspan.class, - StudioPropertyGroups.ClassNamesAndCss.class, - StudioPropertyGroups.IdAndVisible.class, - StudioPropertyGroups.EnabledWithTrueDefaultValue.class, - StudioPropertyGroups.Size.class, + StudioPropertyGroups.SizedComponentDefaultProperties.class, StudioPropertyGroups.TabIndex.class, StudioPropertyGroups.FocusShortcut.class, StudioPropertyGroups.Text.class, @@ -4469,11 +4179,7 @@ interface StudioComponents { xmlElement = "menuFilterField", icon = "io/jmix/flowui/kit/meta/icon/component/menufilterfield.svg", propertyGroups = { - StudioPropertyGroups.AlignSelfAndJustifySelfAndColspan.class, - StudioPropertyGroups.ClassNamesAndCss.class, - StudioPropertyGroups.IdAndVisible.class, - StudioPropertyGroups.EnabledWithTrueDefaultValue.class, - StudioPropertyGroups.Size.class, + StudioPropertyGroups.SizedComponentDefaultProperties.class, StudioPropertyGroups.AriaLabelAndTabIndexAndFocusShortcut.class, StudioPropertyGroups.Autofocus.class, StudioPropertyGroups.Autoselect.class, @@ -4481,10 +4187,7 @@ interface StudioComponents { StudioPropertyGroups.Label.class, StudioPropertyGroups.Placeholder.class, StudioPropertyGroups.ReadOnly.class, - StudioPropertyGroups.FieldThemeNames.class, - StudioPropertyGroups.Title.class, - StudioPropertyGroups.ValueChangeMode.class, - StudioPropertyGroups.ValueChangeTimeout.class + StudioPropertyGroups.FieldThemeTitleAndValueChangeDefaultProperties.class }, properties = { @StudioProperty(xmlAttribute = "alignSelf", category = StudioProperty.Category.POSITION, type = StudioPropertyType.ENUMERATION, @@ -4554,14 +4257,9 @@ interface StudioComponents { @StudioConvertStrategy.TagInfo(qualifiedName = "codeEditor") }), propertyGroups = { - StudioPropertyGroups.AlignSelfAndJustifySelfAndColspan.class, - StudioPropertyGroups.ClassNamesAndCss.class, - StudioPropertyGroups.IdAndVisible.class, - StudioPropertyGroups.EnabledWithTrueDefaultValue.class, - StudioPropertyGroups.Size.class, + StudioPropertyGroups.SizedComponentDefaultProperties.class, StudioPropertyGroups.ReadOnly.class, - StudioPropertyGroups.AriaLabel.class, - StudioPropertyGroups.AriaLabelledBy.class, + StudioPropertyGroups.AriaLabelAndLabelledBy.class, StudioPropertyGroups.Label.class, StudioPropertyGroups.HelperText.class, StudioPropertyGroups.ValueChangeMode.class, diff --git a/jmix-flowui/flowui-kit/src/main/java/io/jmix/flowui/kit/meta/component/StudioHTMLComponents.java b/jmix-flowui/flowui-kit/src/main/java/io/jmix/flowui/kit/meta/component/StudioHTMLComponents.java index 6f8f2e0bcf..638190e467 100644 --- a/jmix-flowui/flowui-kit/src/main/java/io/jmix/flowui/kit/meta/component/StudioHTMLComponents.java +++ b/jmix-flowui/flowui-kit/src/main/java/io/jmix/flowui/kit/meta/component/StudioHTMLComponents.java @@ -30,11 +30,7 @@ interface StudioHTMLComponents { icon = "io/jmix/flowui/kit/meta/icon/html/htmlComponent.svg", documentationLink = "%VERSION%/flow-ui/vc/html.html", propertyGroups = { - StudioPropertyGroups.AlignSelfAndJustifySelfAndColspan.class, - StudioPropertyGroups.ClassNamesAndCss.class, - StudioPropertyGroups.IdAndVisible.class, - StudioPropertyGroups.EnabledWithTrueDefaultValue.class, - StudioPropertyGroups.Size.class, + StudioPropertyGroups.SizedComponentDefaultProperties.class, StudioPropertyGroups.AriaLabelAndTabIndexAndFocusShortcut.class, StudioPropertyGroups.CollectionOrInstanceDataContainer.class, StudioPropertyGroups.Property.class, @@ -915,11 +911,7 @@ interface StudioHTMLComponents { icon = "io/jmix/flowui/kit/meta/icon/html/htmlComponent.svg", documentationLink = "%VERSION%/flow-ui/vc/html.html", propertyGroups = { - StudioPropertyGroups.AlignSelfAndJustifySelfAndColspan.class, - StudioPropertyGroups.ClassNamesAndCss.class, - StudioPropertyGroups.IdAndVisible.class, - StudioPropertyGroups.EnabledWithTrueDefaultValue.class, - StudioPropertyGroups.Size.class, + StudioPropertyGroups.SizedComponentDefaultProperties.class, StudioPropertyGroups.ClickShortcut.class, StudioPropertyGroups.CollectionOrInstanceDataContainer.class, StudioPropertyGroups.Property.class, @@ -1043,14 +1035,9 @@ interface StudioHTMLComponents { icon = "io/jmix/flowui/kit/meta/icon/html/image.svg", documentationLink = "%VERSION%/flow-ui/vc/html-components/image.html", propertyGroups = { - StudioPropertyGroups.AlignSelfAndJustifySelfAndColspan.class, - StudioPropertyGroups.ClassNamesAndCss.class, - StudioPropertyGroups.IdAndVisible.class, - StudioPropertyGroups.EnabledWithTrueDefaultValue.class, - StudioPropertyGroups.Size.class, + StudioPropertyGroups.SizedComponentDefaultProperties.class, StudioPropertyGroups.AlternateText.class, - StudioPropertyGroups.AriaLabel.class, - StudioPropertyGroups.AriaLabelledBy.class, + StudioPropertyGroups.AriaLabelAndLabelledBy.class, StudioPropertyGroups.ClickShortcut.class, StudioPropertyGroups.CollectionOrInstanceDataContainer.class, StudioPropertyGroups.Property.class, @@ -1118,11 +1105,7 @@ interface StudioHTMLComponents { icon = "io/jmix/flowui/kit/meta/icon/html/htmlComponent.svg", documentationLink = "%VERSION%/flow-ui/vc/html.html", propertyGroups = { - StudioPropertyGroups.AlignSelfAndJustifySelfAndColspan.class, - StudioPropertyGroups.ClassNamesAndCss.class, - StudioPropertyGroups.IdAndVisible.class, - StudioPropertyGroups.EnabledWithTrueDefaultValue.class, - StudioPropertyGroups.Size.class, + StudioPropertyGroups.SizedComponentDefaultProperties.class, StudioPropertyGroups.AriaLabelAndTabIndexAndFocusShortcut.class, StudioPropertyGroups.Placeholder.class, StudioPropertyGroups.ValueChangeMode.class, @@ -1534,11 +1517,7 @@ interface StudioHTMLComponents { icon = "io/jmix/flowui/kit/meta/icon/html/htmlComponent.svg", documentationLink = "%VERSION%/flow-ui/vc/html.html", propertyGroups = { - StudioPropertyGroups.AlignSelfAndJustifySelfAndColspan.class, - StudioPropertyGroups.ClassNamesAndCss.class, - StudioPropertyGroups.IdAndVisible.class, - StudioPropertyGroups.EnabledWithTrueDefaultValue.class, - StudioPropertyGroups.Size.class, + StudioPropertyGroups.SizedComponentDefaultProperties.class, StudioPropertyGroups.CollectionOrInstanceDataContainer.class, StudioPropertyGroups.Property.class, StudioPropertyGroups.Text.class, @@ -1596,11 +1575,7 @@ interface StudioHTMLComponents { xmlElement = "rangeInput", icon = "io/jmix/flowui/kit/meta/icon/html/rangeInput.svg", propertyGroups = { - StudioPropertyGroups.AlignSelfAndJustifySelfAndColspan.class, - StudioPropertyGroups.ClassNamesAndCss.class, - StudioPropertyGroups.IdAndVisible.class, - StudioPropertyGroups.EnabledWithTrueDefaultValue.class, - StudioPropertyGroups.Size.class, + StudioPropertyGroups.SizedComponentDefaultProperties.class, StudioPropertyGroups.AriaLabelAndTabIndexAndFocusShortcut.class, StudioPropertyGroups.Step.class, StudioPropertyGroups.ValueChangeMode.class, @@ -1835,11 +1810,7 @@ interface StudioHTMLComponents { @StudioConvertStrategy.TagInfo(qualifiedName = "span"), }), propertyGroups = { - StudioPropertyGroups.AlignSelfAndJustifySelfAndColspan.class, - StudioPropertyGroups.ClassNamesAndCss.class, - StudioPropertyGroups.IdAndVisible.class, - StudioPropertyGroups.EnabledWithTrueDefaultValue.class, - StudioPropertyGroups.Size.class, + StudioPropertyGroups.SizedComponentDefaultProperties.class, StudioPropertyGroups.CollectionOrInstanceDataContainer.class, StudioPropertyGroups.Property.class, StudioPropertyGroups.Text.class, @@ -1906,11 +1877,7 @@ interface StudioHTMLComponents { icon = "io/jmix/flowui/kit/meta/icon/html/htmlComponent.svg", documentationLink = "%VERSION%/flow-ui/vc/html.html", propertyGroups = { - StudioPropertyGroups.AlignSelfAndJustifySelfAndColspan.class, - StudioPropertyGroups.ClassNamesAndCss.class, - StudioPropertyGroups.IdAndVisible.class, - StudioPropertyGroups.EnabledWithTrueDefaultValue.class, - StudioPropertyGroups.Size.class, + StudioPropertyGroups.SizedComponentDefaultProperties.class, StudioPropertyGroups.AriaLabelAndTabIndexAndFocusShortcut.class, StudioPropertyGroups.ClickShortcut.class, StudioPropertyGroups.CollectionOrInstanceDataContainer.class, @@ -2131,19 +2098,14 @@ interface StudioHTMLComponents { @StudioConvertStrategy.TagInfo(qualifiedName = "details"), }), propertyGroups = { - StudioPropertyGroups.AlignSelfAndJustifySelfAndColspan.class, - StudioPropertyGroups.ClassNamesAndCss.class, - StudioPropertyGroups.IdAndVisible.class, - StudioPropertyGroups.EnabledWithTrueDefaultValue.class, - StudioPropertyGroups.Size.class, + StudioPropertyGroups.SizedComponentDefaultProperties.class, StudioPropertyGroups.CollectionOrInstanceDataContainer.class, StudioPropertyGroups.Property.class, StudioPropertyGroups.Text.class, StudioPropertyGroups.HtmlComponentThemeNames.class, StudioPropertyGroups.Title.class, StudioPropertyGroups.WhiteSpace.class, - StudioPropertyGroups.AriaLabel.class, - StudioPropertyGroups.AriaLabelledBy.class + StudioPropertyGroups.AriaLabelAndLabelledBy.class }, properties = { @StudioProperty(xmlAttribute = "alignSelf", category = StudioProperty.Category.POSITION, type = StudioPropertyType.ENUMERATION, diff --git a/jmix-flowui/flowui-kit/src/main/java/io/jmix/flowui/kit/meta/component/StudioLayouts.java b/jmix-flowui/flowui-kit/src/main/java/io/jmix/flowui/kit/meta/component/StudioLayouts.java index d3fd7d050b..1563498785 100644 --- a/jmix-flowui/flowui-kit/src/main/java/io/jmix/flowui/kit/meta/component/StudioLayouts.java +++ b/jmix-flowui/flowui-kit/src/main/java/io/jmix/flowui/kit/meta/component/StudioLayouts.java @@ -704,13 +704,8 @@ interface StudioLayouts { category = "Layouts", xmlElement = "card", propertyGroups = { - StudioPropertyGroups.AlignSelfAndJustifySelfAndColspan.class, - StudioPropertyGroups.ClassNamesAndCss.class, - StudioPropertyGroups.IdAndVisible.class, - StudioPropertyGroups.EnabledWithTrueDefaultValue.class, - StudioPropertyGroups.Size.class, - StudioPropertyGroups.AriaLabel.class, - StudioPropertyGroups.AriaLabelledBy.class, + StudioPropertyGroups.SizedComponentDefaultProperties.class, + StudioPropertyGroups.AriaLabelAndLabelledBy.class, StudioPropertyGroups.Title.class }, properties = { @@ -782,11 +777,7 @@ interface StudioLayouts { xmlElement = "gridLayout", icon = "io/jmix/flowui/kit/meta/icon/layout/gridLayout.svg", propertyGroups = { - StudioPropertyGroups.AlignSelfAndJustifySelfAndColspan.class, - StudioPropertyGroups.ClassNamesAndCss.class, - StudioPropertyGroups.IdAndVisible.class, - StudioPropertyGroups.EnabledWithTrueDefaultValue.class, - StudioPropertyGroups.Size.class, + StudioPropertyGroups.SizedComponentDefaultProperties.class, StudioPropertyGroups.Gap.class }, properties = { diff --git a/jmix-flowui/flowui-kit/src/main/java/io/jmix/flowui/kit/meta/element/StudioElements.java b/jmix-flowui/flowui-kit/src/main/java/io/jmix/flowui/kit/meta/element/StudioElements.java index 88a2127150..d8671bd31a 100644 --- a/jmix-flowui/flowui-kit/src/main/java/io/jmix/flowui/kit/meta/element/StudioElements.java +++ b/jmix-flowui/flowui-kit/src/main/java/io/jmix/flowui/kit/meta/element/StudioElements.java @@ -31,6 +31,7 @@ import io.jmix.flowui.kit.component.dropdownbutton.DropdownButtonItem; import io.jmix.flowui.kit.component.loginform.JmixLoginI18n; import io.jmix.flowui.kit.component.usermenu.UserMenuItem; +import io.jmix.flowui.kit.meta.action.StudioActionPropertyGroups; import io.jmix.flowui.kit.meta.*; import io.jmix.flowui.kit.meta.GenericResolvingInfo.ResolvingStrategy; import io.jmix.flowui.kit.meta.GenericResolvingInfo.ResolvingStrategy.ClassFqnStrategy; @@ -49,12 +50,11 @@ interface StudioElements { documentationLink = "%VERSION%/flow-ui/vc/layouts/accordion.html#_accordionpanel", visible = true, propertyGroups = { - StudioPropertyGroups.ClassNames.class, - StudioPropertyGroups.Css.class, + StudioPropertyGroups.ClassNamesAndCss.class, StudioPropertyGroups.Colspan.class, StudioPropertyGroups.Enabled.class, StudioPropertyGroups.Height.class, - StudioPropertyGroups.Id.class, + StudioPropertyGroups.IdAndVisible.class, StudioPropertyGroups.MaxHeight.class, StudioPropertyGroups.MaxWidth.class, StudioPropertyGroups.MinHeight.class, @@ -62,7 +62,6 @@ interface StudioElements { StudioPropertyGroups.SummaryText.class, StudioPropertyGroups.Opened.class, StudioPropertyGroups.DetailsThemeNames.class, - StudioPropertyGroups.Visible.class, StudioPropertyGroups.WidthWithDefaultValue100.class }, properties = { @@ -133,13 +132,7 @@ interface StudioElements { target = {"io.jmix.flowui.kit.component.dropdownbutton.ActionItem"}, unlimitedCount = false, propertyGroups = { - StudioPropertyGroups.ActionVariantWithDefaultDefaultValue.class, - StudioPropertyGroups.Description.class, - StudioPropertyGroups.EnabledWithTrueDefaultValue.class, - StudioPropertyGroups.LookAndFeelIcon.class, - StudioPropertyGroups.RequiredId.class, - StudioPropertyGroups.Text.class, - StudioPropertyGroups.Visible.class + StudioActionPropertyGroups.RequiredIconTextActionDefaultPropertiesWithoutShortcutCombination.class }, properties = { @StudioProperty(xmlAttribute = "type", category = StudioProperty.Category.GENERAL, type = StudioPropertyType.STRING), @@ -620,10 +613,8 @@ interface StudioElements { documentationLink = "%VERSION%/flow-ui/vc/components/tabs.html#tab", visible = true, propertyGroups = { - StudioPropertyGroups.AriaLabel.class, - StudioPropertyGroups.AriaLabelledBy.class, - StudioPropertyGroups.ClassNames.class, - StudioPropertyGroups.Css.class, + StudioPropertyGroups.AriaLabelAndLabelledBy.class, + StudioPropertyGroups.ClassNamesAndCss.class, StudioPropertyGroups.Enabled.class, StudioPropertyGroups.RequiredId.class, StudioPropertyGroups.Label.class, @@ -733,13 +724,7 @@ interface StudioElements { target = {"io.jmix.flowui.kit.component.usermenu.ActionUserMenuItem"}, unlimitedCount = false, propertyGroups = { - StudioPropertyGroups.RequiredId.class, - StudioPropertyGroups.Text.class, - StudioPropertyGroups.Visible.class, - StudioPropertyGroups.Description.class, - StudioPropertyGroups.EnabledWithTrueDefaultValue.class, - StudioPropertyGroups.ActionVariantWithDefaultDefaultValue.class, - StudioPropertyGroups.LookAndFeelIcon.class + StudioActionPropertyGroups.RequiredIconTextActionDefaultPropertiesWithoutShortcutCombination.class }, properties = { @StudioProperty(xmlAttribute = "id", category = StudioProperty.Category.GENERAL, type = StudioPropertyType.COMPONENT_ID, required = true), @@ -973,8 +958,7 @@ interface StudioElements { StudioPropertyGroups.Colspan.class, StudioPropertyGroups.Label.class, StudioPropertyGroups.EnabledWithTrueDefaultValue.class, - StudioPropertyGroups.Id.class, - StudioPropertyGroups.Visible.class + StudioPropertyGroups.IdAndVisible.class }, properties = { @StudioProperty(xmlAttribute = "classNames", category = StudioProperty.Category.LOOK_AND_FEEL, type = StudioPropertyType.VALUES_LIST), @@ -1022,25 +1006,21 @@ interface StudioElements { "io.jmix.flowui.component.genericfilter.configuration.DesignTimeConfiguration" }, propertyGroups = { - StudioPropertyGroups.ClassNames.class, - StudioPropertyGroups.Css.class, + StudioPropertyGroups.ClassNamesAndCss.class, StudioPropertyGroups.Colspan.class, StudioPropertyGroups.DefaultValue.class, StudioPropertyGroups.EnabledWithTrueDefaultValue.class, - StudioPropertyGroups.ErrorMessage.class, + StudioPropertyGroups.RequiredAndRequiredMessageAndErrorMessage.class, StudioPropertyGroups.HelperText.class, - StudioPropertyGroups.Id.class, + StudioPropertyGroups.IdAndVisible.class, StudioPropertyGroups.Label.class, StudioPropertyGroups.LabelVisible.class, StudioPropertyGroups.OperationTextVisible.class, StudioPropertyGroups.ParameterName.class, StudioPropertyGroups.ReadOnly.class, - StudioPropertyGroups.Required.class, - StudioPropertyGroups.RequiredMessage.class, StudioPropertyGroups.TabIndex.class, StudioPropertyGroups.FocusShortcut.class, - StudioPropertyGroups.ThemeNames.class, - StudioPropertyGroups.Visible.class + StudioPropertyGroups.ThemeNames.class }, properties = { @StudioProperty(xmlAttribute = "classNames", category = StudioProperty.Category.LOOK_AND_FEEL, type = StudioPropertyType.VALUES_LIST), @@ -1092,25 +1072,21 @@ interface StudioElements { "io.jmix.flowui.component.genericfilter.configuration.DesignTimeConfiguration" }, propertyGroups = { - StudioPropertyGroups.ClassNames.class, - StudioPropertyGroups.Css.class, + StudioPropertyGroups.ClassNamesAndCss.class, StudioPropertyGroups.Colspan.class, StudioPropertyGroups.DefaultValue.class, StudioPropertyGroups.EnabledWithTrueDefaultValue.class, - StudioPropertyGroups.ErrorMessage.class, + StudioPropertyGroups.RequiredAndRequiredMessageAndErrorMessage.class, StudioPropertyGroups.HasInExpression.class, StudioPropertyGroups.HelperText.class, - StudioPropertyGroups.Id.class, + StudioPropertyGroups.IdAndVisible.class, StudioPropertyGroups.Label.class, StudioPropertyGroups.LabelVisible.class, StudioPropertyGroups.ParameterName.class, StudioPropertyGroups.ReadOnly.class, - StudioPropertyGroups.Required.class, - StudioPropertyGroups.RequiredMessage.class, StudioPropertyGroups.TabIndex.class, StudioPropertyGroups.FocusShortcut.class, StudioPropertyGroups.ThemeNames.class, - StudioPropertyGroups.Visible.class, StudioPropertyGroups.Width.class }, properties = { @@ -1179,14 +1155,12 @@ interface StudioElements { "io.jmix.flowui.component.genericfilter.configuration.DesignTimeConfiguration" }, propertyGroups = { - StudioPropertyGroups.ClassNames.class, - StudioPropertyGroups.Css.class, + StudioPropertyGroups.ClassNamesAndCss.class, StudioPropertyGroups.Colspan.class, StudioPropertyGroups.EnabledWithTrueDefaultValue.class, - StudioPropertyGroups.Id.class, + StudioPropertyGroups.IdAndVisible.class, StudioPropertyGroups.OperationTextVisible.class, - StudioPropertyGroups.SummaryText.class, - StudioPropertyGroups.Visible.class + StudioPropertyGroups.SummaryText.class }, properties = { @StudioProperty(xmlAttribute = "classNames", category = StudioProperty.Category.LOOK_AND_FEEL, type = StudioPropertyType.VALUES_LIST), @@ -1454,16 +1428,7 @@ interface StudioElements { documentationLink = "%VERSION%/flow-ui/vc/components/icon.html", isInjectable = false, propertyGroups = { - StudioPropertyGroups.AlignSelf.class, - StudioPropertyGroups.JustifySelf.class, - StudioPropertyGroups.ClassNames.class, - StudioPropertyGroups.ClickShortcut.class, - StudioPropertyGroups.Css.class, - StudioPropertyGroups.Color.class, - StudioPropertyGroups.Colspan.class, - StudioPropertyGroups.RequiredIcon.class, - StudioPropertyGroups.Id.class, - StudioPropertyGroups.Visible.class + StudioPropertyGroups.IconDefaultProperties.class }, properties = { @StudioProperty(xmlAttribute = "alignSelf", category = StudioProperty.Category.POSITION, type = StudioPropertyType.ENUMERATION, @@ -1502,17 +1467,7 @@ interface StudioElements { icon = "io/jmix/flowui/kit/meta/icon/component/svgIcon.svg", isInjectable = false, propertyGroups = { - StudioPropertyGroups.AlignSelf.class, - StudioPropertyGroups.JustifySelf.class, - StudioPropertyGroups.ClassNames.class, - StudioPropertyGroups.ClickShortcut.class, - StudioPropertyGroups.Css.class, - StudioPropertyGroups.Color.class, - StudioPropertyGroups.Resource.class, - StudioPropertyGroups.Colspan.class, - StudioPropertyGroups.Id.class, - StudioPropertyGroups.Symbol.class, - StudioPropertyGroups.Visible.class + StudioPropertyGroups.SvgIconDefaultProperties.class }, properties = { @StudioProperty(xmlAttribute = "alignSelf", category = StudioProperty.Category.POSITION, type = StudioPropertyType.ENUMERATION, @@ -1552,19 +1507,7 @@ interface StudioElements { icon = "io/jmix/flowui/kit/meta/icon/component/fontIcon.svg", isInjectable = false, propertyGroups = { - StudioPropertyGroups.AlignSelf.class, - StudioPropertyGroups.JustifySelf.class, - StudioPropertyGroups.CharCode.class, - StudioPropertyGroups.ClassNames.class, - StudioPropertyGroups.ClickShortcut.class, - StudioPropertyGroups.Css.class, - StudioPropertyGroups.Color.class, - StudioPropertyGroups.Colspan.class, - StudioPropertyGroups.FontFamily.class, - StudioPropertyGroups.IconClassNames.class, - StudioPropertyGroups.Id.class, - StudioPropertyGroups.Ligature.class, - StudioPropertyGroups.Visible.class + StudioPropertyGroups.FontIconDefaultProperties.class }, properties = { @StudioProperty(xmlAttribute = "alignSelf", category = StudioProperty.Category.POSITION, type = StudioPropertyType.ENUMERATION, @@ -1607,19 +1550,15 @@ interface StudioElements { documentationLink = "%VERSION%/flow-ui/vc/html-components/image.html", isInjectable = false, propertyGroups = { - StudioPropertyGroups.AlignSelf.class, - StudioPropertyGroups.JustifySelf.class, + StudioPropertyGroups.AlignSelfAndJustifySelfAndColspan.class, StudioPropertyGroups.AlternateText.class, - StudioPropertyGroups.AriaLabel.class, - StudioPropertyGroups.AriaLabelledBy.class, - StudioPropertyGroups.ClassNames.class, + StudioPropertyGroups.AriaLabelAndLabelledBy.class, + StudioPropertyGroups.ClassNamesAndCss.class, StudioPropertyGroups.ClickShortcut.class, - StudioPropertyGroups.Css.class, - StudioPropertyGroups.Colspan.class, StudioPropertyGroups.CollectionOrInstanceDataContainer.class, StudioPropertyGroups.EnabledWithTrueDefaultValue.class, StudioPropertyGroups.Height.class, - StudioPropertyGroups.Id.class, + StudioPropertyGroups.IdAndVisible.class, StudioPropertyGroups.MaxHeight.class, StudioPropertyGroups.MaxWidth.class, StudioPropertyGroups.MinHeight.class, @@ -1629,7 +1568,6 @@ interface StudioElements { StudioPropertyGroups.Text.class, StudioPropertyGroups.ImageThemeNames.class, StudioPropertyGroups.Title.class, - StudioPropertyGroups.Visible.class, StudioPropertyGroups.WhiteSpace.class, StudioPropertyGroups.Width.class }, @@ -1739,10 +1677,8 @@ interface StudioElements { unlimitedCount = false, target = {"io.jmix.flowui.component.grid.DataGrid", "io.jmix.flowui.component.grid.TreeDataGrid"}, propertyGroups = { - StudioPropertyGroups.ClassNames.class, - StudioPropertyGroups.Css.class, - StudioPropertyGroups.Id.class, - StudioPropertyGroups.Visible.class + StudioPropertyGroups.ClassNamesAndCss.class, + StudioPropertyGroups.IdAndVisible.class }, properties = { @StudioProperty(xmlAttribute = "classNames", category = StudioProperty.Category.LOOK_AND_FEEL, type = StudioPropertyType.VALUES_LIST), @@ -1778,12 +1714,10 @@ interface StudioElements { "com.vaadin.flow.component.grid.contextmenu.GridMenuItem"}, propertyGroups = { StudioPropertyGroups.Action.class, - StudioPropertyGroups.ClassNames.class, - StudioPropertyGroups.Css.class, + StudioPropertyGroups.ClassNamesAndCss.class, StudioPropertyGroups.EnabledWithTrueDefaultValue.class, - StudioPropertyGroups.Id.class, + StudioPropertyGroups.IdAndVisible.class, StudioPropertyGroups.Text.class, - StudioPropertyGroups.Visible.class, StudioPropertyGroups.WhiteSpace.class }, properties = { diff --git a/jmix-flowui/flowui-kit/src/main/java/io/jmix/flowui/kit/meta/element/StudioMainViewElements.java b/jmix-flowui/flowui-kit/src/main/java/io/jmix/flowui/kit/meta/element/StudioMainViewElements.java index 0e913c9390..3fa1541e87 100644 --- a/jmix-flowui/flowui-kit/src/main/java/io/jmix/flowui/kit/meta/element/StudioMainViewElements.java +++ b/jmix-flowui/flowui-kit/src/main/java/io/jmix/flowui/kit/meta/element/StudioMainViewElements.java @@ -71,8 +71,7 @@ interface StudioMainViewElements { StudioPropertyGroups.Id.class, StudioPropertyGroups.AlignItems.class, StudioPropertyGroups.BoxSizing.class, - StudioPropertyGroups.ClassNames.class, - StudioPropertyGroups.Css.class, + StudioPropertyGroups.ClassNamesAndCss.class, StudioPropertyGroups.EnabledWithTrueDefaultValue.class, StudioPropertyGroups.Expand.class, StudioPropertyGroups.Height.class, diff --git a/jmix-search/search-flowui-kit/src/main/java/io/jmix/searchflowui/kit/meta/component/StudioSearchComponents.java b/jmix-search/search-flowui-kit/src/main/java/io/jmix/searchflowui/kit/meta/component/StudioSearchComponents.java index c105d04a95..1e6f2ce600 100644 --- a/jmix-search/search-flowui-kit/src/main/java/io/jmix/searchflowui/kit/meta/component/StudioSearchComponents.java +++ b/jmix-search/search-flowui-kit/src/main/java/io/jmix/searchflowui/kit/meta/component/StudioSearchComponents.java @@ -36,21 +36,14 @@ public interface StudioSearchComponents { xmlnsAlias = "search", icon = "io/jmix/searchflowui/kit/meta/icon/component/searchField.svg", propertyGroups = { - StudioPropertyGroups.Size.class, - StudioPropertyGroups.AlignSelfAndJustifySelfAndColspan.class, - StudioPropertyGroups.ClassNamesAndCss.class, - StudioPropertyGroups.IdAndVisible.class, - StudioPropertyGroups.EnabledWithTrueDefaultValue.class, + StudioPropertyGroups.SizedComponentDefaultProperties.class, StudioPropertyGroups.AriaLabelAndTabIndexAndFocusShortcut.class, StudioPropertyGroups.Autofocus.class, StudioPropertyGroups.HelperText.class, StudioPropertyGroups.Label.class, StudioPropertyGroups.Placeholder.class, - StudioPropertyGroups.FieldThemeNames.class, - StudioPropertyGroups.Title.class, - StudioPropertyGroups.Value3.class, - StudioPropertyGroups.ValueChangeMode.class, - StudioPropertyGroups.ValueChangeTimeout.class + StudioPropertyGroups.FieldThemeTitleAndValueChangeDefaultProperties.class, + StudioPropertyGroups.StringValue.class }, properties = { @StudioProperty(xmlAttribute = "alignSelf", category = StudioProperty.Category.POSITION, type = StudioPropertyType.ENUMERATION, @@ -118,11 +111,7 @@ public interface StudioSearchComponents { xmlnsAlias = "search", icon = "io/jmix/searchflowui/kit/meta/icon/component/searchField.svg", propertyGroups = { - StudioPropertyGroups.Size.class, - StudioPropertyGroups.AlignSelfAndJustifySelfAndColspan.class, - StudioPropertyGroups.ClassNamesAndCss.class, - StudioPropertyGroups.IdAndVisible.class, - StudioPropertyGroups.EnabledWithTrueDefaultValue.class, + StudioPropertyGroups.SizedComponentDefaultProperties.class, StudioPropertyGroups.AriaLabelAndTabIndexAndFocusShortcut.class, StudioPropertyGroups.RequiredAndRequiredMessageAndErrorMessage.class, StudioPropertyGroups.AutoApply.class,