Example usage for org.apache.wicket.markup.html.form Form setOutputMarkupId

List of usage examples for org.apache.wicket.markup.html.form Form setOutputMarkupId

Introduction

In this page you can find the example usage for org.apache.wicket.markup.html.form Form setOutputMarkupId.

Prototype

public final Component setOutputMarkupId(final boolean output) 

Source Link

Document

Sets whether or not component will output id attribute into the markup.

Usage

From source file:at.ac.tuwien.ifs.tita.ui.evaluation.timeconsumer.DailyViewPage.java

License:Apache License

/**
 * Inits Page.//from w ww . jav a 2  s  .com
 */
private void initPage() {
    Form<Effort> form = new Form<Effort>("timeConsumerEvaluationForm",
            new CompoundPropertyModel<Effort>(new Effort()));
    add(form);
    form.setOutputMarkupId(true);

    final DateTextField dateTextField = new DateTextField("tedate", new PropertyModel<Date>(this, "date"),
            new StyleDateConverter("S-", true));
    dateTextField.add(new DatePicker());
    form.add(dateTextField);

    final WebMarkupContainer timeeffortContainer = new WebMarkupContainer("timeeffortContainer");
    timeeffortContainer.setOutputMarkupId(true);
    timeeffortContainer.setOutputMarkupPlaceholderTag(true);
    add(timeeffortContainer);

    tableModel = new TableModelTimeConsumerEvaluation(getTimeEffortsDailyView(new Date()));
    Table table = new Table("tetable", tableModel);
    timeeffortContainer.add(table);

    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 tableModel.getRowCount() == 0 ? false : true;
        }
    };

    form.add(btnShowAsPDF);

    form.add(new AjaxButton("btnShowEvaluation", form) {
        @Override
        protected void onSubmit(AjaxRequestTarget target, Form<?> form1) {
            tableModel.reload(getTimeEffortsDailyView(dateTextField.getModelObject()));
            target.addComponent(timeeffortContainer);
            target.addComponent(btnShowAsPDF);
        }

        @Override
        protected void onError(AjaxRequestTarget target, Form<?> form1) {
            // TODO Set border red on textfields which are'nt filled
        }
    });

}

From source file:at.ac.tuwien.ifs.tita.ui.evaluation.timeconsumer.MonthlyViewPage.java

License:Apache License

/**
 * Inits Page./* ww  w .  ja va 2s  . co m*/
 */
@SuppressWarnings("unchecked")
private void initPage() {
    Form<Effort> form = new Form<Effort>("timeConsumerEvaluationForm",
            new CompoundPropertyModel<Effort>(new Effort()));
    add(form);
    form.setOutputMarkupId(true);

    ChoiceRenderer choiceRenderer = new ChoiceRenderer("value", "key");

    final DropDownChoice ddYears = new DropDownChoice("yearSelection", new PropertyModel(this, "selectedYear"),
            getYears(), choiceRenderer);
    form.add(ddYears);

    final DropDownChoice ddMonths = new DropDownChoice("monthSelection",
            new PropertyModel(this, "selectedMonth"), getMonths(), choiceRenderer);
    form.add(ddMonths);

    final WebMarkupContainer timeeffortContainer = new WebMarkupContainer("timeeffortContainer");
    timeeffortContainer.setOutputMarkupId(true);
    timeeffortContainer.setOutputMarkupPlaceholderTag(true);
    add(timeeffortContainer);

    initButtons(form, timeeffortContainer);

    Calendar cal = Calendar.getInstance();
    tableModel = new TableModelTimeConsumerEvaluation(
            getTimeEffortsMonthlyView(cal.get(Calendar.YEAR), cal.get(Calendar.MONTH)));
    Table table = new Table("tetable", tableModel);
    timeeffortContainer.add(table);
}

From source file:ca.travelagency.config.CompanyPage.java

License:Apache License

private Form<Company> companyForm(IModel<Company> model) {
    Form<Company> form = new Form<Company>(COMPANY_FORM, model);
    form.setOutputMarkupId(true);

    form.add(new ComponentFeedbackPanel(FEEDBACK, form));

    form.add(new RequiredTextField<String>(DaoEntity.PROPERTY_NAME).setLabel(new ResourceModel("company.name"))
            .add(StringFieldHelper.maxLenFieldValidator()).add(new FieldDecorator(), new AjaxOnBlurBehavior()));
    form.add(new RequiredTextField<String>(Company.Properties.address.name())
            .setLabel(new ResourceModel("company.address")).add(StringFieldHelper.maxLenFieldValidator())
            .add(new FieldDecorator(), new AjaxOnBlurBehavior()));
    form.add(new CityField(Company.Properties.city.name()).setLabel(new ResourceModel("company.city"))
            .add(StringFieldHelper.maxLenFieldValidator()).setRequired(true)
            .add(new FieldDecorator(), new AjaxOnBlurBehavior()));
    form.add(new ProvinceField(Company.Properties.province.name())
            .setLabel(new ResourceModel("company.province")).setRequired(true)
            .add(StringFieldHelper.maxLenFieldValidator()).add(new FieldDecorator(), new AjaxOnBlurBehavior()));
    form.add(new RequiredTextField<String>(Company.Properties.postalCode.name())
            .setLabel(new ResourceModel("company.postalCode")).add(StringFieldHelper.maxLenFieldValidator())
            .add(new FieldDecorator(), new AjaxOnBlurBehavior()));
    form.add(new CountryField(Company.Properties.country.name()).setLabel(new ResourceModel("company.country"))
            .setRequired(true).add(StringFieldHelper.maxLenFieldValidator())
            .add(new FieldDecorator(), new AjaxOnBlurBehavior()));
    form.add(new RequiredTextField<String>(Company.Properties.email.name())
            .setLabel(new ResourceModel("company.email")).add(StringFieldHelper.maxLenFieldValidator())
            .add(EmailAddressValidator.getInstance()).add(new FieldDecorator(), new AjaxOnBlurBehavior()));
    form.add(new RequiredTextField<String>(Company.Properties.phoneNumber.name())
            .setLabel(new ResourceModel("company.phone")).add(StringFieldHelper.maxLenFieldValidator())
            .add(new PhoneNumberValidator(), new FieldDecorator(), new AjaxOnBlurBehavior()));
    form.add(new RequiredTextField<String>(Company.Properties.faxNumber.name())
            .setLabel(new ResourceModel("company.fax")).add(StringFieldHelper.maxLenFieldValidator())
            .add(new PhoneNumberValidator(), new FieldDecorator(), new AjaxOnBlurBehavior()));
    form.add(new RequiredTextField<String>(Company.Properties.taxNumber.name())
            .setLabel(new ResourceModel("company.HSTNumber")).add(StringFieldHelper.maxLenFieldValidator())
            .add(new FieldDecorator(), new AjaxOnBlurBehavior()));
    form.add(new RequiredTextField<String>(Company.Properties.ticoNumber.name())
            .setLabel(new ResourceModel("company.TICONumber")).add(StringFieldHelper.maxLenFieldValidator())
            .add(new FieldDecorator(), new AjaxOnBlurBehavior()));

    form.add(new SavePanel<Company>(SAVE_BUTTON, form));
    form.add(new ResetPanel<Company>(RESET_BUTTON, form));

    return form;//  w  ww. j  av  a  2 s  .c o  m
}

From source file:ca.travelagency.config.LookupEntitiesPage.java

License:Apache License

private Form<LookupEntitiesFilter> makeSearchForm(IModel<LookupEntitiesFilter> model) {
    final Form<LookupEntitiesFilter> form = new Form<LookupEntitiesFilter>(SEARCH_FORM,
            new CompoundPropertyModel<LookupEntitiesFilter>(model));
    form.setOutputMarkupId(true);

    ResourceModel resourceModel = new ResourceModel(getLabelNameKey());

    form.add(new TextField<String>(DaoEntity.PROPERTY_NAME).setLabel(resourceModel)
            .add(StringFieldHelper.maxLenFieldValidator())
            .add(FieldDecorator.inlineDisplayLabel(), new AjaxOnBlurBehavior()));

    form.add(new Button(SEARCH_BUTTON) {
        private static final long serialVersionUID = 1L;

        @Override//from  w  ww.  j  a va  2 s .  c  o  m
        public void onSubmit() {
            setResponsePage(makeLookupEntitiesPage(form.getModelObject()));
        };
    });

    form.add(new Button(CLEAR_BUTTON) {
        private static final long serialVersionUID = 1L;

        @Override
        public void onSubmit() {
            setResponsePage(makeLookupEntitiesPage(new LookupEntitiesFilter(getTrueClass())));
        }
    }.setDefaultFormProcessing(false));

    return form;
}

From source file:ca.travelagency.config.LookupEntitiesPage.java

License:Apache License

private Form<T> makeForm(String id, IModel<T> model) {
    Form<T> form = new Form<T>(id, model);
    form.setOutputMarkupId(true);
    return form;//from w  w w . j ava2  s.c o  m
}

From source file:ca.travelagency.customer.CustomerPage.java

License:Apache License

public CustomerPage(Customer customer) {
    final Form<Customer> form = new Form<Customer>(FORM, DaoEntityModelFactory.make(customer, Customer.class));
    form.setOutputMarkupId(true);
    add(form);/*from w  w  w . ja va 2s. c om*/

    initialize(form);

    form.add(new ComponentFeedbackPanel(FEEDBACK, form));

    form.add(new DropDownChoice<CustomerStatus>(Customer.Properties.status.name(),
            Arrays.asList(CustomerStatus.values())).setRequired(true)
                    .setLabel(new ResourceModel("customer.status")).setEnabled(hasRole(Role.ADMIN))
                    .add(new FieldDecorator(), new AjaxOnBlurBehavior()));
    form.add(new SalutationField(Customer.Properties.salutation.name())
            .setLabel(new ResourceModel("customer.salutation")).add(StringFieldHelper.maxLenFieldValidator())
            .add(new FieldDecorator(), new AjaxOnBlurBehavior()));
    LastNameField lastNameField = new LastNameField(Customer.Properties.lastName.name());
    form.add(lastNameField.setLabel(new ResourceModel("customer.lastName")).setRequired(true)
            .add(StringFieldHelper.maxLenFieldValidator()).add(new FieldDecorator(), new AjaxOnBlurBehavior()));
    FirstNameField firstNameField = new FirstNameField(Customer.Properties.firstName.name());
    form.add(firstNameField.setLabel(new ResourceModel("customer.firstName")).setRequired(true)
            .add(StringFieldHelper.maxLenFieldValidator()).add(new FieldDecorator(), new AjaxOnBlurBehavior()));
    form.add(new CompanyNameField(Customer.Properties.companyName.name())
            .setLabel(new ResourceModel("customer.companyName")).add(StringFieldHelper.maxLenFieldValidator())
            .add(new FieldDecorator(), new AjaxOnBlurBehavior()));
    form.add(new TextField<String>(Customer.Properties.address.name())
            .setLabel(new ResourceModel("customer.address")).add(StringFieldHelper.maxLenFieldValidator())
            .add(new FieldDecorator(), new AjaxOnBlurBehavior()));
    form.add(new CityField(Customer.Properties.city.name()).setLabel(new ResourceModel("customer.city"))
            .add(StringFieldHelper.maxLenFieldValidator()).add(new FieldDecorator(), new AjaxOnBlurBehavior()));
    form.add(new ProvinceField(Customer.Properties.province.name())
            .setLabel(new ResourceModel("customer.province")).add(StringFieldHelper.maxLenFieldValidator())
            .add(new FieldDecorator(), new AjaxOnBlurBehavior()));
    form.add(new TextField<String>(Customer.Properties.postalCode.name())
            .setLabel(new ResourceModel("customer.postalCode")).add(StringFieldHelper.maxLenFieldValidator())
            .add(new FieldDecorator(), new AjaxOnBlurBehavior()));
    form.add(new CountryField(Customer.Properties.country.name())
            .setLabel(new ResourceModel("customer.country")).add(StringFieldHelper.maxLenFieldValidator())
            .add(new FieldDecorator(), new AjaxOnBlurBehavior()));
    form.add(new TextField<String>(Customer.Properties.email.name())
            .setLabel(new ResourceModel("customer.email")).add(StringFieldHelper.maxLenFieldValidator())
            .add(EmailAddressValidator.getInstance()).add(new FieldDecorator(), new AjaxOnBlurBehavior()));
    RequiredTextField<String> primaryPhoneNumber = new RequiredTextField<String>(
            Customer.Properties.primaryPhone.name());
    form.add(primaryPhoneNumber.setLabel(new ResourceModel("customer.primaryPhone"))
            .add(StringFieldHelper.maxLenFieldValidator())
            .add(new PhoneNumberValidator(), new FieldDecorator(), new AjaxOnBlurBehavior()));
    form.add(new TextField<String>(Customer.Properties.secondaryPhone.name())
            .setLabel(new ResourceModel("customer.secondaryPhone"))
            .add(StringFieldHelper.maxLenFieldValidator())
            .add(new PhoneNumberValidator(), new FieldDecorator(), new AjaxOnBlurBehavior()));
    DateField dateOfBirthField = new BirthDateField(Customer.Properties.dateOfBirth.name());
    form.add(dateOfBirthField.setLabel(new ResourceModel("customer.dateOfBirth")).add(new FieldDecorator(),
            new AjaxOnBlurBehavior()));
    form.add(new TextArea<String>(Customer.Properties.notes.name())
            .setLabel(new ResourceModel("customer.notes")).add(StringFieldHelper.maxLenAreaValidator())
            .add(new FieldDecorator(), new AjaxOnBlurBehavior()));
    form.add(new SystemUserField(Customer.Properties.systemUser.name())
            .setLabel(new ResourceModel("customer.agent")).setVisible(hasRole(Role.ADMIN))
            .add(new FieldDecorator(), new AjaxOnBlurBehavior()));
    form.add(new TravelDocumentField(Customer.Properties.travelDocumentType.name())
            .setLabel(new ResourceModel("customer.travelDocumentType"))
            .add(StringFieldHelper.maxLenFieldValidator()).add(new FieldDecorator(), new AjaxOnBlurBehavior()));
    form.add(new TextField<String>(Customer.Properties.travelDocumentNumber.name())
            .setLabel(new ResourceModel("customer.travelDocumentNumber"))
            .add(StringFieldHelper.maxLenFieldValidator()).add(new FieldDecorator(), new AjaxOnBlurBehavior()));

    form.add(new CustomerDuplicateValidator(lastNameField, firstNameField, primaryPhoneNumber,
            dateOfBirthField));

    form.add(new SavePanel<Customer>(SAVE_BUTTON, form) {
        private static final long serialVersionUID = 1L;

        @Override
        public void preSubmit(AjaxRequestTarget target, Customer daoEntity, boolean newDaoEntity) {
            if (newDaoEntity && !hasRole(Role.ADMIN)) {
                daoEntity.setSystemUser(getSignedInSystemUser());
            }
        }

        @Override
        public void postSubmit(AjaxRequestTarget target, Customer daoEntity, boolean newDaoEntity) {
            if (newDaoEntity || hasRole(Role.ADMIN)) {
                setResponsePage(new CustomerPage(daoEntity));
            }
        }
    });

    form.add(new ResetPanel<Customer>(RESET_BUTTON, form));

    form.add(new Link<String>(CREATE_INVOICE_BUTTON) {
        private static final long serialVersionUID = 1L;

        @Override
        public void onClick() {
            setResponsePage(new InvoicePage(form.getModelObject()));
        }
    }.setVisible(form.getModelObject().isActive() && isVisible(form.getModelObject())));

    add(createInvoicePanel(form));
}

From source file:ca.travelagency.identity.ResetPasswordPanel.java

License:Apache License

public ResetPasswordPanel(String id, IModel<SystemUser> model) {
    super(id);/*  www  .j av a  2s  .  c o  m*/

    Form<SystemUser> form = new Form<SystemUser>(FORM, model);
    form.setOutputMarkupId(true);
    add(form);

    form.add(new ComponentFeedbackPanel(FEEDBACK, form));

    final PasswordTextField newPasswordField = new PasswordTextField(NEW_PASSWORD, new Model<String>());
    newPasswordField.setLabel(new ResourceModel("password")).add(StringFieldHelper.maxLenFieldValidator())
            .add(new FieldDecorator());
    form.add(newPasswordField);

    PasswordTextField confirmPasswordField = new PasswordTextField(CONFIRM_PASSWORD, new Model<String>());
    confirmPasswordField.setLabel(new ResourceModel("confirmPassword"))
            .add(StringFieldHelper.maxLenFieldValidator()).add(new FieldDecorator());
    form.add(confirmPasswordField);

    form.add(new EqualPasswordInputValidator(newPasswordField, confirmPasswordField));

    form.add(new SavePanel<SystemUser>(SAVE_BUTTON, form) {
        private static final long serialVersionUID = 1L;

        @Override
        public void preSubmit(AjaxRequestTarget target, SystemUser daoEntity, boolean newDaoEntity) {
            daoEntity.setPassword(newPasswordField.getConvertedInput());
        }

        @Override
        public void setMessage(SystemUser daoEntity) {
            String message = getLocalizer().getString("passwordReset.message", ResetPasswordPanel.this);
            getSession().success(message + " " + daoEntity.getName());
        }
    });
}

From source file:ca.travelagency.identity.roles.RoleFormPanel.java

License:Apache License

public RoleFormPanel(String id, final RolesPanel rolesPanel) {
    super(id);/*from w  ww.  j ava 2 s. co m*/
    IModel<SystemUserRole> model = DaoEntityModelFactory.make(SystemUserRole.class);
    Form<SystemUserRole> roleForm = new Form<SystemUserRole>(FORM, model);
    roleForm.setOutputMarkupId(true);

    roleForm.add(new ComponentFeedbackPanel(FEEDBACK, roleForm));

    roleForm.add(new DropDownChoice<Role>(SystemUserRole.Properties.role.name(), Arrays.asList(Role.values()))
            .setLabel(new ResourceModel("systemUser.role"))
            .add(new FieldDecorator(), new AjaxOnBlurBehavior()));

    roleForm.add(new SavePanelDetail<SystemUserRole>(SAVE_BUTTON, roleForm) {
        private static final long serialVersionUID = 1L;

        @Override
        public void onSubmit(AjaxRequestTarget target, Form<SystemUserRole> form) {
            SystemUserRole systemUserRole = form.getModelObject();
            rolesPanel.update(target, systemUserRole);
            form.setDefaultModel(DaoEntityModelFactory.make(SystemUserRole.class));
        }
    });

    roleForm.add(new ResetPanel<SystemUserRole>(RESET_BUTTON, roleForm));

    add(roleForm);
}

From source file:ca.travelagency.identity.SystemUserPage.java

License:Apache License

private Form<SystemUser> makeSystemUserForm(SystemUser systemUser) {
    final Form<SystemUser> form = new Form<SystemUser>(FORM,
            DaoEntityModelFactory.make(systemUser, SystemUser.class));
    form.setOutputMarkupId(true);

    form.add(new ComponentFeedbackPanel(FEEDBACK, form));

    RequiredTextField<String> name = new RequiredTextField<String>(DaoEntity.PROPERTY_NAME);
    name.setLabel(new ResourceModel("systemUser.name")).add(StringFieldHelper.maxLenFieldValidator())
            .add(new FieldDecorator(), new AjaxOnBlurBehavior(), new DuplicateValidator<SystemUser>(form));
    form.add(name);/*from  w ww. j a  v  a  2  s  .  co m*/
    form.add(new TextField<String>(SystemUser.Properties.lastName.name())
            .setLabel(new ResourceModel("systemUser.lastName")).add(StringFieldHelper.maxLenFieldValidator())
            .add(new FieldDecorator(), new AjaxOnBlurBehavior()));
    form.add(new TextField<String>(SystemUser.Properties.firstName.name())
            .setLabel(new ResourceModel("systemUser.firstName")).add(StringFieldHelper.maxLenFieldValidator())
            .add(new FieldDecorator(), new AjaxOnBlurBehavior()));
    form.add(new TextField<String>(SystemUser.Properties.email.name())
            .setLabel(new ResourceModel("systemUser.email")).add(StringFieldHelper.maxLenFieldValidator())
            .add(EmailAddressValidator.getInstance()).add(new FieldDecorator(), new AjaxOnBlurBehavior()));
    form.add(new TextField<String>(SystemUser.Properties.primaryPhone.name())
            .setLabel(new ResourceModel("systemUser.primaryPhone"))
            .add(StringFieldHelper.maxLenFieldValidator())
            .add(new PhoneNumberValidator(), new FieldDecorator(), new AjaxOnBlurBehavior()));
    form.add(new TextField<String>(SystemUser.Properties.secondaryPhone.name())
            .setLabel(new ResourceModel("systemUser.secondaryPhone"))
            .add(StringFieldHelper.maxLenFieldValidator())
            .add(new PhoneNumberValidator(), new FieldDecorator(), new AjaxOnBlurBehavior()));
    form.add(new CheckBox(SystemUser.Properties.active.name()).setLabel(new ResourceModel("systemUser.active"))
            .setVisible(hasRole(Role.ADMIN)).add(new FieldDecorator(), new AjaxOnBlurBehavior()));
    form.add(new NumberTextField<Double>(SystemUser.Properties.commissionRate.name()).setMinimum(0.00)
            .setMaximum(999.99).setLabel(new ResourceModel("systemUser.commissionRate"))
            .setVisible(hasRole(Role.ADMIN)).add(new FieldDecorator(), new AjaxOnBlurBehavior()));

    addPasswordFields(form);

    form.add(new SavePanel<SystemUser>(SAVE_BUTTON, form) {
        private static final long serialVersionUID = 1L;

        @Override
        public void preSubmit(AjaxRequestTarget target, SystemUser daoEntity, boolean newDaoEntity) {
            if (!newDaoEntity) {
                return;
            }
            daoEntity.addSystemUserRole(SystemUserRole.make(Role.AGENT));
        }

        @Override
        public void postSubmit(AjaxRequestTarget target, SystemUser daoEntity, boolean newDaoEntity) {
            if (!newDaoEntity) {
                return;
            }
            setResponsePage(new SystemUserPage(daoEntity));
        }
    });

    form.add(new ResetPanel<SystemUser>(RESET_BUTTON, form));

    return form;
}

From source file:ca.travelagency.invoice.destinations.DestinationFormPanel.java

License:Apache License

public DestinationFormPanel(final String id, InvoiceDestination invoiceDestination,
        final DestinationsPanel destinationsPanel) {
    super(id);//from  w w  w. j a  v a2 s  . c  om
    Validate.notNull(destinationsPanel);

    setOutputMarkupId(true);

    IModel<InvoiceDestination> model = DaoEntityModelFactory.make(invoiceDestination, InvoiceDestination.class);
    initialize(destinationsPanel, model.getObject());

    final Form<InvoiceDestination> destinationForm = new Form<InvoiceDestination>(FORM, model);
    destinationForm.setOutputMarkupId(true);

    destinationForm.add(new ComponentFeedbackPanel(FEEDBACK, destinationForm));

    destinationForm.add(new CityField(InvoiceDestination.Properties.departurePlace.name()).setRequired(true)
            .setLabel(new ResourceModel("invoice.departurePlace")).add(StringFieldHelper.maxLenFieldValidator())
            .add(new FieldDecorator(), new AjaxOnBlurBehavior()));
    destinationForm.add(new DateField(InvoiceDestination.Properties.departureDate.name()).setRequired(true)
            .setLabel(new ResourceModel("invoice.departureDate"))
            .add(new FieldDecorator(), new AjaxOnBlurBehavior()));
    destinationForm.add(new CityField(InvoiceDestination.Properties.arrivalPlace.name()).setRequired(true)
            .setLabel(new ResourceModel("invoice.arrivalPlace")).add(StringFieldHelper.maxLenFieldValidator())
            .add(new FieldDecorator(), new AjaxOnBlurBehavior()));
    destinationForm.add(new DateField(InvoiceDestination.Properties.arrivalDate.name())
            .setLabel(new ResourceModel("invoice.arrivalDate"))
            .add(new FieldDecorator(), new AjaxOnBlurBehavior()));

    destinationForm.add(new SavePanelDetail<InvoiceDestination>(SAVE_BUTTON, destinationForm) {
        private static final long serialVersionUID = 1L;

        @Override
        public void onSubmit(AjaxRequestTarget target, Form<InvoiceDestination> form) {
            destinationsPanel.update(target, form.getModelObject());
            IModel<InvoiceDestination> model = DaoEntityModelFactory.make(InvoiceDestination.class);
            form.setModel(model);
            initialize(destinationsPanel, model.getObject());
        }
    });

    destinationForm.add(new ResetPanel<InvoiceDestination>(RESET_BUTTON, destinationForm) {
        private static final long serialVersionUID = 1L;

        @Override
        public void onSubmit(AjaxRequestTarget target, Form<InvoiceDestination> form) {
            initialize(destinationsPanel, form.getModelObject());
        }
    }.setResetModel(!DaoEntityModelFactory.isPersisted(model.getObject())));

    destinationForm.add(new CancelPanel(CANCEL_BUTTON) {
        private static final long serialVersionUID = 1L;

        @Override
        public void onClick(AjaxRequestTarget target) {
            DestinationRowPanel destinationRowPanel = new DestinationRowPanel(id, destinationForm.getModel(),
                    destinationsPanel);
            DestinationFormPanel.this.replaceWith(destinationRowPanel);
            target.add(destinationRowPanel);
        }
    }.setVisible(invoiceDestination != null));

    add(destinationForm);
}