List of usage examples for org.apache.wicket.markup.html.form SubmitLink SubmitLink
public SubmitLink(String id, IModel<?> model)
From source file:org.geoserver.web.services.BaseServiceAdminPage.java
License:Open Source License
void init(final IModel<T> infoModel) { T service = infoModel.getObject();/*from ww w . ja v a2 s.c o m*/ dialog = new GeoServerDialog("dialog"); add(dialog); Form form = new Form("form", new CompoundPropertyModel(infoModel)); add(form); if (service.getWorkspace() == null) { //create the panel that has the drop down list to switch between workspace form.add(new GlobalWorkspacePanel("workspace")); } else { //create just a panel with a label that signifies the workspace form.add(new LocalWorkspacePanel("workspace", service)); } form.add(new HelpLink("workspaceHelp").setDialog(dialog)); form.add(new Label("service.enabled", new StringResourceModel("service.enabled", this, null, new Object[] { getServiceName() }))); form.add(new TextField("maintainer")); TextField onlineResource = new TextField("onlineResource"); onlineResource.add(new UrlValidator()); form.add(onlineResource); form.add(new CheckBox("enabled")); form.add(new CheckBox("citeCompliant")); form.add(new TextField("title")); form.add(new TextArea("abstract")); form.add( new KeywordsEditor("keywords", LiveCollectionModel.list(new PropertyModel(infoModel, "keywords")))); form.add(new TextField("fees")); form.add(new TextField("accessConstraints")); build(infoModel, form); //add the extension panels ListView extensionPanels = createExtensionPanelList("extensions", infoModel); extensionPanels.setReuseItems(true); form.add(extensionPanels); SubmitLink submit = new SubmitLink("submit", new StringResourceModel("save", (Component) null, null)) { @Override public void onSubmit() { try { handleSubmit((T) infoModel.getObject()); doReturn(); } catch (Exception e) { error(e); } } }; form.add(submit); Button cancel = new Button("cancel", new StringResourceModel("cancel", (Component) null, null)) { public void onSubmit() { doReturn(); } }; form.add(cancel); //cancel.setDefaultFormProcessing( false ); }
From source file:org.geoserver.web.translator.view.NewTranslationPage.java
License:Open Source License
private Component createNewTranslationLink() { SubmitLink submitLink = new SubmitLink("createLanguage", newTranslationForm) { private static final long serialVersionUID = 1L; @Override//w ww . j av a 2 s. c o m public void onSubmit() { Locale locale = (Locale) newLanguageChoice.getModelObject(); TranslationEditPage editPage = new TranslationEditPage(locale); setResponsePage(editPage); } }; return submitLink; }
From source file:org.geoserver.wps.web.WPSAccessRulePage.java
License:Open Source License
public WPSAccessRulePage() { wpsInfo = getGeoServer().getService(WPSInfo.class); Form form = new Form("form", new CompoundPropertyModel(wpsInfo)); processFactories = cloneFactoryInfos(wpsInfo.getProcessGroups()); ProcessFactoryInfoProvider provider = new ProcessFactoryInfoProvider(processFactories, getLocale()); GeoServerRoleService roleService = getSecurityManager().getActiveRoleService(); try {//w w w .ja va2s. c om for (GeoServerRole r : roleService.getRoles()) { availableRoles.add(r.getAuthority()); } } catch (IOException e1) { LOGGER.log(Level.FINER, e1.getMessage(), e1); } TextField<Integer> maxComplexInputSize = new TextField<Integer>("maxComplexInputSize", Integer.class); maxComplexInputSize.add(new MinimumValidator<Integer>(0)); form.add(maxComplexInputSize); final AutoCompleteSettings settings = new AutoCompleteSettings(); settings.setShowCompleteListOnFocusGain(false); settings.setShowListOnEmptyInput(true); settings.setShowListOnFocusGain(true); settings.setMaxHeightInPx(100); GeoServerTablePanel<ProcessGroupInfo> processFilterEditor = new GeoServerTablePanel<ProcessGroupInfo>( "processFilterTable", provider) { @Override protected Component getComponentForProperty(String id, final IModel itemModel, Property<ProcessGroupInfo> property) { if (property.getName().equals("enabled")) { Fragment fragment = new Fragment(id, "enabledFragment", WPSAccessRulePage.this); CheckBox enabled = new CheckBox("enabled", property.getModel(itemModel)); enabled.setOutputMarkupId(true); fragment.add(enabled); return fragment; } else if (property.getName().equals("prefix")) { return new Label(id, property.getModel(itemModel)); } else if (property.getName().equals("title")) { return new Label(id, property.getModel(itemModel)); } else if (property.getName().equals("summary")) { return new Label(id, property.getModel(itemModel)); } else if (property.getName().equals("roles")) { Fragment fragment = new Fragment(id, "rolesFragment", WPSAccessRulePage.this); TextArea<String> roles = new TextArea<String>("roles", property.getModel(itemModel)) { public org.apache.wicket.util.convert.IConverter getConverter(java.lang.Class<?> type) { return new RolesConverter(availableRoles); }; }; StringBuilder selectedRoles = new StringBuilder(); IAutoCompleteRenderer<String> roleRenderer = new RolesRenderer(selectedRoles); AutoCompleteBehavior<String> b = new RolesAutoCompleteBehavior(roleRenderer, settings, selectedRoles, availableRoles); roles.setOutputMarkupId(true); roles.add(b); fragment.add(roles); return fragment; } else if (property.getName().equals("edit")) { Fragment fragment = new Fragment(id, "linkFragment", WPSAccessRulePage.this); // we use a submit link to avoid losing the other edits in the form Link link = new Link("link") { @Override public void onClick() { ProcessGroupInfo pfi = (ProcessGroupInfo) itemModel.getObject(); setResponsePage(new ProcessSelectionPage(WPSAccessRulePage.this, pfi)); } }; fragment.add(link); return fragment; } return null; } }; processFilterEditor.setFilterable(false); processFilterEditor.setPageable(false); processFilterEditor.setOutputMarkupId(true); form.add(processFilterEditor); form.add(new AjaxLink("processAccessModeHelp") { @Override public void onClick(AjaxRequestTarget target) { dialog.showInfo(target, new StringResourceModel("processAccessModeHelp.title", getPage(), null), new StringResourceModel("processAccessModeHelp.message", getPage(), null)); } }); catalogModeChoice = new RadioChoice("processAccessMode", new PropertyModel<CatalogMode>(wpsInfo, "catalogMode"), CATALOG_MODES, new CatalogModeRenderer()); catalogModeChoice.setSuffix(" "); form.add(catalogModeChoice); SubmitLink submit = new SubmitLink("submit", new StringResourceModel("save", (Component) null, null)) { @Override public void onSubmit() { try { // overwrite the process factories that we did clone to achieve isolation List<ProcessGroupInfo> factories = wpsInfo.getProcessGroups(); factories.clear(); factories.addAll(processFactories); getGeoServer().save(wpsInfo); doReturn(); } catch (Exception e) { error(e); } } }; form.add(submit); Button cancel = new Button("cancel", new StringResourceModel("cancel", (Component) null, null)) { public void onSubmit() { doReturn(); } }; form.add(cancel); add(form); }
From source file:org.obiba.onyx.webapp.administration.panel.DevelopersPanel.java
License:Open Source License
/** * /* w w w . java2s .c om*/ */ public DevelopersPanel(String id) { super(id); final DumpInput dumpInput = new DumpInput(); setDefaultModel(new CompoundPropertyModel<DumpInput>(dumpInput)); @SuppressWarnings("rawtypes") Form<?> dumpForm = new Form("dumpForm"); add(dumpForm); dumpForm.add(new DropDownChoice<String>("format", Arrays.asList(new String[] { "XML", "Excel" }))); dumpForm.add(new CheckBox("values")); dumpForm.add(new FeedbackPanel("feedback")); SubmitLink dumpLink = new SubmitLink("dumpLink", dumpForm) { private static final long serialVersionUID = 109761762415267865L; @Override public void onSubmit() { try { File dumpFile = dump(dumpInput); getRequestCycle() .setRequestTarget(new ResourceStreamRequestTarget(new TmpFileResourceStream(dumpFile) { public String getContentType() { if (dumpInput.format.equals("XML")) { return "application/zip"; } return "application/vnd.ms-excel"; } }, dumpFile.getName())); } catch (Exception e) { log.error("Magma dump failed.", e); error(e.getMessage()); } } }; dumpForm.add(dumpLink); @SuppressWarnings("rawtypes") AjaxLink<?> refreshStatsLink = new AjaxLink("refreshStatsLink") { private static final long serialVersionUID = 109761762415267865L; @Override public void onClick(AjaxRequestTarget target) { target.addComponent(DevelopersPanel.this.get("hibernateStats")); } }; add(refreshStatsLink); @SuppressWarnings("rawtypes") AjaxLink<?> clearCacheLink = new AjaxLink("clearCacheLink") { private static final long serialVersionUID = 109761762415267865L; @Override public void onClick(AjaxRequestTarget target) { factory.evictQueries(); target.addComponent(DevelopersPanel.this.get("hibernateStats")); } }; add(clearCacheLink); add(new HibernateStatisticsPanel("hibernateStats", new PropertyModel<Statistics>(factory, "statistics")) .setOutputMarkupId(true)); }
From source file:org.projectforge.plugins.marketing.AddressCampaignValueListPage.java
License:Open Source License
@SuppressWarnings("serial") @Override/*ww w. ja va 2 s.c o m*/ protected void init() { personalAddressMap = personalAddressDao.getPersonalAddressByAddressId(); addressCampaignValueMap = new HashMap<Integer, AddressCampaignValueDO>(); { // Excel export final SubmitLink excelExportLink = new SubmitLink(ContentMenuEntryPanel.LINK_ID, form) { @Override public void onSubmit() { log.info("Exporting address list."); final List<AddressDO> list = getList(); final byte[] xls = addressCampaignValueExport.export(list, personalAddressMap, addressCampaignValueMap, form.getSearchFilter().getAddressCampaign() != null ? form.getSearchFilter().getAddressCampaign().getTitle() : ""); if (xls == null || xls.length == 0) { form.addError("address.book.hasNoVCards"); return; } final String filename = "ProjectForge-AddressCampaignValueExport_" + DateHelper.getDateAsFilenameSuffix(new Date()) + ".xls"; DownloadUtils.setDownloadTarget(xls, filename); } }; final ContentMenuEntryPanel excelExportButton = new ContentMenuEntryPanel(getNewContentMenuChildId(), excelExportLink, getString("address.book.export")) .setTooltip(getString("address.book.export.tooltip")); addContentMenuEntry(excelExportButton); } }
From source file:org.projectforge.web.address.AddressListPage.java
License:Open Source License
@SuppressWarnings("serial") @Override// www . j a v a2s . c om protected void init() { personalAddressMap = personalAddressDao.getPersonalAddressByAddressId(); final List<IColumn<AddressDO, String>> columns = createColumns(this, true); dataTable = createDataTable(columns, "name", SortOrder.ASCENDING); form.add(dataTable); if (messagingSupported == true) { final ContentMenuEntryPanel menuEntry = new ContentMenuEntryPanel(getNewContentMenuChildId(), new Link<Object>("link") { @Override public void onClick() { setResponsePage(SendSmsPage.class, new PageParameters()); }; }, getString("address.tooltip.writeSMS")); addContentMenuEntry(menuEntry); } if (WebConfiguration.isDevelopmentMode() == true) { // final Import vcards final BookmarkablePageLink<AddressImportPage> importVCardsLink = new BookmarkablePageLink<AddressImportPage>( ContentMenuEntryPanel.LINK_ID, AddressImportPage.class); final ContentMenuEntryPanel importVCardsButton = new ContentMenuEntryPanel(getNewContentMenuChildId(), importVCardsLink, getString("address.book.vCardImport")) .setTooltip(getString("address.book.vCardImport.tooltip")); addContentMenuEntry(importVCardsButton); } final ContentMenuEntryPanel exportMenu = new ContentMenuEntryPanel(getNewContentMenuChildId(), getString("export")); addContentMenuEntry(exportMenu); { // Export vcards final SubmitLink exportVCardsLink = new SubmitLink(ContentMenuEntryPanel.LINK_ID, form) { @Override public void onSubmit() { log.info("Exporting personal address book."); final List<PersonalAddressDO> list = addressDao.getFavoriteVCards(); if (CollectionUtils.isEmpty(list) == true) { form.addError("address.book.hasNoVCards"); return; } final String filename = "ProjectForge-PersonalAddressBook_" + DateHelper.getDateAsFilenameSuffix(new Date()) + ".vcf"; final StringWriter writer = new StringWriter(); addressDao.exportFavoriteVCards(writer, list); DownloadUtils.setUTF8CharacterEncoding(getResponse()); DownloadUtils.setDownloadTarget(writer.toString().getBytes(), filename); } }; final ContentMenuEntryPanel exportVCardsButton = new ContentMenuEntryPanel( exportMenu.newSubMenuChildId(), exportVCardsLink, getString("address.book.vCardExport")) .setTooltip(getString("address.book.vCardExport.tooltip.title"), getString("address.book.vCardExport.tooltip.content")); exportMenu.addSubMenuEntry(exportVCardsButton); } { // Excel export final SubmitLink excelExportLink = new SubmitLink(ContentMenuEntryPanel.LINK_ID, form) { @Override public void onSubmit() { log.info("Exporting address list."); final List<AddressDO> list = getList(); final byte[] xls = addressExport.export(list, personalAddressMap); if (xls == null || xls.length == 0) { form.addError("address.book.hasNoVCards"); return; } final String filename = "ProjectForge-AddressExport_" + DateHelper.getDateAsFilenameSuffix(new Date()) + ".xls"; DownloadUtils.setDownloadTarget(xls, filename); } }; final ContentMenuEntryPanel excelExportButton = new ContentMenuEntryPanel( exportMenu.newSubMenuChildId(), excelExportLink, getString("address.book.export")) .setTooltip(getString("address.book.export"), getString("address.book.export.tooltip")); exportMenu.addSubMenuEntry(excelExportButton); } { // Phone list export final SubmitLink exportPhoneListLink = new SubmitLink(ContentMenuEntryPanel.LINK_ID, form) { @Override public void onSubmit() { log.info("Exporting phone list"); final List<PersonalAddressDO> list = addressDao.getFavoritePhoneEntries(); if (CollectionUtils.isEmpty(list) == true) { form.addError("address.book.hasNoPhoneNumbers"); return; } final String filename = "ProjectForge-PersonalPhoneList_" + DateHelper.getDateAsFilenameSuffix(new Date()) + ".txt"; final StringWriter writer = new StringWriter(); addressDao.exportFavoritePhoneList(writer, list); DownloadUtils.setUTF8CharacterEncoding(getResponse()); DownloadUtils.setDownloadTarget(writer.toString().getBytes(), filename); } }; final ContentMenuEntryPanel exportPhoneListButton = new ContentMenuEntryPanel( exportMenu.newSubMenuChildId(), exportPhoneListLink, getString("address.book.exportFavoritePhoneList")).setTooltip( getString("address.book.exportFavoritePhoneList.tooltip.title"), getString("address.book.exportFavoritePhoneList.tooltip.content")); exportMenu.addSubMenuEntry(exportPhoneListButton); } { final ContentMenuEntryPanel extendedMenu = contentMenuBarPanel.ensureAndAddExtendetMenuEntry(); // Apple script export final SubmitLink appleScriptLink = new SubmitLink(ContentMenuEntryPanel.LINK_ID, form) { @Override public void onSubmit() { byte[] content = null; final String file = APPLE_SCRIPT_DIR + APPLE_SCRIPT_FOR_ADDRESS_BOOK; try { final ClassLoader cLoader = this.getClass().getClassLoader(); final InputStream is = cLoader.getResourceAsStream(file); if (is == null) { log.error("Could not find script in resource path: '" + file + "'."); } content = IOUtils.toByteArray(is); } catch (final IOException ex) { log.error("Could not load script '" + file + "'." + ex.getMessage(), ex); throw new RuntimeException(ex); } DownloadUtils.setDownloadTarget(content, APPLE_SCRIPT_FOR_ADDRESS_BOOK); } }; final ContentMenuEntryPanel appleScriptButton = new ContentMenuEntryPanel( extendedMenu.newSubMenuChildId(), appleScriptLink, getString("address.book.export.appleScript4Notes")).setTooltip( getString("address.book.export.appleScript4Notes"), getString("address.book.export.appleScript4Notes.tooltip")); extendedMenu.addSubMenuEntry(appleScriptButton); } }
From source file:org.projectforge.web.fibu.EmployeeSalaryListPage.java
License:Open Source License
@Override protected void init() { final List<IColumn<EmployeeSalaryDO, String>> columns = createColumns(this, true); dataTable = createDataTable(columns, "employee.user.lastname", SortOrder.ASCENDING); form.add(dataTable);//from w w w . j a va 2s. co m { // Excel export @SuppressWarnings("serial") final SubmitLink excelExportLink = new SubmitLink(ContentMenuEntryPanel.LINK_ID, form) { @Override public void onSubmit() { if (form.getSearchFilter().getMonth() < 0 || form.getSearchFilter().getMonth() > 11) { form.addError("fibu.employee.salary.error.monthNotGiven"); return; } exportExcel(); } }; final ContentMenuEntryPanel excelExportButton = new ContentMenuEntryPanel(getNewContentMenuChildId(), excelExportLink, getString("exportAsXls")) .setTooltip(getString("fibu.employee.salary.exportXls.tooltip")); addContentMenuEntry(excelExportButton); } }
From source file:org.projectforge.web.fibu.Kost1ListPage.java
License:Open Source License
@SuppressWarnings("serial") @Override/*w ww . ja va2 s . c o m*/ protected void init() { dataTable = createDataTable(createColumns(this, true), "formattedNumber", SortOrder.ASCENDING); form.add(dataTable); { // Excel export final SubmitLink excelExportLink = new SubmitLink(ContentMenuEntryPanel.LINK_ID, form) { @Override public void onSubmit() { exportExcel(); } }; final ContentMenuEntryPanel excelExportButton = new ContentMenuEntryPanel(getNewContentMenuChildId(), excelExportLink, getString("exportAsXls")).setTooltip(getString("tooltip.export.excel")); addContentMenuEntry(excelExportButton); } }
From source file:org.projectforge.web.fibu.MonthlyEmployeeReportPage.java
License:Open Source License
@SuppressWarnings("serial") public MonthlyEmployeeReportPage(final PageParameters parameters) { super(parameters); final boolean costConfigured = Configuration.getInstance().isCostConfigured(); form = new MonthlyEmployeeReportForm(this); if (form.filter == null) { form.filter = (MonthlyEmployeeReportFilter) getUserPrefEntry(MonthlyEmployeeReportFilter.class, USER_PREF_KEY_FILTER);/* w w w . ja va 2 s . c om*/ } if (form.filter == null) { form.filter = new MonthlyEmployeeReportFilter(); putUserPrefEntry(USER_PREF_KEY_FILTER, form.filter, true); } if (form.filter.getUser() == null) { form.filter.setUser(getUser()); } body.add(form); form.init(); { final ContentMenuEntryPanel exportAsPdf = new ContentMenuEntryPanel(getNewContentMenuChildId(), new SubmitLink("link", form) { @Override public void onSubmit() { exportAsPdf(); }; }, getString("exportAsPdf")); addContentMenuEntry(exportAsPdf); } gridBuilder = form.newGridBuilder(body, "fields"); final GridSize gridSize = costConfigured == true ? GridSize.COL33 : GridSize.COL50; gridBuilder.newSplitPanel(gridSize); { final FieldsetPanel fs = gridBuilder.newFieldset(getString("timesheet.user")).supressLabelForWarning(); fs.add(new DivTextPanel(fs.newChildId(), new Model<String>() { /** * @see org.apache.wicket.model.Model#getObject() */ @Override public String getObject() { final PFUserDO user = form.filter.getUser(); return user != null ? user.getFullname() : ""; } })); } if (costConfigured == true) { gridBuilder.newSplitPanel(gridSize); final FieldsetPanel fs = gridBuilder.newFieldset(getString("fibu.kost1")).supressLabelForWarning(); fs.add(new DivTextPanel(fs.newChildId(), new Model<String>() { /** * @see org.apache.wicket.model.Model#getObject() */ @Override public String getObject() { if (report == null) { return ""; } final Kost1DO kost1 = kost1Dao.internalGetById(report.getKost1Id()); return kost1 != null ? KostFormatter.format(kost1) : ""; } })); } gridBuilder.newSplitPanel(gridSize); { final FieldsetPanel fs = gridBuilder.newFieldset(getString("fibu.common.workingDays")) .supressLabelForWarning(); fs.add(new DivTextPanel(fs.newChildId(), new Model<String>() { @Override public String getObject() { return report != null ? String.valueOf(report.getNumberOfWorkingDays()) : ""; }; })); } gridBuilder.newGridPanel(); { final FieldsetPanel fs = new FieldsetPanel(gridBuilder.getPanel(), getString("fibu.common.workingDays"), getString("fibu.monthlyEmployeeReport.withoutTimesheets")) { /** * @see org.apache.wicket.Component#isVisible() */ @Override public boolean isVisible() { return report != null && StringUtils.isNotBlank(report.getFormattedUnbookedDays()); } }.supressLabelForWarning(); fs.add(new DivTextPanel(fs.newChildId(), new Model<String>() { /** * @see org.apache.wicket.model.Model#getObject() */ @Override public String getObject() { return report.getFormattedUnbookedDays(); } }, TextStyle.RED)); } }
From source file:org.projectforge.web.teamcal.event.TeamEventEditPage.java
License:Open Source License
/** * @see org.projectforge.web.wicket.AbstractEditPage#init(org.projectforge.core.AbstractBaseDO) *//*from w w w.jav a2s . c o m*/ @Override protected void init(final TeamEventDO data) { super.init(data); if (isNew() == false) { @SuppressWarnings("serial") final ContentMenuEntryPanel menu = new ContentMenuEntryPanel(getNewContentMenuChildId(), new Link<Void>(ContentMenuEntryPanel.LINK_ID) { @Override public void onClick() { final TimesheetDO timesheet = new TimesheetDO(); timesheet.setStartDate(getData().getStartDate())// .setStopTime(getData().getEndDate()) // .setLocation(getData().getLocation()); final StringBuffer buf = new StringBuffer(); buf.append(getData().getSubject()); final String note = getData().getNote(); if (StringUtils.isNotBlank(note) == true) { buf.append("\n").append(note); } timesheet.setDescription(buf.toString()); timesheetDao.setUser(timesheet, getUserId()); final TimesheetEditPage timesheetEditPage = new TimesheetEditPage(timesheet); timesheetEditPage.setReturnToPage(getReturnToPage()); setResponsePage(timesheetEditPage); } ; }, getString("plugins.teamcal.event.convert2Timesheet")); addContentMenuEntry(menu); } if (isNew() == true) { @SuppressWarnings("serial") final ContentMenuEntryPanel menu = new ContentMenuEntryPanel(getNewContentMenuChildId(), new SubmitLink(ContentMenuEntryPanel.LINK_ID, form) { @Override public void onSubmit() { final TeamEventDO event = getData(); final TimesheetDO timesheet = new TimesheetDO(); if (event != null) { timesheet.setStartDate(event.getStartDate()); timesheet.setStopTime(event.getEndDate()); } if (returnToPage == null) { returnToPage = new TeamCalCalendarPage(new PageParameters()); } setResponsePage(new TimesheetEditPage(timesheet).setReturnToPage(returnToPage)); } ; }.setDefaultFormProcessing(false), getString("plugins.teamcal.switchToTimesheetButton")); addContentMenuEntry(menu); } else { @SuppressWarnings("serial") final ContentMenuEntryPanel menu = new ContentMenuEntryPanel(getNewContentMenuChildId(), new SubmitLink(ContentMenuEntryPanel.LINK_ID, form) { @Override public void onSubmit() { final TeamEventDO event = getData(); log.info("Export ics for: " + event.getSubject()); ByteArrayOutputStream baos = icsGenerator.getIcsFile(event); if (baos != null) { DownloadUtils.setDownloadTarget(baos.toByteArray(), event.getSubject().replace(" ", "") + ".ics"); } } ; }.setDefaultFormProcessing(false), getString("plugins.teamcal.exportIcsButton")); addContentMenuEntry(menu); } }