List of usage examples for org.apache.wicket.ajax.form OnChangeAjaxBehavior EVENT_NAME
String EVENT_NAME
To view the source code for org.apache.wicket.ajax.form OnChangeAjaxBehavior EVENT_NAME.
Click Source Link
From source file:biz.turnonline.ecosystem.origin.frontend.myaccount.page.MyAccountBasics.java
License:Apache License
public MyAccountBasics() { add(new FirebaseAppInit(firebaseConfig)); final MyAccountModel accountModel = new MyAccountModel(); final IModel<Map<String, Country>> countriesModel = new CountriesModel(); setModel(accountModel);/* w w w . j a v a 2 s. c om*/ // form Form<Account> form = new Form<Account>("form", accountModel) { private static final long serialVersionUID = -938924956863034465L; @Override protected void onSubmit() { Account account = getModelObject(); send(getPage(), Broadcast.BREADTH, new AccountUpdateEvent(account)); } }; add(form); PropertyModel<Boolean> companyModel = new PropertyModel<>(accountModel, "company"); form.add(new CompanyPersonSwitcher("isCompanyRadioGroup", companyModel)); // account email fieldset form.add(new Label("email", new PropertyModel<>(accountModel, "email"))); // company basic info final CompanyBasicInfo<Account> basicInfo = new CompanyBasicInfo<Account>("companyData", accountModel) { private static final long serialVersionUID = -2992960490517951459L; @Override protected DropDownChoice<LegalForm> provideLegalForm(String componentId) { LegalFormListModel choices = new LegalFormListModel(); return new IndicatingAjaxDropDown<>(componentId, new LegalFormCodeModel(accountModel, "legalForm", choices), choices, new LegalFormRenderer()); } @Override protected void onConfigure() { super.onConfigure(); Account account = getModelObject(); this.setVisible(account.getCompany()); } }; form.add(basicInfo); // company basic info panel behaviors basicInfo.addLegalForm(new OnChangeAjaxBehavior() { private static final long serialVersionUID = 6948210639258798921L; @Override protected void onUpdate(AjaxRequestTarget target) { } }); basicInfo.addVatId(new Behavior() { private static final long serialVersionUID = 100053137512632023L; @Override public void onConfigure(Component component) { super.onConfigure(component); Account account = basicInfo.getModelObject(); boolean visible; if (account == null || account.getBusiness() == null) { visible = true; } else { Boolean vatPayer = account.getBusiness().getVatPayer(); visible = vatPayer == null ? Boolean.FALSE : vatPayer; } component.setVisible(visible); } }); final TextField taxId = basicInfo.getTaxId(); final TextField vatId = basicInfo.getVatId(); final CheckBox vatPayer = basicInfo.getVatPayer(); basicInfo.addVatPayer(new AjaxFormSubmitBehavior(OnChangeAjaxBehavior.EVENT_NAME) { private static final long serialVersionUID = -1238082494184937003L; @Override protected void onSubmit(AjaxRequestTarget target) { Account account = (Account) basicInfo.getDefaultModelObject(); String rawTaxIdValue = taxId.getRawInput(); AccountBusiness business = account.getBusiness(); if (rawTaxIdValue != null && Strings.isEmpty(business == null ? null : business.getVatId())) { // VAT country prefix proposal String country = business == null ? "" : business.getDomicile(); country = country.toUpperCase(); //noinspection unchecked vatId.getModel().setObject(country + rawTaxIdValue); } // must be set manually as getDefaultProcessing() returns false vatPayer.setModelObject(!(business == null ? Boolean.FALSE : business.getVatPayer())); if (target != null) { target.add(vatId.getParent()); } } @Override public boolean getDefaultProcessing() { return false; } }); // personal data panel PersonalDataPanel<Account> personalData = new PersonalDataPanel<Account>("personalData", accountModel) { private static final long serialVersionUID = -2808922906891760016L; @Override protected void onConfigure() { super.onConfigure(); Account account = getModelObject(); this.setVisible(!account.getCompany()); } }; form.add(personalData); // personal address panel PersonalAddressPanel<Account> address = new PersonalAddressPanel<Account>("personalAddress", accountModel) { private static final long serialVersionUID = 3481146248010938807L; @Override protected DropDownChoice<Country> provideCountry(String componentId) { return new IndicatingAjaxDropDown<>(componentId, new PersonalAddressCountryModel(accountModel, countriesModel), new CountryRenderer(), countriesModel); } @Override protected void onConfigure() { super.onConfigure(); Account account = getModelObject(); this.setVisible(!account.getCompany()); } }; form.add(address); address.addCountry(new OnChangeAjaxBehavior() { private static final long serialVersionUID = -1016447969591778948L; @Override protected void onUpdate(AjaxRequestTarget target) { } }); // company address panel CompanyAddressPanel<Account> companyAddress; companyAddress = new CompanyAddressPanel<Account>("companyAddress", accountModel, false, false) { private static final long serialVersionUID = -6760545061622186549L; @Override protected DropDownChoice<Country> provideCountry(String componentId) { return new IndicatingAjaxDropDown<>(componentId, new CompanyDomicileModel(accountModel, countriesModel), new CountryRenderer(), countriesModel); } @Override protected void onConfigure() { super.onConfigure(); Account account = getModelObject(); this.setVisible(account.getCompany()); } }; form.add(companyAddress); companyAddress.addCountry(new OnChangeAjaxBehavior() { private static final long serialVersionUID = -5476413125490349124L; @Override protected void onUpdate(AjaxRequestTarget target) { } }); IModel<AccountPostalAddress> postalAddressModel = new PropertyModel<>(accountModel, "postalAddress"); IModel<Boolean> hasAddress = new PropertyModel<>(accountModel, "hasPostalAddress"); PostalAddressPanel<AccountPostalAddress> postalAddress; postalAddress = new PostalAddressPanel<AccountPostalAddress>("postal-address", postalAddressModel, hasAddress) { private static final long serialVersionUID = -930960688138308527L; @Override protected DropDownChoice<Country> provideCountry(String componentId) { return new IndicatingAjaxDropDown<>(componentId, new PostalAddressCountryModel(accountModel, countriesModel), new CountryRenderer(), countriesModel); } }; form.add(postalAddress); postalAddress.addStreet(new OnChangeAjaxBehavior() { private static final long serialVersionUID = 4050800366443676166L; @Override protected void onUpdate(AjaxRequestTarget target) { } }); PropertyModel<Object> billingContactModel = PropertyModel.of(accountModel, "billingContact"); form.add(new SimplifiedContactFieldSet<>("contact", billingContactModel)); // save button form.add(new IndicatingAjaxButton("save", new I18NResourceModel("button.save"), form)); }
From source file:org.projectforge.plugins.ffp.wicket.FFPEventEditForm.java
License:Open Source License
@Override protected void init() { super.init(); currentUser = ThreadLocalUserContext.getUser(); if (data.getOrganizer() == null) { if (currentUser == null) { error(I18nHelper.getLocalizedMessage("plugins.ffp.validate.noUser")); return; } else {/*from w w w .j av a 2s . co m*/ data.setOrganizer(currentUser); } } if (isNew()) { if (currentUser != null) { this.accountingList.add(getNewFfpAccountingDO(currentUser)); } } IFormValidator formValidator = new IFormValidator() { // Components for form validation. private final FormComponent<?>[] dependentFormComponents = new FormComponent[1]; @Override public FormComponent<?>[] getDependentFormComponents() { return dependentFormComponents; } @Override public void validate(Form<?> form) { Select2MultiChoice<PFUserDO> attendeesSelect2 = (Select2MultiChoice<PFUserDO>) dependentFormComponents[0]; Collection<PFUserDO> attendeeList = attendeesSelect2.getConvertedInput(); if (attendeeList != null && attendeeList.size() < 2) { error(I18nHelper.getLocalizedMessage("plugins.ffp.validate.minAttendees")); } } }; add(formValidator); gridBuilder.newSplitPanel(GridSize.COL50, true).newSubSplitPanel(GridSize.COL100); { // Organizer final FieldsetPanel fs = gridBuilder.newFieldset(FFPEventDO.class, "organizer"); fs.add(new DivTextPanel(fs.newChildId(), data.getOrganizer().getFullname())); } { // Event date final FieldsetPanel fs = gridBuilder.newFieldset(FFPEventDO.class, "eventDate"); DatePanel eventDate = new DatePanel(fs.newChildId(), new PropertyModel<>(data, "eventDate"), DatePanelSettings.get().withTargetType(java.sql.Date.class), true); eventDate.setRequired(true); eventDate.setMarkupId("eventDate").setOutputMarkupId(true); eventDate.setEnabled(getData().getFinished() == false); fs.add(eventDate); } { // Division final FieldsetPanel fs = gridBuilder.newFieldset(FFPEventDO.class, "title"); MaxLengthTextField titel = new MaxLengthTextField(InputPanel.WICKET_ID, new PropertyModel<>(data, "title")); titel.setRequired(true); titel.setMarkupId("eventTitel").setOutputMarkupId(true); titel.setEnabled(getData().getFinished() == false); fs.add(titel); } { // ATTENDEES final FieldsetPanel fieldSet = gridBuilder.newFieldset(getString("plugins.ffp.attendees")); assignAttendeesListHelper = new MultiChoiceListHelper<PFUserDO>() .setComparator(new Comparator<PFUserDO>() { @Override public int compare(PFUserDO o1, PFUserDO o2) { return o1.getPk().compareTo(o2.getPk()); } }).setFullList(userDao.getList(new PFUserFilter().setDeactivatedUser(false))); if (this.data.getAttendeeList() != null && this.data.getAttendeeList().size() > 0) { for (final PFUserDO attendee : this.data.getAttendeeList()) { assignAttendeesListHelper.addOriginalAssignedItem(attendee).assignItem(attendee); } } if (this.accountingList != null && this.accountingList.size() > 0) { for (final FFPAccountingDO accounting : this.accountingList) { assignAttendeesListHelper.assignItem(accounting.getAttendee()); } } final Select2MultiChoice<PFUserDO> attendees = new Select2MultiChoice<PFUserDO>( fieldSet.getSelect2MultiChoiceId(), new PropertyModel<Collection<PFUserDO>>(this.assignAttendeesListHelper, "assignedItems"), new UsersProvider(userDao)); attendees.setRequired(true).setMarkupId("attendees").setOutputMarkupId(true); attendees.add(new AjaxEventBehavior(OnChangeAjaxBehavior.EVENT_NAME) { protected final FormComponent<?> getFormComponent() { return (FormComponent<?>) getComponent(); } @Override protected void onEvent(AjaxRequestTarget target) { final FormComponent<?> formComponent = getFormComponent(); try { formComponent.inputChanged(); formComponent.validate(); if (formComponent.hasErrorMessage()) { formComponent.invalid(); accountingList.clear(); assignAttendeesListHelper.getAssignedItems().clear(); } else { formComponent.valid(); formComponent.updateModel(); } dataTable = createDataTable(createColumns(), "attendee.fullname", SortOrder.ASCENDING, getData()); tablePanel.addOrReplace(dataTable); target.add(dataTable); } catch (RuntimeException e) { throw e; } } }); attendees.setEnabled(getData().getFinished() == false); formValidator.getDependentFormComponents()[0] = attendees; fieldSet.add(attendees); } //Transactions createDataTable(gridBuilder); { Button finishButton = new Button("button", new Model<String>("plugins.ffp.finishEvent")) { @Override public final void onSubmit() { try { getData().setFinished(true); parentPage.createOrUpdate(); } catch (final UserException ex) { error(parentPage.translateParams(ex)); } } }; finishButton.setMarkupId("finishEvent").setOutputMarkupId(true); finishButtonPanel = new SingleButtonPanel(actionButtons.newChildId(), finishButton, getString("plugins.ffp.finishEvent"), SingleButtonPanel.SUCCESS); finishButtonPanel.setVisible(false); actionButtons.add(finishButtonPanel); } }