Example usage for org.apache.wicket.markup.html.form DropDownChoice DropDownChoice

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

Introduction

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

Prototype

public DropDownChoice(String id, IModel<T> model, IModel<? extends List<? extends T>> choices,
        IChoiceRenderer<? super T> renderer) 

Source Link

Document

Constructor.

Usage

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

License:Apache License

/**
 * Inits Page./*from  www  .  j a va2 s.c o  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:at.ac.tuwien.ifs.tita.ui.evaluation.timecontroller.MultipleProjectsView.java

License:Apache License

@SuppressWarnings("unchecked")
public MultipleProjectsView() {
    // add form to page
    form = new Form<Object>("multipleProjectsForm");
    form.setOutputMarkupId(true);//from www  . j  a va2 s.c o m
    add(form);

    // load projects from db
    projectList = new ListMultipleChoice("projectSelection", new PropertyModel(this, "selectedProjects"),
            new LoadableDetachableModel() {
                @Override
                protected Object load() {
                    return new ArrayList<String>();
                }
            });
    projectList.setOutputMarkupId(true);

    // load users from db
    tcList = new ListMultipleChoice("timeConsumerSelection", new PropertyModel(this, "selectedUsers"),
            new LoadableDetachableModel() {
                @Override
                protected Object load() {
                    return new ArrayList<String>();
                }
            });
    tcList.setOutputMarkupId(true);

    loadTiTAProjects();
    form.add(tcList);
    form.add(projectList);

    // set select options
    selectedTimespan = new SelectOption("overall", "Overall");
    ChoiceRenderer<SelectOption> choiceRenderer = new ChoiceRenderer<SelectOption>("value", "key");
    SelectOption[] options = new SelectOption[] { new SelectOption("day", "Daily"),
            new SelectOption("month", "Monthly"), new SelectOption("overall", "Overall") };

    ddTimeSpan = new DropDownChoice<SelectOption>("timeSpanSelection",
            new PropertyModel<SelectOption>(this, "selectedTimespan"), Arrays.asList(options), choiceRenderer);

    ddTimeSpan.setOutputMarkupId(true);
    form.add(ddTimeSpan);

    // add pdf button
    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 mpem.getRowCount() == 0 ? false : true;
        }
    };

    form.add(btnShowAsPDF);

    // add ajax buttons
    form.add(new AjaxButton("btnShowEfforts", form) {
        @Override
        protected void onSubmit(AjaxRequestTarget target, Form<?> form1) {
            loadMultipleProjectEvaluation();
            target.addComponent(table);
            target.addComponent(btnShowAsPDF);
        }

        @Override
        protected void onError(AjaxRequestTarget target, Form<?> form1) {
        }
    });

    form.add(new AjaxButton("btnResetLists", form) {
        @Override
        protected void onSubmit(AjaxRequestTarget target, Form<?> form1) {
            projectList.getModel().setObject(new ArrayList<String>());
            tcList.getModel().setObject(new ArrayList<String>());
            ddTimeSpan.getModel().setObject(new SelectOption("overall", "Overall"));
            mpem.setColumnNames(new String[] {});
            mpem.reload(new ArrayList<UserProjectEffort>());
            target.addComponent(table);
            target.addComponent(projectList);
            target.addComponent(tcList);
            target.addComponent(ddTimeSpan);
            target.addComponent(btnShowAsPDF);
        }

        @Override
        protected void onError(AjaxRequestTarget target, Form<?> form1) {
        }
    });

    form.add(new AjaxButton("btnLoadUsers", form) {
        @Override
        protected void onSubmit(AjaxRequestTarget target, Form<?> form1) {
            loadTiTAUsers();
            target.addComponent(tcList);
        }

        @Override
        protected void onError(AjaxRequestTarget target, Form<?> form1) {
        }
    });

    form.add(new AjaxButton("btnRefreshProjects", form) {
        @Override
        protected void onSubmit(AjaxRequestTarget target, Form<?> form1) {
            loadTiTAProjects();
            target.addComponent(projectList);
        }

        @Override
        protected void onError(AjaxRequestTarget target, Form<?> form1) {
        }
    });

    mpem = new TableModelMultipleProjectsEvaluation(new ArrayList<UserProjectEffort>(), new String[] {});

    table = new Table("evaluationTable", mpem);
    table.setRowsPerPage(EffortUtils.ROWS_PER_PAGE);
    table.setSelectionMode(ListSelectionModel.SINGLE_INTERVAL_SELECTION);
    table.setWidths(new String[] { "100", "100", "100", "100", "100", "100" });

    form.add(table.getRowsAjaxPagingNavigator("rowsPaging"));
    form.add(table);
}

From source file:at.ac.tuwien.ifs.tita.ui.importing.effort.csv.EffortImportCSVPage.java

License:Apache License

/**
 * Displays the drop down choices./*www  .  ja  v  a  2 s  .co m*/
 */
public void displayDropDownChoices() {

    // set select options
    selectedEffortOptions = new SelectOption("nochoice", "  ");
    ChoiceRenderer<SelectOption> choiceRenderer = new ChoiceRenderer<SelectOption>("value", "key");

    ddDate = new DropDownChoice<SelectOption>("dropdownDate",
            new PropertyModel<SelectOption>(this, "selectedEffortOptions"), selectOptions, choiceRenderer);

    ddStarttime = new DropDownChoice<SelectOption>("dropdownStarttime",
            new PropertyModel<SelectOption>(this, "selectedEffortOptions"), selectOptions, choiceRenderer);

    ddEndtime = new DropDownChoice<SelectOption>("dropdownEndtime",
            new PropertyModel<SelectOption>(this, "selectedEffortOptions"), selectOptions, choiceRenderer);

    ddDuration = new DropDownChoice<SelectOption>("dropdownDuration",
            new PropertyModel<SelectOption>(this, "selectedEffortOptions"), selectOptions, choiceRenderer);

    ddDescription = new DropDownChoice<SelectOption>("dropdownDescription",
            new PropertyModel<SelectOption>(this, "selectedEffortOptions"), selectOptions, choiceRenderer);

    listOfDropDowns.add(ddDate);
    form.add(new Label("labelDate", "Date:"));
    form.add(ddDate);

    listOfDropDowns.add(ddStarttime);
    form.add(new Label("labelStarttime", "Starttime:"));
    form.add(ddStarttime);

    listOfDropDowns.add(ddEndtime);
    form.add(new Label("labelEndtime", "Endtime:"));
    form.add(ddEndtime);

    listOfDropDowns.add(ddDuration);
    form.add(new Label("labelDuration", "Duration:"));
    form.add(ddDuration);

    listOfDropDowns.add(ddDescription);
    form.add(new Label("labelDescription", "Description:"));
    form.add(ddDescription);

    addDropDownBehavior(listOfDropDowns);
}

From source file:au.org.theark.arkcalendar.component.dataentry.DropDownChoiceDataEntryPanel.java

License:Open Source License

/**
 * NumberDataEntryPanel Constructor//www  . j  av a2s.c  om
 * @param id - component id
 * @param dataModel - must be a model for a String dataValue
 * @param labelModel - field-specific String label model to be used for feedback
 * @param choiceList - list of choices for the Dropdown
 * @param renderer - ChoiceRenderer for the Dropdown
 */
public DropDownChoiceDataEntryPanel(String id, IModel<String> dataModel, IModel<String> labelModel,
        List<EncodedValueVO> choiceList, ChoiceRenderer<EncodedValueVO> renderer) {
    super(id, labelModel);
    missingValueVo = null;
    underlyingDataModel = dataModel;
    // Slightly tricky mapping from the EncodedVO's key to the underlying dataValue (i.e. a String) 
    dataValueModel = new IModel<EncodedValueVO>() {

        private static final long serialVersionUID = 1L;

        public EncodedValueVO getObject() {
            EncodedValueVO object = null;
            if (underlyingDataModel.getObject() != null) {
                object = new EncodedValueVO();
                object.setKey(underlyingDataModel.getObject());
            }
            return object;
        }

        public void setObject(EncodedValueVO object) {
            if (object == null) {
                underlyingDataModel.setObject(null);
            } else {
                underlyingDataModel.setObject(object.getKey());
            }
        }

        public void detach() {
        }

    };
    dataValueDdc = new DropDownChoice<EncodedValueVO>("ddcDataValue", dataValueModel, choiceList, renderer);
    dataValueDdc.setNullValid(true); // nullValid allows you to set the "Choose One" option
    dataValueDdc.setLabel(fieldLabelModel); // set the ${label} for feedback messages
    this.add(dataValueDdc);
}

From source file:au.org.theark.core.web.component.customfieldupload.form.SearchForm.java

License:Open Source License

@SuppressWarnings("unchecked")
private void initDropDownChoice() {
    // Initialise any drop-downs
    java.util.Collection<FileFormat> fileFormatCollection = iArkCommonService.getFileFormats();
    CompoundPropertyModel<CustomFieldUploadVO> uploadCpm = cpmModel;
    PropertyModel<Upload> uploadPm = new PropertyModel<Upload>(uploadCpm, Constants.UPLOAD);
    PropertyModel<FileFormat> fileFormatPm = new PropertyModel<FileFormat>(uploadPm, Constants.FILE_FORMAT);
    ChoiceRenderer fileFormatRenderer = new ChoiceRenderer(Constants.FILE_FORMAT_NAME,
            Constants.FILE_FORMAT_ID);//from   www . ja  v  a  2s  .  c om
    fileFormatDdc = new DropDownChoice<FileFormat>(Constants.UPLOADVO_UPLOAD_FILE_FORMAT, fileFormatPm,
            (List) fileFormatCollection, fileFormatRenderer);
}

From source file:au.org.theark.disease.web.component.affection.form.DetailForm.java

License:Open Source License

@SuppressWarnings("unchecked")
public void initialiseDetailForm() {

    initDiseaseDDC();/*w  w w  . jav a  2  s .c o m*/
    initAffectionStatusDDC();

    detachableModel = new LoadableDetachableModel<List<Position>>() {

        @Override
        protected List<Position> load() {
            List<Position> positions = iArkDiseaseService
                    .getPositions(containerForm.getModelObject().getAffection());
            return positions;
        }
    };

    positionListEditor = new ListView<Position>("positionListEditor", detachableModel) {

        private static final long serialVersionUID = 1L;

        @Override
        protected void populateItem(final ListItem<Position> item) {
            final Position position = item.getModelObject();
            if (position != null) {
                position_storage.put(item.getIndex(), position);
            }

            List<Gene> availableGenes = new ArrayList<Gene>();
            if (containerForm.getModelObject().getAffection().getDisease() != null
                    && containerForm.getModelObject().getAffection().getDisease().getGenes() != null) {
                availableGenes = new ArrayList<Gene>(
                        containerForm.getModelObject().getAffection().getDisease().getGenes());
            }
            final DropDownChoice<Gene> geneDDC = new DropDownChoice<Gene>("affection.disease.genes",
                    new Model<Gene>(position.getGene()), availableGenes,
                    new ChoiceRenderer<Gene>("name", "id"));
            geneDDC.add(new AjaxFormComponentUpdatingBehavior("onchange") {
                private static final long serialVersionUID = 1L;

                protected void onUpdate(AjaxRequestTarget target) {
                    Gene selectedGene = iArkDiseaseService.getGeneByID(Long.parseLong(geneDDC.getValue()));
                    positionDDC.setChoices(new ArrayList<Position>(selectedGene.getPositions()));
                    target.add(positionDDC);
                }
            });

            geneDDC.setOutputMarkupId(true);
            item.add(geneDDC);

            List<Position> availablePositions = new ArrayList<Position>();
            if (geneDDC.getModelObject() != null) {
                availablePositions = new ArrayList<Position>(geneDDC.getModelObject().getPositions());
            }
            LoadableDetachableModel<Position> positionModel = new LoadableDetachableModel<Position>(position) {

                @Override
                protected Position load() {
                    return position;
                }
            };
            if (position != null) {
                positionModel.setObject(position);
            }
            positionDDC = new DropDownChoice<Position>("affection.positions", positionModel, availablePositions,
                    new ChoiceRenderer<Position>("name", "id")) {
                @Override
                protected void onBeforeRender() {
                    if (geneDDC.getModelObject() != null && geneDDC.getModelObject().getId() != null
                            && !geneDDC.getModelObject().getPositions().isEmpty()) {
                        this.setChoices(new ArrayList<Position>(geneDDC.getModelObject().getPositions()));
                    }
                    if (this.getModelObject().getName() != null) {
                        position_storage.put(item.getIndex(), this.getModelObject());
                    }
                    super.onBeforeRender();
                }
            };
            positionDDC.setOutputMarkupId(true);
            positionDDC.add(new AjaxFormComponentUpdatingBehavior("onchange") {
                private static final long serialVersionUID = 1L;

                protected void onUpdate(AjaxRequestTarget target) {
                    Position selectedPosition = positionDDC.getModelObject();
                    if (selectedPosition.getName() != null) {
                        position_storage.put(item.getIndex(), selectedPosition);
                    }
                }
            });
            item.add(positionDDC);

            item.add(new AjaxDeleteButton(Constants.DELETE, new Model<String>("Are you sure?"),
                    new Model<String>("Delete")) {

                private static final long serialVersionUID = 1L;

                protected void onDeleteConfirmed(AjaxRequestTarget target, Form<?> form) {
                    try {
                        //need to remove save containerform post position removal
                        position_storage.remove(item.getIndex());
                        positionListEditor.getModelObject().remove(position);
                        containerForm.getModelObject().setAffection(iArkDiseaseService
                                .getAffectionByID(containerForm.getModelObject().getAffection().getId()));

                        save(containerForm, target);
                        target.add(dataViewPanel);
                        deleteCompleted("Row '" + position.getName() + "' deleted successfully.", true);
                    } catch (Exception e) {
                        e.printStackTrace();
                        target.add(form);
                        deleteCompleted("Error deleting row '" + position.getName()
                                + "'. Row has data associated with it.", false);
                    }
                }

                @Override
                protected void onSubmit(AjaxRequestTarget target, Form<?> form) {
                    onDeleteConfirmed(target, form);
                    target.add(form);
                    target.add(feedBackPanel);
                }
            });

            item.add(new AttributeModifier(Constants.CLASS, new AbstractReadOnlyModel() {
                @Override
                public String getObject() {
                    return (item.getIndex() % 2 == 1) ? Constants.EVEN : Constants.ODD;
                }
            }));
        }
    };

    positionListEditor.setOutputMarkupId(true);

    newPositionBtn = new AjaxEditorButton(Constants.NEW) {

        private static final long serialVersionUID = 1L;

        @Override
        protected void onError(AjaxRequestTarget target, Form<?> form) {
            target.add(form);
        }

        @Override
        protected void onSubmit(AjaxRequestTarget target, Form<?> form) {
            positionListEditor.getModelObject().add(new Position());
            target.add(form);
        }
    }.setDefaultFormProcessing(false);

    arkCrudContainerVO.getDetailPanelFormContainer().add(newPositionBtn);

    PropertyModel<Date> recordDateModel = new PropertyModel<Date>(containerForm.getModel(),
            "affection.recordDate");
    recordDateTxtFld = new DateTextField("recordDate", recordDateModel) {
        @Override
        protected void onBeforeRender() {
            this.setModel(new PropertyModel<Date>(containerForm.getModel(), "affection.recordDate"));
            super.onBeforeRender();
        }
    };
    ArkDatePicker recordDatePicker = new ArkDatePicker();
    recordDatePicker.bind(recordDateTxtFld);
    recordDateTxtFld.add(recordDatePicker);

    AffectionCustomDataVO affectionCustomDataVO = new AffectionCustomDataVO();
    affectionCustomDataVO.setCustomFieldDataList(new ArrayList<AffectionCustomFieldData>(
            cpModel.getObject().getAffection().getAffectionCustomFieldDataSets()));

    final CompoundPropertyModel<AffectionCustomDataVO> affectionCustomDataModel = new CompoundPropertyModel<AffectionCustomDataVO>(
            affectionCustomDataVO);
    dataViewPanel = new AffectionCustomDataDataViewPanel("dataViewPanel", affectionCustomDataModel)
            .initialisePanel(
                    iArkCommonService.getUserConfig(Constants.CONFIG_CUSTOM_FIELDS_PER_PAGE).getIntValue());
    customFieldForm = new AbstractCustomDataEditorForm<AffectionCustomDataVO>("customFieldForm",
            affectionCustomDataModel, feedBackPanel) {

        private static final long serialVersionUID = 1L;

        @Override
        public void onEditSave(AjaxRequestTarget target, Form<?> form) {
            for (AffectionCustomFieldData acfd : this.cpModel.getObject().getCustomFieldDataList()) {
                iArkDiseaseService.save(acfd);
            }
        }

        @Override
        public void onBeforeRender() {
            if (!isNew()) {
                this.setModelObject(new AffectionCustomDataVO(iArkDiseaseService
                        .getAffectionCustomFieldData(containerForm.getModelObject().getAffection())));
            }
            this.buttonsPanelWMC.setVisible(false);
            super.onBeforeRender();
        }
    }.initialiseForm();

    pageNavigator = new AjaxPagingNavigator("navigator", dataViewPanel.getDataView()) {
        @Override
        protected void onAjaxEvent(AjaxRequestTarget target) {
            target.add(customFieldForm.getDataViewWMC());
            target.add(this);
        }
    };
    pageNavigator.setOutputMarkupId(true);
    customFieldForm.getDataViewWMC().add(dataViewPanel);
    arkCrudContainerVO.getDetailPanelFormContainer().add(pageNavigator);
    attachValidators();
    addDetailFormComponents();

    deleteButton.setVisible(false);
}

From source file:au.org.theark.disease.web.component.affection.form.DetailForm.java

License:Open Source License

@SuppressWarnings("unchecked")
private void initAffectionStatusDDC() {
    CompoundPropertyModel<AffectionVO> affectionCPM = (CompoundPropertyModel<AffectionVO>) containerForm
            .getModel();//  www .  j a  v  a  2 s .  c  o m
    PropertyModel<Affection> affectionPM = new PropertyModel<Affection>(affectionCPM, "affection");
    PropertyModel<AffectionStatus> affectionStatusPM = new PropertyModel<AffectionStatus>(affectionPM,
            "affectionStatus");
    ChoiceRenderer affectionStatusRenderer = new ChoiceRenderer("name", "id");
    List<AffectionStatus> possibleAffectionStatus = iArkDiseaseService.getAffectionStatus();
    affectionStatusDDC = new DropDownChoice<AffectionStatus>("affection.affectionStatus", affectionStatusPM,
            possibleAffectionStatus, affectionStatusRenderer) {
        @Override
        protected void onBeforeRender() {
            if (!isNew()) {
                this.setModelObject(containerForm.getModelObject().getAffection().getAffectionStatus());
            } else {
                this.setModel(null);
            }
            super.onBeforeRender();
        }
    };
}

From source file:au.org.theark.disease.web.component.affection.form.DetailForm.java

License:Open Source License

@SuppressWarnings("unchecked")
private void initDiseaseDDC() {
    CompoundPropertyModel<AffectionVO> affectionCpm = (CompoundPropertyModel<AffectionVO>) containerForm
            .getModel();/*from   w ww .j  ava 2s  .  c  om*/
    PropertyModel<Affection> affectionPm = new PropertyModel<Affection>(affectionCpm, "affection");
    PropertyModel<Disease> diseasePm = new PropertyModel<Disease>(affectionPm, "disease");
    Collection<Disease> diseases = iArkDiseaseService
            .getAvailableDiseasesForStudy(iArkCommonService.getStudy(sessionStudyId));
    ChoiceRenderer diseaseRenderer = new ChoiceRenderer("name", "id");
    diseaseDDC = new DropDownChoice<Disease>("affection.disease", diseasePm, (List) diseases, diseaseRenderer) {
        @Override
        protected void onBeforeRender() {
            if (!isNew()) {
                setModelObject(containerForm.getModelObject().getAffection().getDisease());
                this.setEnabled(false);
            } else {
                this.setEnabled(true);
                this.setModel(null);
            }
            super.onBeforeRender();
        }
    };
}

From source file:au.org.theark.lims.web.component.barcodelabel.form.SearchForm.java

License:Open Source License

private void initialiseStudyDdc() {
    PropertyModel<Study> studyPm = new PropertyModel<Study>(getModelObject(), "study");
    List<Study> studyListForUser = new ArrayList<Study>(0);
    studyListForUser = getStudyListForUser();
    ChoiceRenderer<Study> studyRenderer = new ChoiceRenderer<Study>(Constants.NAME, Constants.ID);
    studyDdc = new DropDownChoice<Study>("study", studyPm, (List<Study>) studyListForUser, studyRenderer);
}

From source file:au.org.theark.lims.web.component.biospecimen.batchaliquot.form.BatchAliquotBiospecimenForm.java

License:Open Source License

private void initTreatmentTypeDdc(ListItem<Biospecimen> item) {
    List<TreatmentType> treatmentTypeList = iLimsService.getTreatmentTypes();
    ChoiceRenderer<TreatmentType> choiceRenderer = new ChoiceRenderer<TreatmentType>(Constants.NAME,
            Constants.ID);//  www. j av a  2  s .c  om
    treatmentTypeDdc = new DropDownChoice<TreatmentType>("treatmentType",
            new PropertyModel(item.getModelObject(), "treatmentType"), (List<TreatmentType>) treatmentTypeList,
            choiceRenderer);
    treatmentTypeDdc.setNullValid(false);
}