Skip to content

Inline Dialog

Inline Dialogs are used to quickly perform an action on item in a list with at most 3 to 4 form fields. Avoid using this pattern for lists that may have a long list of fields. In those cases, use a dialog instead.

Design

Use the Appian Background color (#FAFAFA) for the inline dialog background and apply a border to the dialog. Add a section divider between the form fields and the form actions.

Development

Component

a!localVariables(
  local!active: false,
  {
    a!columnsLayout(
      columns: {
        a!columnLayout(contents: {}),
        a!columnLayout(
          contents: {
            {
              a!localVariables(
                {
                  a!buttonArrayLayout(
                    buttons: {
                      a!buttonWidget(
                        label: "Add Employee",
                        icon: "plus",
                        saveInto: a!save(local!active, not(local!active)),
                        size: "SMALL",
                        style: "OUTLINE",
                        color: "SECONDARY",
                        disabled: if(local!active, true, false)
                      )
                    },
                    align: "START"
                  ),
                  a!cardLayout(
                    contents: {
                      a!columnsLayout(
                        columns: {
                          a!columnLayout(
                            contents: {
                              a!textField(
                                label: "Name",
                                labelPosition: "ABOVE",
                                saveInto: {},
                                refreshAfter: "UNFOCUS",
                                validations: {}
                              ),
                              a!dateField(
                                label: "Start Date",
                                labelPosition: "ABOVE",
                                saveInto: {},
                                validations: {}
                              )
                            }
                          ),
                          a!columnLayout(
                            contents: {
                              a!dropdownField(
                                label: "Department",
                                labelPosition: "ABOVE",
                                placeholder: "Select a Department",
                                choiceLabels: {
                                  "Option 1",
                                  "Option 2",
                                  "Option 3",
                                  "Option 4",
                                  "Option 5",
                                  "Option 6",
                                  "Option 7",
                                  "Option 8",
                                  "Option 9",
                                  "Option 10",
                                  "Option 11",
                                  "Option 12"
                                },
                                choiceValues: { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12 },
                                saveInto: {},
                                searchDisplay: "AUTO",
                                validations: {}
                              )
                            }
                          )
                        }
                      ),
                      a!sectionLayout(
                        label: "",
                        contents: {
                          a!sideBySideLayout(
                            items: {
                              a!sideBySideItem(
                                item: a!buttonArrayLayout(
                                  buttons: {
                                    a!buttonWidget(
                                      label: "Cancel",
                                      saveInto: a!save(local!active, not(local!active)),
                                      size: "SMALL",
                                      style: "LINK"
                                    )
                                  },
                                  align: "START",
                                  marginBelow: "NONE"
                                )
                              ),
                              a!sideBySideItem(
                                item: a!buttonArrayLayout(
                                  buttons: {
                                    a!buttonWidget(
                                      label: "Add",
                                      saveInto: a!save(local!active, not(local!active)),
                                      size: "SMALL",
                                      style: "SOLID"
                                    )
                                  },
                                  align: "END",
                                  marginBelow: "NONE"
                                )
                              )
                            },
                            marginBelow: "NONE"
                          )
                        },
                        divider: "ABOVE",
                        marginBelow: "LESS"
                      )
                    },
                    height: "AUTO",
                    showWhen: local!active,
                    style: "#FAFAFA",
                    marginBelow: "STANDARD",
                    borderColor: "#EDEEFA"
                  ),
                  a!columnsLayout(
                    columns: {
                      a!columnLayout(
                        contents: {}
                      )
                    },
                    stackWhen: { "PHONE", "TABLET_PORTRAIT" }
                  )
                }
              )
            }
          },
          width: "WIDE"
        ),
        a!columnLayout(contents: {})
      }
    )
  }
)

Rule Inputs

Name Type Description
formButtonLabel Text The label of the button that will trigger the form to appear.
buttonType Text Controls button styling. Options: "OUTLINE" (default), "GHOST", "LINK", "SOLID"
buttonIcon Text Controls icon that appears. Use formal icon library names.
formFields Any Type (Interface) All form fields should be grouped in a SAIL interface. Use this variable to call the fields.
formAction Text The primary submit action for this form, e.g. “Add“.