@Override public void addColorProperty(DisplayerAttributeDef attributeDef, String color) { String propName = attrMapI18n.get(attributeDef); category.withField(new PropertyEditorFieldInfo(propName, color, COLOR) .withKey(attributeDef.getFullId())); }
public void observeEditComponentEventFromPropertyEditor(@Observes PropertyEditorChangeEvent event) { PropertyEditorFieldInfo property = event.getProperty(); if (property.getEventId().equalsIgnoreCase(EditScreen.PROPERTY_EDITOR_KEY)) { configContext.setComponentProperty(property.getLabel(), property.getCurrentStringValue()); } }
@Override public void addListProperty(DisplayerAttributeDef attributeDef, List<String> optionList, String selectedValue) { String propName = attrMapI18n.get(attributeDef); category.withField(new PropertyEditorFieldInfo(propName, selectedValue, COMBO) .withComboValues(optionList) .withKey(attributeDef.getFullId())); }
@Override public void addTextProperty(String propId, String propName, String value, PropertyFieldValidator... validators) { category.withField(new PropertyEditorFieldInfo(propName, value, TEXT) .withValidators(validators) .withKey(propId)); }
fieldInfo.getKey()); assertEquals(1, fieldInfo.getValidators().size()); assertEquals("propertyBundleKey", fieldInfo.getLabel()); assertEquals("propertyHelpBundleKey", fieldInfo.getHelpText()); assertEquals(1, fieldInfo.getOptions().size()); assertEquals(PropertyEditorFieldOption.DISABLED, fieldInfo.getOptions().get(0)); fieldInfo.getCurrentStringValue()); fieldInfo.getComboValues().size()); assertTrue(fieldInfo.getComboValues() .contains(EnumForComboTest.val1.name())); assertTrue(fieldInfo.getComboValues() .contains(EnumForComboTest.val2.name()));
public PropertyEditorFieldInfo createPropertyField(CssProperty property, String value) { String displayName = propertyNameMapI18n.get(property); String helpText = propertyHelpMapI18n.get(property); PropertyEditorType propType = resolveFieldType(property); List<PropertyFieldValidator> validators = getValidators(property); List<CssAllowedValue> allowedValues = property.getAllowedValues(); CssAllowedValue allowedValue = parseCssAllowedValue(property, value); String currentValue = allowedValue != null ? formatCssAllowedValue(property, allowedValue) : value; PropertyEditorFieldInfo field = new PropertyEditorFieldInfo(displayName, currentValue, propType) .withKey(property.getName()); if (helpText != null) { field.withHelpInfo("", helpText); } if (validators != null && !validators.isEmpty()) { field.withValidators(validators); } if (allowedValues != null && !allowedValues.isEmpty()) { field.withComboValues(allowedValues.stream() .map(v -> formatCssAllowedValue(property, v)) .collect(Collectors.toList())); } return field; }
/** * Capture & process the modification events sent by the property editor */ protected void onPropertyEditorChange(@Observes PropertyEditorChangeEvent event) { PropertyEditorFieldInfo property = event.getProperty(); if (property.getEventId().equalsIgnoreCase(PROPERTY_EDITOR_ID)) { String attrKey = property.getKey(); String attrValue = event.getNewValue(); presenter.onAttributeChanged(attrKey, attrValue); } } }
String selectedScreenId = parameters.get(PLACE_NAME_PARAMETER); category.withField(new PropertyEditorFieldInfo(CommonConstants.INSTANCE.PlaceName(), selectedScreenId == null ? "" : selectedScreenId, PropertyEditorType.COMBO) .withComboValues(availableWorkbenchScreensIds) .withKey(configContext.hashCode() + PLACE_NAME_PARAMETER)); category.withField(new PropertyEditorFieldInfo(key, parameters.get(key), PropertyEditorType.TEXT) .withKey(configContext.hashCode() + key) .withRemovalSupported(true));
private PropertyEditorFieldInfo createPropertyEditorInfo(Object instance, Field declaredField, PropertyEditorType type) { if (needToExtractValues(instance)) { return new PropertyEditorFieldInfo(declaredField.getName(), extractFieldValue(instance, declaredField), type); } else { return new PropertyEditorFieldInfo(declaredField.getName(), type); } }
@Override public Widget widget(final PropertyEditorFieldInfo property) { final PropertyEditorColorPicker colorPicker = GWT.create(PropertyEditorColorPicker.class); String colorCode = property.getCurrentStringValue(); colorPicker.setValue(colorCode.startsWith("#") ? colorCode.substring(1) : colorCode); colorPicker.addChangeHandler(event -> { String color = colorPicker.getValue(); if (color.isEmpty() || validate(property, color)) { colorPicker.clearOldValidationErrors(); property.setCurrentStringValue(color); propertyEditorChangeEvent.fire(new PropertyEditorChangeEvent(property, "#" + color)); } else { colorPicker.setValidationError(getValidatorErrorMessage(property, color)); colorPicker.setValue(property.getCurrentStringValue()); } }); return colorPicker; } }
@Test public void testCreateFieldInfo() { fireInitializationEvent("preference-id"); final PropertyEditorFieldInfo fieldInfo = formPresenter.createFieldInfo("property", PropertyEditorType.TEXT, "some-text"); assertEquals("property", fieldInfo.getKey()); assertEquals(1, fieldInfo.getValidators().size()); assertEquals("propertyBundleKey", fieldInfo.getLabel()); assertEquals("propertyHelpBundleKey", fieldInfo.getHelpText()); assertEquals(1, fieldInfo.getOptions().size()); assertEquals(PropertyEditorFieldOption.DISABLED, fieldInfo.getOptions().get(0)); }
public void observeEditComponentEventFromPropertyEditor(@Observes PropertyEditorChangeEvent event) { PropertyEditorFieldInfo property = event.getProperty(); if (property.getEventId().equalsIgnoreCase(EditTargetDiv.PROPERTY_EDITOR_KEY)) { configContext.setComponentProperty(ID_PARAMETER, property.getCurrentStringValue()); } } }
private int searchSelectItem(PropertyEditorFieldInfo property, int index, int selected, String value) { if (value.equalsIgnoreCase(property.getCurrentStringValue())) { selected = index; } return selected; }
public void edit(LayoutEditorElement element) { this.layoutElement = element; view.clear(); layoutElement.getPropertyCategories().forEach(category -> { view.addCategory(category); category.getFields().forEach(field -> { String prop = field.getKey(); String val = field.getCurrentStringValue(); if (val != null && !val.isEmpty()) { currentValues.put(prop, val); } }); }); view.show(); }
@Test public void sortFieldsByPriority() { PropertyEditorFieldInfo highPriority = new PropertyEditorFieldInfo("highPriority", PropertyEditorType.BOOLEAN).withPriority(1); PropertyEditorFieldInfo lowPriority = new PropertyEditorFieldInfo("lowPriority", PropertyEditorType.BOOLEAN).withPriority(10); PropertyEditorCategory category = new PropertyEditorCategory("cat1", 2) .withField(lowPriority) .withField(highPriority); PropertyEditorEvent event = new PropertyEditorEvent("event", category); assertEquals(highPriority, event.getSortedProperties().get(0).getFields().get(0)); assertEquals(lowPriority, event.getSortedProperties().get(0).getFields().get(1)); } }
static PropertyEditorItemLabel createLabel(final PropertyEditorFieldInfo field) { PropertyEditorItemLabel item = GWT.create(PropertyEditorItemLabel.class); item.setText(field.getLabel()); item.setFor(String.valueOf(field.hashCode())); if (field.hasHelpInfo()) { item.setHelpTitle(field.getHelpHeading()); item.setHelpContent(field.getHelpText()); } return item; }
private void generateComboValues(Field declaredField, PropertyEditorFieldInfo field) { List<String> values = new ArrayList<String>(); for (Object constant : declaredField.getType().getEnumConstants()) { values.add(constant.toString()); } field.withComboValues(values); }
public void reset() { if (layoutElement != null) { currentValues.clear(); layoutElement.getPropertyCategories() .forEach(category -> category.getFields() .forEach(field -> { String property = field.getKey(); layoutElement.removeProperty(property); field.setCurrentStringValue(""); })); this.edit(layoutElement); propertyClearAllEvent.fire(new LayoutElementClearAllPropertiesEvent(layoutElement)); } }
static boolean isAMatchOfFilter(String propertyNameFilter, PropertyEditorFieldInfo field) { if (propertyNameFilter.isEmpty()) { return true; } return field.getLabel().toUpperCase().contains(propertyNameFilter.toUpperCase()); }