Example usage for org.apache.wicket.ajax AjaxRequestTarget focusComponent

List of usage examples for org.apache.wicket.ajax AjaxRequestTarget focusComponent

Introduction

In this page you can find the example usage for org.apache.wicket.ajax AjaxRequestTarget focusComponent.

Prototype

void focusComponent(Component component);

Source Link

Document

Sets the focus in the browser to the given component.

Usage

From source file:au.org.theark.core.web.form.AbstractArchiveDetailForm.java

License:Open Source License

protected void initialiseForm() {

    cancelButton = new AjaxButton(Constants.CANCEL) {

        private static final long serialVersionUID = 1L;

        @Override/*w  ww  .j av a2s .  c o  m*/
        protected void onSubmit(AjaxRequestTarget target, Form<?> form) {
            if (isNew()) {
                editCancelProcess(target);
            } else {
                crudVO.getSearchResultPanelContainer().setVisible(true);// Hide the Search Result List Panel via the WebMarkupContainer
                crudVO.getDetailPanelContainer().setVisible(false);// Hide the Detail Panle via the WebMarkupContainer
                target.add(crudVO.getDetailPanelContainer());
                target.add(crudVO.getSearchResultPanelContainer());// Attach the resultListContainer WebMarkupContainer to be re-rendered
                onCancelPostProcess(target);
            }
        }

        @Override
        protected void onError(AjaxRequestTarget arg0, Form<?> arg1) {

        }
    };

    saveButton = new AjaxButton(Constants.SAVE) {

        private static final long serialVersionUID = 1L;

        @Override
        public boolean isVisible() {
            return ArkPermissionHelper.isActionPermitted(Constants.SAVE);
        }

        public void onSubmit(AjaxRequestTarget target, Form<?> form) {
            onSave(containerForm, target);
            target.add(crudVO.getDetailPanelContainer());
        }

        @SuppressWarnings("unchecked")
        public void onError(AjaxRequestTarget target, Form<?> form) {
            boolean setFocusError = false;
            WebMarkupContainer wmc = (WebMarkupContainer) form.get("detailFormContainer");
            for (Iterator iterator = wmc.iterator(); iterator.hasNext();) {
                Component component = (Component) iterator.next();
                if (component instanceof FormComponent) {
                    FormComponent formComponent = (FormComponent) component;

                    if (!formComponent.isValid()) {
                        if (!setFocusError) {
                            // Place focus on field in error (for the first field in error)
                            target.focusComponent(formComponent);
                            setFocusError = true;
                        }
                    }
                }
            }

            processErrors(target);
        }
    };

    addComponentsToForm();
}

From source file:au.org.theark.core.web.form.AbstractDetailForm.java

License:Open Source License

/**
 * Method to handle Save action, and handle for any errors, placing forcus on any component in error
 * /*from   w w w  . j  a  v a  2 s. c  o  m*/
 * @param target
 */
@SuppressWarnings("unchecked")
protected void saveOnErrorProcess(AjaxRequestTarget target) {
    boolean setFocusError = false;
    WebMarkupContainer wmc = arkCrudContainerVO.getDetailPanelContainer();
    for (Iterator iterator = wmc.iterator(); iterator.hasNext();) {
        Component component = (Component) iterator.next();
        if (component instanceof FormComponent) {
            FormComponent formComponent = (FormComponent) component;

            if (!formComponent.isValid()) {
                if (!setFocusError) {
                    // Place focus on field in error (for the first field in error)
                    target.focusComponent(formComponent);
                    setFocusError = true;
                }
            }
        }
    }

    processErrors(target);
}

From source file:au.org.theark.core.web.form.AbstractModalDetailForm.java

License:Open Source License

protected void saveOnErrorProcess(AjaxRequestTarget target) {
    boolean setFocusError = false;
    WebMarkupContainer wmc = arkCrudContainerVo.getDetailPanelFormContainer();
    for (Iterator iterator = wmc.iterator(); iterator.hasNext();) {
        Component component = (Component) iterator.next();
        if (component instanceof FormComponent) {
            FormComponent formComponent = (FormComponent) component;

            if (!formComponent.isValid()) {
                if (!setFocusError) {
                    // Place focus on field in error (for the first field in error)
                    target.focusComponent(formComponent);
                    setFocusError = true;
                }// w w w .j  a  v a 2 s  . c o  m
            }
        }
    }
    target.focusComponent(feedbackPanel);
    processErrors(target);
}

From source file:au.org.theark.core.web.form.AbstractModalDetailForm.java

License:Open Source License

public void onEditSave(AjaxRequestTarget target, Form<?> form) {
    onSave(target);//from  w  w w. j a v a 2 s . c o m
    target.add(arkCrudContainerVo.getDetailPanelContainer());
    String s = "jQuery('form#" + form.getMarkupId() + "').cleanDirty();";
    target.appendJavaScript(s);
    target.focusComponent(feedbackPanel);
}

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

License:Open Source License

/**
 * /*from  w ww.  j a  v a  2 s.c o m*/
 * @return the listEditor of Biospecimens to aliquot
 */
public AbstractListEditor<Biospecimen> buildListEditor() {
    listEditor = new AbstractListEditor<Biospecimen>("aliquots",
            new PropertyModel(getModelObject(), "aliquots")) {

        private static final long serialVersionUID = 1L;

        @SuppressWarnings("serial")
        @Override
        protected void onPopulateItem(final ListItem<Biospecimen> item) {
            item.setOutputMarkupId(true);

            Biospecimen parentBiospecimen = BatchAliquotBiospecimenForm.this.getModelObject()
                    .getParentBiospecimen();
            try {
                PropertyUtils.copyProperties(item.getModelObject(), parentBiospecimen);
            } catch (IllegalAccessException e1) {
                log.error(e1.getMessage());
            } catch (InvocationTargetException e1) {
                log.error(e1.getMessage());
            } catch (NoSuchMethodException e1) {
                log.error(e1.getMessage());
            }

            if (copyBiospecimen) {
                item.getModelObject().setParent(parentBiospecimen);
                item.getModelObject().setParentUid(parentBiospecimen.getBiospecimenUid());
                item.getModelObject().setQuantity(biospecimenToCopy.getQuantity());
                item.getModelObject().setTreatmentType(biospecimenToCopy.getTreatmentType());
                item.getModelObject().setConcentration(biospecimenToCopy.getConcentration());
            } else {
                item.getModelObject().setParent(parentBiospecimen);
                item.getModelObject().setParentUid(parentBiospecimen.getBiospecimenUid());
                item.getModelObject().setQuantity(null);
                item.getModelObject().setConcentration(null);
            }

            biospecimenUidTxtFld = new TextField<String>("biospecimenUid",
                    new PropertyModel(item.getModelObject(), "biospecimenUid"));
            if (parentBiospecimen.getStudy().getAutoGenerateBiospecimenUid()) {
                biospecimenUidTxtFld.setEnabled(false);
                biospecimenUidTxtFld.setModelObject(Constants.AUTO_GENERATED);
            } else {
                biospecimenUidTxtFld.setEnabled(true);
                biospecimenUidTxtFld.setModelObject(null);
            }

            quantityTxtFld = new TextField<Double>("quantity",
                    new PropertyModel(item.getModelObject(), "quantity")) {
                private static final long serialVersionUID = 1L;

                @Override
                public <C> IConverter<C> getConverter(Class<C> type) {
                    DoubleConverter doubleConverter = new DoubleConverter();
                    NumberFormat numberFormat = NumberFormat.getInstance();
                    numberFormat.setMinimumFractionDigits(1);
                    doubleConverter.setNumberFormat(getLocale(), numberFormat);
                    return (IConverter<C>) doubleConverter;
                }
            };

            initTreatmentTypeDdc(item);
            concentrationTxtFld = new TextField<Number>("concentration",
                    new PropertyModel(item.getModelObject(), "concentration"));

            item.add(biospecimenUidTxtFld.add(new AjaxFormComponentUpdatingBehavior("onchange") {
                @Override
                protected void onUpdate(AjaxRequestTarget target) {
                    if (!item.getModelObject().getStudy().getAutoGenerateBiospecimenUid()) {
                        // Check BiospecimenUID is unique
                        String biospecimenUid = (getComponent().getDefaultModelObject().toString() != null
                                ? getComponent().getDefaultModelObject().toString()
                                : new String());
                        Biospecimen biospecimen = iLimsService.getBiospecimenByUid(biospecimenUid,
                                item.getModelObject().getStudy());
                        if (biospecimen != null && biospecimen.getId() != null) {
                            error("Biospecimen UID must be unique. Please try again.");
                            target.focusComponent(getComponent());
                        }
                    }
                    target.add(feedbackPanel);
                    biospecimenToCopy.setBiospecimenUid(getComponent().getDefaultModelObject().toString());
                }
            }));

            item.add(quantityTxtFld.add(new AjaxFormComponentUpdatingBehavior("onchange") {
                @Override
                protected void onUpdate(AjaxRequestTarget target) {
                    if (!totalQuantityLessThanParentQuantity()) {
                        target.focusComponent(getComponent());
                    }
                    target.add(feedbackPanel);
                    biospecimenToCopy.setQuantity((Double) getComponent().getDefaultModelObject());
                    item.getModelObject().setQuantity((Double) getComponent().getDefaultModelObject());
                }

                @Override
                protected void onError(AjaxRequestTarget target, RuntimeException e) {
                    target.add(feedbackPanel);
                }
            }));
            item.add(treatmentTypeDdc.add(new AjaxFormComponentUpdatingBehavior("onchange") {
                @Override
                protected void onUpdate(AjaxRequestTarget target) {
                    biospecimenToCopy.setTreatmentType((TreatmentType) getComponent().getDefaultModelObject());
                    item.getModelObject()
                            .setTreatmentType((TreatmentType) getComponent().getDefaultModelObject());
                }
            }));
            item.add(concentrationTxtFld.add(new AjaxFormComponentUpdatingBehavior("onchange") {
                @Override
                protected void onUpdate(AjaxRequestTarget target) {
                    biospecimenToCopy.setConcentration((Double) getComponent().getDefaultModelObject());
                    item.getModelObject().setConcentration((Double) getComponent().getDefaultModelObject());
                }
            }));

            // Copy button allows entire row details to be copied
            item.add(new AjaxEditorButton(Constants.COPY) {
                private static final long serialVersionUID = 1L;

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

                @Override
                protected void onSubmit(AjaxRequestTarget target, Form<?> form) {
                    Biospecimen biospecimen = new Biospecimen();
                    copyBiospecimen = true;
                    try {
                        PropertyUtils.copyProperties(biospecimen, getItem().getModelObject());
                        PropertyUtils.copyProperties(biospecimenToCopy, getItem().getModelObject());
                        listEditor.addItem(biospecimen);
                        target.add(form);
                    } catch (IllegalAccessException e) {
                        e.printStackTrace();
                    } catch (InvocationTargetException e) {
                        e.printStackTrace();
                    } catch (NoSuchMethodException e) {
                        e.printStackTrace();
                    }
                }
            }.setDefaultFormProcessing(false));

            item.add(new AjaxEditorButton(Constants.DELETE) {
                private static final long serialVersionUID = 1L;

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

                @Override
                protected void onSubmit(AjaxRequestTarget target, Form<?> form) {
                    listEditor.removeItem(item);
                    target.add(form);
                }
            }.setDefaultFormProcessing(false).setVisible(item.getIndex() > 0));

            item.add(new AttributeModifier(Constants.CLASS, new AbstractReadOnlyModel() {

                private static final long serialVersionUID = 1L;

                @Override
                public String getObject() {
                    return (item.getIndex() % 2 == 1) ? Constants.EVEN : Constants.ODD;
                }
            }));
        }

    };
    return listEditor;
}

From source file:au.org.theark.lims.web.component.biospecimen.batchcreate.form.ManualBatchCreateBiospecimenForm.java

License:Open Source License

/**
 * /*from ww w  .  java 2  s .com*/
 * @return the listEditor of BatchBiospecimen(s)
 */
public AbstractListEditor<BatchBiospecimenVO> buildListEditor() {
    listEditor = new AbstractListEditor<BatchBiospecimenVO>("batchBiospecimenList",
            new PropertyModel(this, "batchBiospecimenList")) {

        private static final long serialVersionUID = 1L;

        @SuppressWarnings("serial")
        @Override
        protected void onPopulateItem(final ListItem<BatchBiospecimenVO> item) {
            item.setOutputMarkupId(true);
            item.getModelObject().getBiospecimen()
                    .setLinkSubjectStudy(cpModel.getObject().getLinkSubjectStudy());
            item.getModelObject().getBiospecimen()
                    .setStudy(cpModel.getObject().getLinkSubjectStudy().getStudy());

            biospecimenUidTxtFld = new TextField<String>("biospecimen.biospecimenUid",
                    new PropertyModel(item.getModelObject(), "biospecimen.biospecimenUid"));

            initBioCollectionDdc(item);
            initSampleTypeDdc(item);

            sampleDateTxtFld = new DateTextField("biospecimen.sampleDate",
                    new PropertyModel(item.getModelObject(), "biospecimen.sampleDate"),
                    au.org.theark.core.Constants.DD_MM_YYYY);
            ArkDatePicker sampleDatePicker = new ArkDatePicker();
            sampleDatePicker.bind(sampleDateTxtFld);
            sampleDateTxtFld.add(sampleDatePicker);

            quantityTxtFld = new TextField<Double>("biospecimen.quantity",
                    new PropertyModel(item.getModelObject(), "biospecimen.quantity")) {
                private static final long serialVersionUID = 1L;

                @Override
                public <C> IConverter<C> getConverter(Class<C> type) {
                    DoubleConverter doubleConverter = new DoubleConverter();
                    NumberFormat numberFormat = NumberFormat.getInstance();
                    numberFormat.setMinimumFractionDigits(1);
                    doubleConverter.setNumberFormat(getLocale(), numberFormat);
                    return (IConverter<C>) doubleConverter;
                }
            };
            initUnitDdc(item);
            initTreatmentTypeDdc(item);

            concentrationTxtFld = new TextField<Number>("biospecimen.concentration",
                    new PropertyModel(item.getModelObject(), "biospecimen.concentration"));

            // Added onchange events to ensure model updated when any change made
            item.add(biospecimenUidTxtFld.add(new AjaxFormComponentUpdatingBehavior("onchange") {
                @Override
                protected void onUpdate(AjaxRequestTarget target) {
                    // Check BiospecimenUID is unique
                    String biospecimenUid = (getComponent().getDefaultModelObject().toString() != null
                            ? getComponent().getDefaultModelObject().toString()
                            : new String());
                    Biospecimen biospecimen = iLimsService.getBiospecimenByUid(biospecimenUid,
                            item.getModelObject().getBiospecimen().getStudy());
                    if (biospecimen != null && biospecimen.getId() != null) {
                        ManualBatchCreateBiospecimenForm.this
                                .error("Biospecimen UID must be unique. Please try again.");
                        target.focusComponent(getComponent());
                    }
                    target.add(feedbackPanel);
                }
            }));

            item.add(bioCollectionDdc.add(new AjaxFormComponentUpdatingBehavior("onchange") {
                @Override
                protected void onUpdate(AjaxRequestTarget target) {
                }
            }));
            item.add(sampleTypeDdc.add(new AjaxFormComponentUpdatingBehavior("onchange") {
                @Override
                protected void onUpdate(AjaxRequestTarget target) {
                }
            }));
            item.add(sampleDateTxtFld.add(new AjaxFormComponentUpdatingBehavior("onchange") {
                @Override
                protected void onUpdate(AjaxRequestTarget target) {
                }
            }));
            item.add(quantityTxtFld.add(new AjaxFormComponentUpdatingBehavior("onchange") {
                @Override
                protected void onUpdate(AjaxRequestTarget target) {
                }
            }));
            item.add(unitDdc.add(new AjaxFormComponentUpdatingBehavior("onchange") {
                @Override
                protected void onUpdate(AjaxRequestTarget target) {
                }
            }));
            item.add(treatmentTypeDdc.add(new AjaxFormComponentUpdatingBehavior("onchange") {
                @Override
                protected void onUpdate(AjaxRequestTarget target) {
                }
            }));
            item.add(concentrationTxtFld.add(new AjaxFormComponentUpdatingBehavior("onchange") {
                @Override
                protected void onUpdate(AjaxRequestTarget target) {
                }
            }));

            // Copy button allows entire row details to be copied
            item.add(new AjaxEditorButton(Constants.COPY) {
                private static final long serialVersionUID = 1L;

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

                @Override
                protected void onSubmit(AjaxRequestTarget target, Form<?> form) {
                    BatchBiospecimenVO batchBiospecimenVo = new BatchBiospecimenVO();
                    try {
                        PropertyUtils.copyProperties(batchBiospecimenVo.getBiospecimen(),
                                item.getModelObject().getBiospecimen());
                        batchBiospecimenVo.getBiospecimen().setBiospecimenUid(new String());
                        listEditor.addItem(batchBiospecimenVo);
                        target.add(form);
                    } catch (IllegalAccessException e) {
                        e.printStackTrace();
                    } catch (InvocationTargetException e) {
                        e.printStackTrace();
                    } catch (NoSuchMethodException e) {
                        e.printStackTrace();
                    }
                }
            }.setDefaultFormProcessing(false));

            item.add(new AjaxEditorButton(Constants.DELETE) {
                private static final long serialVersionUID = 1L;

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

                @Override
                protected void onSubmit(AjaxRequestTarget target, Form<?> form) {
                    listEditor.removeItem(item);
                    target.add(form);
                }
            }.setDefaultFormProcessing(false).setVisible(item.getIndex() > 0));

            item.add(new AttributeModifier(Constants.CLASS, new AbstractReadOnlyModel() {

                private static final long serialVersionUID = 1L;

                @Override
                public String getObject() {
                    return (item.getIndex() % 2 == 1) ? Constants.EVEN : Constants.ODD;
                }
            }));
        }

    };
    return listEditor;
}

From source file:au.org.theark.lims.web.component.inventory.form.AbstractInventoryDetailForm.java

License:Open Source License

/**
 * Initialise the form, with the general edit/save/cancel/delete buttons
 * /*www.  j a  va 2 s  . com*/
 */
protected void initialiseForm() {
    cancelButton = new AjaxButton(Constants.CANCEL) {

        private static final long serialVersionUID = 1684005199059571017L;

        @Override
        protected void onSubmit(AjaxRequestTarget target, Form<?> form) {
            detailContainer.setVisible(false);
            target.add(detailContainer);
            processErrors(target);
        }

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

    saveButton = new ArkBusyAjaxButton(Constants.SAVE) {

        private static final long serialVersionUID = -423605230448635419L;

        @Override
        public boolean isVisible() {
            return ArkPermissionHelper.isActionPermitted(Constants.SAVE);
        }

        public void onSubmit(AjaxRequestTarget target, Form<?> form) {
            onSave(containerForm, target);
            target.add(detailFormContainer);
            target.add(containerPanel);
        }

        @SuppressWarnings("unchecked")
        public void onError(AjaxRequestTarget target, Form<?> form) {
            boolean setFocusError = false;
            WebMarkupContainer wmc = (WebMarkupContainer) form.get("detailFormContainer");
            for (Iterator iterator = wmc.iterator(); iterator.hasNext();) {
                Component component = (Component) iterator.next();
                if (component instanceof FormComponent) {
                    FormComponent formComponent = (FormComponent) component;

                    if (!formComponent.isValid()) {
                        if (!setFocusError) {
                            // Place focus on field in error (for the first field in error)
                            target.focusComponent(formComponent);
                            setFocusError = true;
                        }
                    }
                }
            }

            processErrors(target);
        }
    };

    deleteButton = new AjaxDeleteButton(Constants.DELETE, new StringResourceModel("confirmDelete", this, null),
            new StringResourceModel(Constants.DELETE, this, null)) {

        private static final long serialVersionUID = 4005032637149080009L;

        @Override
        protected void onSubmit(AjaxRequestTarget target, Form<?> form) {
            onDeleteConfirmed(target);
            target.add(feedbackPanel);
            detailContainer.setVisible(false);
            target.add(detailContainer);

            // remove node
            DefaultTreeModel treeModel = (DefaultTreeModel) tree.getDefaultModelObject();
            for (Object selectedNode : tree.getTreeState().getSelectedNodes()) {
                treeModel.removeNodeFromParent((MutableTreeNode) selectedNode);
            }

            tree.updateTree(target);
        }

        @Override
        public boolean isVisible() {
            return (ArkPermissionHelper.isActionPermitted(Constants.DELETE) && !isNew());
        }

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

        @Override
        public boolean isEnabled() {
            return canDelete();
        }
    };

    //editButton.setDefaultFormProcessing(false);
    cancelButton.setDefaultFormProcessing(false);
    /* Defines a edit mode */
    editButtonContainer = new WebMarkupContainer("editButtonContainer");
    editButtonContainer.setOutputMarkupPlaceholderTag(true);
    editButtonContainer.setVisible(isNew());

    // Initialise in read only
    detailFormContainer = new WebMarkupContainer("detailFormContainer");
    detailFormContainer.setOutputMarkupPlaceholderTag(true);
    detailFormContainer.setEnabled(isNew());

    addComponentsToForm();
}

From source file:au.org.theark.lims.web.component.inventory.form.AbstractInventoryDetailForm.java

License:Open Source License

/**
 * Method to handle Save action, and handle for any errors, placing forcus on any component in error
 * //w w  w  .j  a v  a 2  s  .  c o m
 * @param target
 */
@SuppressWarnings("unchecked")
protected void saveOnErrorProcess(AjaxRequestTarget target) {
    boolean setFocusError = false;
    WebMarkupContainer wmc = getDetailContainer();
    for (Iterator iterator = wmc.iterator(); iterator.hasNext();) {
        Component component = (Component) iterator.next();
        if (component instanceof FormComponent) {
            FormComponent formComponent = (FormComponent) component;

            if (!formComponent.isValid()) {
                if (!setFocusError) {
                    // Place focus on field in error (for the first field in error)
                    target.focusComponent(formComponent);
                    setFocusError = true;
                }
            }
        }
    }

    processErrors(target);
}

From source file:au.org.theark.lims.web.component.inventory.form.BoxDetailForm.java

License:Open Source License

public void initialiseDetailForm() {
    idTxtFld = new TextField<String>("invBox.id");
    nameTxtFld = new TextField<String>("invBox.name");
    nameTxtFld.add(new AjaxFormComponentUpdatingBehavior("onchange") {
        private static final long serialVersionUID = 1L;

        @Override/*w w w .  j av a  2  s  . com*/
        protected void onUpdate(AjaxRequestTarget target) {
            String boxName = (getComponent().getDefaultModelObject().toString() != null
                    ? getComponent().getDefaultModelObject().toString()
                    : new String());
            InvBox invBox = iInventoryService.getInvBoxByNameForRack(invTrayDdc.getModelObject(), boxName);
            if (invBox != null && invBox.getId() != null) {
                error("Box name must be unique for a Rack. Please try again.");
                target.focusComponent(getComponent());
            }
            target.add(feedbackPanel);
        }
    });
    capacityTxtFld = new TextField<Integer>("invBox.capacity");
    capacityTxtFld.setEnabled(false);
    availableTxtFld = new TextField<Integer>("invBox.available");
    availableTxtFld.setEnabled(false);
    noOfColTxtFld = new TextField<Integer>("invBox.noofcol") {

        private static final long serialVersionUID = 1L;

        @SuppressWarnings("unchecked")
        @Override
        public <C> IConverter<C> getConverter(Class<C> type) {
            IntegerConverter integerConverter = new IntegerConverter();
            return (IConverter<C>) integerConverter;
        }
    };

    noOfColTxtFld.add(new AjaxFormComponentUpdatingBehavior("onChange") {

        private static final long serialVersionUID = 1L;

        @Override
        protected void onUpdate(AjaxRequestTarget target) {
            updateCapacityAndAvailable(target);
        }
    });

    noOfRowTxtFld = new TextField<Integer>("invBox.noofrow") {

        private static final long serialVersionUID = 1L;

        @SuppressWarnings("unchecked")
        @Override
        public <C> IConverter<C> getConverter(Class<C> type) {
            IntegerConverter integerConverter = new IntegerConverter();
            return (IConverter<C>) integerConverter;
        }
    };

    noOfRowTxtFld.add(new AjaxFormComponentUpdatingBehavior("onChange") {

        private static final long serialVersionUID = 1L;

        @Override
        protected void onUpdate(AjaxRequestTarget target) {
            updateCapacityAndAvailable(target);
        }
    });

    noOfColTxtFld.setEnabled(isNew());
    noOfRowTxtFld.setEnabled(isNew());

    initInvTrayDdc();
    initColNoTypeDdc();
    initRowNoTypeDdc();

    batchAllocate = new ArkBusyAjaxButton("batchAllocate") {

        private static final long serialVersionUID = 1L;

        @Override
        protected void onSubmit(AjaxRequestTarget target, Form<?> form) {
            // Refresh entire detail panel to allocation panel
            boxAllocationPanel.initialisePanel();
            detailContainer.addOrReplace(boxAllocationPanel);
            target.add(detailContainer);
        }

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

        @Override
        protected void onBeforeRender() {
            setEnabled(!isNew() && containerForm.getModelObject().getInvBox().getAvailable() > 0);
            super.onBeforeRender();
        }
    };
    batchAllocate.setDefaultFormProcessing(false);

    emptyBox = new AjaxDeleteButton("emptyBox", new StringResourceModel("emptyBoxConfirm", this, null),
            new StringResourceModel("emptyBox", this, null)) {

        private static final long serialVersionUID = 1L;

        @Override
        protected void onSubmit(AjaxRequestTarget target, Form<?> form) {
            iInventoryService.unallocateBox(containerForm.getModelObject().getInvBox());
            // Refresh entire detail panel 
            target.add(detailContainer);
        }

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

        @Override
        protected void onBeforeRender() {
            setEnabled(!isNew() && containerForm.getModelObject().getInvBox().getAvailable() > 0);
            super.onBeforeRender();
        }
    };
    emptyBox.setDefaultFormProcessing(false);

    attachValidators();
    addComponents();

    // Focus on Name
    nameTxtFld.add(new ArkDefaultFormFocusBehavior());
}

From source file:au.org.theark.lims.web.component.inventory.form.BoxDetailForm.java

License:Open Source License

private void initInvTrayDdc() {
    List<InvRack> invTankList = new ArrayList<InvRack>(0);

    List<Study> studyListForUser = new ArrayList<Study>(0);
    studyListForUser.add(containerForm.getModelObject().getStudy());
    /*//w  w  w .jav a  2  s. co m
    try {
       Subject currentUser = SecurityUtils.getSubject();
       ArkUser arkUser = iArkCommonService.getArkUser(currentUser.getPrincipal().toString());
       ArkUserVO arkUserVo = new ArkUserVO();
       arkUserVo.setArkUserEntity(arkUser);
               
       Long sessionArkModuleId = (Long) SecurityUtils.getSubject().getSession().getAttribute(au.org.theark.core.Constants.ARK_MODULE_KEY);
       ArkModule arkModule = null;
       arkModule = iArkCommonService.getArkModuleById(sessionArkModuleId);
       studyListForUser = iArkCommonService.getStudyListForUserAndModule(arkUserVo, arkModule);
    }
    catch (EntityNotFoundException e) {
       log.error(e.getMessage());
    }
    */
    try {
        invTankList = iInventoryService.searchInvRack(new InvRack(), studyListForUser);
    } catch (ArkSystemException e) {
        log.error(e.getMessage());
    }
    ChoiceRenderer<InvRack> choiceRenderer = new ChoiceRenderer<InvRack>("siteFreezerRack", Constants.ID);
    invTrayDdc = new DropDownChoice<InvRack>("invBox.invRack", (List<InvRack>) invTankList, choiceRenderer);
    invTrayDdc.add(new AjaxFormComponentUpdatingBehavior("onchange") {
        private static final long serialVersionUID = 1L;

        @Override
        protected void onUpdate(AjaxRequestTarget target) {
            String boxName = (nameTxtFld.getModelObject().toString() != null
                    ? nameTxtFld.getModelObject().toString()
                    : new String());
            InvBox invBox = iInventoryService.getInvBoxByNameForRack(invTrayDdc.getModelObject(), boxName);
            if (invBox != null && invBox.getId() != null) {
                error("Box name must be unique for a Rack. Please try again.");
                target.focusComponent(getComponent());
            }
            target.add(feedbackPanel);
        }
    });
}