/** * Gets the first focusable field in form. If there are enabled, * non-read-only fields, the first one of them is returned. Otherwise, the * field for the first property (or null if none) is returned. * * @return the Field. */ private Field<?> getFirstFocusableField() { Collection<?> itemPropertyIds = getItemPropertyIds(); if (itemPropertyIds != null && !itemPropertyIds.isEmpty()) { for (Object id : itemPropertyIds) { if (id != null) { Field<?> field = getField(id); if (field.isConnectorEnabled() && !field.isReadOnly()) { return field; } } } // fallback: first field if none of the fields is enabled and // writable Object id = itemPropertyIds.iterator().next(); if (id != null) { return getField(id); } } return null; }
getAnnotation( NotNull.class); if (notNullAnnotation != null && !field.isReadOnly()) { field.setRequired(true); Locale locale = getLocale();
final Field<?> f = fields.get(id); if (!f.isReadOnly()) { f.commit();
/** * Clears field and any possible existing binding. * * @param field * The field to be cleared * @since 7.7.5 */ protected void clearField(Field<?> field) { // Clear any possible existing binding to clear the field field.setPropertyDataSource(null); boolean fieldReadOnly = field.isReadOnly(); if (!fieldReadOnly) { field.clear(); } else { // Temporarily make the field read-write so we can clear the // value. Needed because setPropertyDataSource(null) does not // currently clear the field // (https://dev.vaadin.com/ticket/14733) field.setReadOnly(false); field.clear(); field.setReadOnly(true); } }
: new Select(); newField.setCaption(oldField.getCaption()); newField.setReadOnly(oldField.isReadOnly()); newField.setBuffered(oldField.isBuffered());
@Test public void underlyingJCRPropertyConformsToTransformerReadonlyState() throws Exception { // GIVEN definition.setReadOnly(true); definition.setType("String"); // WHEN fieldFactory = new TestTextFieldFactory(definition, baseItem, null, i18NAuthoringSupport); fieldFactory.setComponentProvider(this.componentProvider); Field<Object> field = fieldFactory.createField(); // THEN assertTrue(field.isReadOnly()); }
@Test public void readOnlyStateIsReflectedOnAlreadyExistingProperties() throws Exception { // GIVEN definition.setReadOnly(true); definition.setType("String"); Property<String> property = new ObjectProperty<>(""); baseItem.addItemProperty(propertyName, property); // WHEN fieldFactory = new TestTextFieldFactory(definition, baseItem, null, i18NAuthoringSupport); fieldFactory.setComponentProvider(this.componentProvider); Field<Object> field = fieldFactory.createField(); // THEN assertTrue(field.isReadOnly()); }
@Test public void setReadOnlyDefaultValue() throws Exception { // GIVEN baseItem = new JcrNewNodeAdapter(baseNode, baseNode.getPrimaryNodeType().getName()); checkBoxField = new CheckBoxFieldFactory(definition, baseItem, uiContext, i18NAuthoringSupport); checkBoxField.setComponentProvider(componentProvider); definition.setDefaultValue("true"); definition.setReadOnly(true); // WHEN Field<Boolean> field = checkBoxField.createField(); // THEN assertEquals(true, field.getValue()); assertTrue(field.isReadOnly()); CheckBox checkBox = (CheckBox) ((CheckBoxField) field).iterator().next(); assertEquals(true, checkBox.getValue()); assertTrue(checkBox.isReadOnly()); }