We are currently performing maintenance on Appian Community. As a result, discussions posts and replies are temporarily unavailable. We appreciate your patience.

Next and Back Button for Records in a Read-Only Grid

So I have a read-only grid displayed on a site through an interface. The summary is also displayed through an interface, and the summary of a record is pictured below.

What I want to do is add a button, going to the next or previous record so that the user doesn't have to click the home button in the top-left.

I found this thread but wasn't sure how to apply it to my situation (not completely sure how to apply a!query):

community.appian.com/.../access-to-previous-and-next-records

  Discussion posts and replies are publicly visible

  • +1
    Certified Lead Developer
    in reply to davinar9817

    No worries - I was a beginner long enough ago that sometimes I forget how confusing things could be.  Things are certainly better these days though, lol.

    Anyway in case it helps, here's an equivalent example of the "previous entry identifier" query from the older thread, but converted into a!queryRecordType() style funcitonality.  Note that the changes are mainly to formatting / semantics, while the functionality / idea largely remains the same.

  • +1
    Certified Lead Developer
    in reply to davinar9817

    And here's a pattern I just whipped up for "use small side-columns with cards-as-buttons" which would work for cross-record navigation.  You'd need to adjust to suit your own record and use case etc, but this should give you a good idea how to start.

    a!localVariables(
      
      /* the following 2 local variables would be loaded by queries given the current record ID */
      local!previousNavId: 1,
      local!nextNavId: 3,
      
      a!sectionLayout(
        contents: {
          a!columnsLayout(
            alignVertical: "TOP",
            columns: {
              
              /* left bar */
              a!columnLayout(
                width: "EXTRA_NARROW",
                contents: {
                  a!cardLayout(
                    height: "MEDIUM",
                    showShadow: true(),
                    tooltip: "Navigate to Previous Record (" & local!previousNavId & ")",
                    link: a!recordLink(
                      recordType: 'recordType!Your_Record_Type_Reference_Goes_Here',
                      identifier: local!previousNavId,
                      openLinkIn: "SAME_TAB",
                      showWhen: a!isNotNullOrEmpty(local!previousNavId)
                    ),
                    contents: {
                      a!richTextDisplayField(
                        value: a!richTextItem(
                          size: "MEDIUM",
                          text: {
                            char(10), char(10), char(10),
                            a!richTextIcon(
                              icon: "arrow-left"
                            )
                          }
                        )
                      )
                    }
                  )
                }
              ),
              
              /* main column */
              a!columnLayout(
                contents: {
                  a!sectionLayout(
                    label: "Record Details: 2",
                    contents: {
                      a!textField(
                        label: "Name",
                        value: "Mike",
                        readOnly: true()
                      ),
                      a!textField(
                        label: "Job",
                        value: "Appian",
                        readOnly: true()
                      ),
                      a!textField(
                        label: "Free Time",
                        value: "Hardly Any",
                        readOnly: true()
                      )
                    }
                  )
                }
              ),
              
              /* right bar */
              a!columnLayout(
                width: "EXTRA_NARROW",
                contents: {
                  a!cardLayout(
                    height: "MEDIUM",
                    showShadow: true(),
                    tooltip: "Navigate to Next Record (" & local!nextNavId & ")",
                    link: a!recordLink(
                      recordType: 'recordType!Your_Record_Type_Reference_Goes_Here',
                      identifier: local!nextNavId,
                      openLinkIn: "SAME_TAB",
                      showWhen: a!isNotNullOrEmpty(local!nextNavId)
                    ),
                    contents: {
                      a!richTextDisplayField(
                        value: a!richTextItem(
                          size: "MEDIUM",
                          text: {
                            char(10), char(10), char(10),
                            a!richTextIcon(
                              icon: "arrow-right"
                            )
                          }
                        )
                      )
                    }
                  )
                }
              )
            }
          )
        }
      )
    )

  • Thanks I'll try this! Currently I was using an expression rule. Got the "back" link to work but the "next" one just goes to the last record and not the record that's greater by +1 or +2

  • 0
    Certified Lead Developer
    in reply to davinar9817
    but the "next" one just goes to the last record

    Make sure you reverse both the filter operator as well as the sort directionality between the two queries.  Also make sure you preview the loaded local variable value in the Local Variables preview panel in the bottom-right of the interface editor - that makes troubleshooting and tweaking code much easier.

  • So everything was going well until I tried to merge the cards and my summary interface

    I'm just getting this CastInvalid error

                       a!sideBySideItem(
                          item: a!dateField(
                            label: "Start Date:",
                            labelPosition: "ABOVE",
                            value: 'recordType!{d327a5dc-18d4-4ffd-8bdf-6a22b134677f}DS Contractor.fields.{74bb741e-33e8-4a03-b7d2-cb7266951563}startDate',
                            saveInto:'recordType!{d327a5dc-18d4-4ffd-8bdf-6a22b134677f}DS Contractor.fields.{74bb741e-33e8-4a03-b7d2-cb7266951563}startDate',
                            readOnly: true,
                            validations: {},
                            align: "LEFT"
                          ),
                          width: "MINIMIZE"
                        ),
                        a!sideBySideItem(
                          item: a!dateField(
                            label: "End Date:",
                            labelPosition: "ABOVE",
                            value: 'recordType!{d327a5dc-18d4-4ffd-8bdf-6a22b134677f}DS Contractor.fields.{cd408962-3380-4ac9-b6a5-fc87f4f8e8a3}endDate',
                            saveInto:'recordType!{d327a5dc-18d4-4ffd-8bdf-6a22b134677f}DS Contractor.fields.{cd408962-3380-4ac9-b6a5-fc87f4f8e8a3}endDate',
                            readOnly: true,
                            validations: {},
                            align: "LEFT"
                          ),
                          width: "MINIMIZE"
                        )
                      },
                      alignVertical: "TOP",
                      spacing: "SPARSE",
                      marginAbove: "NONE"
                    ),

    Here's the full code if needed;

    {
    a!localVariables(
    
      /* the following 2 local variables would be loaded by queries given the current record ID */
      local!previousNavId: 1234567896,
      local!nextNavId: 1234567894,
    
      a!sectionLayout(
        contents: {
          a!columnsLayout(
            alignVertical: "TOP",
            columns: {
    
              /* left bar */
              a!columnLayout(
                width: "EXTRA_NARROW",
                contents: {
                  a!cardLayout(
                    height: "MEDIUM",
                    showShadow: true(),
                    tooltip: "Navigate to Previous Record",
                    link: a!recordLink(
                      recordType: 'recordType!{d327a5dc-18d4-4ffd-8bdf-6a22b134677f}DS Contractor',
    identifier: local!previousNavId,
    openLinkIn: "SAME_TAB",
    showWhen: a!isNotNullOrEmpty(local!previousNavId)
    ),
    contents: {
    a!richTextDisplayField(
    value: a!richTextItem(
    size: "MEDIUM",
    text: {
    char(10), char(10), char(10),
    a!richTextIcon(
    icon: "arrow-left"
    )
    }
    )
    )
    }
    )
    }
    ),
    a!sectionLayout(
      label: "Additional Contractor Information",
      labelIcon: "info-circle",
      labelSize: "EXTRA_SMALL",
      labelHeadingTag: "H2",
      labelColor: "STANDARD",
      contents: {
        a!columnsLayout(
          columns: {
            a!columnLayout(
              contents: {
                a!sideBySideLayout(
                  items: {
                    a!sideBySideItem(
                      item: a!textField(
                        label: "Name:",
                        labelPosition: "ABOVE",
                        value: 'recordType!{d327a5dc-18d4-4ffd-8bdf-6a22b134677f}DS Contractor.fields.{6576c50e-e121-46f9-ac66-80f275bdd60b}firstName' & " " & 'recordType!{d327a5dc-18d4-4ffd-8bdf-6a22b134677f}DS Contractor.fields.{9ad498eb-f112-4373-9f83-98d98fe98f1d}lastName',
                        readOnly: true,
                        align: "LEFT",
                        inputPurpose: "NAME"
                      ),
                      width: "AUTO"
                    ),
                    a!sideBySideItem(
                      item: a!textField(
                        label: "Phone Number:",
                        labelPosition: "ABOVE",
                        value:'recordType!{d327a5dc-18d4-4ffd-8bdf-6a22b134677f}DS Contractor.fields.{f4c57b1e-a70b-4b5c-abfd-91fbfa77c38f}conPhoneNumber',
                        readOnly: true,
                        inputPurpose: "PHONE_NUMBER"
                      ),
                      width: "AUTO"
                    ),
                    a!sideBySideItem(
                      item: a!textField(
                        label: "Email Address:",
                        labelPosition: "ABOVE",
                        value: 'recordType!{d327a5dc-18d4-4ffd-8bdf-6a22b134677f}DS Contractor.fields.{2952c2ae-aeb6-47f0-9655-0628f009e981}contractorEmail',
                        readOnly: true,
                        align: "LEFT",
                        inputPurpose: "EMAIL"
                      ),
                      width: "AUTO"
                    ),
                    a!sideBySideItem(
                      item: a!textField(
                        label: "Contractor Department:",
                        labelPosition: "ABOVE",
                        value: 'recordType!{d327a5dc-18d4-4ffd-8bdf-6a22b134677f}DS Contractor.fields.{4b272b70-791f-4c19-a831-736b78fbd6b0}department',
                        readOnly: true
                      ),
                      width: "AUTO"
                    )
                  },
                  alignVertical: "TOP",
                  spacing: "SPARSE",
                  marginAbove: "LESS"
                ),
                a!sectionLayout(
                  label: "",
                  contents: {
                    a!sideBySideLayout(
                      items: {
                        a!sideBySideItem(
                          item: a!textField(
                            label: "Axiom Manager Name:",
                            labelPosition: "ABOVE",
                            value: 'recordType!{d327a5dc-18d4-4ffd-8bdf-6a22b134677f}DS Contractor.fields.{acd634c0-572b-45e4-9327-9a76ffa8ed82}mngrName',
                            readOnly: true
                          ),
                          width: "AUTO"
                        ),
                        a!sideBySideItem(
                          item: a!textField(
                            label: "Axiom Manager Email:",
                            labelPosition: "ABOVE",
                            value: 'recordType!{d327a5dc-18d4-4ffd-8bdf-6a22b134677f}DS Contractor.fields.{3e72a18f-c6b9-4223-a4e9-37631f23a060}mngrEmail',
                            readOnly: true
                          ),
                          width: "AUTO"
                        ),
                        a!sideBySideItem(
                          item: a!textField(
                            label: "Company Name:",
                            labelPosition: "ABOVE",
                            value:'recordType!{d327a5dc-18d4-4ffd-8bdf-6a22b134677f}DS Contractor.fields.{2476f354-8a05-4418-a463-61d9127ee99d}conCompanyName',
                            readOnly: true,
                            align: "LEFT"
                          ),
                          width: "AUTO"
                        ),
                        a!sideBySideItem(
                          item: a!textField(
                            label: "Department Access:",
                            labelPosition: "ABOVE",
                            value: 'recordType!{d327a5dc-18d4-4ffd-8bdf-6a22b134677f}DS Contractor.fields.{67465a62-d8e1-45b8-8c26-42d9daae509b}deptAcc1',
                            readOnly: true
                          ),
                          width: "AUTO"
                        )
                      },
                      alignVertical: "TOP",
                      spacing: "SPARSE",
                      marginAbove: "NONE"
                    )
                  },
                  divider: "ABOVE",
                  dividerWeight: "THIN",
                  marginAbove: "NONE",
                  marginBelow: "NONE"
                ),
                a!sectionLayout(
                  label: "",
                  contents: {
                    a!sideBySideLayout(
                      items: {
                        a!sideBySideItem(
                          item: a!textField(
                            label: "AxStation Access:",
                            labelPosition: "ABOVE",
                            value: 'recordType!{d327a5dc-18d4-4ffd-8bdf-6a22b134677f}DS Contractor.fields.{75ea328f-e61b-49dc-a114-24fbe17510c3}deptAcc2',
                            saveInto: 'recordType!{d327a5dc-18d4-4ffd-8bdf-6a22b134677f}DS Contractor.fields.{75ea328f-e61b-49dc-a114-24fbe17510c3}deptAcc2',
                            readOnly: true
                          ),
                          width: "4X"
                        ),
                        a!sideBySideItem(
                          item: a!textField(
                            label: "AxEVA Access:",
                            labelPosition: "ABOVE",
                            value: 'recordType!{d327a5dc-18d4-4ffd-8bdf-6a22b134677f}DS Contractor.fields.{2e1ef0ce-e242-44dc-997b-bb9124d59ef8}deptAcc3',
                            readOnly: true
                          ),
                          width: "4X"
                        ),
                        a!sideBySideItem(
                          item: a!textField(
                            label: "Project Name:",
                            labelPosition: "ABOVE",
                            value: 'recordType!{d327a5dc-18d4-4ffd-8bdf-6a22b134677f}DS Contractor.fields.{797f8093-85fb-4e18-b4b9-e5e85a7ccbe7}projName',
                            saveInto: 'recordType!{d327a5dc-18d4-4ffd-8bdf-6a22b134677f}DS Contractor.fields.{797f8093-85fb-4e18-b4b9-e5e85a7ccbe7}projName',
                            refreshAfter: "UNFOCUS",
                            readOnly: true,
                            validations: {},
                            align: "LEFT"
                          ),
                          width: "4X"
                        ),
                        a!sideBySideItem(
                          item: a!dateField(
                            label: "Start Date:",
                            labelPosition: "ABOVE",
                            value: 'recordType!{d327a5dc-18d4-4ffd-8bdf-6a22b134677f}DS Contractor.fields.{74bb741e-33e8-4a03-b7d2-cb7266951563}startDate',
                            saveInto:'recordType!{d327a5dc-18d4-4ffd-8bdf-6a22b134677f}DS Contractor.fields.{74bb741e-33e8-4a03-b7d2-cb7266951563}startDate',
                            readOnly: true,
                            validations: {},
                            align: "LEFT"
                          ),
                          width: "MINIMIZE"
                        ),
                        a!sideBySideItem(
                          item: a!dateField(
                            label: "End Date:",
                            labelPosition: "ABOVE",
                            value: 'recordType!{d327a5dc-18d4-4ffd-8bdf-6a22b134677f}DS Contractor.fields.{cd408962-3380-4ac9-b6a5-fc87f4f8e8a3}endDate',
                            saveInto:'recordType!{d327a5dc-18d4-4ffd-8bdf-6a22b134677f}DS Contractor.fields.{cd408962-3380-4ac9-b6a5-fc87f4f8e8a3}endDate',
                            readOnly: true,
                            validations: {},
                            align: "LEFT"
                          ),
                          width: "MINIMIZE"
                        )
                      },
                      alignVertical: "TOP",
                      spacing: "SPARSE",
                      marginAbove: "NONE"
                    ),
                    a!sectionLayout(
                      label: "",
                      contents: {
                        a!sideBySideLayout(
                          items: {
                            a!sideBySideItem(
                              item: a!textField(
                                label: "Jama Access:",
                                labelPosition: "ABOVE",
                                value: ri!record['recordType!{d327a5dc-18d4-4ffd-8bdf-6a22b134677f}DS Contractor.fields.{cd8c4d85-bd9b-44e2-a2f0-60045bfdd5ed}JamaAccess'],
                                saveInto: {},
                                refreshAfter: "UNFOCUS",
                                readOnly: true,
                                validations: {}
                              ),
                              width: "5X"
                            ),
                            a!sideBySideItem(
                              item: a!textField(
                                label: "Jira Access:",
                                labelPosition: "ABOVE",
                                value:'recordType!{d327a5dc-18d4-4ffd-8bdf-6a22b134677f}DS Contractor.fields.{bed01faf-582d-4cad-8429-a66c4e4dcf05}jiraAccess',
                                saveInto: {},
                                refreshAfter: "UNFOCUS",
                                readOnly: true,
                                validations: {}
                              ),
                              width: "5X"
                            ),
                            a!sideBySideItem(
                              item: a!textField(
                                label: "Confluence Access:",
                                labelPosition: "ABOVE",
                                value:'recordType!{d327a5dc-18d4-4ffd-8bdf-6a22b134677f}DS Contractor.fields.{46fba2da-0023-48c5-aba6-5b43e4743aa1}conAccess',
                                saveInto: {},
                                refreshAfter: "UNFOCUS",
                                readOnly: true,
                                validations: {}
                              ),
                              width: "10X"
                            )
                          },
                          alignVertical: "TOP",
                          spacing: "STANDARD",
                          marginAbove: "EVEN_LESS"
                        ),
                        a!sideBySideLayout(
                          items: {
                            a!sideBySideItem(
                              item: a!linkField(
                                label: "",
                                labelPosition: "COLLAPSED",
                                links: {
                                  a!recordLink(
                                    label: "Next",
                                    recordType: 'recordType!{d327a5dc-18d4-4ffd-8bdf-6a22b134677f}DS Contractor',
                                    identifier: rule!DS_NextID(),
                                    openLinkIn: "SAME_TAB"
                                  )
                                }
                              ),
                              width: "MINIMIZE"
                            )
                          },
                          alignVertical: "TOP",
                          spacing: "STANDARD",
                          marginAbove: "STANDARD"
                        )
                      },
                      divider: "ABOVE"
                    )
                  },
                  divider: "ABOVE",
                  dividerWeight: "THIN",
                  marginAbove: "NONE",
                  marginBelow: "NONE"
                )
              },
              width: "WIDE",
              showWhen: true
            )
          },
          alignVertical: "TOP",
          marginAbove: "NONE",
          marginBelow: "NONE",
          spacing: "SPARSE",
          showDividers: false
        )
      },
      divider: "ABOVE",
      marginAbove: "EVEN_LESS",
      marginBelow: "NONE"
    ),
    
    /* right bar */
    a!columnLayout(
    width: "EXTRA_NARROW",
    contents: {
    a!cardLayout(
    height: "MEDIUM",
    showShadow: true(),
    tooltip: "Navigate to Next Record",
    link: a!recordLink(
    recordType: 'recordType!{d327a5dc-18d4-4ffd-8bdf-6a22b134677f}DS Contractor',
    identifier: local!nextNavId,
    openLinkIn: "SAME_TAB",
    showWhen: a!isNotNullOrEmpty(local!nextNavId)
    ),
    contents: {
    a!richTextDisplayField(
    value: a!richTextItem(
    size: "MEDIUM",
    text: {
    char(10), char(10), char(10),
    a!richTextIcon(
    icon: "arrow-right"
    )
    }
    )
    )
    }
    )
    }
    )
    }
    )
    }
    )
    )
    }

  • I tried to reply with an error I'm getting but it keeps being flagged as spam. I'm getting a CastInvalid error when trying to merge the side-column cards with my summary interface. I have a date data type in my record and this is the error I'm getting

    "Interface Definition: Expression evaluation error at function a!dateField [line 193]: Could not cast from Record Field to Date. Details: CastInvalidCould not cast from Record Field to Date. Details: CastInvalid"

  • 0
    Certified Lead Developer
    in reply to davinar9817
    I tried to reply with an error I'm getting

    Are you just pasting a bunch of text?  If so, please try with a screenshot snippet and/or using a Code Box instead.  Also may be able to help with the falsely-flagged responses.

  • No I was using the code boxes. Tried something different and got a column error instead;

    {
      a!localVariables(
    
        /* the following 2 local variables would be loaded by queries given the current record ID */
        local!previousNavId: 1234567896,
        local!nextNavId: 1234567894,
        
      a!sectionLayout(
        contents: {
          a!columnsLayout(
            alignVertical: "TOP",
            columns: {
    
              /* left bar */
              a!columnLayout(
                width: "EXTRA_NARROW",
                contents: {
                  a!cardLayout(
                    height: "MEDIUM",
                    showShadow: true(),
                    tooltip: "Navigate to Previous Record",
                    link: a!recordLink(
                      recordType: 'recordType!{d327a5dc-18d4-4ffd-8bdf-6a22b134677f}DS Contractor',
                      identifier: local!previousNavId,
                      openLinkIn: "SAME_TAB",
                      showWhen: a!isNotNullOrEmpty(local!previousNavId)
                    ),
                    
                    contents: {
                      a!richTextDisplayField(
                        value: a!richTextItem(
                          size: "MEDIUM",
                          text: {
                            char(10), char(10), char(10),
                            a!richTextIcon(
                              icon: "arrow-left"
                            )
                          }
                        )
                      )
                    }
                    
                  )
                }
              ),

  • 0
    Certified Lead Developer
    in reply to davinar9817

    That error message indicates you're trying to pass a SectionLayout component as a member of a ColumnsLayout "columns" array.  The sample code you've pasted here doesn't seem to go deep enough to show anything either way.

    Edit to add: thanks to April un-spamming your original reply containing the full code, i can see exactly where and how my prior assumption was correct.  Your "middle column" section layout is not contained in its own a!columnLayout() call, which would be required (check my original code to see how it should be).

  • Here's the entire current code:

    Now the error I'm getting is 

    "Expression evaluation error: Syntax error. Details: Expression evaluation error at function a!localVariables parameter 4 [line 47]: Missing right parenthesis in expression, found COMMA"

    {
      a!localVariables(
        /* the following 2 local variables would be loaded by queries given the current record ID */
        local!previousNavId: 1234567896,
        local!nextNavId: 1234567894,
        a!sectionLayout(
          contents: {
            a!columnsLayout(
              alignVertical: "TOP",
              columns: {
                /* left bar */
                a!columnLayout(
                  width: "EXTRA_NARROW",
                  contents: {
                    a!cardLayout(
                      height: "MEDIUM",
                      showShadow: true(),
                      tooltip: "Navigate to Previous Record",
                      link: a!recordLink(
                        recordType: 'recordType!{d327a5dc-18d4-4ffd-8bdf-6a22b134677f}DS Contractor',
                        identifier: local!previousNavId,
                        openLinkIn: "SAME_TAB",
                        showWhen: a!isNotNullOrEmpty(local!previousNavId)
                      ),
                      contents: {
                        a!richTextDisplayField(
                          value: a!richTextItem(
                            size: "MEDIUM",
                            text: {
                              char(10),
                              char(10),
                              char(10),
                              a!richTextIcon(icon: "arrow-left")
                            }
                          )
                        )
                      }
                    )
                    }
                    )
                  }
                ),
                }
                )
                
                a!sectionLayout(
                  label: "Additional Contractor Information",
                  labelIcon: "info-circle",
                  labelSize: "EXTRA_SMALL",
                  labelHeadingTag: "H2",
                  labelColor: "STANDARD",
                  contents: {
                    a!columnsLayout(
                      columns: {
                        a!columnLayout(
                          contents: {
                            a!sideBySideLayout(
                              items: {
                                a!sideBySideItem(
                                  item: a!textField(
                                    label: "Name:",
                                    labelPosition: "ABOVE",
                                    value: 'recordType!{d327a5dc-18d4-4ffd-8bdf-6a22b134677f}DS Contractor.fields.{6576c50e-e121-46f9-ac66-80f275bdd60b}firstName' & " " & 'recordType!{d327a5dc-18d4-4ffd-8bdf-6a22b134677f}DS Contractor.fields.{9ad498eb-f112-4373-9f83-98d98fe98f1d}lastName',
                                    readOnly: true,
                                    align: "LEFT",
                                    inputPurpose: "NAME"
                                  ),
                                  width: "AUTO"
                                ),
                                a!sideBySideItem(
                                  item: a!textField(
                                    label: "Phone Number:",
                                    labelPosition: "ABOVE",
                                    value: 'recordType!{d327a5dc-18d4-4ffd-8bdf-6a22b134677f}DS Contractor.fields.{f4c57b1e-a70b-4b5c-abfd-91fbfa77c38f}conPhoneNumber',
                                    readOnly: true,
                                    inputPurpose: "PHONE_NUMBER"
                                  ),
                                  width: "AUTO"
                                ),
                                a!sideBySideItem(
                                  item: a!textField(
                                    label: "Email Address:",
                                    labelPosition: "ABOVE",
                                    value: 'recordType!{d327a5dc-18d4-4ffd-8bdf-6a22b134677f}DS Contractor.fields.{2952c2ae-aeb6-47f0-9655-0628f009e981}contractorEmail',
                                    readOnly: true,
                                    align: "LEFT",
                                    inputPurpose: "EMAIL"
                                  ),
                                  width: "AUTO"
                                ),
                                a!sideBySideItem(
                                  item: a!textField(
                                    label: "Contractor Department:",
                                    labelPosition: "ABOVE",
                                    value: 'recordType!{d327a5dc-18d4-4ffd-8bdf-6a22b134677f}DS Contractor.fields.{4b272b70-791f-4c19-a831-736b78fbd6b0}department',
                                    readOnly: true
                                  ),
                                  width: "AUTO"
                                )
                              },
                              alignVertical: "TOP",
                              spacing: "SPARSE",
                              marginAbove: "LESS"
                            ),
                            a!sectionLayout(
                              label: "",
                              contents: {
                                a!sideBySideLayout(
                                  items: {
                                    a!sideBySideItem(
                                      item: a!textField(
                                        label: "Axiom Manager Name:",
                                        labelPosition: "ABOVE",
                                        value: 'recordType!{d327a5dc-18d4-4ffd-8bdf-6a22b134677f}DS Contractor.fields.{acd634c0-572b-45e4-9327-9a76ffa8ed82}mngrName',
                                        readOnly: true
                                      ),
                                      width: "AUTO"
                                    ),
                                    a!sideBySideItem(
                                      item: a!textField(
                                        label: "Axiom Manager Email:",
                                        labelPosition: "ABOVE",
                                        value: 'recordType!{d327a5dc-18d4-4ffd-8bdf-6a22b134677f}DS Contractor.fields.{3e72a18f-c6b9-4223-a4e9-37631f23a060}mngrEmail',
                                        readOnly: true
                                      ),
                                      width: "AUTO"
                                    ),
                                    a!sideBySideItem(
                                      item: a!textField(
                                        label: "Company Name:",
                                        labelPosition: "ABOVE",
                                        value: 'recordType!{d327a5dc-18d4-4ffd-8bdf-6a22b134677f}DS Contractor.fields.{2476f354-8a05-4418-a463-61d9127ee99d}conCompanyName',
                                        readOnly: true,
                                        align: "LEFT"
                                      ),
                                      width: "AUTO"
                                    ),
                                    a!sideBySideItem(
                                      item: a!textField(
                                        label: "Department Access:",
                                        labelPosition: "ABOVE",
                                        value: 'recordType!{d327a5dc-18d4-4ffd-8bdf-6a22b134677f}DS Contractor.fields.{67465a62-d8e1-45b8-8c26-42d9daae509b}deptAcc1',
                                        readOnly: true
                                      ),
                                      width: "AUTO"
                                    )
                                  },
                                  alignVertical: "TOP",
                                  spacing: "SPARSE",
                                  marginAbove: "NONE"
                                )
                              },
                              divider: "ABOVE",
                              dividerWeight: "THIN",
                              marginAbove: "NONE",
                              marginBelow: "NONE"
                            ),
                            a!sectionLayout(
                              label: "",
                              contents: {
                                a!sideBySideLayout(
                                  items: {
                                    a!sideBySideItem(
                                      item: a!textField(
                                        label: "AxStation Access:",
                                        labelPosition: "ABOVE",
                                        value: 'recordType!{d327a5dc-18d4-4ffd-8bdf-6a22b134677f}DS Contractor.fields.{75ea328f-e61b-49dc-a114-24fbe17510c3}deptAcc2',
                                        saveInto: 'recordType!{d327a5dc-18d4-4ffd-8bdf-6a22b134677f}DS Contractor.fields.{75ea328f-e61b-49dc-a114-24fbe17510c3}deptAcc2',
                                        readOnly: true
                                      ),
                                      width: "4X"
                                    ),
                                    a!sideBySideItem(
                                      item: a!textField(
                                        label: "AxEVA Access:",
                                        labelPosition: "ABOVE",
                                        value: 'recordType!{d327a5dc-18d4-4ffd-8bdf-6a22b134677f}DS Contractor.fields.{2e1ef0ce-e242-44dc-997b-bb9124d59ef8}deptAcc3',
                                        readOnly: true
                                      ),
                                      width: "4X"
                                    ),
                                    a!sideBySideItem(
                                      item: a!textField(
                                        label: "Project Name:",
                                        labelPosition: "ABOVE",
                                        value: 'recordType!{d327a5dc-18d4-4ffd-8bdf-6a22b134677f}DS Contractor.fields.{797f8093-85fb-4e18-b4b9-e5e85a7ccbe7}projName',
                                        saveInto: 'recordType!{d327a5dc-18d4-4ffd-8bdf-6a22b134677f}DS Contractor.fields.{797f8093-85fb-4e18-b4b9-e5e85a7ccbe7}projName',
                                        refreshAfter: "UNFOCUS",
                                        readOnly: true,
                                        validations: {},
                                        align: "LEFT"
                                      ),
                                      width: "4X"
                                    ),
                                    a!sideBySideItem(
                                      item: a!dateField(
                                        label: "Start Date:",
                                        labelPosition: "ABOVE",
                                        value: 'recordType!{d327a5dc-18d4-4ffd-8bdf-6a22b134677f}DS Contractor.fields.{74bb741e-33e8-4a03-b7d2-cb7266951563}startDate',
                                        saveInto: 'recordType!{d327a5dc-18d4-4ffd-8bdf-6a22b134677f}DS Contractor.fields.{74bb741e-33e8-4a03-b7d2-cb7266951563}startDate',
                                        readOnly: true,
                                        validations: {},
                                        align: "LEFT"
                                      ),
                                      width: "MINIMIZE"
                                    ),
                                    a!sideBySideItem(
                                      item: a!dateField(
                                        label: "End Date:",
                                        labelPosition: "ABOVE",
                                        value: 'recordType!{d327a5dc-18d4-4ffd-8bdf-6a22b134677f}DS Contractor.fields.{cd408962-3380-4ac9-b6a5-fc87f4f8e8a3}endDate',
                                        saveInto: 'recordType!{d327a5dc-18d4-4ffd-8bdf-6a22b134677f}DS Contractor.fields.{cd408962-3380-4ac9-b6a5-fc87f4f8e8a3}endDate',
                                        readOnly: true,
                                        validations: {},
                                        align: "LEFT"
                                      ),
                                      width: "MINIMIZE"
                                    )
                                  },
                                  alignVertical: "TOP",
                                  spacing: "SPARSE",
                                  marginAbove: "NONE"
                                ),
                                a!sectionLayout(
                                  label: "",
                                  contents: {
                                    a!sideBySideLayout(
                                      items: {
                                        a!sideBySideItem(
                                          item: a!textField(
                                            label: "Jama Access:",
                                            labelPosition: "ABOVE",
                                            value: ri!record['recordType!{d327a5dc-18d4-4ffd-8bdf-6a22b134677f}DS Contractor.fields.{cd8c4d85-bd9b-44e2-a2f0-60045bfdd5ed}JamaAccess'],
                                            saveInto: {},
                                            refreshAfter: "UNFOCUS",
                                            readOnly: true,
                                            validations: {}
                                          ),
                                          width: "5X"
                                        ),
                                        a!sideBySideItem(
                                          item: a!textField(
                                            label: "Jira Access:",
                                            labelPosition: "ABOVE",
                                            value: 'recordType!{d327a5dc-18d4-4ffd-8bdf-6a22b134677f}DS Contractor.fields.{bed01faf-582d-4cad-8429-a66c4e4dcf05}jiraAccess',
                                            saveInto: {},
                                            refreshAfter: "UNFOCUS",
                                            readOnly: true,
                                            validations: {}
                                          ),
                                          width: "5X"
                                        ),
                                        a!sideBySideItem(
                                          item: a!textField(
                                            label: "Confluence Access:",
                                            labelPosition: "ABOVE",
                                            value: 'recordType!{d327a5dc-18d4-4ffd-8bdf-6a22b134677f}DS Contractor.fields.{46fba2da-0023-48c5-aba6-5b43e4743aa1}conAccess',
                                            saveInto: {},
                                            refreshAfter: "UNFOCUS",
                                            readOnly: true,
                                            validations: {}
                                          ),
                                          width: "10X"
                                        )
                                      },
                                      alignVertical: "TOP",
                                      spacing: "STANDARD",
                                      marginAbove: "EVEN_LESS"
                                    ),
                                    a!sideBySideLayout(
                                      items: {
                                        a!sideBySideItem(
                                          item: a!linkField(
                                            label: "",
                                            labelPosition: "COLLAPSED",
                                            links: {
                                              a!recordLink(
                                                label: "Next",
                                                recordType: 'recordType!{d327a5dc-18d4-4ffd-8bdf-6a22b134677f}DS Contractor',
                                                identifier: rule!DS_NextID(),
                                                openLinkIn: "SAME_TAB"
                                              )
                                            }
                                          ),
                                          width: "MINIMIZE"
                                        )
                                      },
                                      alignVertical: "TOP",
                                      spacing: "STANDARD",
                                      marginAbove: "STANDARD"
                                    )
                                  },
                                  divider: "ABOVE"
                                )
                              },
                              divider: "ABOVE",
                              dividerWeight: "THIN",
                              marginAbove: "NONE",
                              marginBelow: "NONE"
                            )
                          },
                          width: "WIDE",
                          showWhen: true
                        )
                      },
                      alignVertical: "TOP",
                      marginAbove: "NONE",
                      marginBelow: "NONE",
                      spacing: "SPARSE",
                      showDividers: false
                    )
                  },
                  divider: "ABOVE",
                  marginAbove: "EVEN_LESS",
                  marginBelow: "NONE"
                ),
                /* right bar */
                a!columnLayout(
                  width: "EXTRA_NARROW",
                  contents: {
                    a!cardLayout(
                      height: "MEDIUM",
                      showShadow: true(),
                      tooltip: "Navigate to Next Record",
                      link: a!recordLink(
                        recordType: 'recordType!{d327a5dc-18d4-4ffd-8bdf-6a22b134677f}DS Contractor',
                        identifier: local!nextNavId,
                        openLinkIn: "SAME_TAB",
                        showWhen: a!isNotNullOrEmpty(local!nextNavId)
                      ),
                      contents: {
                        a!richTextDisplayField(
                          value: a!richTextItem(
                            size: "MEDIUM",
                            text: {
                              char(10),
                              char(10),
                              char(10),
                              a!richTextIcon(icon: "arrow-right")
                            }
                          )
                        )
                      }
                    )
                  }
                  )
                )
                }