sb.append("<script type=\"text/javascript\">\n"); sb.append("$j(function() {\n"); sb.append(" var displayTemplate" + formFieldName + " = htmlForm.compileMustacheTemplate('" + escapeJs(displayTemplate) + "');\n"); sb.append(" var valueTemplate" + formFieldName + " = htmlForm.compileMustacheTemplate('" + escapeJs(valueTemplate) + "');\n"); sb.append(" $j('#" + formFieldName + "-display').autocomplete({\n"); sb.append(" source: '" + remoteUrl + "',\n");
RemoteJsonAutocompleteWidget widget = new RemoteJsonAutocompleteWidget("/" + WebConstants.WEBAPP_NAME + "/module/htmlformentry/drugSearch.form"); widget.setValueTemplate("Drug:{{id}}"); if (parameters.get("displayTemplate") != null) { widget.setDisplayTemplate(parameters.get("displayTemplate")); } else { widget.setDisplayTemplate("{{name}}"); widget.setInitialValue(new Option(existingObs.getValueDrug().getName(), existingObs.getValueDrug().getDrugId().toString(), true));
@Test public void testGenerateHtml() throws Exception { RemoteJsonAutocompleteWidget widget = new RemoteJsonAutocompleteWidget("drug.form"); FormEntryContext fec = mock(FormEntryContext.class); when(fec.getFieldName(widget)).thenReturn("w17"); String html = widget.generateHtml(fec); assertThat(html, containsString("<input id=\"w17-display\"/>")); assertThat(html, containsString("<input id=\"w17-value\" type=\"hidden\" name=\"w17\"/>")); assertThat(html, containsString("var displayTemplatew17 =")); assertThat(html, containsString("var valueTemplatew17 =")); }