List of usage examples for org.apache.wicket Component setOutputMarkupId
public final Component setOutputMarkupId(final boolean output)
From source file:org.jaulp.wicket.behaviors.JqueryStatementsBehavior.java
License:Apache License
public CharSequence createRenderedStatement(Component component) { component.setOutputMarkupId(true); JsStatement statement = new JsStatement().$(component); for (ChainableStatement defaultChainableStatement : chainableStatement) { statement.chain(defaultChainableStatement); }/* w w w. j ava 2 s . c om*/ this.renderedStatement = statement.render(); this.rendered = true; return this.renderedStatement; }
From source file:org.obiba.onyx.webapp.administration.page.AdministrationPage.java
License:Open Source License
public AdministrationPage() { AjaxLink<?> userTab = new AdminTab("userTab") { @Override//from w w w . j av a 2 s . c o m public Component getTabComponent() { return new UserSearchPanel(getContentId()); } }; add(userTab.setOutputMarkupId(true)); links.add(userTab); AjaxLink<?> dataTab = new AdminTab("dataTab") { @Override public Component getTabComponent() { return new DataManagementPanel(getContentId()); } }; add(dataTab.setOutputMarkupId(true)); links.add(dataTab); AjaxLink<?> editorTab = new EditorTab("editorTab") { @Override public Component getTabComponent() { for (Module module : moduleRegistry.getModules()) { Component editorComponent = module.getEditorPanel(getContentId()); if (editorComponent != null) return editorComponent; } return null; } }; add(editorTab.setOutputMarkupId(true)); links.add(editorTab); AjaxLink<?> devTab = new AdminTab("devTab") { @Override public Component getTabComponent() { return new DevelopersPanel(getContentId()); } @Override public boolean isVisible() { return ((OnyxApplication) WebApplication.get()).isDevelopmentMode(); } }; add(devTab.setOutputMarkupId(true)); links.add(devTab); // Display first permitted tab for (AjaxLink<?> link : links) { if (link.isActionAuthorized(new Action(Action.RENDER))) { Component tabComponent = ((Link) link).getTabComponent(); add(tabComponent.setOutputMarkupId(true)); link.add(new AttributeModifier("class", true, new Model<String>("obiba-button ui-corner-all selected"))); break; } } }
From source file:org.obiba.onyx.webapp.administration.page.AdministrationPage.java
License:Open Source License
private void replaceContent(AjaxRequestTarget target, Component content) { content.setOutputMarkupId(true); addOrReplace(content);//from w ww . jav a 2 s. c o m target.appendJavascript( "$(document).ready(function () {$('.obiba-content-region').each(function() {$(this).addClass('ui-corner-all');});});"); target.appendJavascript( "$(document).ready(function () {$('.obiba-button').each(function() {$(this).addClass('ui-corner-all');});});"); target.addComponent(content); }
From source file:org.objetdirect.wickext.core.commons.JavaScriptBuilder.java
License:Open Source License
/** * Builds a new instance of {@link JavaScriptBuilder} with the given * {@link Component}.// www .j ava 2 s . com * @param component the component on which this statement applies. */ public JavaScriptBuilder(Component component) { this(); this.component = component; // we force to output the markup id // (very useful to retreive it in JavaScript) component.setOutputMarkupId(true); }
From source file:org.odlabs.wiquery.core.WiQueryPluginInstantiationListener.java
License:Open Source License
public void onInstantiation(Component component) { if (component instanceof IWiQueryPlugin) component.setOutputMarkupId(true); }
From source file:org.odlabs.wiquery.ui.themes.ThemeUiHelper.java
License:Open Source License
/** * Method to get the {@link JsStatement} to insert the hover style on your * {@link Component}//w w w. j a va 2 s . c om * * @param component * Wicket component * @return the JsStatement */ public static JsStatement hover(Component component) { component.setOutputMarkupId(true); return new JsQuery(component).$().chain("hover", "function() { $(this).addClass('ui-state-hover'); }", "function() { $(this).removeClass('ui-state-hover'); }"); }
From source file:org.onexus.ui.authentication.persona.SignOutBehavior.java
License:Apache License
@Override public void renderHead(final Component component, final IHeaderResponse response) { component.setOutputMarkupId(true); super.renderHead(component, response); final Map<String, Object> variables = new HashMap<String, Object>(); variables.put("componentId", component.getMarkupId()); BrowserId personaId = SessionHelper.getBrowserId(Session.get()); String userName = personaId == null ? "" : personaId.getEmail(); variables.put("userName", userName); variables.put("callbackUrl", getCallbackUrl()); final TextTemplate verifyTemplate = new PackageTextTemplate(VerifyBehavior.class, "signout.js.tmpl"); String asString = verifyTemplate.asString(variables); response.render(GuestPanel.INCLUDE); response.render(OnDomReadyHeaderItem.forScript(asString)); }
From source file:org.onexus.ui.authentication.persona.VerifyBehavior.java
License:Apache License
@Override public void renderHead(final Component component, final IHeaderResponse response) { component.setOutputMarkupId(true); super.renderHead(component, response); final Map<String, Object> variables = new HashMap<String, Object>(); variables.put("componentId", component.getMarkupId()); variables.put("callbackUrl", getCallbackUrl()); final TextTemplate verifyTemplate = new PackageTextTemplate(VerifyBehavior.class, "verify.js.tmpl"); String asString = verifyTemplate.asString(variables); response.render(OnDomReadyHeaderItem.forScript(asString)); }
From source file:org.opensingular.form.wicket.IWicketComponentMapper.java
License:Apache License
default void addAjaxUpdate(Component component, IModel<SInstance> model, IAjaxUpdateListener listener) { component.setOutputMarkupId(true); adjustJSEvents(component);/*from w ww . ja v a2 s. co m*/ new AjaxUpdateListenersFactory().getBehaviorsForm(component, model, listener).stream() .forEach(component::add); }
From source file:org.patientview.radar.web.panels.firstvisit.ClinicalPicturePanel.java
License:Open Source License
public ClinicalPicturePanel(String id, final IModel<Long> radarNumberModel, final boolean isFirstVisit) { super(id);/*www .j a va 2 s.c o m*/ setOutputMarkupId(true); setOutputMarkupPlaceholderTag(true); // set srns elements to hide srnsElementsToHide = Arrays.asList(URTICARIA_CONTAINER_ID, URTICARIA_DETAIL_CONTAINER_ID, PARTIAL_LIPODYSTROPHY_CONTAINER_ID, PRECEEDING_INFECTION_CONTAINER_ID, PRECEEDING_INFECTION_DETAIL_CONTAINER_ID, CHRONIC_INFECTION_ACTIVE_CONTAINER_ID, CHRONIC_INFECTION_DETAIL_CONTAINER_ID); // set mpgn elements to hide mpgnElementsToHide = Arrays.asList(THROMBOSIS_CONTAINER_ID, PERITONITIS_CONTAINER_ID, PULMONARY_OEDEMA_CONTAINER_ID, DIABETES_TYPE_CONTAINER_ID, RASH_CONTAINER_ID, RASH_DETAIL_CONTAINER_ID, POSSIBLE_IMMUNISATION_TRIGGER_CONTAINER_ID, PHENOTYPE_CONTAINER_1, PHENOTYPE_CONTAINER_2, PHENOTYPE_CONTAINER_3, PHENOTYPE_CONTAINER_4); // set srns elements to hide on follow up srnsElementsToHideFollowup = Arrays.asList(PATIENT_DETAILS_CONTAINER); final WebMarkupContainer clinicalPictureContainer = new WebMarkupContainer("clinicalPictureContainer"); clinicalPictureContainer.setVisible(isFirstVisit); clinicalPictureContainer.setOutputMarkupId(true); clinicalPictureContainer.setOutputMarkupPlaceholderTag(true); add(clinicalPictureContainer); final TextField<Double> diastolicBloodPressure = new TextField<Double>("diastolicBloodPressure"); final CompoundPropertyModel<ClinicalData> firstVisitModel = new CompoundPropertyModel<ClinicalData>( new LoadableDetachableModel<ClinicalData>() { @Override protected ClinicalData load() { if (radarNumberModel.getObject() != null) { // If we have a radar number get the list from DAO ClinicalData clinicalData; clinicalData = clinicalDataManager .getFirstClinicalDataByRadarNumber(radarNumberModel.getObject()); if (clinicalData != null) { return clinicalData; } } // By default just return new one ClinicalData clinicalDataNew = new ClinicalData(); clinicalDataNew.setSequenceNumber(1); return clinicalDataNew; } }); final IModel<ClinicalData> followUpModel = new LoadableDetachableModel<ClinicalData>() { private Long id; @Override protected ClinicalData load() { if (id == null) { return new ClinicalData(); } else { return clinicalDataManager.getClinicalData(id); } } @Override public void detach() { ClinicalData clinicalData = getObject(); if (clinicalData != null) { id = clinicalData.getId(); } super.detach(); } }; final IModel<ClinicalData> formModel; if (isFirstVisit) { formModel = firstVisitModel; } else { formModel = new CompoundPropertyModel<ClinicalData>(followUpModel); } IModel<List> clinicalPictureListModel = new AbstractReadOnlyModel<List>() { @Override public List getObject() { if (radarNumberModel.getObject() != null) { List list = clinicalDataManager.getClinicalDataByRadarNumber(radarNumberModel.getObject()); return !list.isEmpty() ? list : Collections.emptyList(); } return Collections.emptyList(); } }; WebMarkupContainer followupContainer = new WebMarkupContainer("followupContainer"); followupContainer.setVisible(!isFirstVisit); followupContainer.setOutputMarkupPlaceholderTag(true); final DropDownChoice clinicalPicturesSwitcher = new DropDownChoice("clinicalPicturesSwitcher", followUpModel, clinicalPictureListModel, new DateChoiceRenderer("clinicalPictureDate", "id") { @Override protected Date getDate(Object object) { return ((ClinicalData) object).getClinicalPictureDate(); } }); clinicalPicturesSwitcher.setNullValid(true); clinicalPicturesSwitcher.setOutputMarkupId(true); clinicalPictureContainer.setOutputMarkupPlaceholderTag(true); followupContainer.add(clinicalPicturesSwitcher); clinicalPicturesSwitcher.add(new AjaxFormComponentUpdatingBehavior("onChange") { @Override protected void onUpdate(AjaxRequestTarget target) { clinicalPictureContainer.setVisible(true); target.add(clinicalPictureContainer); } }); AjaxLink addNew = new AjaxLink("addNew") { @Override public void onClick(AjaxRequestTarget target) { ClinicalData clinicalData = new ClinicalData(); Diagnosis daignosis = RadarModelFactory.getDiagnosisModel(radarNumberModel, diagnosisManager) .getObject(); if (daignosis != null) { clinicalData.setSignificantDiagnosis1(daignosis.getSignificantDiagnosis1()); clinicalData.setSignificantDiagnosis2(daignosis.getSignificantDiagnosis2()); } ClinicalData firstClinicalData = clinicalDataManager .getFirstClinicalDataByRadarNumber(radarNumberModel.getObject()); if (firstClinicalData != null) { clinicalData.setPhenotype1(firstClinicalData.getPhenotype1()); clinicalData.setPhenotype2(firstClinicalData.getPhenotype2()); clinicalData.setPhenotype3(firstClinicalData.getPhenotype3()); clinicalData.setPhenotype4(firstClinicalData.getPhenotype4()); } formModel.setObject(clinicalData); clinicalPictureContainer.setVisible(true); clinicalPicturesSwitcher.clearInput(); target.add(clinicalPictureContainer, clinicalPicturesSwitcher); } }; followupContainer.add(addNew); add(followupContainer); final List<Component> componentsToUpdate = new ArrayList<Component>(); if (clinicalPicturesSwitcher.isVisible()) { componentsToUpdate.add(clinicalPicturesSwitcher); } final Form<ClinicalData> form = new Form<ClinicalData>("form", formModel) { @Override protected void onValidateModelObjects() { super.onValidateModelObjects(); ClinicalData clinicalData = getModelObject(); Integer systolicBloodPressureVal = clinicalData.getSystolicBloodPressure(); Integer diastolicBloodPressureVal = clinicalData.getDiastolicBloodPressure(); if (systolicBloodPressureVal != null && diastolicBloodPressureVal != null) { if (!(systolicBloodPressureVal.compareTo(diastolicBloodPressureVal) > 0)) { diastolicBloodPressure.error("This value has to be less than the first value"); } } } @Override protected void onSubmit() { ClinicalData clinicalData = getModelObject(); Long radarNumber; if (clinicalData.getRadarNumber() == null) { try { radarNumber = radarNumberModel.getObject(); } catch (ClassCastException e) { Object obj = radarNumberModel.getObject(); radarNumber = Long.parseLong((String) obj); } clinicalData.setRadarNumber(radarNumber); } clinicalDataManager.saveClinicalDate(clinicalData); // if first visit - follow through phenotypes to following visit records if (isFirstVisit) { List<ClinicalData> clinicalDatas = clinicalDataManager .getClinicalDataByRadarNumber(clinicalData.getRadarNumber()); for (ClinicalData cd : clinicalDatas) { // ignore first visit if (clinicalData.getId().equals(cd.getId())) { continue; } cd.setPhenotype1(clinicalData.getPhenotype1()); cd.setPhenotype2(clinicalData.getPhenotype2()); cd.setPhenotype3(clinicalData.getPhenotype3()); cd.setPhenotype4(clinicalData.getPhenotype4()); clinicalDataManager.saveClinicalDate(cd); } } } }; clinicalPictureContainer.add(form); final IModel<Boolean> isSrnsModel = new AbstractReadOnlyModel<Boolean>() { private DiagnosisCode diagnosisCode = null; @Override public Boolean getObject() { if (diagnosisCode == null) { if (radarNumberModel.getObject() != null) { Diagnosis diagnosis = diagnosisManager .getDiagnosisByRadarNumber(radarNumberModel.getObject()); diagnosisCode = diagnosis != null ? diagnosis.getDiagnosisCode() : null; } } if (diagnosisCode != null) { return diagnosisCode.getId().equals(DiagnosisPanel.SRNS_ID); } return false; } }; Label successLabel = RadarComponentFactory.getSuccessMessageLabel("successMessage", form, componentsToUpdate); Label successLabelDown = RadarComponentFactory.getSuccessMessageLabel("successMessageDown", form, componentsToUpdate); Label errorLabel = RadarComponentFactory.getErrorMessageLabel("errorMessage", form, componentsToUpdate); Label errorLabelDown = RadarComponentFactory.getErrorMessageLabel("errorMessageDown", form, componentsToUpdate); TextField<Long> radarNumber = new TextField<Long>("radarNumber", radarNumberModel); radarNumber.setEnabled(false); form.add(radarNumber); form.add(new TextField("hospitalNumber", RadarModelFactory.getHospitalNumberModel(radarNumberModel, patientManager))); form.add(new TextField("diagnosis", new PropertyModel( RadarModelFactory.getDiagnosisCodeModel(radarNumberModel, diagnosisManager), "abbreviation"))); form.add(new TextField("firstName", RadarModelFactory.getFirstNameModel(radarNumberModel, patientManager))); form.add(new TextField("surname", RadarModelFactory.getSurnameModel(radarNumberModel, patientManager))); form.add(new DateTextField("dob", RadarModelFactory.getDobModel(radarNumberModel, patientManager), RadarApplication.DATE_PATTERN)); RadarRequiredDateTextField clinicalPictureDate = new RadarRequiredDateTextField("clinicalPictureDate", form, componentsToUpdate); form.add(clinicalPictureDate); RadarTextFieldWithValidation height = new RadarTextFieldWithValidation("height", new RangeValidator<Double>(RadarApplication.MIN_HEIGHT, RadarApplication.MAX_HEIGHT), form, componentsToUpdate); form.add(height); RadarTextFieldWithValidation weight = new RadarTextFieldWithValidation("weight", new RangeValidator<Double>(3.0, 100.0), form, componentsToUpdate); form.add(weight); // Blood pressure TextField<Double> systolicBloodPressure = new TextField("systolicBloodPressure"); systolicBloodPressure.add(new RangeValidator<Integer>(50, 200)); form.add(systolicBloodPressure); final ComponentFeedbackPanel systolicBloodPressureFeedback = new ComponentFeedbackPanel( "systolicBloodPressureFeedback", systolicBloodPressure); systolicBloodPressureFeedback.setOutputMarkupId(true); systolicBloodPressureFeedback.setOutputMarkupPlaceholderTag(true); form.add(systolicBloodPressureFeedback); diastolicBloodPressure.add(new RangeValidator<Integer>(20, 150)); form.add(diastolicBloodPressure); final ComponentFeedbackPanel diastolicBloodPressureFeedback = new ComponentFeedbackPanel( "diastolicBloodPressureFeedback", diastolicBloodPressure); diastolicBloodPressureFeedback.setOutputMarkupId(true); diastolicBloodPressureFeedback.setOutputMarkupPlaceholderTag(true); form.add(diastolicBloodPressureFeedback); Component meanArterialPressure = new TextField("meanArterialPressure").setEnabled(false); meanArterialPressure.setOutputMarkupPlaceholderTag(true); meanArterialPressure.setOutputMarkupId(true); form.add(meanArterialPressure); componentsToUpdate.add(meanArterialPressure); WebMarkupContainer phenotypeContainer1 = new WebMarkupContainer(PHENOTYPE_CONTAINER_1) { @Override public boolean isVisible() { return !hideElement(isFirstVisit, isSrnsModel.getObject(), getId()); } }; WebMarkupContainer phenotypeContainer2 = new WebMarkupContainer(PHENOTYPE_CONTAINER_2) { @Override public boolean isVisible() { return !hideElement(isFirstVisit, isSrnsModel.getObject(), getId()); } }; WebMarkupContainer phenotypeContainer3 = new WebMarkupContainer(PHENOTYPE_CONTAINER_3) { @Override public boolean isVisible() { return !hideElement(isFirstVisit, isSrnsModel.getObject(), getId()); } }; WebMarkupContainer phenotypeContainer4 = new WebMarkupContainer(PHENOTYPE_CONTAINER_4) { @Override public boolean isVisible() { return !hideElement(isFirstVisit, isSrnsModel.getObject(), getId()); } }; phenotypeContainer1.add(new PhenotypeChooser("phenotype1")); phenotypeContainer2.add(new PhenotypeChooser("phenotype2")); phenotypeContainer3.add(new PhenotypeChooser("phenotype3")); phenotypeContainer4.add(new PhenotypeChooser("phenotype4")); form.add(phenotypeContainer1); form.add(phenotypeContainer2); form.add(phenotypeContainer3); form.add(phenotypeContainer4); form.add(new TextArea("comments")); form.add(new TextField("significantDiagnosis1")); form.add(new TextField("significantDiagnosis2")); // Yes/No/Unknown for the following WebMarkupContainer patientDetailsContainer = new WebMarkupContainer(PATIENT_DETAILS_CONTAINER) { @Override public boolean isVisible() { return !hideElement(isFirstVisit, isSrnsModel.getObject(), getId()); } }; patientDetailsContainer.setOutputMarkupPlaceholderTag(true); form.add(patientDetailsContainer); patientDetailsContainer.add(new YesNoRadioGroup("oedema", true)); patientDetailsContainer.add(new YesNoRadioGroup("hypovalaemia", true)); patientDetailsContainer.add(new YesNoRadioGroup("fever", true)); WebMarkupContainer thrombosisContainer = new WebMarkupContainer(THROMBOSIS_CONTAINER_ID) { @Override public boolean isVisible() { return !hideElement(isFirstVisit, isSrnsModel.getObject(), getId()); } }; YesNoRadioGroup thrombosis = new YesNoRadioGroup("thrombosis", true); thrombosisContainer.add(thrombosis); patientDetailsContainer.add(thrombosisContainer); WebMarkupContainer peritonitisContainer = new WebMarkupContainer(PERITONITIS_CONTAINER_ID) { @Override public boolean isVisible() { return !hideElement(isFirstVisit, isSrnsModel.getObject(), getId()); } }; peritonitisContainer.add(new YesNoRadioGroup("peritonitis", true)); patientDetailsContainer.add(peritonitisContainer); WebMarkupContainer pulmonaryOedemaContainer = new WebMarkupContainer(PULMONARY_OEDEMA_CONTAINER_ID) { @Override public boolean isVisible() { return isSrnsModel.getObject(); } }; pulmonaryOedemaContainer.add(new YesNoRadioGroup("pulmonaryOedema", true)); patientDetailsContainer.add(pulmonaryOedemaContainer); patientDetailsContainer.add(new YesNoRadioGroup("hypertension", true)); //urticaria boolean showUrticariaOnInit = form.getModelObject().getUrticaria() != null ? form.getModelObject().getUrticaria() : false; // only show if diag is mpgn/dd if (isSrnsModel.getObject().equals(true)) { showUrticariaOnInit = false; } final IModel<Boolean> showUrticariaIModel = new Model<Boolean>(showUrticariaOnInit); MarkupContainer urticariaDetailContainer = new WebMarkupContainer(URTICARIA_DETAIL_CONTAINER_ID) { @Override public boolean isVisible() { if (!hideElement(isFirstVisit, isSrnsModel.getObject(), getId())) { return showUrticariaIModel.getObject(); } return false; } }; componentsToUpdate.add(urticariaDetailContainer); urticariaDetailContainer.add(new TextArea("rashDetail")); // shares same field in db as rash detail It seems patientDetailsContainer.add(urticariaDetailContainer); urticariaDetailContainer.setOutputMarkupId(true); urticariaDetailContainer.setOutputMarkupPlaceholderTag(true); // More yes/no options WebMarkupContainer urticariaContainer = new WebMarkupContainer(URTICARIA_CONTAINER_ID) { @Override public boolean isVisible() { return !hideElement(isFirstVisit, isSrnsModel.getObject(), getId()); } }; YesNoRadioGroup urticaria = new YesNoRadioGroup("urticaria", true); urticariaContainer.add(urticaria); patientDetailsContainer.add(urticariaContainer); urticaria.add(new AjaxFormChoiceComponentUpdatingBehavior() { @Override protected void onUpdate(AjaxRequestTarget target) { showUrticariaIModel.setObject(Boolean.TRUE.equals(form.getModelObject().getUrticaria())); ComponentHelper.updateComponentsIfParentIsVisible(target, componentsToUpdate); } }); // Diabetes WebMarkupContainer diabetesTypeContainer = new WebMarkupContainer(DIABETES_TYPE_CONTAINER_ID) { @Override public boolean isVisible() { return !hideElement(isFirstVisit, isSrnsModel.getObject(), getId()); } }; diabetesTypeContainer.add(new DropDownChoice<ClinicalData.DiabetesType>("diabetesType", Arrays.asList(ClinicalData.DiabetesType.TYPE_I, ClinicalData.DiabetesType.TYPE_II, ClinicalData.DiabetesType.NO), new ChoiceRenderer<ClinicalData.DiabetesType>("label", "id"))); patientDetailsContainer.add(diabetesTypeContainer); boolean showRashDetailsOnInit = form.getModelObject().getRash() != null ? form.getModelObject().getRash() : false; // only show if diag is srns if (isSrnsModel.getObject().equals(false)) { showRashDetailsOnInit = false; } final IModel<Boolean> showRashDetailsIModel = new Model<Boolean>(showRashDetailsOnInit); // Rash details needs show/hide final MarkupContainer rashDetailContainer = new WebMarkupContainer(RASH_DETAIL_CONTAINER_ID) { @Override public boolean isVisible() { if (!hideElement(isFirstVisit, isSrnsModel.getObject(), getId())) { return showRashDetailsIModel.getObject(); } return false; } }; rashDetailContainer.add(new TextArea("rashDetail")); patientDetailsContainer.add(rashDetailContainer); rashDetailContainer.setOutputMarkupId(true); rashDetailContainer.setOutputMarkupPlaceholderTag(true); componentsToUpdate.add(rashDetailContainer); // More yes/no options WebMarkupContainer rashContainer = new WebMarkupContainer(RASH_CONTAINER_ID) { @Override public boolean isVisible() { return !hideElement(isFirstVisit, isSrnsModel.getObject(), getId()); } }; YesNoRadioGroup rash = new YesNoRadioGroup("rash", true); rashContainer.add(rash); patientDetailsContainer.add(rashContainer); rash.add(new AjaxFormChoiceComponentUpdatingBehavior() { @Override protected void onUpdate(AjaxRequestTarget target) { showRashDetailsIModel.setObject(Boolean.TRUE.equals(form.getModelObject().getRash())); ComponentHelper.updateComponentsIfParentIsVisible(target, componentsToUpdate); } }); WebMarkupContainer possibleImmunisationTriggerContainer = new WebMarkupContainer( POSSIBLE_IMMUNISATION_TRIGGER_CONTAINER_ID) { @Override public boolean isVisible() { return !hideElement(isFirstVisit, isSrnsModel.getObject(), getId()); } }; YesNoRadioGroup possibleImmunisationTrigger = new YesNoRadioGroup("possibleImmunisationTrigger", true); possibleImmunisationTriggerContainer.add(possibleImmunisationTrigger); patientDetailsContainer.add(possibleImmunisationTriggerContainer); WebMarkupContainer partialLipodystrophyContainer = new WebMarkupContainer( PARTIAL_LIPODYSTROPHY_CONTAINER_ID) { @Override public boolean isVisible() { return !hideElement(isFirstVisit, isSrnsModel.getObject(), getId()); } }; YesNoRadioGroup partialLipodystrophy = new YesNoRadioGroup("partialLipodystrophy", true); partialLipodystrophyContainer.add(partialLipodystrophy); patientDetailsContainer.add(partialLipodystrophyContainer); WebMarkupContainer preceedingInfectionContainer = new WebMarkupContainer( PRECEEDING_INFECTION_CONTAINER_ID) { @Override public boolean isVisible() { return !hideElement(isFirstVisit, isSrnsModel.getObject(), getId()); } }; // preceding infection boolean showPrecedingInfectionOnInit = form.getModelObject().getPreceedingInfection() != null ? form.getModelObject().getPreceedingInfection() : false; // only show if diag is mpgn/dd if (isSrnsModel.getObject().equals(true)) { showPrecedingInfectionOnInit = false; } final IModel<Boolean> showPrecedingInfectioModel = new Model<Boolean>(showPrecedingInfectionOnInit); YesNoRadioGroup preceedingInfection = new YesNoRadioGroup("preceedingInfection", true); preceedingInfectionContainer.add(preceedingInfection); preceedingInfection.add(new AjaxFormChoiceComponentUpdatingBehavior() { @Override protected void onUpdate(AjaxRequestTarget target) { showPrecedingInfectioModel .setObject(Boolean.TRUE.equals(form.getModelObject().getPreceedingInfection())); ComponentHelper.updateComponentsIfParentIsVisible(target, componentsToUpdate); } }); patientDetailsContainer.add(preceedingInfectionContainer); // Preceeding infection show/hide MarkupContainer preceedingInfectionDetailContainer = new WebMarkupContainer( PRECEEDING_INFECTION_DETAIL_CONTAINER_ID) { @Override public boolean isVisible() { return showPrecedingInfectioModel.getObject(); } }; TextAreaWithHelpText preceedingInfectionDetail = new TextAreaWithHelpText("preceedingInfectionDetail", "Enter details") { @Override public String getModelData() { ClinicalData clinicalData = formModel.getObject(); return clinicalData != null ? clinicalData.getPreceedingInfectionDetail() != null ? clinicalData.getPreceedingInfectionDetail() : "" : ""; } @Override public void setModelData(String data) { ClinicalData clinicalData = formModel.getObject(); if (clinicalData != null) { clinicalData.setPreceedingInfectionDetail(data); } } }; preceedingInfectionDetail.initBehaviour(); preceedingInfectionDetailContainer.add(preceedingInfectionDetail); patientDetailsContainer.add(preceedingInfectionDetailContainer); componentsToUpdate.add(preceedingInfectionDetailContainer); preceedingInfectionDetailContainer.setOutputMarkupId(true); preceedingInfectionDetailContainer.setOutputMarkupPlaceholderTag(true); // chronic infection boolean showChronicOnInit = form.getModelObject().getChronicInfection() != null ? form.getModelObject().getChronicInfection() : false; // only show if diag is mpgn/dd if (isSrnsModel.getObject().equals(true)) { showChronicOnInit = false; } final IModel<Boolean> showChronicModel = new Model<Boolean>(showChronicOnInit); WebMarkupContainer chronicInfectionActiveContainer = new WebMarkupContainer( CHRONIC_INFECTION_ACTIVE_CONTAINER_ID) { @Override public boolean isVisible() { return !hideElement(isFirstVisit, isSrnsModel.getObject(), getId()); } }; YesNoRadioGroup chronicInfection = new YesNoRadioGroup("chronicInfection", true); chronicInfection.add(new AjaxFormChoiceComponentUpdatingBehavior() { @Override protected void onUpdate(AjaxRequestTarget target) { showChronicModel.setObject(Boolean.TRUE.equals(form.getModelObject().getChronicInfection())); ComponentHelper.updateComponentsIfParentIsVisible(target, componentsToUpdate); } }); chronicInfectionActiveContainer.add(chronicInfection); patientDetailsContainer.add(chronicInfectionActiveContainer); // Chronic infection show/hide MarkupContainer chronicInfectionDetailContainer = new WebMarkupContainer( CHRONIC_INFECTION_DETAIL_CONTAINER_ID) { @Override public boolean isVisible() { if (!hideElement(isFirstVisit, isSrnsModel.getObject(), getId())) { return showChronicModel.getObject(); } return false; } }; TextAreaWithHelpText chronicInfectionDetail = new TextAreaWithHelpText("chronicInfectionDetail", "Enter Details") { @Override public String getModelData() { ClinicalData clinicalData = formModel.getObject(); return clinicalData != null ? clinicalData.getChronicInfectionDetail() != null ? clinicalData.getChronicInfectionDetail() : "" : ""; } @Override public void setModelData(String data) { ClinicalData clinicalData = formModel.getObject(); if (clinicalData != null) { clinicalData.setChronicInfectionDetail(data); } } }; chronicInfectionDetail.initBehaviour(); chronicInfectionDetailContainer.add(chronicInfectionDetail); componentsToUpdate.add(chronicInfectionDetailContainer); chronicInfectionDetailContainer.setOutputMarkupId(true); chronicInfectionDetailContainer.setOutputMarkupPlaceholderTag(true); patientDetailsContainer.add(chronicInfectionDetailContainer); boolean showOphthalmoscopyDetailsOnInit = form.getModelObject().getOphthalmoscopy() != null ? form.getModelObject().getOphthalmoscopy() : false; final IModel<Boolean> showOphthalmoscopyDetailsIModel = new Model<Boolean>(showOphthalmoscopyDetailsOnInit); YesNoRadioGroup ophthalmoscopy = new YesNoRadioGroup("ophthalmoscopy", true); patientDetailsContainer.add(ophthalmoscopy); ophthalmoscopy.add(new AjaxFormChoiceComponentUpdatingBehavior() { @Override protected void onUpdate(AjaxRequestTarget target) { showOphthalmoscopyDetailsIModel .setObject(Boolean.TRUE.equals(form.getModelObject().getOphthalmoscopy())); ComponentHelper.updateComponentsIfParentIsVisible(target, componentsToUpdate); } }); // Ophthalmoscopy show/hide MarkupContainer ophthalmoscopyDetailContainer = new WebMarkupContainer("ophthalmoscopyDetailContainer") { @Override public boolean isVisible() { return showOphthalmoscopyDetailsIModel.getObject(); } }; ophthalmoscopyDetailContainer.setOutputMarkupId(true); ophthalmoscopyDetailContainer.setOutputMarkupPlaceholderTag(true); componentsToUpdate.add(ophthalmoscopyDetailContainer); TextAreaWithHelpText ophthalmoscopyDetail = new TextAreaWithHelpText("ophthalmoscopyDetail", ClinicalData.OPHTHALMOSCOPY_HELP_TEXT) { @Override public String getModelData() { ClinicalData clinicalData = formModel.getObject(); return clinicalData != null ? clinicalData.getOphthalmoscopyDetail() != null ? clinicalData.getOphthalmoscopyDetail() : "" : ""; } @Override public void setModelData(String data) { ClinicalData clinicalData = formModel.getObject(); if (clinicalData != null) { clinicalData.setOphthalmoscopyDetail(data); } } }; ophthalmoscopyDetail.initBehaviour(); ophthalmoscopyDetailContainer.add(ophthalmoscopyDetail); patientDetailsContainer.add(ophthalmoscopyDetailContainer); componentsToUpdate.add(systolicBloodPressureFeedback); componentsToUpdate.add(diastolicBloodPressureFeedback); // Complications WebMarkupContainer complicationsContainer = new WebMarkupContainer("complicationsContainer") { @Override public boolean isVisible() { return !isFirstVisit && isSrnsModel.getObject(); } }; complicationsContainer.add(new YesNoRadioGroup("infectionNecessitatingHospitalisation", false, false)); MarkupContainer infectionDetailContainer = new WebMarkupContainer("infectionDetailContainer"); infectionDetailContainer.add(new TextArea("infectionDetail")); complicationsContainer.add(infectionDetailContainer); complicationsContainer.add(new YesNoRadioGroup("complicationThrombosis", false, false)); MarkupContainer complicationThrombosisDetailContainer = new WebMarkupContainer( "complicationThrombosisContainer"); complicationThrombosisDetailContainer.add(new TextArea("complicationThrombosisDetail")); complicationsContainer.add(complicationThrombosisDetailContainer); // Hypertension complicationsContainer.add(new YesNoRadioGroup("hypertension", true)); // CKD stage complicationsContainer.add(new CkdStageRadioGroup("ckdStage")); form.add(complicationsContainer); // Listed for transplant? WebMarkupContainer listedForTransplantContainer = new WebMarkupContainer("listedForTransplantContainer") { @Override public boolean isVisible() { return !isFirstVisit && isSrnsModel.getObject(); } }; form.add(listedForTransplantContainer); listedForTransplantContainer.add(new YesNoRadioGroup("listedForTransplant")); ClinicalAjaxSubmitLink save = new ClinicalAjaxSubmitLink("save") { @Override protected List<? extends Component> getComponentsToUpdate() { return componentsToUpdate; } }; ClinicalAjaxSubmitLink saveDown = new ClinicalAjaxSubmitLink("saveDown") { @Override protected List<? extends Component> getComponentsToUpdate() { return componentsToUpdate; } }; form.add(save, saveDown); }