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); }
/** * 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); }
/** * 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); }
@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>")); }
@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); }
@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>")); } }
} else { DropdownWidget dw = new DropdownWidget(); dw.setOptions(options); drugWidget = dw; throw new IllegalArgumentException("discontinue reason Concept doesn't have any ConceptAnswers"); discontinuedReasonWidget.setOptions(discOptions); context.registerWidget(discontinuedReasonWidget); context.registerErrorWidget(discontinuedReasonWidget, discontinuedReasonErrorWidget);
dw.setOptions(options); regWidget = dw; context.registerWidget(regWidget); throw new IllegalArgumentException("discontinue reason Concept doesn't have any ConceptAnswers"); discontinuedReasonWidget.setOptions(discOptions); context.registerWidget(discontinuedReasonWidget); context.registerErrorWidget(discontinuedReasonWidget, discontinuedReasonErrorWidget);