Skip to content

Commit

Permalink
support automatic update itemDefinition as value in valueWrapper
Browse files Browse the repository at this point in the history
  • Loading branch information
skublik committed Dec 20, 2018
1 parent 782388d commit a5cadb9
Show file tree
Hide file tree
Showing 4 changed files with 39 additions and 11 deletions.
Expand Up @@ -33,7 +33,6 @@

public class AutoCompleteItemDefinitionPanel extends AbstractAutoCompletePanel {


private static final long serialVersionUID = 1L;
private static final String ID_INPUT = "input";

Expand Down Expand Up @@ -73,18 +72,22 @@ protected void onConfigure() {

@Override
protected void onUpdate(AjaxRequestTarget target) {
String newValue = itemDefinitionAsStringModel.getObject();
if (StringUtils.isNotBlank(newValue)){
ItemDefinition<?> def = listChoices("").get(newValue);
if (def != null) {
model.setObject(def);
}
}
onUpdateAutoComplete(target, itemDefinitionAsStringModel, model);
}
});

add(input);
}

protected void onUpdateAutoComplete(AjaxRequestTarget target, final Model<String> itemDefinitionAsStringModel, final IModel<ItemDefinition<?>> model) {
String newValue = itemDefinitionAsStringModel.getObject();
if (StringUtils.isNotBlank(newValue)){
ItemDefinition<?> def = listChoices("").get(newValue);
if (def != null) {
model.setObject(def);
}
}
}

protected Map<String, ItemDefinition<?>> listChoices(String input){
return new HashMap<>();
Expand Down
Expand Up @@ -86,6 +86,12 @@ public boolean isPathDefined() {
return (path != null && itemDef == null && parentPath == null);
}


@Override
public String toString() {
StringBuilder sb = new StringBuilder();
sb.append("{ObjectType: [").append("], Parent: [").append(parentPath).append("], ItemDef: [")
.append(getItemDef()).append("], Path: [").append(path).append("] }");
return sb.toString();
}

}
Expand Up @@ -32,7 +32,7 @@
public class ItemPathPanel extends BasePanel<ItemPathDto> {

private static final long serialVersionUID = 1L;

private static final String ID_ITEM_PATH = "itemPath";
private static final String ID_NAMESPACE = "namespace";
private static final String ID_DEFINITION = "definition";
Expand Down Expand Up @@ -94,6 +94,7 @@ public boolean isVisible() {
public ItemPathDto getObject() {
return ItemPathPanel.this.getModelObject();
}

}) {

private static final long serialVersionUID = 1L;
Expand All @@ -102,6 +103,11 @@ public ItemPathDto getObject() {
protected Map<QName, Collection<ItemDefinition<?>>> getSchemaDefinitionMap() {
return initNamspaceDefinitionMap();
}

@Override
protected void onUpdateAutoCompletePanel(AjaxRequestTarget target) {
ItemPathPanel.this.onUpdate(ItemPathPanel.this.getModelObject());
}
};
itemDefPanel.setOutputMarkupId(true);
itemPathPanel.add(itemDefPanel);
Expand Down
Expand Up @@ -8,6 +8,7 @@

import org.apache.commons.lang.StringUtils;
import org.apache.wicket.Component;
import org.apache.wicket.ajax.AjaxRequestTarget;
import org.apache.wicket.markup.html.basic.Label;
import org.apache.wicket.model.IModel;
import org.apache.wicket.model.Model;
Expand All @@ -22,7 +23,7 @@
public class ItemPathSegmentPanel extends BasePanel<ItemPathDto> {

private static final long serialVersionUID = 1L;

private static final String ID_DEFINITION = "definition";
private static final String ID_PARENT = "parentPath";

Expand Down Expand Up @@ -75,11 +76,23 @@ protected Map<String, ItemDefinition<?>> listChoices(String input) {
return collectAvailableDefinitions(input);

}

@Override
protected void onUpdateAutoComplete(AjaxRequestTarget target,
Model<String> itemDefinitionAsStringModel, IModel<ItemDefinition<?>> model) {
super.onUpdateAutoComplete(target, itemDefinitionAsStringModel, model);
onUpdateAutoCompletePanel(target);
}

};
// itemDefPanel.getBaseFormComponent().add(new EmptyOnBlurAjaxFormUpdatingBehaviour());
itemDefPanel.setOutputMarkupId(true);
add(itemDefPanel);
}

protected void onUpdateAutoCompletePanel(AjaxRequestTarget target) {

}

private Map<String, ItemDefinition<?>> collectAvailableDefinitions(String input) {
Map<String, ItemDefinition<?>> toSelect = new HashMap<>();
Expand Down

0 comments on commit a5cadb9

Please sign in to comment.