Skip to content

Commit

Permalink
poly string panel fixes
Browse files Browse the repository at this point in the history
  • Loading branch information
KaterynaHonchar committed Aug 19, 2019
1 parent 8b30767 commit b2f16ec
Showing 1 changed file with 41 additions and 3 deletions.
Expand Up @@ -25,6 +25,7 @@
import com.evolveum.midpoint.web.component.util.EnableBehaviour;
import com.evolveum.midpoint.web.component.util.VisibleBehaviour;
import com.evolveum.midpoint.web.page.admin.configuration.component.EmptyOnBlurAjaxFormUpdatingBehaviour;
import com.evolveum.midpoint.web.page.admin.configuration.component.EmptyOnChangeAjaxFormUpdatingBehavior;
import com.evolveum.midpoint.web.security.MidPointApplication;
import com.evolveum.prism.xml.ns._public.types_3.PolyStringTranslationType;
import org.apache.commons.collections.CollectionUtils;
Expand Down Expand Up @@ -208,12 +209,34 @@ public void detach() {

final DropDownChoicePanel<String> languageChoicePanel = new DropDownChoicePanel<String>(ID_LANGUAGES_LIST, Model.of(),
getLanguageChoicesModel(), true);
languageChoicePanel.getBaseFormComponent().add(new EmptyOnBlurAjaxFormUpdatingBehaviour());
languageChoicePanel.setOutputMarkupId(true);
languageEditorContainer.add(languageChoicePanel);

final TextPanel<String> newLanguageValue = new TextPanel<String>(ID_VALUE_TO_ADD, Model.of());
newLanguageValue.getBaseFormComponent().add(new EmptyOnBlurAjaxFormUpdatingBehaviour());
newLanguageValue.getBaseFormComponent().add(new EmptyOnBlurAjaxFormUpdatingBehaviour(){
private static final long serialVersionUID = 1L;

@Override
protected void onUpdate(AjaxRequestTarget target) {
updateLanguageValue(languageChoicePanel.getBaseFormComponent().getModelObject(), newLanguageValue.getBaseFormComponent().getValue());
}
});
languageChoicePanel.getBaseFormComponent().add(new EmptyOnBlurAjaxFormUpdatingBehaviour(){
private static final long serialVersionUID = 1L;

@Override
protected void onUpdate(AjaxRequestTarget target) {
updateLanguageValue(languageChoicePanel.getBaseFormComponent().getModelObject(), newLanguageValue.getBaseFormComponent().getValue());
}
});
newLanguageValue.getBaseFormComponent().add(new EmptyOnChangeAjaxFormUpdatingBehavior() {
private static final long serialVersionUID = 1L;

@Override
protected void onUpdate(AjaxRequestTarget ajaxRequestTarget) {
updateLanguageValue(languageChoicePanel.getBaseFormComponent().getModelObject(), newLanguageValue.getBaseFormComponent().getValue());
}
});
newLanguageValue.setOutputMarkupId(true);
languageEditorContainer.add(newLanguageValue);

Expand Down Expand Up @@ -247,8 +270,23 @@ protected void populateItem(ListItem<String> listItem) {
listItem.add(languageName);

TextPanel<String> translation = new TextPanel<String>(ID_TRANSLATION, Model.of(getLanguageValueByKey(listItem.getModelObject())));
translation.add(new EnableBehaviour(() -> false));
translation.getBaseFormComponent().add(new EmptyOnBlurAjaxFormUpdatingBehaviour(){
private static final long serialVersionUID = 1L;

@Override
protected void onUpdate(AjaxRequestTarget target) {
updateLanguageValue(languageName.getBaseFormComponent().getValue(), translation.getBaseFormComponent().getValue());
}
});
translation.setOutputMarkupId(true);
translation.getBaseFormComponent().add(new EmptyOnChangeAjaxFormUpdatingBehavior() {
private static final long serialVersionUID = 1L;

@Override
protected void onUpdate(AjaxRequestTarget ajaxRequestTarget) {
updateLanguageValue(languageName.getBaseFormComponent().getValue(), newLanguageValue.getBaseFormComponent().getValue());
}
});
listItem.add(translation);

AjaxLink<Void> removeButton = new AjaxLink<Void>(ID_REMOVE_LANGUAGE_BUTTON) {
Expand Down

0 comments on commit b2f16ec

Please sign in to comment.