Input Dialog Forms

Input dialog form is a form for entering parameters for Start Event or User Task elements. The dialog automatically appears when a user starts the process or performs a user task.

form example

Configuration

To configure the dialog, select the Start Event or User Task element and set its type to Input dialog.

create dialog form

Additional properties will then appear:

form section

Open mode

This property defines how the form will open:

  • Dialog – The form will open in a dialog window.

  • Navigate – The form will open as a new view by navigating to its URL.

open mode

The default setting is Dialog.

Parameters

Parameters are the fields of the form that can display values or expect input from the user. Click create to add a parameter:

create parameters

An editor window will open. Select a process variable from the list or define a new variable by entering its name.

parameter editor begin

You can make the parameter editable and required by selecting the appropriate checkboxes.

The parameter can be one of the following types:

  • String

  • Multiline string

  • Decimal

  • Number

  • Boolean

  • Date

  • Date with time

  • Entity

  • Entity list

  • File

  • Platform enum

  • Custom enum

Parameters of type Entity and Entity list require supplementary configuration, including the specification of an associated entity class and a corresponding user interface component.

parameter editor entity

If you choose EntityPicker, you can specify the view for working with the entity. If this field is left empty, the standard list view for that entity will be used.

parameter editor entity ui compontent

When selecting ComboBox, provide a JPQL query to select instances. You can write the query manually or using the JPQL Designer.

parameter editor entity combo box

Once the parameter is created, you can edit it directly in the BPMN Inspector panel.

edit param in panel

XML Representation

The dialog form is defined directly in the BPMN model. In the XML model, it is represented by the jmix:formData attribute:

<jmix:formData type="input-dialog" openMode="DIALOG">
  <jmix:formFields>
    <jmix:formField id="order" caption="Order" type="entity" editable="true" required="false">
      <jmix:formFieldProperty name="entityName" value="smpl_Order" />
      <jmix:formFieldProperty name="uiComponent" value="comboBox" />
      <jmix:formFieldProperty name="query" value="select e from smpl_Order e where e.amount &#62; 1000" />
    </jmix:formField>
    <jmix:formField id="name" caption="Name" type="string" editable="true" required="false" />
  </jmix:formFields>
</jmix:formData>

Business Key

When creating an input dialog form for the start event, you can define a business key.

setting business key

You can set the business key value directly or derive it from a process variable.

Outcomes

The outcomes attribute contains predefined options for task completion, indicating the decision made by the performer. These options will be presented as buttons in the form. To complete the task, the user must click one of them. For example, in a document approval task, the user can either approve or reject the document, resulting in two buttons: Approve and Reject. If no options are predefined, the user will see the standard Complete button.

The task completion event will be triggered when any of the options are selected.

To set values for outcomes, click create in the BPM Inspector panel:

create outcomes

Then, the outcomes editor window will open. Here you can create outcomes and provide them with icons.

outcomes editor

As well, you can edit outcomes directly in the BPMN Inspector panel.

outcomes created

XML Representation

In XML outcomes are defined within the jmix:formOutcomes section.

  <jmix:formOutcomes>
    <jmix:formOutcome id="approve" caption="Approve" icon="CHECK" />
    <jmix:formOutcome id="reject" caption="Reject" icon="BAN" />
  </jmix:formOutcomes>