use of com.evolveum.midpoint.gui.impl.factory.panel.SearchFilterTypeForXmlModel in project midpoint by Evolveum.
the class SearchFilterConfigurationPanel method initLayout.
private void initLayout() {
WebMarkupContainer aceEditorContainer = new WebMarkupContainer(ID_ACE_EDITOR_XML_CONTAINER);
aceEditorContainer.setOutputMarkupId(true);
IModel<String> classGridModel = () -> {
if (containerWrapper != null) {
return "col-md-10";
}
return "col-md-12";
};
aceEditorContainer.add(AttributeAppender.append("class", classGridModel));
aceEditorContainer.add(AttributeAppender.append("style", (IModel<?>) () -> {
if (FiledType.XML.equals(fieldType)) {
return "display: block;";
}
return "display: none;";
}));
add(aceEditorContainer);
AceEditorPanel aceEditorField = new AceEditorPanel(ID_ACE_EDITOR_XML_FIELD, null, new SearchFilterTypeForXmlModel(getModel(), getPageBase()), 10);
aceEditorField.setOutputMarkupId(true);
aceEditorContainer.add(aceEditorField);
WebMarkupContainer textFieldContainer = new WebMarkupContainer(ID_TEXT_DNS_CONTAINER);
textFieldContainer.setOutputMarkupId(true);
textFieldContainer.add(new VisibleBehaviour(() -> FiledType.QUERY.equals(fieldType)));
textFieldContainer.add(AttributeAppender.append("class", classGridModel));
textFieldContainer.add(AttributeAppender.append("style", (IModel<?>) () -> {
if (FiledType.QUERY.equals(fieldType)) {
return "display: block;";
}
return "display: none;";
}));
add(textFieldContainer);
TextPanel textPanel = new TextPanel(ID_TEXT_DNS_FIELD, new SearchFilterTypeForQueryModel<O>(getModel(), getPageBase(), filterTypeModel, containerWrapper != null));
textPanel.setOutputMarkupId(true);
textFieldContainer.add(textPanel);
AjaxButton searchConfigurationButton = new AjaxButton(ID_CONFIGURE_BUTTON) {
private static final long serialVersionUID = 1L;
@Override
public void onClick(AjaxRequestTarget target) {
searchConfigurationPerformed(target);
}
};
searchConfigurationButton.setOutputMarkupId(true);
searchConfigurationButton.add(new VisibleBehaviour(() -> containerWrapper != null));
add(searchConfigurationButton);
IModel<String> labelModel = (IModel) () -> {
if (FiledType.XML.equals(fieldType)) {
return getPageBase().createStringResource(SearchBoxModeType.AXIOM_QUERY).getString();
}
return getPageBase().createStringResource("SearchFilterConfigurationPanel.fieldType.xml").getString();
};
Label buttonLabel = new Label(ID_FILED_TYPE_BUTTON_LABEL, labelModel);
buttonLabel.setOutputMarkupId(true);
AjaxLink filedTypeButton = new AjaxLink<String>(ID_FILED_TYPE_BUTTON) {
private static final long serialVersionUID = 1L;
@Override
public void onClick(AjaxRequestTarget target) {
if (FiledType.QUERY.equals(fieldType)) {
fieldType = FiledType.XML;
} else {
fieldType = FiledType.QUERY;
}
target.add(getAceEditorContainer());
target.add(getTextFieldContainer());
target.add(getPageBase().getFeedbackPanel());
target.add(buttonLabel);
}
};
filedTypeButton.setOutputMarkupId(true);
add(filedTypeButton);
filedTypeButton.add(buttonLabel);
}
Aggregations