mirror of
https://gitee.com/jmix/cuba.git
synced 2024-11-30 10:17:43 +08:00
String nullOption value for the LookupPickerField causes the exception #1132
This commit is contained in:
parent
38bd1034a1
commit
5e22c79133
@ -33,9 +33,34 @@ public interface LookupField<V> extends OptionsField<V, V>, HasInputPrompt, Buff
|
||||
return new TypeToken<LookupField<T>>() {};
|
||||
}
|
||||
|
||||
/**
|
||||
* @deprecated Use {@link #getNullSelectionCaption()} instead
|
||||
*/
|
||||
@Deprecated
|
||||
V getNullOption();
|
||||
|
||||
/**
|
||||
* @deprecated Use {@link #setNullSelectionCaption(String)} instead
|
||||
*/
|
||||
@Deprecated
|
||||
void setNullOption(V nullOption);
|
||||
|
||||
/**
|
||||
* @return the null selection caption, not {@code null}
|
||||
*/
|
||||
String getNullSelectionCaption();
|
||||
|
||||
/**
|
||||
* Sets the null selection caption.
|
||||
* <p>
|
||||
* The empty string {@code ""} is the default null selection caption.
|
||||
* <p>
|
||||
* If null selection is allowed then the null item will be shown with the given caption.
|
||||
*
|
||||
* @param nullOption the caption to set, not {@code null}
|
||||
*/
|
||||
void setNullSelectionCaption(String nullOption);
|
||||
|
||||
FilterMode getFilterMode();
|
||||
void setFilterMode(FilterMode mode);
|
||||
|
||||
|
@ -58,7 +58,7 @@ public class LookupFieldLoader extends AbstractFieldLoader<LookupField> {
|
||||
|
||||
String nullName = element.attributeValue("nullName");
|
||||
if (StringUtils.isNotEmpty(nullName)) {
|
||||
resultComponent.setNullOption(loadResourceString(nullName));
|
||||
resultComponent.setNullSelectionCaption(loadResourceString(nullName));
|
||||
}
|
||||
|
||||
String pageLength = element.attributeValue("pageLength");
|
||||
|
@ -90,6 +90,10 @@ public class CubaComboBoxPickerField<T> extends CubaPickerField<T> {
|
||||
getFieldInternal().setItems(captionFilter, items);
|
||||
}
|
||||
|
||||
public String getEmptySelectionCaption() {
|
||||
return getFieldInternal().getEmptySelectionCaption();
|
||||
}
|
||||
|
||||
public void setEmptySelectionCaption(String caption) {
|
||||
getFieldInternal().setEmptySelectionCaption(caption);
|
||||
}
|
||||
|
@ -92,6 +92,10 @@ public class CubaSearchSelectPickerField<T> extends CubaPickerField<T> {
|
||||
getFieldInternal().setItems(captionFilter, items);
|
||||
}
|
||||
|
||||
public String getEmptySelectionCaption() {
|
||||
return getFieldInternal().getEmptySelectionCaption();
|
||||
}
|
||||
|
||||
public void setEmptySelectionCaption(String caption) {
|
||||
getFieldInternal().setEmptySelectionCaption(caption);
|
||||
}
|
||||
|
@ -85,7 +85,7 @@ public class WebLookupField<V> extends WebV8AbstractField<CComboBox<V>, V, V>
|
||||
attachValueChangeListener(component);
|
||||
setNewOptionAllowed(false);
|
||||
|
||||
component.setItemCaptionGenerator(this::generateDefaultItemCaption);
|
||||
component.setItemCaptionGenerator(this::generateItemCaption);
|
||||
|
||||
/* vaadin8 move to new item handler
|
||||
component.setNewItemHandler(newItemCaption -> {
|
||||
@ -238,8 +238,17 @@ public class WebLookupField<V> extends WebV8AbstractField<CComboBox<V>, V, V>
|
||||
@Override
|
||||
public void setNullOption(V nullOption) {
|
||||
this.nullOption = nullOption;
|
||||
setNullSelectionCaption(generateItemCaption(nullOption));
|
||||
}
|
||||
|
||||
component.setEmptySelectionCaption(generateItemCaption(nullOption));
|
||||
@Override
|
||||
public String getNullSelectionCaption() {
|
||||
return component.getEmptySelectionCaption();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setNullSelectionCaption(String nullOption) {
|
||||
component.setEmptySelectionCaption(nullOption);
|
||||
|
||||
setInputPrompt(null);
|
||||
}
|
||||
|
@ -106,7 +106,7 @@ public class WebLookupPickerField<V extends Entity> extends WebPickerField<V>
|
||||
@Override
|
||||
protected void initComponent(CubaPickerField<V> component) {
|
||||
((CubaComboBoxPickerField<V>) component)
|
||||
.setItemCaptionGenerator(this::generateDefaultItemCaption);
|
||||
.setItemCaptionGenerator(this::generateItemCaption);
|
||||
|
||||
component.addShortcutListener(new ShortcutListenerDelegate("clearShortcut",
|
||||
ShortcutAction.KeyCode.DELETE, new int[]{ShortcutAction.ModifierKey.SHIFT})
|
||||
@ -148,8 +148,17 @@ public class WebLookupPickerField<V extends Entity> extends WebPickerField<V>
|
||||
@Override
|
||||
public void setNullOption(V nullOption) {
|
||||
this.nullOption = nullOption;
|
||||
setNullSelectionCaption(generateItemCaption(nullOption));
|
||||
}
|
||||
|
||||
getComponent().setEmptySelectionCaption(generateItemCaption(nullOption));
|
||||
@Override
|
||||
public String getNullSelectionCaption() {
|
||||
return getComponent().getEmptySelectionCaption();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setNullSelectionCaption(String nullOption) {
|
||||
getComponent().setEmptySelectionCaption(nullOption);
|
||||
|
||||
setInputPrompt(null);
|
||||
}
|
||||
|
@ -112,7 +112,7 @@ public class WebSearchPickerField<V extends Entity> extends WebPickerField<V>
|
||||
Messages messages = applicationContext.getBean(Messages.NAME, Messages.class);
|
||||
setInputPrompt(messages.getMainMessage("searchPickerField.inputPrompt"));
|
||||
|
||||
getComponent().setItemCaptionGenerator(this::generateDefaultItemCaption);
|
||||
getComponent().setItemCaptionGenerator(this::generateItemCaption);
|
||||
getComponent().setFilterHandler(this::executeSearch);
|
||||
}
|
||||
|
||||
@ -258,8 +258,17 @@ public class WebSearchPickerField<V extends Entity> extends WebPickerField<V>
|
||||
@Override
|
||||
public void setNullOption(V nullOption) {
|
||||
this.nullOption = nullOption;
|
||||
setNullSelectionCaption(generateItemCaption(nullOption));
|
||||
}
|
||||
|
||||
getComponent().setEmptySelectionCaption(generateItemCaption(nullOption));
|
||||
@Override
|
||||
public String getNullSelectionCaption() {
|
||||
return getComponent().getEmptySelectionCaption();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setNullSelectionCaption(String nullOption) {
|
||||
getComponent().setEmptySelectionCaption(nullOption);
|
||||
|
||||
setInputPrompt(null);
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user