Search in sources :

Example 1 with FieldSet

use of com.enonic.xp.form.FieldSet in project xp by enonic.

the class MacroDescriptorTest method testCreate.

@Test
public void testCreate() {
    FieldSet body = FieldSet.create().label("Body").name("body").addFormItem(Input.create().name("param1").label("Parameter 1").inputType(InputTypeName.TEXT_LINE).build()).build();
    final Form config = Form.create().addFormItem(body).build();
    final MacroDescriptor macroDescriptor1 = MacroDescriptor.create().key(MacroKey.from("my-app:macro1")).description("my description").displayName("my display name").form(config).icon(Icon.from(new byte[] { 123 }, "image/png", Instant.now())).build();
    assertEquals("my-app:macro1", macroDescriptor1.getKey().toString());
    assertEquals("macro1", macroDescriptor1.getName());
    assertEquals("my display name", macroDescriptor1.getDisplayName());
    assertEquals("my description", macroDescriptor1.getDescription());
    assertEquals(config, macroDescriptor1.getForm());
}
Also used : FieldSet(com.enonic.xp.form.FieldSet) Form(com.enonic.xp.form.Form) Test(org.junit.jupiter.api.Test)

Example 2 with FieldSet

use of com.enonic.xp.form.FieldSet in project xp by enonic.

the class ContentTypeTest method layout.

@Test
public void layout() {
    ContentType contentType = ContentType.create().superType(ContentTypeName.structured()).name("myapplication:test").build();
    FieldSet layout = FieldSet.create().label("Personalia").name("personalia").addFormItem(Input.create().name("eyeColour").label("Eye color").inputType(InputTypeName.TEXT_LINE).build()).build();
    contentType.getForm().getFormItems().add(layout);
    assertEquals("eyeColour", contentType.getForm().getInput("eyeColour").getPath().toString());
}
Also used : FieldSet(com.enonic.xp.form.FieldSet) Test(org.junit.jupiter.api.Test)

Example 3 with FieldSet

use of com.enonic.xp.form.FieldSet in project xp by enonic.

the class XmlContentTypeParserTest method testI18nParseOmittingElementValue.

@Test
public void testI18nParseOmittingElementValue() throws Exception {
    parse(this.parser, "-i18n-only-attribute.xml");
    final ContentType result = this.builder.build();
    assertEquals("translated.display-name", result.getDisplayNameI18nKey());
    assertEquals("translated.description", result.getDescriptionI18nKey());
    // input type
    final Input input = (Input) result.getForm().getFormItem("textLine");
    assertEquals("translated.label", input.getLabelI18nKey());
    assertEquals("translated.label", input.getLabel());
    assertEquals("translated.help-text", input.getHelpTextI18nKey());
    assertEquals("translated.help-text", input.getHelpText());
    // option set
    final FormItem item = result.getForm().getFormItem("radioOptionSet");
    assertNotNull(item);
    final FormOptionSet radioOptionSet = (FormOptionSet) item;
    assertEquals(FormItemType.FORM_OPTION_SET, radioOptionSet.getType());
    assertEquals("translated.help-text", radioOptionSet.getHelpTextI18nKey());
    assertEquals("translated.help-text", radioOptionSet.getHelpText());
    assertEquals("translated.label", radioOptionSet.getLabelI18nKey());
    assertEquals("translated.label", radioOptionSet.getLabel());
    final Input inputInsideOption = radioOptionSet.getFormItems().getInput(FormItemPath.from("option_1.text-input"));
    assertEquals("translated.help-text", inputInsideOption.getHelpTextI18nKey());
    assertEquals("translated.help-text", inputInsideOption.getHelpText());
    assertEquals("translated.label", inputInsideOption.getLabelI18nKey());
    assertEquals("translated.label", inputInsideOption.getLabel());
    final FormOptionSetOption radioOption = radioOptionSet.getFormItems().getItemByName("option_1").toFormOptionSetOption();
    assertEquals("translated.help-text", radioOption.getHelpTextI18nKey());
    assertEquals("translated.help-text", radioOption.getHelpText());
    assertEquals("translated.label", radioOption.getLabelI18nKey());
    assertEquals("translated.label", radioOption.getLabel());
    // field set
    FormItem fieldSetItem = null;
    for (final FormItem next : result.getForm().getFormItems()) {
        if (next.getName().startsWith("fieldSet")) {
            fieldSetItem = next;
        }
    }
    assertNotNull(fieldSetItem);
    final FieldSet fieldSet = (FieldSet) fieldSetItem;
    assertEquals("translated.label", fieldSet.getLabelI18nKey());
    assertEquals("translated.label", fieldSet.getLabel());
    final Input inputInsideFieldSet = fieldSet.getFormItems().getInput(FormItemPath.from("textLine2"));
    assertEquals("translated.help-text", inputInsideFieldSet.getHelpTextI18nKey());
    assertEquals("translated.help-text", inputInsideFieldSet.getHelpText());
    assertEquals("translated.label", inputInsideFieldSet.getLabelI18nKey());
    assertEquals("translated.label", inputInsideFieldSet.getLabel());
    // item set
    final FormItem itemSet = result.getForm().getFormItem("item-set");
    assertNotNull(item);
    final FormItemSet formItemSet = (FormItemSet) itemSet;
    assertEquals("translated.label", formItemSet.getLabelI18nKey());
    assertEquals("translated.label", formItemSet.getLabel());
    assertEquals("translated.help-text", formItemSet.getHelpTextI18nKey());
    assertEquals("translated.help-text", formItemSet.getHelpText());
    final Input inputInsideFormItemSet = formItemSet.getFormItems().getInput(FormItemPath.from("textLine1"));
    assertEquals("translated.help-text", inputInsideFormItemSet.getHelpTextI18nKey());
    assertEquals("translated.help-text", inputInsideFormItemSet.getHelpText());
    assertEquals("translated.label", inputInsideFormItemSet.getLabelI18nKey());
    assertEquals("translated.label", inputInsideFormItemSet.getLabel());
}
Also used : FormOptionSet(com.enonic.xp.form.FormOptionSet) Input(com.enonic.xp.form.Input) FieldSet(com.enonic.xp.form.FieldSet) ContentType(com.enonic.xp.schema.content.ContentType) FormItem(com.enonic.xp.form.FormItem) FormOptionSetOption(com.enonic.xp.form.FormOptionSetOption) FormItemSet(com.enonic.xp.form.FormItemSet) Test(org.junit.jupiter.api.Test)

Example 4 with FieldSet

use of com.enonic.xp.form.FieldSet in project xp by enonic.

the class XmlContentTypeParserTest method testI18n_fieldSet.

@Test
public void testI18n_fieldSet() throws Exception {
    parse(this.parser, "-i18n.xml");
    final ContentType result = this.builder.build();
    FormItem item = null;
    for (final FormItem next : result.getForm().getFormItems()) {
        if (next.getName().startsWith("fieldSet")) {
            item = next;
        }
    }
    assertNotNull(item);
    final FieldSet fieldSet = (FieldSet) item;
    assertEquals("translated.label", fieldSet.getLabelI18nKey());
    final Input inputInsideFieldSet = fieldSet.getFormItems().getInput(FormItemPath.from("textLine2"));
    assertEquals("translated.help-text", inputInsideFieldSet.getHelpTextI18nKey());
    assertEquals("translated.label", inputInsideFieldSet.getLabelI18nKey());
}
Also used : FieldSet(com.enonic.xp.form.FieldSet) Input(com.enonic.xp.form.Input) ContentType(com.enonic.xp.schema.content.ContentType) FormItem(com.enonic.xp.form.FormItem) Test(org.junit.jupiter.api.Test)

Example 5 with FieldSet

use of com.enonic.xp.form.FieldSet in project xp by enonic.

the class OccurrenceValidator method validate.

private static void validate(final Iterable<FormItem> formItems, final List<PropertySet> parentDataSets, final ValidationErrors.Builder validationErrorsBuilder) {
    for (FormItem formItem : formItems) {
        validateOccurrences(formItem, parentDataSets, validationErrorsBuilder);
        if (formItem instanceof FormItemSet) {
            final List<PropertySet> dataSets = getDataSets(formItem.getName(), parentDataSets);
            validate(((FormItemSet) formItem).getFormItems(), dataSets, validationErrorsBuilder);
        } else if (formItem instanceof FieldSet) {
            validate(((FieldSet) formItem).formItemIterable(), parentDataSets, validationErrorsBuilder);
        } else if (formItem instanceof FormOptionSet) {
            validateFormOptionSetSelection((FormOptionSet) formItem, parentDataSets, validationErrorsBuilder);
        }
    }
}
Also used : FormOptionSet(com.enonic.xp.form.FormOptionSet) FieldSet(com.enonic.xp.form.FieldSet) FormItem(com.enonic.xp.form.FormItem) PropertySet(com.enonic.xp.data.PropertySet) FormItemSet(com.enonic.xp.form.FormItemSet)

Aggregations

FieldSet (com.enonic.xp.form.FieldSet)14 Test (org.junit.jupiter.api.Test)9 FormItemSet (com.enonic.xp.form.FormItemSet)7 ContentType (com.enonic.xp.schema.content.ContentType)5 FormItem (com.enonic.xp.form.FormItem)4 FormOptionSet (com.enonic.xp.form.FormOptionSet)4 Input (com.enonic.xp.form.Input)4 Content (com.enonic.xp.content.Content)3 ValidationErrors (com.enonic.xp.content.ValidationErrors)3 Form (com.enonic.xp.form.Form)3 FormOptionSetOption (com.enonic.xp.form.FormOptionSetOption)3 GetContentTypeParams (com.enonic.xp.schema.content.GetContentTypeParams)3 PropertySet (com.enonic.xp.data.PropertySet)2 Property (com.enonic.xp.data.Property)1 PropertyPath (com.enonic.xp.data.PropertyPath)1 PropertyTree (com.enonic.xp.data.PropertyTree)1 Value (com.enonic.xp.data.Value)1 FormDefaultValuesProcessor (com.enonic.xp.form.FormDefaultValuesProcessor)1 InlineMixin (com.enonic.xp.form.InlineMixin)1 InputTypeProperty (com.enonic.xp.inputtype.InputTypeProperty)1