List of usage examples for org.apache.wicket.markup.html.form ListMultipleChoice ListMultipleChoice
public ListMultipleChoice(String id, IModel<? extends List<? extends T>> choices, IChoiceRenderer<? super T> renderer)
From source file:at.ac.tuwien.ifs.tita.ui.evaluation.timecontroller.MultipleProjectsView.java
License:Apache License
@SuppressWarnings("unchecked") public MultipleProjectsView() { // add form to page form = new Form<Object>("multipleProjectsForm"); form.setOutputMarkupId(true);/* w w w . j a v a2 s . c o m*/ add(form); // load projects from db projectList = new ListMultipleChoice("projectSelection", new PropertyModel(this, "selectedProjects"), new LoadableDetachableModel() { @Override protected Object load() { return new ArrayList<String>(); } }); projectList.setOutputMarkupId(true); // load users from db tcList = new ListMultipleChoice("timeConsumerSelection", new PropertyModel(this, "selectedUsers"), new LoadableDetachableModel() { @Override protected Object load() { return new ArrayList<String>(); } }); tcList.setOutputMarkupId(true); loadTiTAProjects(); form.add(tcList); form.add(projectList); // set select options selectedTimespan = new SelectOption("overall", "Overall"); ChoiceRenderer<SelectOption> choiceRenderer = new ChoiceRenderer<SelectOption>("value", "key"); SelectOption[] options = new SelectOption[] { new SelectOption("day", "Daily"), new SelectOption("month", "Monthly"), new SelectOption("overall", "Overall") }; ddTimeSpan = new DropDownChoice<SelectOption>("timeSpanSelection", new PropertyModel<SelectOption>(this, "selectedTimespan"), Arrays.asList(options), choiceRenderer); ddTimeSpan.setOutputMarkupId(true); form.add(ddTimeSpan); // add pdf button final Button btnShowAsPDF = new Button("btnShowPDF") { @Override public void onSubmit() { try { loadReport(); ResourceStreamRequestTarget rsrtarget = new ResourceStreamRequestTarget( pdfResource.getResourceStream()); rsrtarget.setFileName(pdfResource.getFilename()); RequestCycle.get().setRequestTarget(rsrtarget); } catch (JRException e) { // TODO: GUI Exception Handling log.error(e.getMessage()); } catch (PersistenceException e) { // TODO: GUI Exception Handling log.error(e.getMessage()); } } @Override public boolean isEnabled() { return mpem.getRowCount() == 0 ? false : true; } }; form.add(btnShowAsPDF); // add ajax buttons form.add(new AjaxButton("btnShowEfforts", form) { @Override protected void onSubmit(AjaxRequestTarget target, Form<?> form1) { loadMultipleProjectEvaluation(); target.addComponent(table); target.addComponent(btnShowAsPDF); } @Override protected void onError(AjaxRequestTarget target, Form<?> form1) { } }); form.add(new AjaxButton("btnResetLists", form) { @Override protected void onSubmit(AjaxRequestTarget target, Form<?> form1) { projectList.getModel().setObject(new ArrayList<String>()); tcList.getModel().setObject(new ArrayList<String>()); ddTimeSpan.getModel().setObject(new SelectOption("overall", "Overall")); mpem.setColumnNames(new String[] {}); mpem.reload(new ArrayList<UserProjectEffort>()); target.addComponent(table); target.addComponent(projectList); target.addComponent(tcList); target.addComponent(ddTimeSpan); target.addComponent(btnShowAsPDF); } @Override protected void onError(AjaxRequestTarget target, Form<?> form1) { } }); form.add(new AjaxButton("btnLoadUsers", form) { @Override protected void onSubmit(AjaxRequestTarget target, Form<?> form1) { loadTiTAUsers(); target.addComponent(tcList); } @Override protected void onError(AjaxRequestTarget target, Form<?> form1) { } }); form.add(new AjaxButton("btnRefreshProjects", form) { @Override protected void onSubmit(AjaxRequestTarget target, Form<?> form1) { loadTiTAProjects(); target.addComponent(projectList); } @Override protected void onError(AjaxRequestTarget target, Form<?> form1) { } }); mpem = new TableModelMultipleProjectsEvaluation(new ArrayList<UserProjectEffort>(), new String[] {}); table = new Table("evaluationTable", mpem); table.setRowsPerPage(EffortUtils.ROWS_PER_PAGE); table.setSelectionMode(ListSelectionModel.SINGLE_INTERVAL_SELECTION); table.setWidths(new String[] { "100", "100", "100", "100", "100", "100" }); form.add(table.getRowsAjaxPagingNavigator("rowsPaging")); form.add(table); }
From source file:com.axway.ats.testexplorer.pages.runsByTypeDashboard.home.Filter.java
License:Apache License
public Filter() { super("filter"); TestExplorerSession session = (TestExplorerSession) Session.get(); try {/*from www.jav a2s .c o m*/ productNames = (ArrayList<String>) session.getDbReadConnection().getAllProductNames("WHERE 1=1"); selectedProductName = null; searchByProduct = new DropDownChoice<String>("search_by_product", new PropertyModel<String>(this, "selectedProductName"), productNames); searchByProduct.setNullValid(false); searchByProduct.setEscapeModelStrings(false); searchByProduct.setOutputMarkupId(true); searchByProduct.add(new OnChangeAjaxBehavior() { private static final long serialVersionUID = 1L; @Override protected void onUpdate(AjaxRequestTarget target) { TestExplorerSession session = (TestExplorerSession) Session.get(); try { versionNames = session.getDbReadConnection() .getAllVersionNames("WHERE productName = '" + selectedProductName + "'"); selectedVersionNames = new ArrayList<String>(versionNames); searchByVersion.getModel().setObject(selectedVersionNames); searchByVersion.setChoices(versionNames); target.add(searchByVersion); } catch (DatabaseAccessException e) { error("Unable to get version names"); LOG.error(e); } } }); } catch (DatabaseAccessException e) { error(e.getMessage()); LOG.error(e); } versionNames = new ArrayList<String>(1); selectedVersionNames = new ArrayList<String>(1); searchByVersion = new ListMultipleChoice<String>("search_by_version", new ListModel<String>(selectedVersionNames), versionNames); searchByVersion.setEscapeModelStrings(false); searchByVersion.setOutputMarkupId(true); add(searchByProduct); add(searchByVersion); AjaxButton searchButton = new AjaxButton("submit") { private static final long serialVersionUID = 1L; @Override protected void onSubmit(AjaxRequestTarget target, Form<?> form) { List<String[]> productAndVersionNames = new ArrayList<String[]>(1); for (String versionName : selectedVersionNames) { productAndVersionNames.add(new String[] { selectedProductName, versionName }); } TestExplorerSession session = (TestExplorerSession) Session.get(); try { new DashboardHomeUtils().callJavaScript(target, new DashboardHomeUtils().initJsonData( productAndVersionNames, session.getDbReadConnection().getAllBuildTypes("AND 1=1"))); } catch (DatabaseAccessException e) { error("Unable to get runs data"); LOG.error("Unable to get runs data", e); } } @Override protected void onError(AjaxRequestTarget target, Form<?> form) { super.onError(target, form); } }; add(searchButton); // search button is the button to trigger when user hit the enter key this.setDefaultButton(searchButton); add(new AjaxButton("clear") { private static final long serialVersionUID = 1L; @Override protected void onSubmit(AjaxRequestTarget target, Form<?> form) { selectedProductName = null; selectedVersionNames = new ArrayList<String>(1); versionNames = new ArrayList<String>(1); searchByProduct.setModelObject(selectedProductName); searchByVersion.setModelObject(selectedVersionNames); searchByVersion.setChoices(new ListModel<String>(versionNames)); target.add(searchByProduct); target.add(searchByVersion); target.appendJavaScript(";$('#container').empty();"); } }); }
From source file:com.axway.ats.testexplorer.pages.testcasesByGroups.TestcasesByGroupFilter.java
License:Apache License
private ListMultipleChoice<String> createSearchByVersionComponent() { versionNames = new ArrayList<String>(1); selectedVersionNames = new ArrayList<String>(1); searchByVersion = new ListMultipleChoice<String>("search_by_version", new ListModel<String>(selectedVersionNames), versionNames); searchByVersion.setEscapeModelStrings(false); searchByVersion.setOutputMarkupId(true); searchByVersion.add(new OnChangeAjaxBehavior() { private static final long serialVersionUID = 1L; @Override/*from ww w.ja v a2 s .c o m*/ protected void onUpdate(AjaxRequestTarget target) { TestExplorerSession session = (TestExplorerSession) Session.get(); try { groupNames = session.getDbReadConnection().getAllGroupNames(selectedProductName, selectedVersionNames); selectedGroupNames = new ArrayList<String>(groupNames); searchByAllGroups.setChoices(groupNames); searchByAllGroups.getModel().setObject(selectedGroupNames); target.add(searchByAllGroups); } catch (DatabaseAccessException e) { error("Unable to get group names"); } } }); return searchByVersion; }
From source file:com.axway.ats.testexplorer.pages.testcasesByGroups.TestcasesByGroupFilter.java
License:Apache License
private ListMultipleChoice<String> createSearchByAllGroupsComponent() { groupNames = new ArrayList<String>(1); selectedGroupNames = new ArrayList<String>(1); searchByAllGroups = new ListMultipleChoice<String>("search_by_all_groups", new ListModel<String>(selectedGroupNames), groupNames); searchByAllGroups.setEscapeModelStrings(false); searchByAllGroups.setOutputMarkupId(true); searchByAllGroups.add(new OnChangeAjaxBehavior() { private static final long serialVersionUID = 1L; @Override/*from w w w . j ava2 s.c o m*/ protected void onUpdate(AjaxRequestTarget target) { TestExplorerSession session = (TestExplorerSession) Session.get(); try { groupNames = session.getDbReadConnection().getAllGroupNames(selectedProductName, selectedVersionNames); //selectedGroupNames = new ArrayList<String>( groupNames ); searchByAllGroups.setChoices(groupNames); searchByAllGroups.getModel().setObject(selectedGroupNames); target.add(searchByAllGroups); } catch (DatabaseAccessException e) { error("Unable to get group names"); } searchByGroupContains.setModelObject(null); target.add(searchByGroupContains); } }); return searchByAllGroups; }
From source file:com.evolveum.midpoint.web.component.input.ListMultipleChoicePanel.java
License:Apache License
public ListMultipleChoicePanel(String id, IModel<List<T>> model, IModel<List<T>> choices) { super(id);/*from w ww. j a va2 s. c om*/ ListMultipleChoice<T> multiple = new ListMultipleChoice<T>("input", model, choices); add(multiple); }
From source file:com.googlecode.wicketwebbeans.fields.MultiSelectEnumField.java
License:Apache License
/** * Construct a new MultiSelectEnumField. * * @param id the Wicket id for the editor. * @param model the model./* ww w . ja v a 2 s.c o m*/ * @param metaData the meta data for the property. * @param viewOnly true if the component should be view-only. */ public MultiSelectEnumField(String id, IModel model, ElementMetaData metaData, boolean viewOnly) { super(id, model, metaData, viewOnly); final Class elementType = metaData.getElementType(null); if (elementType == null) { throw new RuntimeException("Cannot find elementType for property " + metaData.getPropertyName()); } Object[] enumValues = elementType.getEnumConstants(); ListMultipleChoice multChoice = new ListMultipleChoice("component", model, Arrays.asList(enumValues)); multChoice.setEnabled(!viewOnly); add(multChoice); }
From source file:com.norconex.jefmon.settings.panels.JobLocationsPanel.java
License:Apache License
private ListMultipleChoice<File> buildLocationsSelect(String markupId) { final ListMultipleChoice<File> lc = new ListMultipleChoice<File>(markupId, new ListModel<File>(), locations) {//from w w w . java 2 s. com private static final long serialVersionUID = 7754249758151817399L; @Override protected CharSequence getDefaultChoice(String selected) { return ""; } @Override protected void appendOptionHtml(AppendingStringBuffer buffer, File file, int index, String selected) { super.appendOptionHtml(buffer, file, index, selected); if (file == null) { return; } String icon = "nx-file-icon"; if (file.isDirectory()) { icon = "nx-folder-icon"; } buffer.insert(buffer.lastIndexOf("\">") + 1, " class=\"" + icon + "\""); } }; lc.setMaxRows(7); lc.setOutputMarkupId(true); lc.add(new AjaxFormComponentUpdatingBehavior("onchange") { private static final long serialVersionUID = -6508661554028761884L; @Override protected void onUpdate(AjaxRequestTarget target) { adjustButtonVisibility(target); } }); return lc; }
From source file:com.tysanclan.site.projectewok.pages.member.MessageListPage.java
License:Open Source License
private Form<Conversation> createNewMessageForm(String id) { final TextField<String> titleField = new TextField<String>("title", new Model<String>("")); titleField.setRequired(true);//from w w w . j a va 2 s . co m List<User> users = userService.getMembers(); Collections.sort(users, new User.CaseInsensitiveUserComparator()); final ListMultipleChoice<User> userSelect = new ListMultipleChoice<User>("userselect", new IModel<Collection<User>>() { private static final long serialVersionUID = 1L; private IModel<List<User>> wrapped = null; @Override public Collection<User> getObject() { if (wrapped == null) { List<User> start = new LinkedList<User>(); if (firstSelect.getObject() != null) { start.add(firstSelect.getObject()); } wrapped = ModelMaker.wrap(start); } return wrapped.getObject(); } @Override public void setObject(Collection<User> object) { List<User> userList = new LinkedList<User>(); userList.addAll(object); wrapped = ModelMaker.wrap(userList); } @Override public void detach() { if (wrapped != null) { wrapped.detach(); } } }, ModelMaker.wrap(users)); final TextArea<String> editor = new BBCodeTextArea("messagecontent", ""); editor.setRequired(true); Form<Conversation> newMessageForm = new Form<Conversation>(id) { private static final long serialVersionUID = 1L; @SpringBean private MessageService _messageService; @Override protected void onSubmit() { List<User> selectedUsers = new LinkedList<User>(); selectedUsers.addAll(userSelect.getModelObject()); _messageService.createConversation(getUser(), selectedUsers, titleField.getModel().getObject(), editor.getModel().getObject()); setResponsePage(new MessageListPage()); } }; newMessageForm.add(userSelect); newMessageForm.add(titleField); editor.setOutputMarkupId(true); editor.setMarkupId("editor"); newMessageForm.add(editor); return newMessageForm; }
From source file:de.tudarmstadt.ukp.clarin.webanno.automation.project.ProjectTrainingDocumentsPanel.java
License:Apache License
@SuppressWarnings({ "unchecked", "rawtypes" })
public ProjectTrainingDocumentsPanel(String id, IModel<Project> aProjectModel,
final IModel<TabSepDocModel> aTabsDocModel, IModel<AnnotationFeature> afeatureModel) {
super(id);// ww w . java2s. c o m
this.selectedProjectModel = aProjectModel;
feature = afeatureModel.getObject();
try {
if (aTabsDocModel.getObject().isTabSep()) {
readableFormats = new ArrayList<String>(Arrays.asList(new String[] { WebAnnoConst.TAB_SEP }));
selectedFormat = WebAnnoConst.TAB_SEP;
} else {
readableFormats = new ArrayList<String>(repository.getReadableFormatLabels());
selectedFormat = readableFormats.get(0);
}
} catch (IOException e) {
error("Properties file not found or key not int the properties file " + ":"
+ ExceptionUtils.getRootCauseMessage(e));
} catch (ClassNotFoundException e) {
error("The Class name in the properties is not found " + ":" + ExceptionUtils.getRootCauseMessage(e));
}
add(fileUpload = new FileUploadField("content", new Model()));
add(readableFormatsChoice = new DropDownChoice<String>("readableFormats", new Model(selectedFormat),
readableFormats) {
private static final long serialVersionUID = 2476274669926250023L;
@Override
public boolean isEnabled() {
return !aTabsDocModel.getObject().isTabSep();
}
});
add(new Button("import", new ResourceModel("label")) {
private static final long serialVersionUID = 1L;
@Override
public void onSubmit() {
uploadedFiles = fileUpload.getFileUploads();
Project project = selectedProjectModel.getObject();
if (isEmpty(uploadedFiles)) {
error("No document is selected to upload, please select a document first");
return;
}
if (project.getId() == 0) {
error("Project not yet created, please save project Details!");
return;
}
for (FileUpload documentToUpload : uploadedFiles) {
String fileName = documentToUpload.getClientFileName();
if (repository.existsSourceDocument(project, fileName)) {
error("Document " + fileName + " already uploaded ! Delete "
+ "the document if you want to upload again");
continue;
}
try {
File uploadFile = documentToUpload.writeToTempFile();
String username = SecurityContextHolder.getContext().getAuthentication().getName();
User user = userRepository.get(username);
SourceDocument document = new SourceDocument();
document.setName(fileName);
document.setProject(project);
document.setTrainingDocument(true);
// Since new training document is added, all
// non-tarining document should be
// re-annotated
for (SourceDocument sd : repository.listSourceDocuments(project)) {
if (!sd.isTrainingDocument()) {
sd.setProcessed(false);
}
}
for (SourceDocument sd : automationService.listTabSepDocuments(project)) {
if (!sd.isTrainingDocument()) {
sd.setProcessed(false);
}
}
// If this document is tab-sep and used as a feature itself, no need to add
// a feature to the document
if (aTabsDocModel.getObject().isTraining() || !aTabsDocModel.getObject().isTabSep()) {
document.setFeature(feature);
}
if (aTabsDocModel.getObject().isTabSep()) {
document.setFormat(selectedFormat);
} else {
String reader = repository.getReadableFormatId(readableFormatsChoice.getModelObject());
document.setFormat(reader);
}
repository.createSourceDocument(document, user);
repository.uploadSourceDocument(uploadFile, document);
info("File [" + fileName + "] has been imported successfully!");
} catch (ClassNotFoundException e) {
error(e.getMessage());
} catch (IOException e) {
error("Error uploading document " + e.getMessage());
} catch (UIMAException e) {
error("Error uploading document " + ExceptionUtils.getRootCauseMessage(e));
}
}
}
});
add(new ListMultipleChoice<String>("documents", new Model(selectedDocuments), documents) {
private static final long serialVersionUID = 1L;
{
setChoices(new LoadableDetachableModel<List<String>>() {
private static final long serialVersionUID = 1L;
@Override
protected List<String> load() {
Project project = selectedProjectModel.getObject();
documents.clear();
if (project.getId() != 0) {
if (aTabsDocModel.getObject().isTabSep()) {
for (SourceDocument document : automationService.listTabSepDocuments(project)) {
// This is tab-sep training document to the target layer
if (aTabsDocModel.getObject().isTraining() && document.getFeature() != null) {
documents.add(document.getName());
}
// this is tab-sep training document used as a feature
else if (!aTabsDocModel.getObject().isTraining()
&& document.getFeature() == null) {
documents.add(document.getName());
}
}
} else {
for (SourceDocument document : repository.listSourceDocuments(project)) {
if (document.getFeature() != null && document.getFeature().equals(feature)) {
documents.add(document.getName());
}
}
}
}
return documents;
}
});
}
});
add(new Button("remove", new ResourceModel("label")) {
private static final long serialVersionUID = 1L;
@Override
public void onSubmit() {
Project project = selectedProjectModel.getObject();
boolean isTrain = false;
for (String document : selectedDocuments) {
try {
String username = SecurityContextHolder.getContext().getAuthentication().getName();
User user = userRepository.get(username);
SourceDocument srDoc = repository.getSourceDocument(project, document);
if (srDoc.isTrainingDocument()) {
isTrain = true;
}
repository.removeSourceDocument(srDoc);
} catch (IOException e) {
error("Error while removing a document document " + ExceptionUtils.getRootCauseMessage(e));
}
documents.remove(document);
}
// If the deleted document is training document, re-training an automation should be possible again
if (isTrain) {
List<SourceDocument> docs = repository.listSourceDocuments(project);
docs.addAll(automationService.listTabSepDocuments(project));
for (SourceDocument srDoc : docs) {
srDoc.setProcessed(false);
}
}
}
});
}
From source file:de.tudarmstadt.ukp.clarin.webanno.project.page.AnnotationGuideLinePanel.java
License:Apache License
@SuppressWarnings({ "unchecked", "rawtypes" })
public AnnotationGuideLinePanel(String id, IModel<Project> aProjectModel) {
super(id);// w w w .j a v a2 s . c o m
this.selectedProjectModel = aProjectModel;
add(fileUpload = new FileUploadField("content", new Model()));
add(new Button("importGuideline", new ResourceModel("label")) {
private static final long serialVersionUID = 1L;
@Override
public void onSubmit() {
uploadedFiles = fileUpload.getFileUploads();
Project project = selectedProjectModel.getObject();
if (project.getId() == 0) {
error("Project not yet created, please save project Details!");
return;
}
if (isEmpty(uploadedFiles)) {
error("No document is selected to upload, please select a document first");
return;
}
for (FileUpload guidelineFile : uploadedFiles) {
try {
File tempFile = guidelineFile.writeToTempFile();
String fileName = guidelineFile.getClientFileName();
String username = SecurityContextHolder.getContext().getAuthentication().getName();
projectRepository.createGuideline(project, tempFile, fileName, username);
} catch (IOException e) {
error("Unable to write guideline file " + ExceptionUtils.getRootCauseMessage(e));
}
}
}
});
add(new ListMultipleChoice<String>("documents", new Model(selectedDocuments), documents) {
private static final long serialVersionUID = 1L;
{
setChoices(new LoadableDetachableModel<List<String>>() {
private static final long serialVersionUID = 1L;
@Override
protected List<String> load() {
Project project = selectedProjectModel.getObject();
documents.clear();
if (project.getId() != 0) {
documents.addAll(projectRepository.listGuidelines(project));
}
return documents;
}
});
}
});
Button removeGuidelineButton = new Button("remove", new ResourceModel("label")) {
private static final long serialVersionUID = -5021618538109114902L;
@Override
public void onSubmit() {
Project project = selectedProjectModel.getObject();
for (String document : selectedDocuments) {
try {
String username = SecurityContextHolder.getContext().getAuthentication().getName();
projectRepository.removeGuideline(project, document, username);
} catch (IOException e) {
error("Error while removing a document document " + ExceptionUtils.getRootCauseMessage(e));
}
documents.remove(document);
}
}
};
// Add check to prevent accidental delete operation
removeGuidelineButton.add(new AttributeModifier("onclick",
"if(!confirm('Do you really want to delete this Guideline document?')) return false;"));
add(removeGuidelineButton);
// add(new Button("remove", new ResourceModel("label"))
// {
// private static final long serialVersionUID = 1L;
//
// @Override
// public void onSubmit()
// {
// Project project = selectedProjectModel.getObject();
// for (String document : selectedDocuments) {
// try {
// String username = SecurityContextHolder.getContext().getAuthentication()
// .getName();
// projectRepository.removeGuideline(project, document, username);
// }
// catch (IOException e) {
// error("Error while removing a document document "
// + ExceptionUtils.getRootCauseMessage(e));
// }
// documents.remove(document);
// }
// }
// });
}