use of org.kie.workbench.common.forms.fields.shared.fieldTypes.basic.HasPlaceHolder in project kie-wb-common by kiegroup.
the class DataObjectFormModelHandlerTest method checkCommonProperties.
private FieldDefinition checkCommonProperties(String dataFieldName) {
ObjectProperty dataField = dataObject.getProperty(dataFieldName);
FieldDefinition formField = fieldManager.getDefinitionByModelProperty(formModel.getProperty(dataFieldName));
String dataFieldClassName = dataField.getClassName();
TypeInfo fieldTypeInfo = formField.getFieldTypeInfo();
// test common properties
assertEquals(dataFieldClassName, fieldTypeInfo.getClassName());
assertNotEquals(TypeKind.ENUM, fieldTypeInfo.getType());
assertEquals(dataField.isMultiple(), fieldTypeInfo.isMultiple());
assertEquals(dataField.getName().toLowerCase(), formField.getLabel().toLowerCase());
assertEquals(dataField.getName(), formField.getBinding());
assertEquals(dataFieldClassName, formField.getStandaloneClassName());
assertFalse(formField.getReadOnly());
assertFalse(formField.getRequired());
assertTrue(formField.getValidateOnChange());
// test interface specific properties
if (formField instanceof HasPlaceHolder) {
assertEquals(dataField.getName().toLowerCase(), ((HasPlaceHolder) formField).getPlaceHolder().toLowerCase());
}
if (formField instanceof HasMaxLength) {
long maxLength = ((HasMaxLength) formField).getMaxLength();
assertTrue(formField instanceof CharacterBoxFieldDefinition ? maxLength == 1 : maxLength == 100);
}
return formField;
}
use of org.kie.workbench.common.forms.fields.shared.fieldTypes.basic.HasPlaceHolder in project kie-wb-common by kiegroup.
the class AbstractFieldManager method getDefinitionByModelProperty.
@Override
public FieldDefinition getDefinitionByModelProperty(ModelProperty modelProperty) {
FieldTypeEntry fieldTypeEntry = (FieldTypeEntry) modelProperty.getMetaData().getEntry(FieldTypeEntry.NAME);
FieldDefinition fieldDefinition = null;
if (fieldTypeEntry != null) {
fieldDefinition = getFieldFromProvider(fieldTypeEntry.getValue(), modelProperty.getTypeInfo());
}
if (fieldDefinition == null) {
Optional<FieldDefinition> optional = Optional.ofNullable(getDefinitionByDataType(modelProperty.getTypeInfo()));
if (optional.isPresent()) {
fieldDefinition = optional.get();
}
}
if (fieldDefinition != null) {
fieldDefinition.setName(modelProperty.getName());
fieldDefinition.setBinding(modelProperty.getName());
String label = modelProperty.getName();
label = label.substring(0, 1).toUpperCase() + label.substring(1);
fieldDefinition.setLabel(label);
fieldDefinition.setStandaloneClassName(modelProperty.getTypeInfo().getClassName());
if (fieldDefinition instanceof HasPlaceHolder) {
((HasPlaceHolder) fieldDefinition).setPlaceHolder(label);
}
for (MetaDataEntry entry : modelProperty.getMetaData().getEntries()) {
MetaDataEntryProcessor processor = metaDataEntryManager.getProcessorForEntry(entry);
if (processor != null && processor.supports(fieldDefinition)) {
processor.process(entry, fieldDefinition);
}
}
return fieldDefinition;
}
return null;
}
use of org.kie.workbench.common.forms.fields.shared.fieldTypes.basic.HasPlaceHolder in project kie-wb-common by kiegroup.
the class FormEditorHelper method getFormField.
public FieldDefinition getFormField(String fieldId) {
FieldDefinition result = content.getDefinition().getFieldById(fieldId);
if (result == null) {
result = availableFields.get(fieldId);
if (result == null) {
if (unbindedFields.containsKey(fieldId)) {
Pair<EditorFieldLayoutComponent, FieldDefinition> pair = unbindedFields.get(fieldId);
result = pair.getK2();
result.setLabel(result.getFieldType().getTypeName());
if (result instanceof HasPlaceHolder) {
((HasPlaceHolder) result).setPlaceHolder(result.getFieldType().getTypeName());
}
unbindedFields.remove(result.getId());
FieldDefinition newField = fieldManager.getDefinitionByFieldType(result.getFieldType());
newField.setName(generateUnboundFieldName(newField));
EditorFieldLayoutComponent component = pair.getK1();
component.init(content.getRenderingContext(), newField);
unbindedFields.put(newField.getId(), new Pair<>(component, newField));
}
}
}
return result;
}
Aggregations