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); // } // } // }); }