use of org.apache.wicket.markup.html.form.Form in project midpoint by Evolveum.
the class PageImportObject method initButtons.
private void initButtons(WebMarkupContainer buttonBar, IModel<Integer> inputType) {
AjaxButton backButton = new AjaxButton(ID_BACK_BUTTON, createStringResource("PageCertCampaign.button.back")) {
@Override
public void onClick(AjaxRequestTarget target) {
redirectBack();
}
};
backButton.add(new VisibleEnableBehaviour() {
@Override
public boolean isVisible() {
return canRedirectBack();
}
});
buttonBar.add(backButton);
AjaxSubmitButton saveFileButton = new AjaxSubmitButton(ID_IMPORT_FILE_BUTTON, createStringResource("PageImportObject.button.import")) {
@Override
protected void onSubmit(AjaxRequestTarget target, Form<?> form) {
savePerformed(false, OPERATION_IMPORT_FILE, target);
}
@Override
protected void onError(AjaxRequestTarget target, Form<?> form) {
target.add(getFeedbackPanel());
}
};
addVisibileForInputType(saveFileButton, INPUT_FILE, inputType);
buttonBar.add(saveFileButton);
AjaxSubmitButton saveXmlButton = new AjaxSubmitButton(ID_IMPORT_XML_BUTTON, createStringResource("PageImportObject.button.import")) {
@Override
protected void onSubmit(AjaxRequestTarget target, Form<?> form) {
savePerformed(true, OPERATION_IMPORT_XML, target);
}
@Override
protected void onError(AjaxRequestTarget target, Form<?> form) {
target.add(getFeedbackPanel());
}
};
addVisibileForInputType(saveXmlButton, INPUT_XML, inputType);
buttonBar.add(saveXmlButton);
}
use of org.apache.wicket.markup.html.form.Form in project midpoint by Evolveum.
the class ObjectSelectionPanel method initLayout.
public void initLayout(PageBase pageBase) {
Form searchForm = new Form(ID_SEARCH_FORM);
searchForm.setOutputMarkupId(true);
add(searchForm);
searchForm.add(new VisibleEnableBehaviour() {
@Override
public boolean isVisible() {
return context.isSearchEnabled();
}
});
BasicSearchPanel<ObjectSearchDto> basicSearch = new BasicSearchPanel<ObjectSearchDto>(ID_BASIC_SEARCH) {
@Override
protected IModel<String> createSearchTextModel() {
return new PropertyModel<>(searchModel, ObjectSearchDto.F_SEARCH_TEXT);
}
@Override
protected void searchPerformed(AjaxRequestTarget target) {
ObjectSelectionPanel.this.searchPerformed(target);
}
@Override
protected void clearSearchPerformed(AjaxRequestTarget target) {
ObjectSelectionPanel.this.clearSearchPerformed(target);
}
};
searchForm.add(basicSearch);
add(context.createExtraContentContainer(ID_EXTRA_CONTENT_CONTAINER, this));
List<IColumn<SelectableBean<ObjectType>, String>> columns = initColumns();
ObjectDataProvider provider = new ObjectDataProvider(pageBase, this.objectType);
provider.setQuery(context.getDataProviderQuery());
provider.setOptions(context.getDataProviderOptions());
TablePanel table = new TablePanel<>(ID_TABLE, provider, columns);
table.setOutputMarkupId(true);
addOrReplace(table);
AjaxButton cancelButton = new AjaxButton(ID_BUTTON_CANCEL, createStringResource("chooseTypeDialog.button.cancel")) {
@Override
public void onClick(AjaxRequestTarget ajaxRequestTarget) {
modalWindow.close(ajaxRequestTarget);
}
};
add(cancelButton);
}
use of org.apache.wicket.markup.html.form.Form in project midpoint by Evolveum.
the class RichHyperlinkConfigDialog method initLayout.
private void initLayout(WebMarkupContainer content) {
Form form = new Form(ID_MAIN_FORM);
form.setOutputMarkupId(true);
content.add(form);
TextFormGroup name = new TextFormGroup(ID_LABEL, new PropertyModel<String>(model, RichHyperlinkType.F_LABEL.getLocalPart()), createStringResource("RichHyperlinkConfigDialog.label"), ID_LABEL_SIZE, ID_INPUT_SIZE, true);
form.add(name);
TextAreaFormGroup description = new TextAreaFormGroup(ID_DESCRIPTION, new PropertyModel<String>(model, RichHyperlinkType.F_DESCRIPTION.getLocalPart()), createStringResource("RichHyperlinkConfigDialog.description"), ID_LABEL_SIZE, ID_INPUT_SIZE);
description.setVisible(!isMenuItem);
form.add(description);
TextFormGroup targetUrl = new TextFormGroup(ID_TARGET_URL, new PropertyModel<String>(model, RichHyperlinkType.F_TARGET_URL.getLocalPart()), createStringResource("RichHyperlinkConfigDialog.targetUrl"), ID_LABEL_SIZE, ID_INPUT_SIZE, false);
form.add(targetUrl);
TextFormGroup color = new TextFormGroup(ID_COLOR, new PropertyModel<String>(model, RichHyperlinkType.F_COLOR.getLocalPart()), createStringResource("RichHyperlinkConfigDialog.color"), ID_LABEL_SIZE, ID_INPUT_SIZE, false);
color.setVisible(!isMenuItem);
form.add(color);
MultiValueTextFormGroup authorizations = new MultiValueTextFormGroup(ID_AUTHORIZATION, new PropertyModel<List<String>>(model, RichHyperlinkType.F_AUTHORIZATION.getLocalPart()), createStringResource("RichHyperlinkConfigDialog.authorization"), ID_LABEL_SIZE, ID_MULTIPLE_INPUT_SIZE, false);
authorizations.setVisible(!isMenuItem);
form.add(authorizations);
TextFormGroup icon = new TextFormGroup(ID_ICON, new PropertyModel<String>(model, RichHyperlinkType.F_ICON.getLocalPart() + "." + IconType.F_CSS_CLASS.getLocalPart()), createStringResource("RichHyperlinkConfigDialog.icon"), ID_LABEL_SIZE, ID_INPUT_SIZE, false);
form.add(icon);
initButtons(form);
}
use of org.apache.wicket.markup.html.form.Form in project midpoint by Evolveum.
the class PageRepositoryQuery method initLayout.
private void initLayout() {
Form mainForm = new Form(ID_MAIN_FORM);
add(mainForm);
List<QName> objectTypeList = WebComponentUtil.createObjectTypeList();
Collections.sort(objectTypeList, new Comparator<QName>() {
@Override
public int compare(QName o1, QName o2) {
return String.CASE_INSENSITIVE_ORDER.compare(o1.getLocalPart(), o2.getLocalPart());
}
});
DropDownChoice<QName> objectTypeChoice = new DropDownChoice<>(ID_OBJECT_TYPE, new PropertyModel<QName>(model, RepoQueryDto.F_OBJECT_TYPE), new ListModel<>(objectTypeList), new QNameChoiceRenderer());
objectTypeChoice.setOutputMarkupId(true);
objectTypeChoice.setNullValid(true);
objectTypeChoice.add(new OnChangeAjaxBehavior() {
@Override
protected void onUpdate(AjaxRequestTarget target) {
target.add(get(ID_MAIN_FORM).get(ID_MIDPOINT_QUERY_BUTTON_BAR));
}
});
mainForm.add(objectTypeChoice);
AceEditor editorMidPoint = new AceEditor(ID_EDITOR_MIDPOINT, new PropertyModel<String>(model, RepoQueryDto.F_MIDPOINT_QUERY));
editorMidPoint.setHeight(400);
editorMidPoint.setResizeToMaxHeight(false);
mainForm.add(editorMidPoint);
AceEditor editorHibernate = new AceEditor(ID_EDITOR_HIBERNATE, new PropertyModel<String>(model, RepoQueryDto.F_HIBERNATE_QUERY));
editorHibernate.setHeight(300);
editorHibernate.setResizeToMaxHeight(false);
editorHibernate.setReadonly(!isAdmin);
editorHibernate.setMode(null);
mainForm.add(editorHibernate);
AceEditor hibernateParameters = new AceEditor(ID_HIBERNATE_PARAMETERS, new PropertyModel<String>(model, RepoQueryDto.F_HIBERNATE_PARAMETERS));
hibernateParameters.setReadonly(true);
hibernateParameters.setHeight(100);
hibernateParameters.setResizeToMaxHeight(false);
hibernateParameters.setMode(null);
mainForm.add(hibernateParameters);
WebMarkupContainer hibernateParametersNote = new WebMarkupContainer(ID_HIBERNATE_PARAMETERS_NOTE);
hibernateParametersNote.setVisible(isAdmin);
mainForm.add(hibernateParametersNote);
WebMarkupContainer midPointQueryButtonBar = new WebMarkupContainer(ID_MIDPOINT_QUERY_BUTTON_BAR);
midPointQueryButtonBar.setOutputMarkupId(true);
mainForm.add(midPointQueryButtonBar);
AjaxSubmitButton executeMidPoint = new AjaxSubmitButton(ID_EXECUTE_MIDPOINT, createStringResource("PageRepositoryQuery.button.translateAndExecute")) {
@Override
protected void onError(AjaxRequestTarget target, Form<?> form) {
target.add(getFeedbackPanel());
}
@Override
protected void onSubmit(AjaxRequestTarget target, Form<?> form) {
queryPerformed(Action.EXECUTE_MIDPOINT, target);
}
};
midPointQueryButtonBar.add(executeMidPoint);
AjaxSubmitButton compileMidPoint = new AjaxSubmitButton(ID_COMPILE_MIDPOINT, createStringResource("PageRepositoryQuery.button.translate")) {
@Override
protected void onError(AjaxRequestTarget target, Form<?> form) {
target.add(getFeedbackPanel());
}
@Override
protected void onSubmit(AjaxRequestTarget target, Form<?> form) {
queryPerformed(Action.TRANSLATE_ONLY, target);
}
};
midPointQueryButtonBar.add(compileMidPoint);
AjaxSubmitButton useInObjectList = new AjaxSubmitButton(ID_USE_IN_OBJECT_LIST, createStringResource("PageRepositoryQuery.button.useInObjectList")) {
@Override
protected void onError(AjaxRequestTarget target, Form<?> form) {
target.add(getFeedbackPanel());
}
@Override
protected void onSubmit(AjaxRequestTarget target, Form<?> form) {
useInObjectListPerformed(target);
}
};
useInObjectList.add(new VisibleEnableBehaviour() {
@Override
public boolean isVisible() {
return USE_IN_OBJECT_LIST_AVAILABLE_FOR.contains(model.getObject().getObjectType());
}
});
midPointQueryButtonBar.add(useInObjectList);
final DropDownChoice<String> sampleChoice = new DropDownChoice<>(ID_QUERY_SAMPLE, Model.of(""), new AbstractReadOnlyModel<List<String>>() {
@Override
public List<String> getObject() {
return SAMPLES;
}
}, new StringResourceChoiceRenderer("PageRepositoryQuery.sample"));
sampleChoice.setNullValid(true);
sampleChoice.add(new OnChangeAjaxBehavior() {
@Override
protected void onUpdate(AjaxRequestTarget target) {
String sampleName = sampleChoice.getModelObject();
if (StringUtils.isEmpty(sampleName)) {
return;
}
String resourceName = SAMPLES_DIR + "/" + sampleName + ".xml.data";
InputStream is = PageRepositoryQuery.class.getResourceAsStream(resourceName);
if (is != null) {
try {
String localTypeName = StringUtils.substringBefore(sampleName, "_");
model.getObject().setObjectType(new QName(SchemaConstants.NS_C, localTypeName));
model.getObject().setMidPointQuery(IOUtils.toString(is, "UTF-8"));
model.getObject().setHibernateQuery("");
model.getObject().setHibernateParameters("");
model.getObject().setQueryResultObject(null);
model.getObject().resetQueryResultText();
target.add(PageRepositoryQuery.this);
} catch (IOException e) {
LoggingUtils.logUnexpectedException(LOGGER, "Couldn't read sample from resource {}", e, resourceName);
}
} else {
LOGGER.warn("Resource {} containing sample couldn't be found", resourceName);
}
}
});
mainForm.add(sampleChoice);
AjaxSubmitButton executeHibernate = new AjaxSubmitButton(ID_EXECUTE_HIBERNATE, createStringResource("PageRepositoryQuery.button.execute")) {
@Override
protected void onError(AjaxRequestTarget target, Form<?> form) {
target.add(getFeedbackPanel());
}
@Override
protected void onSubmit(AjaxRequestTarget target, Form<?> form) {
queryPerformed(Action.EXECUTE_HIBERNATE, target);
}
};
executeHibernate.setVisible(isAdmin);
mainForm.add(executeHibernate);
Label resultLabel = new Label(ID_RESULT_LABEL, new AbstractReadOnlyModel<String>() {
@Override
public String getObject() {
if (model.getObject().getQueryResultText() == null) {
return "";
}
Object queryResult = model.getObject().getQueryResultObject();
if (queryResult instanceof List) {
return getString("PageRepositoryQuery.resultObjects", ((List) queryResult).size());
} else if (queryResult instanceof Throwable) {
return getString("PageRepositoryQuery.resultException", queryResult.getClass().getName());
} else {
// including null
return getString("PageRepositoryQuery.result");
}
}
});
mainForm.add(resultLabel);
WebMarkupContainer incompleteResultsNote = new WebMarkupContainer(ID_INCOMPLETE_RESULTS_NOTE);
incompleteResultsNote.add(new VisibleEnableBehaviour() {
@Override
public boolean isVisible() {
return !isAdmin && model.getObject().getQueryResultText() != null;
}
});
mainForm.add(incompleteResultsNote);
AceEditor resultText = new AceEditor(ID_RESULT_TEXT, new PropertyModel<String>(model, RepoQueryDto.F_QUERY_RESULT_TEXT));
resultText.setReadonly(true);
resultText.setHeight(300);
resultText.setResizeToMaxHeight(false);
resultText.setMode(null);
resultText.add(new VisibleEnableBehaviour() {
@Override
public boolean isVisible() {
return model.getObject().getQueryResultText() != null;
}
});
mainForm.add(resultText);
}
use of org.apache.wicket.markup.html.form.Form in project midpoint by Evolveum.
the class PageDebugList method initInlineMenu.
private List<InlineMenuItem> initInlineMenu() {
List<InlineMenuItem> headerMenuItems = new ArrayList<>();
headerMenuItems.add(new InlineMenuItem(createStringResource("pageDebugList.menu.exportSelected"), true, new HeaderMenuAction(this) {
@Override
public void onSubmit(AjaxRequestTarget target, Form<?> form) {
exportSelected(target, null);
}
}));
headerMenuItems.add(new InlineMenuItem(createStringResource("pageDebugList.menu.exportAllSelectedType"), true, new HeaderMenuAction(this) {
@Override
public void onSubmit(AjaxRequestTarget target, Form<?> form) {
exportAllType(target);
}
}));
headerMenuItems.add(new InlineMenuItem(createStringResource("pageDebugList.menu.exportShadowsOnResource"), new Model(true), new AbstractReadOnlyModel<Boolean>() {
@Override
public Boolean getObject() {
DebugSearchDto dto = searchModel.getObject();
return ObjectTypes.SHADOW.equals(dto.getType());
}
}, false, new HeaderMenuAction(this) {
@Override
public void onClick(AjaxRequestTarget target) {
exportAllShadowsOnResource(target);
}
}));
headerMenuItems.add(new InlineMenuItem(createStringResource("pageDebugList.menu.exportAll"), true, new HeaderMenuAction(this) {
@Override
public void onSubmit(AjaxRequestTarget target, Form<?> form) {
exportAll(target);
}
}));
headerMenuItems.add(new InlineMenuItem());
headerMenuItems.add(new InlineMenuItem(createStringResource("pageDebugList.menu.deleteSelected"), true, new HeaderMenuAction(this) {
@Override
public void onSubmit(AjaxRequestTarget target, Form<?> form) {
deleteSelected(target, null);
}
}));
headerMenuItems.add(new InlineMenuItem(createStringResource("pageDebugList.menu.deleteAllType"), true, new HeaderMenuAction(this) {
@Override
public void onSubmit(AjaxRequestTarget target, Form<?> form) {
deleteAllType(target);
}
}));
headerMenuItems.add(new InlineMenuItem(createStringResource("pageDebugList.menu.deleteShadowsOnResource"), new Model(true), new AbstractReadOnlyModel<Boolean>() {
@Override
public Boolean getObject() {
DebugSearchDto dto = searchModel.getObject();
return ObjectTypes.SHADOW.equals(dto.getType());
}
}, false, new HeaderMenuAction(this) {
@Override
public void onClick(AjaxRequestTarget target) {
deleteAllShadowsOnResource(target);
}
}));
headerMenuItems.add(new InlineMenuItem());
headerMenuItems.add(new InlineMenuItem(createStringResource("pageDebugList.menu.deleteAllIdentities"), true, new HeaderMenuAction(this) {
@Override
public void onSubmit(AjaxRequestTarget target, Form<?> form) {
deleteAllIdentities(target);
}
}));
return headerMenuItems;
}
Aggregations