Joget DX 8 Stable Released
The stable release for Joget DX 8 is now available, with a focus on UX and Governance.
Add a Hidden Field to the first form, set the ID to "id" and add in the following value into Default Value. The first form meant here is the one that it mapped to the Run Process entity in the process activity mapping.
Code Block |
---|
#requestParam.recordId# |
This is so that, if there's existing record being loaded, when the new process instance is created, the process instance will refer to this very record subsequently.
In the same form, create a new section, leave it empty. Edit the section, set the Load Binder to Bean Shell Form Binder. Insert the following code into it.
Code Block |
---|
import org.joget.apps.form.lib.SaveAsDraftButton; 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"; Element saveButton = new SaveAsDraftButton(); saveButton.setProperty(FormUtil.PROPERTY_ID, "saveAsDraft"); 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; |
In the Userview, add a Run Process, name the Custom ID to something meaningful, e.g. "startApplication". Set the label appropriately, e.g. "Start Application".
Info | ||
---|---|---|
| ||
This is so that user can start a new process instance. |
Set the label to "Edit".
Info | ||
---|---|---|
| ||
This is so that user can access the drafts applications that they have already started. |
Info | ||
---|---|---|
| ||
The list may be showing all the drafts started by all other users. You may want to edit the list in Datalist Builder to only show entries from the person that initiated it. See Advanced Form Data Binder on how to filter the list. |