Search in sources :

Example 11 with LayoutColumn

use of org.uberfire.ext.layout.editor.api.editor.LayoutColumn in project kie-wb-common by kiegroup.

the class LayoutGenerator method build.

public LayoutTemplate build() {
    LayoutTemplate template = new LayoutTemplate();
    rows.stream().filter(row -> !row.cells.isEmpty()).forEach(row -> {
        LayoutRow layoutRow = new LayoutRow();
        template.addRow(layoutRow);
        row.cells.forEach(cell -> {
            LayoutColumn layoutColumn = new LayoutColumn(String.valueOf(cell.horizontalSpan));
            layoutRow.add(layoutColumn);
            if (cell.getComponentsCount() == 0) {
                return;
            } else if (cell.getComponentsCount() == 1) {
                layoutColumn.add(cell.components.get(0));
            } else {
                cell.components.forEach(component -> {
                    LayoutRow nestedRow = new LayoutRow();
                    layoutColumn.addRow(nestedRow);
                    LayoutColumn nestedColumn = new LayoutColumn(String.valueOf(MAX_SPAN));
                    nestedRow.add(nestedColumn);
                    nestedColumn.add(component);
                });
            }
        });
    });
    return template;
}
Also used : LayoutColumnDefinition(org.kie.workbench.common.forms.adf.service.definitions.layout.LayoutColumnDefinition) List(java.util.List) Dependent(javax.enterprise.context.Dependent) LayoutRow(org.uberfire.ext.layout.editor.api.editor.LayoutRow) LayoutTemplate(org.uberfire.ext.layout.editor.api.editor.LayoutTemplate) LayoutSettings(org.kie.workbench.common.forms.adf.service.definitions.layout.LayoutSettings) LayoutColumn(org.uberfire.ext.layout.editor.api.editor.LayoutColumn) LayoutComponent(org.uberfire.ext.layout.editor.api.editor.LayoutComponent) ArrayList(java.util.ArrayList) ColSpan(org.kie.workbench.common.forms.adf.definitions.settings.ColSpan) LayoutTemplate(org.uberfire.ext.layout.editor.api.editor.LayoutTemplate) LayoutRow(org.uberfire.ext.layout.editor.api.editor.LayoutRow) LayoutColumn(org.uberfire.ext.layout.editor.api.editor.LayoutColumn)

Example 12 with LayoutColumn

use of org.uberfire.ext.layout.editor.api.editor.LayoutColumn in project kie-wb-common by kiegroup.

the class LayoutGeneratorTest method checkSingleColumnRow.

protected void checkSingleColumnRow(LayoutRow row) {
    assertNotNull(row);
    assertNotNull(row.getLayoutColumns());
    assertEquals(1, row.getLayoutColumns().size());
    LayoutColumn column = row.getLayoutColumns().get(0);
    assertNotNull(column);
    assertEquals("12", column.getSpan());
    assertNotNull(column.getLayoutComponents());
    assertEquals(1, column.getLayoutComponents().size());
    assertTrue(settingsMap.containsKey(column.getLayoutComponents().get(0)));
}
Also used : LayoutColumn(org.uberfire.ext.layout.editor.api.editor.LayoutColumn)

Example 13 with LayoutColumn

use of org.uberfire.ext.layout.editor.api.editor.LayoutColumn in project kie-wb-common by kiegroup.

the class AbstractFormDefinitionGeneratorTest method verifyLineForm.

protected void verifyLineForm(FormMigrationSummary summary) {
    Form originalForm = summary.getOriginalForm().get();
    Assertions.assertThat(originalForm.getFormFields()).isNotEmpty().hasSize(4);
    FormDefinition newForm = summary.getNewForm().get();
    Assertions.assertThat(newForm.getFields()).isNotEmpty().hasSize(4);
    Assertions.assertThat(newForm.getModel()).isNotNull().hasFieldOrPropertyWithValue("className", LINE_MODEL).isInstanceOf(DataObjectFormModel.class);
    IntStream indexStream = IntStream.range(0, newForm.getFields().size());
    LayoutTemplate formLayout = newForm.getLayoutTemplate();
    assertNotNull(formLayout);
    Assertions.assertThat(formLayout.getRows()).isNotEmpty().hasSize(1);
    LayoutRow fieldRow = formLayout.getRows().get(0);
    indexStream.forEach(index -> {
        FieldDefinition fieldDefinition = newForm.getFields().get(index);
        switch(index) {
            case 0:
                checkFieldDefinition(fieldDefinition, LINE_PRODUCT, "product", "product", TextBoxFieldDefinition.class, newForm, originalForm.getField(fieldDefinition.getName()));
                break;
            case 1:
                checkFieldDefinition(fieldDefinition, LINE_PRICE, "price", "price", DecimalBoxFieldDefinition.class, newForm, originalForm.getField(fieldDefinition.getName()));
                break;
            case 2:
                checkFieldDefinition(fieldDefinition, LINE_QUANTITY, "quantity", "quantity", IntegerBoxFieldDefinition.class, newForm, originalForm.getField(fieldDefinition.getName()));
                break;
            case 3:
                checkFieldDefinition(fieldDefinition, LINE_TOTAL, "total", "total", DecimalBoxFieldDefinition.class, newForm, originalForm.getField(fieldDefinition.getName()));
                break;
        }
        assertNotNull(fieldRow);
        Assertions.assertThat(fieldRow.getLayoutColumns()).isNotEmpty().hasSize(4);
        LayoutColumn fieldColumn = fieldRow.getLayoutColumns().get(index);
        assertNotNull(fieldColumn);
        assertEquals("3", fieldColumn.getSpan());
        Assertions.assertThat(fieldColumn.getLayoutComponents()).isNotEmpty().hasSize(1);
        checkLayoutFormField(fieldColumn.getLayoutComponents().get(0), fieldDefinition, newForm);
    });
}
Also used : LayoutTemplate(org.uberfire.ext.layout.editor.api.editor.LayoutTemplate) Form(org.kie.workbench.common.forms.migration.legacy.model.Form) LayoutRow(org.uberfire.ext.layout.editor.api.editor.LayoutRow) FieldDefinition(org.kie.workbench.common.forms.model.FieldDefinition) DecimalBoxFieldDefinition(org.kie.workbench.common.forms.fields.shared.fieldTypes.basic.decimalBox.definition.DecimalBoxFieldDefinition) IntegerBoxFieldDefinition(org.kie.workbench.common.forms.fields.shared.fieldTypes.basic.integerBox.definition.IntegerBoxFieldDefinition) SubFormFieldDefinition(org.kie.workbench.common.forms.fields.shared.fieldTypes.relations.subForm.definition.SubFormFieldDefinition) TextBoxFieldDefinition(org.kie.workbench.common.forms.fields.shared.fieldTypes.basic.textBox.definition.TextBoxFieldDefinition) MultipleSubFormFieldDefinition(org.kie.workbench.common.forms.fields.shared.fieldTypes.relations.multipleSubform.definition.MultipleSubFormFieldDefinition) LayoutColumn(org.uberfire.ext.layout.editor.api.editor.LayoutColumn) FormDefinition(org.kie.workbench.common.forms.model.FormDefinition) IntStream(java.util.stream.IntStream)

Example 14 with LayoutColumn

use of org.uberfire.ext.layout.editor.api.editor.LayoutColumn in project kie-wb-common by kiegroup.

the class FormDefinitionGeneratorForBPMNWithComplexVariableTest method checkInvoiceFormDefinition.

protected void checkInvoiceFormDefinition(FormDefinition invoiceForm, Form originalForm) {
    assertNotNull(invoiceForm);
    Assertions.assertThat(invoiceForm.getModel()).isNotNull().isInstanceOf(DataObjectFormModel.class).hasFieldOrPropertyWithValue("className", INVOICE_MODEL);
    Assertions.assertThat(invoiceForm.getFields()).isNotEmpty().hasSize(3);
    IntStream indexStream = IntStream.range(0, invoiceForm.getFields().size());
    LayoutTemplate formLayout = invoiceForm.getLayoutTemplate();
    assertNotNull(formLayout);
    Assertions.assertThat(formLayout.getRows()).isNotEmpty().hasSize(3);
    indexStream.forEach(index -> {
        FieldDefinition fieldDefinition = invoiceForm.getFields().get(index);
        switch(index) {
            case 0:
                checkFieldDefinition(fieldDefinition, "invoice_user", "User Data:", "user", SubFormFieldDefinition.class, invoiceForm, originalForm.getField(fieldDefinition.getName()));
                break;
            case 1:
                checkFieldDefinition(fieldDefinition, "lines", "Invoice Lines", "lines", MultipleSubFormFieldDefinition.class, invoiceForm, originalForm.getField(fieldDefinition.getName()));
                break;
            case 2:
                checkFieldDefinition(fieldDefinition, "invoice_total", "Invoice Total:", "total", DecimalBoxFieldDefinition.class, invoiceForm, originalForm.getField(fieldDefinition.getName()));
                break;
        }
        LayoutRow fieldRow = formLayout.getRows().get(index);
        assertNotNull(fieldRow);
        Assertions.assertThat(fieldRow.getLayoutColumns()).isNotEmpty().hasSize(1);
        LayoutColumn fieldColumn = fieldRow.getLayoutColumns().get(0);
        assertNotNull(fieldColumn);
        assertEquals("12", fieldColumn.getSpan());
        Assertions.assertThat(fieldColumn.getLayoutComponents()).isNotEmpty().hasSize(1);
        checkLayoutFormField(fieldColumn.getLayoutComponents().get(0), fieldDefinition, invoiceForm);
    });
}
Also used : LayoutTemplate(org.uberfire.ext.layout.editor.api.editor.LayoutTemplate) LayoutRow(org.uberfire.ext.layout.editor.api.editor.LayoutRow) FieldDefinition(org.kie.workbench.common.forms.model.FieldDefinition) DecimalBoxFieldDefinition(org.kie.workbench.common.forms.fields.shared.fieldTypes.basic.decimalBox.definition.DecimalBoxFieldDefinition) SubFormFieldDefinition(org.kie.workbench.common.forms.fields.shared.fieldTypes.relations.subForm.definition.SubFormFieldDefinition) MultipleSubFormFieldDefinition(org.kie.workbench.common.forms.fields.shared.fieldTypes.relations.multipleSubform.definition.MultipleSubFormFieldDefinition) LayoutColumn(org.uberfire.ext.layout.editor.api.editor.LayoutColumn) IntStream(java.util.stream.IntStream) DataObjectFormModel(org.kie.workbench.common.forms.data.modeller.model.DataObjectFormModel)

Aggregations

LayoutColumn (org.uberfire.ext.layout.editor.api.editor.LayoutColumn)14 LayoutRow (org.uberfire.ext.layout.editor.api.editor.LayoutRow)10 LayoutTemplate (org.uberfire.ext.layout.editor.api.editor.LayoutTemplate)8 FieldDefinition (org.kie.workbench.common.forms.model.FieldDefinition)7 DecimalBoxFieldDefinition (org.kie.workbench.common.forms.fields.shared.fieldTypes.basic.decimalBox.definition.DecimalBoxFieldDefinition)5 MultipleSubFormFieldDefinition (org.kie.workbench.common.forms.fields.shared.fieldTypes.relations.multipleSubform.definition.MultipleSubFormFieldDefinition)5 SubFormFieldDefinition (org.kie.workbench.common.forms.fields.shared.fieldTypes.relations.subForm.definition.SubFormFieldDefinition)5 Form (org.kie.workbench.common.forms.migration.legacy.model.Form)5 FormDefinition (org.kie.workbench.common.forms.model.FormDefinition)5 LayoutComponent (org.uberfire.ext.layout.editor.api.editor.LayoutComponent)5 IntStream (java.util.stream.IntStream)4 TextBoxFieldDefinition (org.kie.workbench.common.forms.fields.shared.fieldTypes.basic.textBox.definition.TextBoxFieldDefinition)4 IntegerBoxFieldDefinition (org.kie.workbench.common.forms.fields.shared.fieldTypes.basic.integerBox.definition.IntegerBoxFieldDefinition)3 FormLayoutComponent (org.kie.workbench.common.forms.model.FormLayoutComponent)3 ArrayList (java.util.ArrayList)2 List (java.util.List)2 Field (org.kie.workbench.common.forms.migration.legacy.model.Field)2 FormMigrationSummary (org.kie.workbench.common.forms.migration.tool.FormMigrationSummary)2 Matchers.anyString (org.mockito.Matchers.anyString)2 Formatter (java.util.Formatter)1