private CheckboxWidget createCheckboxWidget(String label, String value, String toggleParameter) { if (toggleParameter != null) { ToggleWidget toggleWidget = new ToggleWidget(toggleParameter); return new CheckboxWidget(label, value, toggleWidget.getTargetId(), toggleWidget.isToggleDim()); } else { return new CheckboxWidget(label, value, null); } }
public ToggleWidget(String rawAttr) { if (rawAttr != null && rawAttr.trim().length() > 0) { rawAttr = rawAttr.trim(); if (isComplexToggleWidget(rawAttr)) { parseComplesToggleWidget(rawAttr); } else { // This is not considered a list of attributes targetId = sanitizeStringForHtmlAttribute(rawAttr); } } }
@Test public void toggleWidgetShouldParseComplexHideAttribute() { ToggleWidget toggleWidget = new ToggleWidget("{id: 'hatColors', style: 'hide'}"); Assert.assertEquals(toggleWidget.getTargetId(), "hatColors"); Assert.assertNull(toggleWidget.getTargetClass()); Assert.assertEquals(toggleWidget.getStyle(), "hide"); Assert.assertFalse(toggleWidget.isToggleDim()); }
private void parseComplesToggleWidget(String rawAttr) { rawAttr = rawAttr.replaceAll("\\{", "").replaceAll("\\}", ""); String[] attrs = rawAttr.split(","); for (String attrPair : attrs) { if (attrPair.trim().length() > 0 && attrPair.indexOf(":") > 0) { String[] nameValue = attrPair.split(":"); if (nameValue.length == 2) { String name = nameValue[0].trim(); String value = nameValue[1].trim(); if (name.equalsIgnoreCase("id")) { targetId = sanitizeStringForHtmlAttribute(value); } else if (name.equalsIgnoreCase("class")) { targetClass = sanitizeStringForHtmlAttribute(value); } else if (name.equalsIgnoreCase("style")) { style = sanitizeStringForHtmlAttribute(value); } } } } }
@Test public void toggleWidgetShouldParseComplexDimAttribute() { ToggleWidget toggleWidget = new ToggleWidget("{id: 'hatColors', style: 'dim'}"); Assert.assertEquals(toggleWidget.getTargetId(), "hatColors"); Assert.assertNull(toggleWidget.getTargetClass()); Assert.assertEquals(toggleWidget.getStyle(), "dim"); Assert.assertTrue(toggleWidget.isToggleDim()); }
@Test public void toggleWidgetShouldParseSimpleAttribute() { ToggleWidget toggleWidget = new ToggleWidget("hatColors"); Assert.assertEquals(toggleWidget.getTargetId(), "hatColors"); Assert.assertNull(toggleWidget.getTargetClass()); Assert.assertNull(toggleWidget.getStyle()); Assert.assertFalse(toggleWidget.isToggleDim()); }
@Test public void checkboxWidgetShouldProduceHtmlWithToggleSimple() { ToggleWidget toggleWidget = new ToggleWidget("hatColors"); CheckboxWidget cw = new CheckboxWidget("Has a hat?", "true", toggleWidget.getTargetId(), toggleWidget.isToggleDim()); context.registerWidget(cw); Assert.assertEquals("<input type=\"checkbox\" id=\"w1\" name=\"w1\" value=\"true\" toggleHide=\"hatColors\"/><label for=\"w1\">Has a hat?</label><input type=\"hidden\" name=\"_w1\"/>", cw.generateHtml(context)); }
@Test public void checkboxWidgetShouldProduceHtmlWithToggleDim() { ToggleWidget toggleWidget = new ToggleWidget("{id: 'hatColors', style: 'dim'}"); CheckboxWidget cw = new CheckboxWidget("Has a hat?", "true", toggleWidget.getTargetId(), toggleWidget.isToggleDim()); context.registerWidget(cw); Assert.assertEquals("<input type=\"checkbox\" id=\"w1\" name=\"w1\" value=\"true\" toggleDim=\"hatColors\"/><label for=\"w1\">Has a hat?</label><input type=\"hidden\" name=\"_w1\"/>", cw.generateHtml(context)); }
@Test public void checkboxWidgetShouldProduceHtmlWithToggleHide() { ToggleWidget toggleWidget = new ToggleWidget("{id: 'hatColors', style: 'hide'}"); CheckboxWidget cw = new CheckboxWidget("Has a hat?", "true", toggleWidget.getTargetId(), toggleWidget.isToggleDim()); context.registerWidget(cw); Assert.assertEquals("<input type=\"checkbox\" id=\"w1\" name=\"w1\" value=\"true\" toggleHide=\"hatColors\"/><label for=\"w1\">Has a hat?</label><input type=\"hidden\" name=\"_w1\"/>", cw.generateHtml(context)); }
ToggleWidget toggleWidget = new ToggleWidget((String) parameters.get("toggle")); voidWidget = new CheckboxWidget(" " + Context.getMessageSourceService().getMessage("general.voided"), (context.getExistingEncounter() != null && context.getExistingEncounter().isVoided().equals(true)) ? "true" : "false", toggleWidget.getTargetId(), toggleWidget.isToggleDim()); } else { voidWidget = new CheckboxWidget();