/** * This will attach a Dynamic JS RenderElement to dynamic property at the field level. If there * are no 'fields' then we end. */ @Trace public RenderElement compile( GenericCompiler compiler, TemplateRenderMold templateMold, Template template, TemplateElement element) { RenderElement ret = null; // We don't do children as only attached to props // Attach fields if (element instanceof DynamicProperty) { if (ret == null) ret = new EmptyElement(); if (element.getType().endsWith("date-prop")) { ret.addElement(addDateField(compiler, template, element)); } else if (element.getType().endsWith("number-prop")) { ret.addElement(addNumberField(compiler, template, element)); } else if (element.getType().endsWith("choice-prop")) { ret.addElement(addChoiceField(compiler, template, element)); } else if (element.getType().endsWith("bool-prop")) { ret.addElement(addBoolField(compiler, template, element)); } else if (element.getType().endsWith("command-prop")) { ret.addElement(addCommandField(compiler, template, element)); } else if (element.getType().endsWith("memo-prop")) { ret.addElement(addMemoField(compiler, template, element)); } else if (element.getType().endsWith("text-prop")) { ret.addElement(addValidationField(compiler, template, element)); } else if (element.getType().equals("prop")) { ret.addElement(addTextField(compiler, template, element)); } } return ret; }