public TaskSelectPanel( final FieldsetPanel fieldsetPanel, final IModel<TaskDO> model, final ISelectCallerPage caller, final String selectProperty) { super(fieldsetPanel.newChildId(), model, caller, selectProperty); this.fieldsetPanel = fieldsetPanel; fieldsetPanel.getFieldset().setOutputMarkupId(true).setOutputMarkupPlaceholderTag(true); TaskDO task = model.getObject(); if (Hibernate.isInitialized(task) == false) { task = taskTree.getTaskById(task.getId()); model.setObject(task); } divContainer = new WebMarkupContainer("div") { private static final long serialVersionUID = -8150112323444983335L; /** @see org.apache.wicket.Component#isVisible() */ @Override public boolean isVisible() { // display only, if we are not in ajax task select mode return ajaxTaskSelectMode == false; } }; divContainer.setOutputMarkupId(true); divContainer.setOutputMarkupPlaceholderTag(true); add(divContainer); ajaxTaskSelectMode = false; }
@SuppressWarnings("serial") public void redraw() { clearContent(); { gridBuilder.newSecurityAdviceBox(Model.of(getString("calendar.icsExport.securityAdvice"))); addFormFields(); final FieldsetPanel fs = gridBuilder.newFieldset(getString("calendar.abonnement.url")).setLabelSide(false); urlTextArea = new TextArea<String>( fs.getTextAreaId(), new Model<String>() { @Override public String getObject() { return WicketUtils.getAbsoluteContextPath() + getUrl(); }; }); urlTextArea.setOutputMarkupId(true); fs.add(urlTextArea); urlTextArea.add(AttributeModifier.replace("onClick", "$(this).select();")); } }
@Override @SuppressWarnings("serial") protected void init() { super.init(); gridBuilder.newGridPanel(); reportPathPanel = gridBuilder.getPanel(); reportPathPanel.add( new Heading1Panel( reportPathPanel.newChildId(), new Model<String>() { /** @see org.apache.wicket.model.Model#getObject() */ @Override public String getObject() { return reportPathHeading; } })); gridBuilder.newGridPanel(); { final FieldsetPanel fs = gridBuilder.newFieldset(getString("file"), "*.xsl, *.jrxml"); fileUploadField = new FileUploadField(FileUploadPanel.WICKET_ID); fs.add( new DivTextPanel( fs.newChildId(), new Model<String>() { @Override public String getObject() { final ReportScriptingStorage storage = getReportScriptingStorage(); return storage != null ? storage.getLastAddedFilename() : ""; } })); fs.add(new FileUploadPanel(fs.newChildId(), fileUploadField)); final Button uploadButton = new Button(SingleButtonPanel.WICKET_ID, new Model<String>("upload")) { @Override public final void onSubmit() { parentPage.upload(); } }; fs.add( new SingleButtonPanel( fs.newChildId(), uploadButton, getString("upload"), SingleButtonPanel.NORMAL)); } { final FieldsetPanel fs = gridBuilder.newFieldset(getString("label.groovyScript")); final AceEditorPanel textArea = new AceEditorPanel(fs.newChildId(), new PropertyModel<String>(this, "groovyScript")); fs.add(textArea); } { final FieldsetPanel fs = gridBuilder.newFieldset(getString("label.groovy.result")).suppressLabelForWarning(); final DivTextPanel groovyResultPanel = new DivTextPanel( fs.newChildId(), new Model<String>() { /** @see org.apache.wicket.model.Model#getObject() */ @Override public String getObject() { final GroovyResult groovyResult = parentPage.groovyResult; final StringBuffer buf = new StringBuffer(); buf.append(groovyResult.getResultAsHtmlString()); if (groovyResult.getResult() != null && StringUtils.isNotEmpty(groovyResult.getOutput()) == true) { buf.append("<br/>\n"); buf.append(HtmlHelper.escapeXml(groovyResult.getOutput())); } return buf.toString(); } }) { /** @see org.apache.wicket.Component#isVisible() */ @Override public boolean isVisible() { final GroovyResult groovyResult = parentPage.groovyResult; return (groovyResult != null && groovyResult.hasResult() == true); } }; groovyResultPanel.getLabel().setEscapeModelStrings(false); fs.add(groovyResultPanel); } { final Button executeButton = new Button(SingleButtonPanel.WICKET_ID, new Model<String>("execute")) { @Override public final void onSubmit() { parentPage.execute(); } }; final SingleButtonPanel executeButtonPanel = new SingleButtonPanel( actionButtons.newChildId(), executeButton, getString("execute"), SingleButtonPanel.DEFAULT_SUBMIT); actionButtons.add(executeButtonPanel); setDefaultButton(executeButton); } }
@SuppressWarnings("serial") @Override protected void init() { super.init(); add( new IFormValidator() { @Override public FormComponent<?>[] getDependentFormComponents() { return dependentFormComponents; } @SuppressWarnings("unchecked") @Override public void validate(final Form<?> form) { final PFAutoCompleteTextField<SkillDO> skillTextField = (PFAutoCompleteTextField<SkillDO>) dependentFormComponents[0]; final DropDownChoice<SkillRating> skillRatingDropDown = (DropDownChoice<SkillRating>) dependentFormComponents[1]; if (skillTextField.getConvertedInput().isRateable() == true && skillRatingDropDown.getConvertedInput() == null) { error(getString("plugins.skillmatrix.error.rateableSkillWithNullRating")); } else if (skillTextField.getConvertedInput().isRateable() == false && skillRatingDropDown.getConvertedInput() != null) { error(getString("plugins.skillmatrix.error.unrateableSkillWithRating")); } final SkillRatingFilter filter = new SkillRatingFilter(); filter.setSearchFields("user.username"); filter.setSearchString(data.getUser().getUsername()); final List<SkillRatingDO> list = skillRatingDao.getList(filter); for (final SkillRatingDO skillRatingDO : list) { final boolean isDeleted = skillRatingDO.getSkill().isDeleted(); final boolean sameSkill = skillRatingDO.getSkill().getTitle() == skillTextField.getConvertedInput().getTitle(); final boolean sameSkillRating = skillRatingDO.getCreated().equals(data.getCreated()); if (isDeleted == false && sameSkill && sameSkillRating == false) { error(getString("plugins.skillmatrix.error.skillRatingExistsAlready")); break; } } } }); gridBuilder.newGridPanel(); { // User final FieldsetPanel fs = gridBuilder .newFieldset(getString("plugins.skillmatrix.skillrating.user")) .suppressLabelForWarning(); final DivTextPanel username = new DivTextPanel(fs.newChildId(), data.getUser().getUsername()); username.setStrong(); fs.add(username); } { // Skill, look at UserSelectPanel for fine tuning ( getConverter() ) final FieldsetPanel fs = gridBuilder.newFieldset(getString("plugins.skillmatrix.skillrating.skill")); final PFAutoCompleteTextField<SkillDO> autoCompleteTextField = new PFAutoCompleteTextField<SkillDO>( fs.getTextFieldId(), new PropertyModel<SkillDO>(data, "skill")) { @Override protected List<SkillDO> getChoices(final String input) { final BaseSearchFilter filter = new BaseSearchFilter(); filter.setSearchFields("title"); filter.setSearchString(input); final List<SkillDO> list = skillDao.getList(filter); return list; } @Override protected String formatLabel(final SkillDO skill) { if (skill == null) { return ""; } return skill.getTitle(); } @Override protected String formatValue(final SkillDO skill) { if (skill == null) { return ""; } return skill.getTitle(); } @SuppressWarnings({"unchecked", "rawtypes"}) @Override public <C> IConverter<C> getConverter(final Class<C> type) { return new IConverter() { @Override public Object convertToObject(final String value, final Locale locale) { if (StringUtils.isEmpty(value) == true) { getModel().setObject(null); return null; } final SkillDO skill = skillDao.getSkillTree().getSkill(value); if (skill == null) { error(getString("plugins.skillmatrix.error.skillNotFound")); } getModel().setObject(skill); final AjaxRequestTarget target = RequestCycle.get().find(AjaxRequestTarget.class); if (target != null) { target.add(SkillRatingEditForm.this.fs.getFieldset()); } return skill; } @Override public String convertToString(final Object value, final Locale locale) { if (value == null) { return ""; } final SkillDO skill = (SkillDO) value; return skill.getTitle(); } }; } }; autoCompleteTextField .withLabelValue(true) .withMatchContains(true) .withMinChars(2) .withAutoSubmit(false) .withWidth(400) .setRequired(true); autoCompleteTextField.add( new AjaxFormComponentUpdatingBehavior("onChange") { @Override protected void onUpdate(final AjaxRequestTarget target) { // AjaxRequestTarget needs this. } }); fs.add(autoCompleteTextField); dependentFormComponents[0] = autoCompleteTextField; } { // Skill rating fs = gridBuilder.newFieldset(getString("plugins.skillmatrix.skillrating.rating")); fs.getFieldset().setOutputMarkupId(true); final LabelValueChoiceRenderer<SkillRating> ratingChoiceRenderer = new LabelValueChoiceRenderer<SkillRating>(this, SkillRating.values()); final DropDownChoicePanel<SkillRating> skillChoice = new DropDownChoicePanel<SkillRating>( fs.newChildId(), new PropertyModel<SkillRating>(data, "skillRating"), ratingChoiceRenderer.getValues(), ratingChoiceRenderer) { @Override public boolean isVisible() { if (data == null || data.getSkill() == null || !data.getSkill().isRateable()) { return false; } else { return true; } } }; fs.add(skillChoice); dependentFormComponents[1] = skillChoice.getDropDownChoice(); } { // Since year final FieldsetPanel fs = gridBuilder.newFieldset(getString("plugins.skillmatrix.skillrating.sinceyear")); fs.add( new MinMaxNumberField<Integer>( fs.getTextFieldId(), new PropertyModel<Integer>(data, "sinceYear"), 0, 9000)); } { // Certificates final FieldsetPanel fs = gridBuilder.newFieldset(getString("plugins.skillmatrix.skillrating.certificates")); fs.add( new MaxLengthTextField( fs.getTextFieldId(), new PropertyModel<String>(data, "certificates"))); } { // Training courses final FieldsetPanel fs = gridBuilder.newFieldset(getString("plugins.skillmatrix.skillrating.trainingcourses")); fs.add( new MaxLengthTextField( fs.getTextFieldId(), new PropertyModel<String>(data, "trainingCourses"))); } { // Description final FieldsetPanel fs = gridBuilder.newFieldset(getString("plugins.skillmatrix.skillrating.description")); fs.add( new MaxLengthTextArea( fs.getTextAreaId(), new PropertyModel<String>(data, "description"))) .setAutogrow(); } { // Comment final FieldsetPanel fs = gridBuilder.newFieldset(getString("plugins.skillmatrix.skillrating.comment")); fs.add(new MaxLengthTextArea(fs.getTextAreaId(), new PropertyModel<String>(data, "comment"))) .setAutogrow(); } }
@SuppressWarnings("serial") @Override protected void init() { super.init(); /* GRID16 - BLOCK */ gridBuilder.newGridPanel(); { // Number final FieldsetPanel fs = gridBuilder.newFieldset(getString("fibu.kunde.nummer")); final MinMaxNumberField<Integer> number = new MinMaxNumberField<Integer>( InputPanel.WICKET_ID, new PropertyModel<Integer>(data, "id"), 0, KundeDO.MAX_ID) { @SuppressWarnings({"unchecked", "rawtypes"}) @Override public IConverter getConverter(final Class type) { return new IntegerConverter(3); } }; WicketUtils.setSize(number, 7); fs.add(number); if (isNew() == true) { WicketUtils.setFocus(number); } } { // Name final FieldsetPanel fs = gridBuilder.newFieldset(getString("fibu.kunde.name")); final RequiredMaxLengthTextField name = new RequiredMaxLengthTextField( InputPanel.WICKET_ID, new PropertyModel<String>(data, "name")); fs.add(name); if (isNew() == false) { WicketUtils.setFocus(name); } } if (Registry.instance().getKontoCache().isEmpty() == false) { // Show this field only if DATEV accounts does exist. final FieldsetPanel fs = gridBuilder.newFieldset(getString("fibu.konto")); final KontoSelectPanel kontoSelectPanel = new KontoSelectPanel( fs.newChildId(), new PropertyModel<KontoDO>(data, "konto"), null, "kontoId"); kontoSelectPanel .setKontoNumberRanges(AccountingConfig.getInstance().getDebitorsAccountNumberRanges()) .init(); fs.addHelpIcon(getString("fibu.kunde.konto.tooltip")); fs.add(kontoSelectPanel); } { // Identifier final FieldsetPanel fs = gridBuilder.newFieldset(getString("fibu.kunde.identifier")); fs.add( new MaxLengthTextField( InputPanel.WICKET_ID, new PropertyModel<String>(data, "identifier"))); } { // Identifier final FieldsetPanel fs = gridBuilder.newFieldset(getString("fibu.kunde.division")); fs.add( new MaxLengthTextField( InputPanel.WICKET_ID, new PropertyModel<String>(data, "division"))); } { // Identifier final FieldsetPanel fs = gridBuilder.newFieldset(getString("description")); fs.add( new MaxLengthTextArea( TextAreaPanel.WICKET_ID, new PropertyModel<String>(data, "description"))); } { // Status drop down box: final FieldsetPanel fs = gridBuilder.newFieldset(getString("status")); final LabelValueChoiceRenderer<KundeStatus> statusChoiceRenderer = new LabelValueChoiceRenderer<KundeStatus>(fs, KundeStatus.values()); final DropDownChoice<KundeStatus> statusChoice = new DropDownChoice<KundeStatus>( fs.getDropDownChoiceId(), new PropertyModel<KundeStatus>(data, "status"), statusChoiceRenderer.getValues(), statusChoiceRenderer); statusChoice.setNullValid(false).setRequired(true); fs.add(statusChoice); } }
public static IconPanel getAlertTooltipIcon( final FieldsetPanel fieldset, final IModel<String> title, final IModel<String> tooltip) { final IconPanel icon = new IconPanel(fieldset.newIconChildId(), IconType.ALERT, title, tooltip); return icon; }
/** * Uses "jiraSupportTooltipImage" as component id. Please use {@link * FieldsetPanel#addJIRASupportHelpIcon()} instead of this method if possible. * * @param fieldset needed for localization and for getting new child id. * @return IconPanel which is invisible if JIRA isn't configured. */ public static IconPanel getJIRASupportTooltipIcon(final FieldsetPanel fieldset) { return getJIRASupportTooltipIcon(fieldset, fieldset.newIconChildId()); }
/** * Hook method which is called, when the task is set by auto complete field * * @param target * @param taskDo */ protected void onModelSelected(final AjaxRequestTarget target, final TaskDO taskDo) { target.add(fieldsetPanel.getFieldset()); target.add(divContainer); target.add(userselectContainer); }
@Override protected void init() { super.init(); // GRID 50% - BLOCK gridBuilder.newSplitPanel(GridSize.COL50); { // Number final FieldsetPanel fs = gridBuilder.newFieldset(getString("legalAffaires.contract.number")); fs.add(new DivTextPanel(fs.newChildId(), "C-")); numberField = new MinMaxNumberField<Integer>( InputPanel.WICKET_ID, new PropertyModel<Integer>(data, "number"), 0, 99999999); numberField.setMaxLength(8); WicketUtils.setSize(numberField, 6); fs.add(numberField); if (NumberHelper.greaterZero(getData().getNumber()) == false) { fs.addHelpIcon(getString("fibu.tooltip.nummerWirdAutomatischVergeben")); } } { // Date final FieldsetPanel fs = gridBuilder.newFieldset(getString("date")); datePanel = new DatePanel( fs.newChildId(), new PropertyModel<Date>(data, "date"), DatePanelSettings.get().withTargetType(java.sql.Date.class)); fs.add(datePanel); } { // Title final FieldsetPanel fs = gridBuilder.newFieldset(getString("title")); fs.add(createAutocompleteTextField("title")) .getField() .setRequired(true) .add(WicketUtils.setFocus()); } { // Contract type final FieldsetPanel fs = gridBuilder.newFieldset(getString("legalAffaires.contract.type")); final List<ContractType> contractTypes = ConfigXml.getInstance().getContractTypes(); final LabelValueChoiceRenderer<ContractType> typeChoiceRenderer = new LabelValueChoiceRenderer<ContractType>(contractTypes); final DropDownChoice<ContractType> typeChoice = new DropDownChoice<ContractType>( fs.getDropDownChoiceId(), new PropertyModel<ContractType>(data, "type"), typeChoiceRenderer.getValues(), typeChoiceRenderer); typeChoice.setNullValid(false); fs.add(typeChoice); } { // Status final FieldsetPanel fs = gridBuilder.newFieldset(getString("status")); // DropDownChoice for convenient selection of time periods. final LabelValueChoiceRenderer<String> statusChoiceRenderer = new LabelValueChoiceRenderer<String>(); for (final ContractStatus status : ContractStatus.values()) { statusChoiceRenderer.addValue(status.name(), getString(status.getI18nKey())); } final DropDownChoice<String> statusChoice = new DropDownChoice<String>( fs.getDropDownChoiceId(), new PropertyModel<String>(data, "status"), statusChoiceRenderer.getValues(), statusChoiceRenderer); statusChoice.setNullValid(false); fs.add(statusChoice); } gridBuilder.newSplitPanel(GridSize.COL50); { // Reference final FieldsetPanel fs = gridBuilder.newFieldset(getString("fibu.common.reference")); fs.add( new MaxLengthTextField( InputPanel.WICKET_ID, new PropertyModel<String>(data, "reference"))); } { // Resubmission date final FieldsetPanel fs = gridBuilder.newFieldset(getString("resubmissionOnDate")); resubmissionDatePanel = new DatePanel( fs.newChildId(), new PropertyModel<Date>(data, "resubmissionOnDate"), DatePanelSettings.get().withTargetType(java.sql.Date.class)); fs.add(resubmissionDatePanel); } { // Due date final FieldsetPanel fs = gridBuilder.newFieldset(getString("dueDate")); dueDatePanel = new DatePanel( fs.newChildId(), new PropertyModel<Date>(data, "dueDate"), DatePanelSettings.get().withTargetType(java.sql.Date.class)); fs.add(dueDatePanel); } { // Signing date final FieldsetPanel fs = gridBuilder.newFieldset(getString("legalAffaires.contract.signing"), getString("date")); signingDatePanel = new DatePanel( fs.newChildId(), new PropertyModel<Date>(data, "signingDate"), DatePanelSettings.get().withTargetType(java.sql.Date.class)); fs.add(signingDatePanel); } { // Validity final FieldsetPanel fs = gridBuilder.newFieldset(getString("legalAffaires.contract.validity")); validFromDatePanel = new DatePanel( fs.newChildId(), new PropertyModel<Date>(data, "validFrom"), DatePanelSettings.get().withTargetType(java.sql.Date.class)); fs.add(validFromDatePanel); fs.add(new DivTextPanel(fs.newChildId(), "-")); validUntilDatePanel = new DatePanel( fs.newChildId(), new PropertyModel<Date>(data, "validUntil"), DatePanelSettings.get().withTargetType(java.sql.Date.class)); fs.add(validUntilDatePanel); } gridBuilder.newSplitPanel(GridSize.COL50); { // CocontractorA final FieldsetPanel fs = gridBuilder.newFieldset(getString("legalAffaires.contract.coContractorA")); fs.add(createAutocompleteTextField("coContractorA")); } { // CopersonA final FieldsetPanel fs = gridBuilder.newFieldset(getString("legalAffaires.contract.contractPersonA")); fs.add(createAutocompleteTextField("contractPersonA")); } { // SignerA final FieldsetPanel fs = gridBuilder.newFieldset(getString("legalAffaires.contract.signerA")); fs.add(createAutocompleteTextField("signerA")); } /* GRID8 */ gridBuilder.newSplitPanel(GridSize.COL50); { // CocontractorB final FieldsetPanel fs = gridBuilder.newFieldset(getString("legalAffaires.contract.coContractorB")); fs.add(createAutocompleteTextField("coContractorB")); } { // CopersonB final FieldsetPanel fs = gridBuilder.newFieldset(getString("legalAffaires.contract.contractPersonB")); fs.add(createAutocompleteTextField("contractPersonB")); } { // SignerB final FieldsetPanel fs = gridBuilder.newFieldset(getString("legalAffaires.contract.signerB")); fs.add(createAutocompleteTextField("signerB")); } /* GRID16 */ gridBuilder.newGridPanel(); { // Text with JIRA support final FieldsetPanel fs = gridBuilder.newFieldset(getString("text")); final IModel<String> model = new PropertyModel<String>(data, "text"); fs.add(new MaxLengthTextArea(TextAreaPanel.WICKET_ID, model)); fs.addJIRAField(model); } { // Filing final FieldsetPanel fs = gridBuilder.newFieldset(getString("filing")); fs.add( new MaxLengthTextField(InputPanel.WICKET_ID, new PropertyModel<String>(data, "filing"))); } addCloneButton(); }
@Override @SuppressWarnings("serial") protected void init() { super.init(); gridBuilder.newSplitPanel(GridSize.COL50); gridBuilder.newFormHeading(getString("system.admin.group.title.alertMessage")); { final FieldsetPanel fs = gridBuilder.newFieldset(getString("system.admin.group.title.alertMessage")); alertMessage = WicketApplication.getAlertMessage(); fs.add( new MaxLengthTextArea( TextAreaPanel.WICKET_ID, new PropertyModel<String>(this, "alertMessage"), 1000)) .setAutogrow(); } { final FieldsetPanel fs = gridBuilder.newFieldset("").suppressLabelForWarning(); fs.add( new MyButtonPanel(fs.newChildId(), "setAlertMessage") { @Override public void onSubmit() { parentPage.setAlertMessage(); } }.getButtonPanel()); fs.add( new MyButtonPanel(fs.newChildId(), "clearAlertMessage") { @Override public void onSubmit() { parentPage.clearAlertMessage(); } /** @see org.projectforge.web.admin.AdminForm.MyButtonPanel#isVisible() */ @Override public boolean isVisible() { return StringUtils.isNotBlank(alertMessage); } }.getButtonPanel()); } { final FieldsetPanel fs = gridBuilder .newFieldset(getString("system.admin.alertMessage.copyAndPaste.title")) .suppressLabelForWarning(); fs.add( new DivTextPanel( fs.newChildId(), PFUserContext.getLocalizedMessage( "system.admin.alertMessage.copyAndPaste.text", AppVersion.NUMBER))); } gridBuilder.newSplitPanel(GridSize.COL50); { final FieldsetPanel fs = gridBuilder.newFieldset( getString("system.admin.reindex.newestEntries"), getString("system.admin.reindex.newestEntries.subtitle")); fs.add( new MinMaxNumberField<Integer>( InputPanel.WICKET_ID, new PropertyModel<Integer>(this, "reindexNewestNEntries"), 0, Integer.MAX_VALUE)); fs.addHelpIcon(getString("system.admin.reindex.newestEntries.tooltip")); } { final FieldsetPanel fs = gridBuilder.newFieldset(getString("system.admin.reindex.fromDate")); final DatePanel datePanel = new DatePanel(fs.newChildId(), new PropertyModel<Date>(this, "reindexFromDate")); fs.add(datePanel); fs.addHelpIcon( new Model<String>() { @Override public String getObject() { return getString("system.admin.reindex.fromDate.tooltip") + (reindexFromDate != null ? " (" + DateHelper.formatAsUTC(reindexFromDate) + ")" : ""); } }); fs.add( new MyButtonPanel(fs.newChildId(), "reindex") { @Override public void onSubmit() { parentPage.reindex(); } }.getButtonPanel()); } gridBuilder.newGridPanel(); { final FieldsetPanel fs = gridBuilder.newFieldset(getString("system.admin.group.title.misc.logEntries")); final MaxLengthTextArea logEntries = new MaxLengthTextArea( TextAreaPanel.WICKET_ID, new PropertyModel<String>(this, "logEntries"), 10000); logEntries.add(AttributeModifier.append("style", "width: 100%; height: 20em;")); fs.add(logEntries); fs.addHelpIcon(getString("system.admin.button.formatLogEntries.textarea.tooltip")); } { final FieldsetPanel fs = gridBuilder.newFieldset("").suppressLabelForWarning(); fs.add( new MyButtonPanel(fs.newChildId(), "formatLogEntries") { @Override public void onSubmit() { parentPage.formatLogEntries(); } }.getButtonPanel()); } gridBuilder.newGridPanel(); final DivPanel section = gridBuilder.getPanel(); final DivTextPanel logMessages = new DivTextPanel( section.newChildId(), new Model<String>() { @Override public String getObject() { return formattedLogEntries; } }); logMessages.getLabel().setEscapeModelStrings(false); section.add(logMessages); }
@SuppressWarnings("serial") @Override protected void init() { super.init(); gridBuilder.newGridPanel(); { final FieldsetPanel fs = gridBuilder.newFieldset(getString("plugins.teamcal.event.teamCal")); final List<TeamCalDO> list = teamCalDao.getAllCalendarsWithFullAccess(); final LabelValueChoiceRenderer<TeamCalDO> calChoiceRenderer = new LabelValueChoiceRenderer<TeamCalDO>(); for (final TeamCalDO cal : list) { calChoiceRenderer.addValue(cal, cal.getTitle()); } final DropDownChoice<TeamCalDO> calDropDownChoice = new DropDownChoice<TeamCalDO>( fs.getDropDownChoiceId(), new PropertyModel<TeamCalDO>(this, "calendar"), calChoiceRenderer.getValues(), calChoiceRenderer) { /** * @see * org.apache.wicket.markup.html.form.DropDownChoice#wantOnSelectionChangedNotifications() */ @Override protected boolean wantOnSelectionChangedNotifications() { return true; } /** * @see * org.apache.wicket.markup.html.form.DropDownChoice#onSelectionChanged(java.lang.Object) */ @Override protected void onSelectionChanged(final TeamCalDO newSelection) { parentPage.reconcile(); } }; calDropDownChoice.setNullValid(false); calDropDownChoice.setRequired(true); fs.add(calDropDownChoice); } { final FieldsetPanel fs = gridBuilder.newFieldset(getString("file"), "*.ics"); fileUploadField = new FileUploadField(FileUploadPanel.WICKET_ID); fs.add(new FileUploadPanel(fs.newChildId(), fileUploadField)); fs.add( new SingleButtonPanel( fs.newChildId(), new Button(SingleButtonPanel.WICKET_ID, new Model<String>("importEvents")) { @Override public final void onSubmit() { parentPage.importEvents(); } }, getString("upload"), SingleButtonPanel.NORMAL) .setTooltip(getString("common.import.upload.tooltip"))); addClearButton(fs); } { addImportFilterRadio(gridBuilder); } gridBuilder.newGridPanel(); final DivPanel panel = gridBuilder.getPanel(); storagePanel = new TeamCalImportStoragePanel(panel.newChildId(), parentPage, importFilter); panel.add(storagePanel); }