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

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

Introduction

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

Prototype

public MarkupContainer addOrReplace(final Component... children) 

Source Link

Document

Replaces a child component of this container with another or just adds it in case no child with the same id existed yet.

Usage

From source file:at.ac.tuwien.ifs.tita.ui.administration.project.ProjectAdministrationPanel.java

License:Apache License

/**
 * Method for displaying a List of Projects. Also hides the details page if null value is given, just switch without
 * refreshing data./* w  ww  .ja v  a2s . com*/
 *
 * @param projectList the list of Projects.
 */
private void displayTable(final List<TiTAProject> projectList) {
    // hide details
    detailContainer.setVisible(false);
    listContainer.setVisible(true);
    issueTrackerContainer.setVisible(false);

    if (projectList == null) {
        tm = new TableModelProject(new ArrayList<TiTAProject>());
    } else {
        tm = new TableModelProject(projectList);
    }
    table = new Table("projectTable", tm);
    table.setWidths(EffortUtils.WIDTHS);

    ButtonEditRenderer editRenderer = new ButtonEditRenderer(this);
    table.setDefaultRenderer(ButtonEdit.class, editRenderer);
    table.setDefaultEditor(ButtonEdit.class, editRenderer);

    ButtonDeleteRenderer deleteRenderer = new ButtonDeleteRenderer(this);
    table.setDefaultRenderer(ButtonDelete.class, deleteRenderer);
    table.setDefaultEditor(ButtonDelete.class, deleteRenderer);

    Form<TiTAProject> listForm = new Form<TiTAProject>("listForm");
    listForm.addOrReplace(table);
    listForm.addOrReplace(new Button("newProjectButton") {
        @Override
        public void onSubmit() {
            displayDetailsPage(null);
        }
    });

    listContainer.addOrReplace(listForm);
    addOrReplace(listContainer);
}

From source file:at.ac.tuwien.ifs.tita.ui.administration.user.UserAdministrationPanel.java

License:Apache License

/**
 * Method for displaying a List of Users. Also hides the details page if null value is given, just switch without
 * refreshing data.//from   w  ww  .j av a 2s  . c o m
 * 
 * @param userList the list of users.
 */
public void displayTable(final List<TiTAUser> userList) {
    // hide details
    detailContainer.setVisible(false);
    if (userProjectPanel != null) {
        userProjectPanel.setVisible(false);
    }
    if (userIssueTrackerPanel != null) {
        userIssueTrackerPanel.setVisible(false);
    }
    listContainer.setVisible(true);

    if (userList == null) {
        tm = new TableModelUser(new ArrayList<TiTAUser>());
    } else {
        tm = new TableModelUser(userList);
    }
    table = new Table("userTable", tm);
    table.setWidths(EffortUtils.WIDTHS);

    ButtonEditRenderer editRenderer = new ButtonEditRenderer(this);
    table.setDefaultRenderer(ButtonEdit.class, editRenderer);
    table.setDefaultEditor(ButtonEdit.class, editRenderer);

    ButtonDeleteRenderer deleteRenderer = new ButtonDeleteRenderer(this);
    table.setDefaultRenderer(ButtonDelete.class, deleteRenderer);
    table.setDefaultEditor(ButtonDelete.class, deleteRenderer);

    Form<TiTAUser> listForm = new Form<TiTAUser>("listForm");
    listForm.addOrReplace(table);
    listForm.addOrReplace(new Button("newUserButton") {
        @Override
        public void onSubmit() {
            displayDetailsPage(null);
        }
    });
    listContainer.addOrReplace(listForm);
    addOrReplace(listContainer);
}

From source file:at.ac.tuwien.ifs.tita.ui.administration.user.UserIssueTrackerLoginPanel.java

License:Apache License

/**
 * displays the table of IssueTrackerLogins.
 * /* ww  w . ja  v a2 s . c om*/
 * @param issueTrackerList the list of IssueTracker.
 */
@SuppressWarnings("unchecked")
public void displayTable(final List<IssueTrackerLogin> issueTrackerList) {

    Form listForm = new Form("listFormIssueTrackerLogin");

    tm = new TableModelIssueTrackerLogin(issueTrackerList);
    table = new Table("userIssueTrackerLoginTable", tm);

    table.setWidths(EffortUtils.WIDTHS);

    ButtonEditRenderer editRenderer = new ButtonEditRenderer(this);
    table.setDefaultRenderer(ButtonEdit.class, editRenderer);
    table.setDefaultEditor(ButtonEdit.class, editRenderer);

    ButtonDeleteRenderer deleteRenderer = new ButtonDeleteRenderer(this);
    table.setDefaultRenderer(ButtonDelete.class, deleteRenderer);
    table.setDefaultEditor(ButtonDelete.class, deleteRenderer);

    // add components to the container
    listForm.addOrReplace(table);
    container.addOrReplace(listForm);
}

From source file:at.ac.tuwien.ifs.tita.ui.administration.user.UserProjectPanel.java

License:Apache License

/**
 * inits the tables for showing and adds a clickhandler.
 *///w  ww.  j av  a2 s  .co  m
private void addButtons() {
    Form<String> form = new Form<String>("dummyForm");

    form.addOrReplace(new TextField<Double>("tfTargetHours", new PropertyModel<Double>(this, "targetHours")));
    form.addOrReplace(new Label("lbTargetHours", "Target Hours: "));

    form.addOrReplace(new AjaxButton("buttonDelete") {
        @Override
        protected void onSubmit(AjaxRequestTarget target, Form<?> form1) {
            int selection = -1;
            try {
                selection = actualProjectsTable.getSelectedRows()[0];
            } catch (IndexOutOfBoundsException e) {
                log.debug("nothing selected");
            }
            log.debug("deleting Project from user " + user.getUserName() + ", Selected Row was: " + selection);
            if (selection > -1) {
                actualProjectsTM.removeUserProjectAtIndex(selection);
                actualProjectsTM.reload();

                target.addComponent(container);
            }
        }
    });

    form.addOrReplace(new AjaxButton("buttonAdd") {
        @Override
        protected void onSubmit(AjaxRequestTarget target, Form<?> form1) {
            int selection = -1;
            try {
                selection = table.getSelectedRows()[0];
            } catch (IndexOutOfBoundsException e) {
                log.debug("nothing selected");
            }
            log.debug("adding Project to Table ");
            log.debug("Selected Row was: " + selection);
            if (selection > -1) {
                TiTAProject project = tm.getProjectAt(selection);
                if (!actualProjectsTM.containsProject(project)) {
                    TiTAUserProject up = new TiTAUserProject();
                    up.setProject(project);
                    // commented just out for finding
                    // if this bugfix causes unexpected behavior
                    // bug: hibernate saves User 2times because of cascading in userprojects
                    // up.setUser(user);
                    up.setTargetHours(targetHours);
                    actualProjectsTM.addEntity(up);
                    actualProjectsTM.reload();

                    target.addComponent(container);
                }
            }
        }
    });

    form.addOrReplace(new Button("buttonOk") {
        @Override
        public void onSubmit() {
            TiTAUser u = getUser();
            u.setTitaUserProjects(new HashSet<TiTAUserProject>(actualProjectsTM.getUserProjects()));
            parent.displayDetailsPage(u);
        }
    });

    container.addOrReplace(form);
}

From source file:au.org.theark.report.web.component.customreport.CustomReportContainerPanel.java

License:Open Source License

public void initialisePanel() {
    add(initFeedBackPanel());//ww w. ja v a 2 s .  co  m
    form.add(initDbNameSelect());
    form.add(query);
    AjaxButton runQuery = new AjaxButton("runQuery") {

        private static final long serialVersionUID = 1L;

        @Override
        protected void onError(AjaxRequestTarget target, Form<?> form) {
            // TODO Auto-generated method stub

        }

        @Override
        protected void onSubmit(AjaxRequestTarget target, Form<?> form) {
            if (dbNameDdc.getRawInput() != null && query.getRawInput() != null) {
                datasourceTablePanel = new DataSourceTablePanel("datasourceTablePanel", "lims",
                        query.getRawInput());
                datasourceTablePanel.setVisible(true);
                form.addOrReplace(datasourceTablePanel);
                this.info("Query submitted");
                target.add(feedbackPanel);
                target.add(datasourceTablePanel);
            } else {
                this.error("Database name and a legitimate query are required");
                target.add(feedbackPanel);
            }
        }
    };
    runQuery.setDefaultFormProcessing(false);

    form.add(runQuery);

    form.add(datasourceTablePanel);
    datasourceTablePanel.setVisible(false);
    add(form);
}

From source file:com.evolveum.midpoint.web.page.admin.configuration.PageDebugList.java

License:Apache License

private void addOrReplaceTable(RepositoryObjectDataProvider provider) {
    provider.setQuery(createQuery());/*w  w w.j  a v a 2  s. co m*/
    Form mainForm = (Form) get(ID_MAIN_FORM);

    TablePanel table = new TablePanel(ID_TABLE, provider, initColumns(provider.getType()));
    table.setOutputMarkupId(true);
    mainForm.addOrReplace(table);
}

From source file:com.evolveum.midpoint.web.page.admin.resources.ResourceContentTabPanel.java

License:Apache License

private void initLayout(final IModel<PrismObject<ResourceType>> model, final PageBase parentPage) {
    setOutputMarkupId(true);/*from   w  w w. j  a  v  a 2  s . c o m*/

    final Form mainForm = new Form(ID_MAIN_FORM);
    mainForm.setOutputMarkupId(true);
    mainForm.addOrReplace(initTable(model));
    add(mainForm);

    AutoCompleteTextPanel<String> intent = new AutoCompleteTextPanel<String>(ID_INTENT,
            new PropertyModel<String>(resourceContentSearch, "intent"), String.class) {
        private static final long serialVersionUID = 1L;

        @Override
        public Iterator<String> getIterator(String input) {
            RefinedResourceSchema refinedSchema = null;
            try {
                refinedSchema = RefinedResourceSchema.getRefinedSchema(model.getObject(),
                        parentPage.getPrismContext());

            } catch (SchemaException e) {
                return new ArrayList<String>().iterator();
            }
            return RefinedResourceSchema.getIntentsForKind(refinedSchema, getKind()).iterator();

        }

    };
    intent.getBaseFormComponent().add(new OnChangeAjaxBehavior() {
        private static final long serialVersionUID = 1L;

        @Override
        protected void onUpdate(AjaxRequestTarget target) {
            target.add(get(ID_REAL_OBJECT_CLASS));
            updateResourceContentSearch();
            mainForm.addOrReplace(initTable(model));
            target.add(mainForm);

        }
    });
    intent.setOutputMarkupId(true);
    intent.add(new VisibleEnableBehaviour() {
        private static final long serialVersionUID = 1L;

        @Override
        public boolean isVisible() {
            return !isUseObjectClass();
        }
    });
    add(intent);

    Label realObjectClassLabel = new Label(ID_REAL_OBJECT_CLASS, new AbstractReadOnlyModel<String>() {
        private static final long serialVersionUID = 1L;

        @Override
        public String getObject() {
            RefinedObjectClassDefinition ocDef;
            try {
                RefinedResourceSchema refinedSchema = RefinedResourceSchema.getRefinedSchema(model.getObject(),
                        parentPage.getPrismContext());
                if (refinedSchema == null) {
                    return "NO SCHEMA DEFINED";
                }
                ocDef = refinedSchema.getRefinedDefinition(getKind(), getIntent());
                if (ocDef != null) {
                    return ocDef.getObjectClassDefinition().getTypeName().getLocalPart();
                }
            } catch (SchemaException e) {
            }

            return "NOT FOUND";
        }
    });
    realObjectClassLabel.setOutputMarkupId(true);
    add(realObjectClassLabel);

    AutoCompleteQNamePanel objectClassPanel = new AutoCompleteQNamePanel(ID_OBJECT_CLASS,
            new PropertyModel<QName>(resourceContentSearch, "objectClass")) {
        private static final long serialVersionUID = 1L;

        @Override
        public Collection<QName> loadChoices() {
            return createObjectClassChoices(model);
        }

        @Override
        protected void onChange(AjaxRequestTarget target) {
            LOGGER.trace("Object class panel update: {}", isUseObjectClass());
            updateResourceContentSearch();
            mainForm.addOrReplace(initTable(model));
            target.add(mainForm);
        }

    };

    objectClassPanel.add(new VisibleEnableBehaviour() {
        private static final long serialVersionUID = 1L;

        @Override
        public boolean isVisible() {
            return isUseObjectClass();
        }
    });
    add(objectClassPanel);

    AjaxLink<Boolean> repoSearch = new AjaxLink<Boolean>(ID_REPO_SEARCH,
            new PropertyModel<Boolean>(resourceContentSearch, "resourceSearch")) {
        private static final long serialVersionUID = 1L;

        @Override
        public void onClick(AjaxRequestTarget target) {
            isRepoSearch = true;
            getContentStorage(kind, SessionStorage.KEY_RESOURCE_PAGE_REPOSITORY_CONTENT)
                    .setResourceSearch(Boolean.FALSE);
            getContentStorage(kind, SessionStorage.KEY_RESOURCE_PAGE_RESOURCE_CONTENT)
                    .setResourceSearch(Boolean.FALSE);

            resourceContentSearch.getObject().setResourceSearch(Boolean.FALSE);
            updateResourceContentSearch();
            mainForm.addOrReplace(initRepoContent(model));
            target.add(getParent().addOrReplace(mainForm));
            target.add(this);
            target.add(getParent().get(ID_RESOURCE_SEARCH)
                    .add(AttributeModifier.replace("class", "btn btn-sm btn-default")));
        }

        @Override
        protected void onBeforeRender() {
            super.onBeforeRender();
            if (!getModelObject().booleanValue())
                add(AttributeModifier.replace("class", "btn btn-sm btn-default active"));
        }
    };
    add(repoSearch);

    AjaxLink<Boolean> resourceSearch = new AjaxLink<Boolean>(ID_RESOURCE_SEARCH,
            new PropertyModel<Boolean>(resourceContentSearch, "resourceSearch")) {
        private static final long serialVersionUID = 1L;

        @Override
        public void onClick(AjaxRequestTarget target) {
            isRepoSearch = false;
            getContentStorage(kind, SessionStorage.KEY_RESOURCE_PAGE_REPOSITORY_CONTENT)
                    .setResourceSearch(Boolean.TRUE);
            getContentStorage(kind, SessionStorage.KEY_RESOURCE_PAGE_RESOURCE_CONTENT)
                    .setResourceSearch(Boolean.TRUE);
            updateResourceContentSearch();
            resourceContentSearch.getObject().setResourceSearch(Boolean.TRUE);
            mainForm.addOrReplace(initResourceContent(model));
            target.add(getParent().addOrReplace(mainForm));
            target.add(this.add(AttributeModifier.append("class", " active")));
            target.add(getParent().get(ID_REPO_SEARCH)
                    .add(AttributeModifier.replace("class", "btn btn-sm btn-default")));
        }

        @Override
        protected void onBeforeRender() {
            super.onBeforeRender();
            getModelObject().booleanValue();
            if (getModelObject().booleanValue())
                add(AttributeModifier.replace("class", "btn btn-sm btn-default active"));
        }
    };
    add(resourceSearch);

}

From source file:com.evolveum.midpoint.web.page.admin.users.component.OrgMemberPanel.java

License:Apache License

@Override
protected void initCustomLayout(Form form) {
    WebMarkupContainer managerContainer = createManagerContainer();
    form.addOrReplace(managerContainer);
}

From source file:eu.uqasar.web.pages.qmodel.QModelImportPage.java

License:Apache License

public QModelImportPage(PageParameters parameters) {
    super(parameters);
    logger.info("QModelImportPage::QModelImportPage start");
    final Form<?> form = new Form<Void>("form") {

        /**/*from   w  ww.j  a va 2  s . c  o  m*/
         *
         */
        private static final long serialVersionUID = 4949407424211758709L;

        @Override
        protected void onSubmit() {
            logger.info("QModelImportPage::onSubmit starts");
            errorMessage = "";

            try {

                FileUpload upload = file.getFileUpload();
                if (upload == null) {
                    errorMessage = "qmodel.empty.file.error";
                    logger.info("QModelImportPage::onSubmit no file uploaded");
                } else {
                    logger.info("QModelImportPage::onSubmit some file uploaded");

                    if (upload.getSize() > Bytes.kilobytes(MAX_SIZE).bytes()) {
                        errorMessage = "qmodel.max.file.error";
                        logger.info("QModelImportPage::onSubmit MAX_SIZE size" + upload.getSize());
                    } else {
                        logger.info("QModelImportPage::onSubmit file name " + upload.getClientFileName()
                                + " File-Size: " + Bytes.bytes(upload.getSize()).toString() + "content-type "
                                + upload.getContentType());

                        user = UQasar.getSession().getLoggedInUser();
                        if (user.getCompany() != null) {
                            company = companyService.getById(user.getCompany().getId());
                        }

                        if (upload.getContentType() != null && upload.getContentType().equals(XML_CONTENT)) {
                            //parsing
                            qm = parse(upload, true);
                        } else if (upload.getContentType() != null
                                && (upload.getContentType().equals(JSON_CONTENT)
                                        || upload.getContentType().equals(OCT_CONTENT))) {
                            //json candidate
                            qm = parse(upload, false);
                        } else {
                            //file not valid
                            errorMessage = "qmodel.type.file.error";
                        }
                    }
                }

                if (qm != null) {
                    qm.setUpdateDate(DateTime.now().toDate());
                    if (qm.getCompanyId() != 0) {
                        qm.setCompany(companyService.getById(qm.getCompanyId()));
                    } else {
                        if (company != null) {
                            qm.setCompany(company);
                            qm.setCompanyId(company.getId());
                        }
                    }
                    qm = (QModel) qmodelService.create(qm);
                }
            } catch (uQasarException ex) {
                if (ex.getMessage().contains("nodeKey")) {
                    errorMessage = "qmodel.key.unique";
                }
            } catch (JsonProcessingException ex) {
                logger.info("JsonProcessingException----------------------------------------");
                if (ex.getMessage().contains("expecting comma to separate ARRAY entries")) {
                    errorMessage = "qmodel.json.parse.error";
                } else if (ex.getMessage().contains("Unexpected character")) {
                    errorMessage = "qmodel.json.char.error";
                } else if (ex.getMessage().contains("Can not construct instance")) {
                    errorMessage = "qmodel.json.enum.error";
                } else {
                    logger.info("JsonProcessingException----------------------------");
                    errorMessage = "qmodel.xml.parse.error";
                }
            } catch (JAXBException ex) {
                logger.info("JAXBException----------------------------");
                errorMessage = "qmodel.xml.parse.error";
            } catch (Exception ex) {
                logger.info("IOException----------------------------");
                errorMessage = "qmodel.import.importError";
            } finally {
                PageParameters parameters = new PageParameters();
                if (null != errorMessage && !errorMessage.equals("")) {
                    logger.info("Attaching error message");
                    parameters.add(QModelImportPage.LEVEL_PARAM, FeedbackMessage.ERROR);
                    parameters.add(QModelImportPage.MESSAGE_PARAM,
                            getLocalizer().getString(errorMessage, this));
                    setResponsePage(QModelImportPage.class, parameters);
                } else {

                    logger.info("qmodel successfully created: redirection");
                    //qmodel successfully created: redirection
                    parameters.add(BasePage.LEVEL_PARAM, FeedbackMessage.SUCCESS);
                    parameters.add(BasePage.MESSAGE_PARAM,
                            getLocalizer().getString("treenode.imported.message", this));
                    parameters.add("qmodel-key", qm.getNodeKey());
                    parameters.add("name", qm.getName());
                    setResponsePage(QModelViewPage.class, parameters);
                }
            }
        }
    };

    // create the file upload field
    file = new FileUploadField("file");
    form.addOrReplace(file);

    form.add(new Label("max", new AbstractReadOnlyModel<String>() {
        /**
         *
         */
        private static final long serialVersionUID = 3532428309651830468L;

        @Override
        public String getObject() {
            return (Bytes.kilobytes(MAX_SIZE)).toString();
        }
    }));

    // add progress bar
    form.add(new UploadProgressBar("progress", form, file));

    ServletContext context = ((WebApplication) getApplication()).getServletContext();
    // Download xml example
    File filexml = new File(context.getRealPath("/assets/files/qmodel.xml"));
    DownloadLink xmlLink = new DownloadLink("xmlLink", filexml);
    form.add(xmlLink);

    // Download json example
    File filejson = new File(context.getRealPath("/assets/files/qmodel.json"));
    DownloadLink jsonLink = new DownloadLink("jsonLink", filejson);
    form.add(jsonLink);

    add(form);

    logger.info("QModelImportPage::QModelImportPage ends");
}

From source file:gr.abiss.calipso.wicket.components.formfields.MultipleValuesTextField.java

License:Open Source License

/**
 * Read the hidden field value, i.e. the input thus far, then render it 
 * appropriately in a table/*from  www. ja  v  a2  s .  c  o  m*/
 * @param form
 */
@SuppressWarnings({ "unchecked", "serial" })
private void paintSubValuesTable(final Form form) {
    // show existing values table
    String currentValue = valuesField.getModelObject();
    final List<String> originalValueRows = MultipleValuesTextField.getValueRows(currentValue);

    // record the line count, used for validation
    linesCount = originalValueRows.size();
    if (!originalLinesCountSet) {
        originalLinesCount = linesCount;
        originalLinesCountSet = true;
    }

    // mark as empty
    if (linesCount == 0) {
        clearInput();
    }
    final SimpleAttributeModifier cssTextAlignRight = new SimpleAttributeModifier("class", "left");
    final FieldSummaryHelper helper = new FieldSummaryHelper(fieldConfig);
    form.addOrReplace(new ListView("row", originalValueRows) {

        @Override
        protected void populateItem(ListItem rowItem) {
            int rowIndex = rowItem.getIndex();
            if (rowToEditIndex == rowIndex) {
                editableFragment = new EditableFragment("rowContent",
                        getSubFieldConfigs(MultipleValuesTextField.this.fieldConfig), form, helper);
                rowItem.add(editableFragment.setRenderBodyOnly(true));
            } else {
                rowItem.add(new ReadOnlyFragment("rowContent", "readOnlyFragment", form, originalValueRows,
                        cssTextAlignRight, helper, rowItem).setRenderBodyOnly(true));
            }
        }

    });

    if (rowToEditIndex == -1) {
        // logger.info("adding editable fragment as heading");
        editableFragment = new EditableFragment("editableRow",
                getSubFieldConfigs(MultipleValuesTextField.this.fieldConfig), form, helper);
        form.addOrReplace(editableFragment);
    } else {

        form.addOrReplace(new EmptyPanel("editableRow").setRenderBodyOnly(true));
    }

    form.addOrReplace(new ListView<FieldConfig>("summary",
            fieldConfig != null ? fieldConfig.getSubFieldConfigs() : new ArrayList<FieldConfig>(0)) {
        @Override
        protected void populateItem(ListItem<FieldConfig> cellItem) {
            int fieldConfigIndex = cellItem.getIndex();
            FieldConfig subConfig = fieldConfig.getSubFieldConfigs().get(fieldConfigIndex);
            String summary = helper.getCalculatedSummary(subConfig);
            if (StringUtils.isNotBlank(helper.getSummary(subConfig))) {
                summary = getLocalizer().getString(helper.getSummary(subConfig), MultipleValuesTextField.this)
                        + ": " + summary;
            }
            cellItem.add(new Label("cellValue", summary));
            if (subConfig.isNumberType()) {
                cellItem.add(cssTextAlignRight);
            }
        }

    });
}