@Test public void testSingleOption() throws Exception { DropdownWidget widget = new DropdownWidget(); List<Option> option = new ArrayList<Option>(); option.add(new Option("label1", "value1", false)); widget.setOptions(option); widget.setInitialValue("choose one"); FormEntryContext formEntryContext = mock(FormEntryContext.class); when(formEntryContext.getFieldName(widget)).thenReturn("w1"); String html = widget.generateHtml(formEntryContext); assertThat(html, is("<select id=\"w1\" name=\"w1\"><option value=\"value1\">label1</option></select>")); }
private Widget buildDropdownWidget(Integer size){ Widget dropdownWidget = new DropdownWidget(size); if(size==1 || !required){ // show an empty option when size =1, even if required =true ((DropdownWidget) dropdownWidget).addOption(new Option()); } return dropdownWidget; } private void prepareWidgets(FormEntryContext context, Map<String, String> parameters) {
private CareSetting getCareSetting(FormEntrySession session, HttpServletRequest submission) { Integer careSettingId = Integer.valueOf((String) careSettingWidget.getValue(session.getContext(), submission)); CareSetting careSetting = Context.getOrderService().getCareSetting(careSettingId); return careSetting; }
static void setupDropdownWidget(FormEntryContext context, DropdownWidget widget, List<Option> options) { if (context.getMode() != Mode.VIEW) { widget.setOptions(options); if (!options.isEmpty()) { widget.setInitialValue(options.get(0).getValue()); } } else { widget.setOptions(new ArrayList<Option>()); } context.registerWidget(widget); }
if (context.getMode() == Mode.VIEW) { String toPrint = ""; if (getInitialValue() != null) { for (Option o : getOptions()) { if (getInitialValue().equals(o.getValue())) { toPrint = o.getLabel(); found = true; toPrint = getInitialValue(); return WidgetFactory.displayValue(toPrint); } else { if(size !=null){ if (size == 999) { size = getOptions().size()+1; // Add one to make sure all elements show up without scrollbar for (int i = 0; i < getOptions().size(); ++i) { Option option = getOptions().get(i); boolean selected = option.isSelected(); if (!selected) selected = getInitialValue() == null ? option.getValue().equals("") : getInitialValue().equals(option.getValue()); sb.append("<option value=\"").append(option.getValue()).append("\""); if (selected)
/** * Be aware it's called by the constructor. * * @param context * @param mss */ protected void createFrequencyWidget(FormEntryContext context, MessageSourceService mss) { frequencyWidget = new DropdownWidget(); frequencyErrorWidget = new ErrorWidget(); // fill frequency drop down lists (ENTER, EDIT) List<Option> freqOptions = new ArrayList<Option>(); if (context.getMode() != Mode.VIEW ) { for (int i = 1; i <= 10; i++) { freqOptions.add(new Option(i + "/" + mss.getMessage("DrugOrder.frequency.day"), String.valueOf(i), false)); } } frequencyWidget.setOptions(freqOptions); context.registerWidget(frequencyWidget); context.registerErrorWidget(frequencyWidget, frequencyErrorWidget); }
private void createDosingTypeWidget(FormEntryContext context) { dosingTypeWidget = new DropdownWidget(); List<Option> options = new ArrayList<Option>(); MessageSourceService mss = Context.getMessageSourceService(); options.add(new Option(mss.getMessage("htmlformentry.drugOrder.dosingType.simple"), SimpleDosingInstructions.class.getName(), true)); //options.add(new Option(mss.getMessage("htmlformentry.drugOrder.dosingType.freetext"), FreeTextDosingInstructions.class.getName(), false)); setupDropdownWidget(context, dosingTypeWidget, options); }
@Override protected void createFrequencyWidget(FormEntryContext context, MessageSourceService mss) { frequencyWidget = new DropdownWidget(); frequencyErrorWidget = new ErrorWidget(); // fill frequency drop down lists (ENTER, EDIT) List<OrderFrequency> orderFrequencies = Context.getOrderService().getOrderFrequencies(false); List<Option> freqOptions = new ArrayList<Option>(); if (context.getMode() != Mode.VIEW) { for (OrderFrequency orderFrequency : orderFrequencies) { freqOptions.add(new Option(orderFrequency.getConcept().getName().getName(), orderFrequency.getId() .toString(), false)); } if (!orderFrequencies.isEmpty()) { frequencyWidget.setInitialValue(orderFrequencies.get(0).getId()); } } frequencyWidget.setOptions(freqOptions); context.registerWidget(frequencyWidget); context.registerErrorWidget(frequencyWidget, frequencyErrorWidget); }
reasonForExitWidget = new DropdownWidget(); reasonForExitErrorWidget = new ErrorWidget(); causeOfDeathWidget = new DropdownWidget(); causeOfDeathErrorWidget = new ErrorWidget(); dateWidget.setInitialValue(obsList.get(0).getObsDatetime()); initialAnswer = obsList.get(0).getValueCoded(); reasonForExitWidget.setInitialValue(initialAnswer.getDisplayString()); boolean initialValueIsSet = !(reasonForExitWidget.getInitialValue() == null); reasonForExitWidget.addOption(new Option(Context.getMessageSourceService().getMessage("htmlformentry.chooseAReasonForExit"), "", !initialValueIsSet)); Concept answerConcept = conceptAnswer.getAnswerConcept(); Option answerOption = new Option(answerConcept.getDisplayString(), answerConcept.getId().toString(), answerConcept.equals(initialAnswer)); reasonForExitWidget.addOption(answerOption); causeOfDeathWidget.setInitialValue(initialCauseOfDeath.getDisplayString()); if (obsDeath.get(0).getValueText() != null) { otherReasonWidget.setInitialValue(obsDeath.get(0).getValueText()); boolean causeOfDeathIsSet = !(causeOfDeathWidget.getInitialValue() == null); causeOfDeathWidget.addOption(new Option(Context.getMessageSourceService().getMessage("htmlformentry.chooseACauseToDeath"), "", !causeOfDeathIsSet)); Concept answerConcept = conceptAnswer.getAnswerConcept(); Option answerOption = new Option(answerConcept.getDisplayString(), answerConcept.getId().toString(), answerConcept.equals(initialCauseOfDeath)); causeOfDeathWidget.addOption(answerOption);
@Test public void dropdownWidgetShouldProduceHtml() { DropdownWidget dw = new DropdownWidget(); context.registerWidget(dw); dw.addOption(new Option("Extra Large", "XL", false)); dw.addOption(new Option("Large", "L", true)); Assert.assertEquals("<select id=\"w1\" name=\"w1\"><option value=\"XL\">Extra Large</option><option value=\"L\" selected=\"true\">Large</option></select>", dw.generateHtml(context)); }
protected void matchStandardRegimenInExistingOrders(FormEntryContext context) { Map<RegimenSuggestion, List<DrugOrder>> map = RegimenUtil.findStrongestStandardRegimenInDrugOrders(possibleRegimens, context.getRemainingExistingOrders()); if (map.size() == 1){ existingStandardRegimen = map.keySet().iterator().next(); for (DrugOrder dor : map.get(existingStandardRegimen)){ regDrugOrders.add(context.removeExistingDrugOrder(dor.getDrug())); regWidget.setInitialValue(existingStandardRegimen.getCodeName()); } discontinuedDateWidget.setInitialValue(getCommonDiscontinueDate(regDrugOrders)); if (discontinuedReasonWidget != null && regDrugOrders.get(0).getDiscontinuedReason() != null) discontinuedReasonWidget.setInitialValue(regDrugOrders.get(0).getDiscontinuedReason().getConceptId()); } }
ret.append(discontinuedReasonWidget.generateHtml(context) + " "); if (context.getMode() != Mode.VIEW) ret.append(discontinuedReasonErrorWidget.generateHtml(context));
/** * Be aware it's called by the constructor. * * @param context * @param mss */ protected void createFrequencyWeekWidget(FormEntryContext context, MessageSourceService mss) { frequencyWeekWidget = new DropdownWidget(); frequencyWeekErrorWidget = new ErrorWidget(); // fill frequency drop down lists (ENTER, EDIT) List<Option> weekOptions = new ArrayList<Option>(); if (context.getMode() != Mode.VIEW ) { for (int i = 7; i >= 1; i--) { weekOptions.add(new Option(i + " " + mss.getMessage("DrugOrder.frequency.days") + "/" + mss.getMessage("DrugOrder.frequency.week") , String.valueOf(i), false)); } } frequencyWeekWidget.setOptions(weekOptions); context.registerWidget(frequencyWeekWidget); context.registerErrorWidget(frequencyWeekWidget, frequencyWeekErrorWidget); }
private void createRouteWidget(FormEntryContext context) { routeWidget = new DropdownWidget(); List<Concept> drugRoutes = Context.getOrderService().getDrugRoutes(); List<Option> options = new ArrayList<Option>(); for (Concept route : drugRoutes) { options.add(new Option(route.getName().getName(), route.getId().toString(), false)); } setupDropdownWidget(context, routeWidget, options); }
@Override protected void matchStandardRegimenInExistingOrders(FormEntryContext context) { Map<RegimenSuggestion, List<DrugOrder>> map = RegimenUtil1_10.findStrongestStandardRegimenInDrugOrders( possibleRegimens, context.getRemainingExistingOrders()); if (map.size() == 1) { existingStandardRegimen = map.keySet().iterator().next(); for (DrugOrder dor : map.get(existingStandardRegimen)) { regDrugOrders.add(context.removeExistingDrugOrder(dor.getDrug())); regWidget.setInitialValue(existingStandardRegimen.getCodeName()); careSettingWidget.setInitialValue(dor.getCareSetting()); } discontinuedDateWidget.setInitialValue(getCommonDiscontinueDate(regDrugOrders)); Order discontinuationOrder = Context.getOrderService().getDiscontinuationOrder(regDrugOrders.get(0)); if (discontinuedReasonWidget != null && discontinuationOrder != null) discontinuedReasonWidget.setInitialValue(discontinuationOrder.getOrderReason().getConceptId()); } }
ret.append(frequencyWidget.generateHtml(context)); if (context.getMode() != Mode.VIEW) ret.append(frequencyErrorWidget.generateHtml(context)); ret.append(frequencyWeekWidget.generateHtml(context) + " "); if (context.getMode() != Mode.VIEW) ret.append(frequencyWeekErrorWidget.generateHtml(context)); ret.append(discontinuedReasonWidget.generateHtml(context) + " "); if (context.getMode() != Mode.VIEW) ret.append(discontinuedReasonErrorWidget.generateHtml(context));
@Test public void testMultipleOptions() throws Exception { DropdownWidget widget = new DropdownWidget(); List<Option> option = new ArrayList<Option>(); option.add(new Option("label1", "value1", false)); option.add(new Option("label2", "value2", true)); option.add(new Option("label3", "value3", false)); option.add(new Option("label4", "value4", false)); option.add(new Option("label5", "value5", false)); widget.setOptions(option); widget.setInitialValue("choose one"); FormEntryContext formEntryContext = mock(FormEntryContext.class); when(formEntryContext.getFieldName(widget)).thenReturn("w1"); String html = widget.generateHtml(formEntryContext); assertThat(html, is("<select id=\"w1\" name=\"w1\"><option value=\"value1\">label1</option><option value=\"value2\" selected=\"true\">label2</option><option value=\"value3\">label3</option><option value=\"value4\">label4</option><option value=\"value5\">label5</option></select>")); } }
drugWidget = cb; } else { DropdownWidget dw = new DropdownWidget(); dw.setOptions(options); drugWidget = dw; dof.setDiscontinuedReasonQuestion(discontineReasonConcept); discontinuedReasonWidget = new DropdownWidget(); discontinuedReasonErrorWidget = new ErrorWidget(); throw new IllegalArgumentException("discontinue reason Concept doesn't have any ConceptAnswers"); discontinuedReasonWidget.setOptions(discOptions); context.registerWidget(discontinuedReasonWidget); context.registerErrorWidget(discontinuedReasonWidget, discontinuedReasonErrorWidget);
valueWidget = new RadioButtonsWidget(); } else { // dropdown valueWidget = new DropdownWidget(); ((DropdownWidget) valueWidget).addOption(new Option());
private void createDurationUnitsWidget(FormEntryContext context) { durationUnitsWidget = new DropdownWidget(); List<Option> options = new ArrayList<Option>(); List<Concept> durationUnits = Context.getOrderService().getDurationUnits(); for (Concept concept : durationUnits) { options.add(new Option(concept.getName().getName(), concept.getId().toString(), false)); } setupDropdownWidget(context, durationUnitsWidget, options); }