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.lims.web.component.inventory.form.FreezerDetailForm.java

License:Open Source License

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

        @Override/*from ww  w.j a  v  a2s.co m*/
        protected void onUpdate(AjaxRequestTarget target) {
            String freezerName = (getComponent().getDefaultModelObject().toString() != null
                    ? getComponent().getDefaultModelObject().toString()
                    : new String());
            InvFreezer invFreezer = iInventoryService.getInvFreezerByNameForSite(invSiteDdc.getModelObject(),
                    freezerName);
            if (invFreezer != null && invFreezer.getId() != null) {
                error("Freezer name must be unique for a site. Please try again.");
                target.focusComponent(getComponent());
            }
            target.add(feedbackPanel);
        }
    });
    capacityTxtFld = new TextField<Integer>("invFreezer.capacity") {

        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;
        }
    };
    capacityTxtFld.setEnabled(isNew());
    capacityTxtFld.add(new AjaxFormComponentUpdatingBehavior("onChange") {

        private static final long serialVersionUID = 1L;

        @Override
        protected void onUpdate(AjaxRequestTarget target) {
            Integer capacity = containerForm.getModelObject().getInvFreezer().getCapacity();
            containerForm.getModelObject().getInvFreezer().setAvailable(capacity);
            target.add(availableTxtFld);
        }
    });
    availableTxtFld = new TextField<Integer>("invFreezer.available");
    availableTxtFld.setEnabled(false);

    descriptionTxtAreaFld = new TextArea<String>("invFreezer.description");

    lastservicedateDateTxtFld = new DateTextField("invFreezer.lastservicedate",
            au.org.theark.core.Constants.DD_MM_YYYY);
    ArkDatePicker arkDatePicker = new ArkDatePicker();
    arkDatePicker.bind(lastservicedateDateTxtFld);
    lastservicedateDateTxtFld.add(arkDatePicker);

    lastservicenoteTxtAreaFld = new TextArea<String>("invFreezer.lastservicenote");

    commissiondateDateTxtFld = new DateTextField("invFreezer.commissiondate",
            au.org.theark.core.Constants.DD_MM_YYYY);
    ArkDatePicker arkDatePicker2 = new ArkDatePicker();
    arkDatePicker2.bind(commissiondateDateTxtFld);
    commissiondateDateTxtFld.add(arkDatePicker2);

    decommissiondateDateTxtFld = new DateTextField("invFreezer.decommissiondate",
            au.org.theark.core.Constants.DD_MM_YYYY);

    ArkDatePicker arkDatePicker3 = new ArkDatePicker();
    arkDatePicker3.bind(decommissiondateDateTxtFld);
    decommissiondateDateTxtFld.add(arkDatePicker3);

    initSiteDdc();

    attachValidators();
    addComponents();

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

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

License:Open Source License

private void initSiteDdc() {
    List<InvSite> invSiteList = new ArrayList<InvSite>(0);
    InvSite invSite = new InvSite();

    List<Study> studyListForUser = new ArrayList<Study>(0);
    studyListForUser.add(containerForm.getModelObject().getStudy());
    /*try {// www . j a  v a  2  s.  c o m
       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 {
        invSiteList = iInventoryService.searchInvSite(invSite, studyListForUser);
    } catch (ArkSystemException e) {
        log.error(e.getMessage());
    }
    ChoiceRenderer<InvSite> choiceRenderer = new ChoiceRenderer<InvSite>(Constants.NAME, Constants.ID);
    invSiteDdc = new DropDownChoice<InvSite>("invFreezer.invSite", (List<InvSite>) invSiteList, choiceRenderer);
    invSiteDdc.add(new AjaxFormComponentUpdatingBehavior("onchange") {
        private static final long serialVersionUID = 1L;

        @Override
        protected void onUpdate(AjaxRequestTarget target) {
            String freezerName = (nameTxtFld.getModelObject() != null ? nameTxtFld.getModelObject().toString()
                    : new String());
            if (!freezerName.isEmpty()) {
                InvFreezer invFreezer = iInventoryService
                        .getInvFreezerByNameForSite(invSiteDdc.getModelObject(), freezerName);
                if (invFreezer != null && invFreezer.getId() != null) {
                    error("Freezer name must be unique for a site. Please try again.");
                    target.focusComponent(getComponent());
                }
            }
            target.add(feedbackPanel);
        }
    });
}

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

License:Open Source License

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

        @Override//from w  w w .ja v  a  2 s  . c o  m
        protected void onUpdate(AjaxRequestTarget target) {
            String rackName = (getComponent().getDefaultModelObject().toString() != null
                    ? getComponent().getDefaultModelObject().toString()
                    : new String());
            InvRack invRack = iInventoryService.getInvRackByNameForFreezer(invTankDdc.getModelObject(),
                    rackName);
            if (invRack != null && invRack.getId() != null) {
                error("Rack name must be unique for a freezer. Please try again.");
                target.focusComponent(getComponent());
            }
            target.add(feedbackPanel);
        }
    });
    capacityTxtFld = new TextField<Integer>("invRack.capacity") {

        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;
        }
    };
    capacityTxtFld.setEnabled(isNew());
    capacityTxtFld.add(new AjaxFormComponentUpdatingBehavior("onChange") {

        private static final long serialVersionUID = 1L;

        @Override
        protected void onUpdate(AjaxRequestTarget target) {
            Integer capacity = containerForm.getModelObject().getInvRack().getCapacity();
            containerForm.getModelObject().getInvRack().setAvailable(capacity);
            target.add(availableTxtFld);
        }
    });
    availableTxtFld = new TextField<Integer>("invRack.available");
    availableTxtFld.setEnabled(false);
    descriptionTxtAreaFld = new TextArea<String>("invRack.description");

    initInvFreezerDdc();

    attachValidators();
    addComponents();

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

    deleteButton.setEnabled(containerForm.getModelObject().getInvRack().getChildren().isEmpty());
}

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

License:Open Source License

private void initInvFreezerDdc() {
    List<InvFreezer> invFreezerList = new ArrayList<InvFreezer>(0);

    List<Study> studyListForUser = new ArrayList<Study>(0);
    studyListForUser.add(containerForm.getModelObject().getStudy());
    /*/*from   w  ww. ja  v a2 s  . c om*/
    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 {
        invFreezerList = iInventoryService.searchInvFreezer(new InvFreezer(), studyListForUser);
    } catch (ArkSystemException e) {
        log.error(e.getMessage());
    }
    ChoiceRenderer<InvFreezer> choiceRenderer = new ChoiceRenderer<InvFreezer>("siteFreezer", Constants.ID);
    invTankDdc = new DropDownChoice<InvFreezer>("invRack.invFreezer", (List<InvFreezer>) invFreezerList,
            choiceRenderer);
    invTankDdc.add(new AjaxFormComponentUpdatingBehavior("onchange") {
        private static final long serialVersionUID = 1L;

        @Override
        protected void onUpdate(AjaxRequestTarget target) {
            String rackName = (nameTxtFld.getModelObject().toString() != null
                    ? nameTxtFld.getModelObject().toString()
                    : new String());
            InvRack invRack = iInventoryService.getInvRackByNameForFreezer(invTankDdc.getModelObject(),
                    rackName);
            if (invRack != null && invRack.getId() != null) {
                error("Rack name must be unique for a freezer. Please try again.");
                target.focusComponent(getComponent());
            }
            target.add(feedbackPanel);
        }
    });

}

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

License:Open Source License

public void initialiseDetailForm() {
    idTxtFld = new TextField<String>("invSite.id");
    initStudyPalette();//  www  .  j av a 2 s  . c  om
    nameTxtFld = new TextField<String>("invSite.name");
    // Focus on Name
    nameTxtFld.add(new ArkDefaultFormFocusBehavior());
    nameTxtFld.add(new AjaxFormComponentUpdatingBehavior("onchange") {
        private static final long serialVersionUID = 1L;

        @Override
        protected void onUpdate(AjaxRequestTarget target) {
            String siteName = (getComponent().getDefaultModelObject().toString() != null
                    ? getComponent().getDefaultModelObject().toString()
                    : new String());
            InvSite invSite = iInventoryService.getInvSiteByname(siteName);
            if (invSite != null && invSite.getId() != null) {
                error("Site name must be unique. Please try again.");
                target.focusComponent(getComponent());
            }
            target.add(feedbackPanel);
        }
    });
    contactTxtFld = new TextField<String>("invSite.contact");
    addressTxtAreaFld = new TextArea<String>("invSite.address");
    phoneTxtFld = new TextField<String>("invSite.phone");

    attachValidators();
    addComponents();

}

From source file:au.org.theark.lims.web.component.subjectlims.lims.biospecimen.form.BiospecimenModalDetailForm.java

License:Open Source License

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

        @Override//from w  ww  .ja v  a 2 s  .c  o  m
        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,
                    cpModel.getObject().getBiospecimen().getStudy());
            if (biospecimen != null && biospecimen.getId() != null) {
                error("Biospecimen UID must be unique. Please try again.");
                target.focusComponent(getComponent());
            }
            target.add(feedbackPanel);
        }
    });

    parentUidTxtFld = new TextField<String>("biospecimen.parentUid");
    commentsTxtAreaFld = new TextArea<String>("biospecimen.comments");
    sampleDateTxtFld = new DateTextField("biospecimen.sampleDate", au.org.theark.core.Constants.DD_MM_YYYY);
    useCollectionDate = new AjaxLink<Date>("useCollectionDate") {
        private static final long serialVersionUID = 1L;

        @Override
        public void onClick(AjaxRequestTarget target) {

            BioCollection selectedBioCollection = cpModel.getObject().getBioCollection();
            cpModel.getObject().getBiospecimen().setSampleDate(selectedBioCollection.getCollectionDate());
            target.add(sampleDateTxtFld);
        }
    };

    sampleTimeTxtFld = new TimeField("biospecimen.sampleTime") {

        private static final long serialVersionUID = 1L;

        @Override
        protected void onBeforeRender() {
            this.getDateTextField().setVisibilityAllowed(false);
            super.onBeforeRender();
        }

        @Override
        protected void convertInput() {
            // Slight change to not default to today's date
            Date modelObject = (Date) getDefaultModelObject();
            getDateTextField().setConvertedInput(modelObject != null ? modelObject : null);
            super.convertInput();
        }
    };

    processedDateTxtFld = new DateTextField("biospecimen.processedDate",
            au.org.theark.core.Constants.DD_MM_YYYY);
    processedTimeTxtFld = new TimeField("biospecimen.processedTime") {

        private static final long serialVersionUID = 1L;

        @Override
        protected void onBeforeRender() {
            this.getDateTextField().setVisibilityAllowed(false);
            super.onBeforeRender();
        }

        @Override
        protected void convertInput() {
            // Slight change to not default to today's date
            Date modelObject = (Date) getDefaultModelObject();
            getDateTextField().setConvertedInput(modelObject != null ? modelObject : null);
            super.convertInput();
        }
    };

    ArkDatePicker sampleDatePicker = new ArkDatePicker();
    sampleDatePicker.bind(sampleDateTxtFld);
    sampleDateTxtFld.add(sampleDatePicker);

    ArkDatePicker processedDatePicker = new ArkDatePicker();
    processedDatePicker.bind(processedDateTxtFld);
    processedDateTxtFld.add(processedDatePicker);

    quantityTxtFld = new TextField<Double>("biospecimen.quantity") {

        private static final long serialVersionUID = 1L;

        @SuppressWarnings("unchecked")
        @Override
        public <C> IConverter<C> getConverter(Class<C> type) {
            DoubleConverter doubleConverter = new DoubleConverter();
            NumberFormat numberFormat = NumberFormat.getInstance();
            numberFormat.setMinimumFractionDigits(1);
            numberFormat.setMaximumFractionDigits(10);
            doubleConverter.setNumberFormat(getLocale(), numberFormat);
            return (IConverter<C>) doubleConverter;
        }
    };
    parentQuantityTxtFld = new TextField<Double>("parentBiospecimen.quantity") {
        private static final long serialVersionUID = 1L;

        @SuppressWarnings("unchecked")
        @Override
        public <C> IConverter<C> getConverter(Class<C> type) {
            DoubleConverter doubleConverter = new DoubleConverter();
            NumberFormat numberFormat = NumberFormat.getInstance();
            numberFormat.setMinimumFractionDigits(1);
            numberFormat.setMaximumFractionDigits(10);
            doubleConverter.setNumberFormat(getLocale(), numberFormat);
            return (IConverter<C>) doubleConverter;
        }
    };
    parentQuantityTxtFld.setVisible(cpModel.getObject().getBiospecimenProcessing()
            .equalsIgnoreCase(au.org.theark.lims.web.Constants.BIOSPECIMEN_PROCESSING_PROCESSING));
    parentQuantityTxtFld.setOutputMarkupId(true);

    quantityTxtFld.setEnabled(false);
    bioTransactionQuantityTxtFld = new TextField<Double>("bioTransaction.quantity") {

        private static final long serialVersionUID = 1L;

        @SuppressWarnings("unchecked")
        @Override
        public <C> IConverter<C> getConverter(Class<C> type) {
            DoubleConverter doubleConverter = new DoubleConverter();
            NumberFormat numberFormat = NumberFormat.getInstance();
            numberFormat.setMinimumFractionDigits(1);
            numberFormat.setMaximumFractionDigits(10);
            doubleConverter.setNumberFormat(getLocale(), numberFormat);
            return (IConverter<C>) doubleConverter;
        }
    };
    bioTransactionQuantityTxtFld.add(new AjaxFormComponentUpdatingBehavior("onchange") {
        private static final long serialVersionUID = 1L;

        @Override
        protected void onUpdate(AjaxRequestTarget target) {
            target.add(amountLbl);
        }
    });

    concentrationTxtFld = new TextField<Number>("biospecimen.concentration");
    concentrationTxtFld.add(new AjaxFormComponentUpdatingBehavior("onchange") {
        private static final long serialVersionUID = 1L;

        @Override
        protected void onUpdate(AjaxRequestTarget target) {
            target.add(amountLbl);
        }
    });
    amountLbl = new Label("biospecimen.amount", new Model<Number>() {
        private static final long serialVersionUID = 1L;

        @Override
        public Number getObject() {
            Number concentration = ((concentrationTxtFld.getModelObject() == null) ? 0
                    : concentrationTxtFld.getModelObject());
            Number quantity = null;
            if (bioTransactionQuantityTxtFld.isVisible()) {
                quantity = ((bioTransactionQuantityTxtFld.getModelObject() == null) ? 0
                        : bioTransactionQuantityTxtFld.getModelObject());
            } else {
                quantity = ((quantityTxtFld.getModelObject() == null) ? 0 : quantityTxtFld.getModelObject());
            }
            Number amount = (concentration.doubleValue() * quantity.doubleValue());
            return amount;
        }
    });
    amountLbl.setOutputMarkupPlaceholderTag(true);

    setQuantityLabel();
    initSampleTypeDdc();
    initBioCollectionDdc();
    initUnitDdc();
    initTreatmentTypeDdc();
    initGradeDdc();
    initStoredInDdc();
    initAnticoagDdc();
    initStatusDdc();
    initQualityDdc();
    initBiospecimenProtocol();
    purity = new TextField<Number>("biospecimen.purity");

    barcodedChkBox = new CheckBox("biospecimen.barcoded");
    barcodedChkBox.setVisible(true);
    barcodedChkBox.setEnabled(false);

    initialiseBarcodeImage();

    initialiseBiospecimenCFDataEntry();
    initialiseBioTransactionListPanel();
    initialiseBiospecimenLocationPanel();
    initialiseBiospecimenButtonsPanel();
    initDeleteModelWindow();

    attachValidators();
    addComponents();

    // Focus on Sample Type
    sampleTypeDdc.add(new ArkDefaultFormFocusBehavior());
}

From source file:au.org.theark.study.web.component.subject.form.DetailForm.java

License:Open Source License

@SuppressWarnings("unchecked")
public void initialiseDetailForm() {
    subjectUIDTxtFld = new TextField<String>(Constants.SUBJECT_UID) {

        private static final long serialVersionUID = 1L;

        @Override// w  w  w.  j  av a  2s.c om
        protected void onBeforeRender() {
            boolean isNew = isNew();
            boolean autoGenerate = containerForm.getModelObject().getLinkSubjectStudy().getStudy()
                    .getAutoGenerateSubjectUid();
            if (isNew && !autoGenerate) {
                setEnabled(true);
            } else {
                setEnabled(false);
            }
            super.onBeforeRender();
        }
    };
    subjectUIDTxtFld.setOutputMarkupId(true);

    firstNameTxtFld = new TextField<String>(Constants.PERSON_FIRST_NAME);
    middleNameTxtFld = new TextField<String>(Constants.PERSON_MIDDLE_NAME);
    lastNameTxtFld = new TextField<String>(Constants.PERSON_LAST_NAME);
    previousLastNameTxtFld = new TextField<String>(Constants.SUBJECT_PREVIOUS_LAST_NAME) {
        private static final long serialVersionUID = 1L;

        @Override
        protected void onBeforeRender() {
            if (!isNew()) {
                String subjectPreviousLastname = iArkCommonService
                        .getPreviousLastname(containerForm.getModelObject().getLinkSubjectStudy().getPerson());
                containerForm.getModelObject().setSubjectPreviousLastname(subjectPreviousLastname);
            }
            setEnabled(isNew());

            super.onBeforeRender();
        }
    };
    preferredNameTxtFld = new TextField<String>(Constants.PERSON_PREFERRED_NAME);

    otherIdWebMarkupContainer = new WebMarkupContainer("otherIDWMC");
    otherIdListView = new AbstractListEditor<OtherID>("linkSubjectStudy.person.otherIDs") {

        private static final long serialVersionUID = 1L;

        @Override
        protected void onPopulateItem(ListItem<OtherID> item) {
            PropertyModel<String> otherIDpropModel = new PropertyModel<String>(item.getModelObject(),
                    "otherID");
            PropertyModel<String> otherIDSourcepropModel = new PropertyModel<String>(item.getModelObject(),
                    "otherID_Source");
            TextField<String> otherIdTxtFld = new TextField<String>("otherid", otherIDpropModel);
            otherIdTxtFld.setRequired(true);
            TextField<String> otherIdSourceTxtFld = new TextField<String>("otherid_source",
                    otherIDSourcepropModel);
            otherIdSourceTxtFld.setRequired(true);
            item.add(otherIdTxtFld);
            item.add(otherIdSourceTxtFld);
            item.add(new AjaxButton("delete") {
                @Override
                protected void onSubmit(AjaxRequestTarget target, Form<?> form) {
                    studyService.delete(item.getModelObject());
                    otherIdListView.getModelObject().remove(item.getIndex());

                    target.add(otherIdWebMarkupContainer);
                }

                @Override
                protected void onError(AjaxRequestTarget target, Form<?> form) {
                    onSubmit(target, form);
                }
            });
            item.add(new AttributeModifier(Constants.CLASS, new AbstractReadOnlyModel() {
                @Override
                public String getObject() {
                    return (item.getIndex() % 2 == 1) ? Constants.EVEN : Constants.ODD;
                }
            }));

        }
    };
    otherIdWebMarkupContainer.setOutputMarkupId(true);

    addNewOtherIdBtn = new AjaxButton("newOtherID") {
        private static final long serialVersionUID = 1L;

        @Override
        protected void onSubmit(AjaxRequestTarget target, Form<?> form) {
            OtherID newOtherID = new OtherID();
            newOtherID.setPerson(containerForm.getModelObject().getLinkSubjectStudy().getPerson());
            otherIdListView.getModelObject().add(newOtherID);
            target.add(otherIdWebMarkupContainer);
            super.onSubmit(target, form);
        }
    };
    addNewOtherIdBtn.setDefaultFormProcessing(false);
    otherIdWebMarkupContainer.add(otherIdListView);
    otherIdWebMarkupContainer.add(addNewOtherIdBtn);

    preferredEmailTxtFld = new TextField<String>(Constants.PERSON_PREFERRED_EMAIL);
    otherEmailTxtFld = new TextField<String>(Constants.PERSON_OTHER_EMAIL);

    heardAboutStudyTxtFld = new TextField<String>(Constants.SUBJECT_HEARD_ABOUT_STUDY_FROM);
    dateOfBirthTxtFld = new DateTextField(Constants.PERSON_DOB, au.org.theark.core.Constants.DD_MM_YYYY);
    ArkDatePicker dobDatePicker = new ArkDatePicker();
    dobDatePicker.bind(dateOfBirthTxtFld);
    dateOfBirthTxtFld.add(dobDatePicker);
    currentOrDeathageLable = new Label(Constants.PERSON_CURRENT_OR_DEATH_AGE);
    currentOrDeathageLable.setOutputMarkupId(true);

    dateOfBirthTxtFld.add(new AjaxFormComponentUpdatingBehavior("onchange") {
        private static final long serialVersionUID = 1L;

        @Override
        protected void onUpdate(AjaxRequestTarget target) {
            //update label at date of birth change.
            setCurrentOrDeathAgeLabel();
            setDeathDetailsContainer();
            target.add(wmcDeathDetailsContainer);
            target.add(currentOrDeathageLable);
        }
    });

    dateLastKnownAliveTxtFld = new DateTextField("linkSubjectStudy.person.dateLastKnownAlive",
            au.org.theark.core.Constants.DD_MM_YYYY);
    ArkDatePicker dateLastKnownAlivePicker = new ArkDatePicker();
    dateLastKnownAlivePicker.bind(dateLastKnownAliveTxtFld);
    dateLastKnownAliveTxtFld.add(dateLastKnownAlivePicker);

    dateOfDeathTxtFld = new DateTextField(Constants.PERSON_DOD, au.org.theark.core.Constants.DD_MM_YYYY);
    causeOfDeathTxtFld = new TextField<String>(Constants.PERSON_CAUSE_OF_DEATH);
    ArkDatePicker dodDatePicker = new ArkDatePicker();
    dodDatePicker.bind(dateOfDeathTxtFld);
    dateOfDeathTxtFld.add(dodDatePicker);

    dateOfDeathTxtFld.add(new AjaxFormComponentUpdatingBehavior("onchange") {
        private static final long serialVersionUID = 1L;

        @Override
        protected void onUpdate(AjaxRequestTarget target) {
            //update label at date of text change.
            setCurrentOrDeathAgeLabel();
            setDeathDetailsContainer();
            target.add(wmcDeathDetailsContainer);
            target.add(currentOrDeathageLable);
        }
    });

    commentTxtAreaFld = new TextArea<String>(Constants.PERSON_COMMENT);

    wmcDeathDetailsContainer = new WebMarkupContainer("deathDetailsContainer");
    wmcDeathDetailsContainer.setOutputMarkupId(true);

    // Default death details to disabled (enable onChange of vitalStatus)
    setDeathDetailsContainer();

    // Initialise Drop Down Choices
    // We can also have the reference data populated on Application start
    // and refer to a static list instead of hitting the database

    // Title
    Collection<TitleType> titleTypeList = iArkCommonService.getTitleType();
    ChoiceRenderer<TitleType> defaultChoiceRenderer = new ChoiceRenderer<TitleType>(Constants.NAME,
            Constants.ID);
    titleTypeDdc = new DropDownChoice<TitleType>(Constants.PERSON_TYTPE_TYPE, (List) titleTypeList,
            defaultChoiceRenderer);
    titleTypeDdc.add(new ArkDefaultFormFocusBehavior());

    // Preferred Status
    Collection<EmailStatus> allEmailStatusList = iArkCommonService.getAllEmailStatuses();
    ChoiceRenderer<EmailStatus> preferredEmailStatusRenderer = new ChoiceRenderer<EmailStatus>(Constants.NAME,
            Constants.ID);
    preferredEmailStatusDdc = new DropDownChoice<EmailStatus>(Constants.PERSON_PREFERRED_EMAIL_STATUS,
            (List<EmailStatus>) allEmailStatusList, preferredEmailStatusRenderer);

    // Email Status
    //      Collection<EmailStatus> emailStatusList = iArkCommonService.getEmailStatus();
    ChoiceRenderer<EmailStatus> otherEmailStatusRenderer = new ChoiceRenderer<EmailStatus>(Constants.NAME,
            Constants.ID);
    otherEmailStatusDdc = new DropDownChoice<EmailStatus>(Constants.PERSON_OTHER_EMAIL_STATUS,
            (List<EmailStatus>) allEmailStatusList, otherEmailStatusRenderer);

    // Vital Status
    Collection<VitalStatus> vitalStatusList = iArkCommonService.getVitalStatus();
    ChoiceRenderer<VitalStatus> vitalStatusRenderer = new ChoiceRenderer<VitalStatus>(Constants.NAME,
            Constants.ID);
    vitalStatusDdc = new DropDownChoice<VitalStatus>(Constants.PERSON_VITAL_STATUS,
            (List<VitalStatus>) vitalStatusList, vitalStatusRenderer);
    vitalStatusDdc.add(new AjaxFormComponentUpdatingBehavior("onchange") {
        private static final long serialVersionUID = 1L;

        @Override
        protected void onUpdate(AjaxRequestTarget target) {
            //update label at vital status change.
            setCurrentOrDeathAgeLabel();
            setDeathDetailsContainer();
            target.add(wmcDeathDetailsContainer);
            target.add(currentOrDeathageLable);
        }
    });

    //initialise the current or death label.
    setCurrentOrDeathAgeLabel();

    // Gender Type
    Collection<GenderType> genderTypeList = iArkCommonService.getGenderTypes();
    ChoiceRenderer<GenderType> genderTypeRenderer = new ChoiceRenderer<GenderType>(Constants.NAME,
            Constants.ID);
    genderTypeDdc = new DropDownChoice<GenderType>(Constants.PERSON_GENDER_TYPE,
            (List<GenderType>) genderTypeList, genderTypeRenderer);

    // Subject Status
    List<SubjectStatus> subjectStatusList = iArkCommonService.getSubjectStatus();
    ChoiceRenderer<SubjectStatus> subjectStatusRenderer = new ChoiceRenderer<SubjectStatus>(Constants.NAME,
            Constants.SUBJECT_STATUS_ID);
    subjectStatusDdc = new DropDownChoice<SubjectStatus>(Constants.SUBJECT_STATUS, subjectStatusList,
            subjectStatusRenderer);
    subjectStatusDdc.add(new AjaxFormComponentUpdatingBehavior("onchange") {

        private static final long serialVersionUID = 1L;

        @Override
        protected void onUpdate(AjaxRequestTarget target) {
            if (subjectStatusDdc.getModelObject().getName().equalsIgnoreCase("Archive")) {
                Biospecimen biospecimenCriteria = new Biospecimen();
                biospecimenCriteria.setLinkSubjectStudy(containerForm.getModelObject().getLinkSubjectStudy());
                biospecimenCriteria.setStudy(containerForm.getModelObject().getLinkSubjectStudy().getStudy());
                // check no biospecimens exist
                long count = iLimsService.getBiospecimenCount(biospecimenCriteria);
                if (count > 0) {
                    error("You cannot archive this subject as there are Biospecimens associated ");
                    target.focusComponent(subjectStatusDdc);
                }
            }
            processErrors(target);
        }
    });

    // Marital Status
    Collection<MaritalStatus> maritalStatusList = iArkCommonService.getMaritalStatus();
    ChoiceRenderer<MaritalStatus> maritalStatusRender = new ChoiceRenderer<MaritalStatus>(Constants.NAME,
            Constants.ID);
    maritalStatusDdc = new DropDownChoice<MaritalStatus>(Constants.PERSON_MARITAL_STATUS,
            (List) maritalStatusList, maritalStatusRender);

    // Container for preferredEmail (required when Email selected as preferred contact)
    wmcPreferredEmailContainer = new WebMarkupContainer("preferredEmailContainer");
    wmcPreferredEmailContainer.setOutputMarkupPlaceholderTag(true);
    // Depends on preferredContactMethod
    setPreferredEmailContainer();

    // Person Contact Method
    List<PersonContactMethod> contactMethodList = iArkCommonService.getPersonContactMethodList();
    ChoiceRenderer<PersonContactMethod> contactMethodRender = new ChoiceRenderer<PersonContactMethod>(
            Constants.NAME, Constants.ID);
    personContactMethodDdc = new DropDownChoice<PersonContactMethod>(Constants.PERSON_CONTACT_METHOD,
            (List<PersonContactMethod>) contactMethodList, contactMethodRender);
    personContactMethodDdc.add(new AjaxFormComponentUpdatingBehavior("onchange") {

        private static final long serialVersionUID = 1L;

        @Override
        protected void onUpdate(AjaxRequestTarget target) {
            // Check what was selected and then toggle
            setPreferredEmailContainer();
            target.add(wmcPreferredEmailContainer);
        }
    });

    initConsentFields();

    attachValidators();
    addDetailFormComponents();

    deleteButton.setVisible(false);

    historyButtonPanel = new HistoryButtonPanel(containerForm, arkCrudContainerVO.getEditButtonContainer(),
            arkCrudContainerVO.getDetailPanelFormContainer());
}

From source file:au.org.theark.study.web.component.subject.form.DetailForm.java

License:Open Source License

private void saveUpdateProcess(SubjectVO subjectVO, AjaxRequestTarget target) {

    if (subjectVO.getLinkSubjectStudy().getPerson().getId() == null
            || containerForm.getModelObject().getLinkSubjectStudy().getPerson().getId() == 0) {

        subjectVO.getLinkSubjectStudy().setStudy(study);
        try {/* www .j  ava2s .co  m*/
            studyService.createSubject(subjectVO);
            StringBuffer sb = new StringBuffer();
            sb.append("The Subject with Subject UID: ");
            sb.append(subjectVO.getLinkSubjectStudy().getSubjectUID());
            sb.append(" has been created successfully and linked to the study in context: ");
            sb.append(study.getName());
            sb.append(".");

            if (study.getAutoConsent()) {
                sb.append(" The Subject has been automatically consented to the Study.");
            }

            onSavePostProcess(target);
            this.info(sb.toString());

            // Set new Subject into context
            SecurityUtils.getSubject().getSession().setAttribute(au.org.theark.core.Constants.SUBJECTUID,
                    subjectVO.getLinkSubjectStudy().getSubjectUID());
            SecurityUtils.getSubject().getSession().setAttribute(au.org.theark.core.Constants.PERSON_CONTEXT_ID,
                    subjectVO.getLinkSubjectStudy().getPerson().getId());
            SecurityUtils.getSubject().getSession().setAttribute(au.org.theark.core.Constants.PERSON_TYPE,
                    au.org.theark.core.Constants.PERSON_CONTEXT_TYPE_SUBJECT);
        } catch (ArkUniqueException ex) {
            this.error("Subject UID must be unique.");
        } catch (ArkSubjectInsertException ex) {
            this.error(ex.getMessage());
        }

    } else {
        boolean errorFlag = false;
        if (subjectStatusDdc.getModelObject().getName().equalsIgnoreCase("Archive")) {
            Biospecimen biospecimenCriteria = new Biospecimen();
            biospecimenCriteria.setLinkSubjectStudy(containerForm.getModelObject().getLinkSubjectStudy());
            biospecimenCriteria.setStudy(containerForm.getModelObject().getLinkSubjectStudy().getStudy());
            // check no biospecimens exist
            long count = iLimsService.getBiospecimenCount(biospecimenCriteria);
            if (count > 0) {
                error("You cannot archive this subject as there are Biospecimens associated ");
                target.focusComponent(subjectStatusDdc);
                errorFlag = true;
            }
        }
        if (!errorFlag) {
            try {
                studyService.updateSubject(subjectVO);
                StringBuffer sb = new StringBuffer();
                sb.append("The Subject with Subject UID: ");
                sb.append(subjectVO.getLinkSubjectStudy().getSubjectUID());
                sb.append(" has been updated successfully and linked to the study in context ");
                sb.append(study.getName());
                onSavePostProcess(target);
                this.info(sb.toString());
            } catch (ArkUniqueException e) {
                this.error("Subject UID must be unique.");
            } catch (EntityNotFoundException enf) {
                this.error("Cannot found the selected Subject.");
            }
        }
    }

    processErrors(target);
}

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

License:Apache License

public void setFocusOnComponent(Component component, AjaxRequestTarget target) {
    if (component == null) {
        return;/*w  ww  .  j a  va  2  s  . com*/
    }
    initOnFocusBehavior();
    component.add(onFocusBehavior);
    target.focusComponent(component);
}

From source file:com.mycompany.ErrorCheckPage.java

License:Apache License

public ErrorCheckPage() {
    final WebMarkupContainer updateComponent = new WebMarkupContainer("updateComponent");
    updateComponent.setOutputMarkupId(true);
    add(updateComponent);//from w w w  .ja v  a2  s .c  o  m

    inputText = new AutoErrorCheckTextFeild<String>("inputText", new Model<String>("")) {
        @Override
        protected void errorCheck(AjaxRequestTarget target) {
            String message = "";
            String input = getModelObject();
            if (input == null || "".equals(input)) {
                message = "l?B";
            }

            if ("".equals(message)) {
                String regex = "\\A[-]?[0-9]+\\z";
                Pattern p = Pattern.compile(regex);
                Matcher m1 = p.matcher(input);
                if (!m1.find()) {
                    message = "?l?B";
                }
            }
            if ("".equals(message)) {
                if (input.length() < 2 || input.length() > 10) {
                    message = "2?10?B";
                }
            }
            if (!"".equals(message)) {
                setModel(new Model(""));
                StringBuilder js = new StringBuilder("alert('");
                js.append(message);
                js.append("');");
                target.appendJavaScript(new String(js));
                target.focusComponent(this);
            }
        }
    };
    updateComponent.add(inputText);
}