Joget DX 8 Stable Released
The stable release for Joget DX 8 is now available, with a focus on UX and Governance.
When one is in a flow, there are times where one would like to simply validate the form data without actually completing the assignment.
Save as Draft button, by default, will only save the form data without validation.
...
In the Bean Shell Form Binder, add in the following code.
Code Block | ||
---|---|---|
| ||
import org.joget.apps.form.lib.SubmitButton; import org.joget.apps.form.lib.CustomHTML; import org.joget.apps.form.model.Column; import org.joget.apps.form.model.Element; import org.joget.apps.form.model.FormAction; import org.joget.apps.form.model.FormData; import org.joget.apps.form.model.Section; import org.joget.apps.form.service.FormUtil; import java.util.ArrayList; import java.util.Collection; Collection formActions = new ArrayList(); String saveButtonLabel = "Save As Draft with Validation"; Element saveButton = new SubmitButton(); saveButton.setProperty(FormUtil.PROPERTY_ID, "customSaveAsDraft"); saveButton.setProperty("label", saveButtonLabel); formActions.add(saveButton); Section section = element; ArrayList columns = (ArrayList) section.getChildren(); Column column = columns.get(0); column.setProperty("horizontal", "true"); column.setChildren(formActions); //add a custom html to fix the layout issue Element html = new CustomHTML(); String script = "<script>$(document).ready(function(){"; script += "$(\"#"+section.getPropertyString("id")+"\").find(\".form-cell\").prependTo(\"#section-actions .form-column\");"; script += "$(\"#"+section.getPropertyString("id")+"\").remove();"; script += "});</script>"; html.setProperty("id", "button_layout_fixes"); html.setProperty("label", ""); html.setProperty("value", script); formActions.add(html); return null; |