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

Parents
  • Did you read the answers I provided in the therad you linked?  What exactly are you not able to figure out?  FWIW the answers I'd give for this question now are no different from what I answered there, except for adjusting as needed for data sourced via Synced Records instead of Query Entity.

  • Yes I did, I don't understand where to put the a!queryEntity in relation to the button(s), and also how to create a datastore for the entity. I am using a record type but I'm not sure where to get the datastore from

    a!queryEntity(
      entity: cons!my_entity,
      query: a!query(
        pagingInfo: a!pagingInfo(
          startIndex: 1,
          batchSize: 1,
          sort: a!sortInfo(
            field: "primaryKey", 
            ascending: if(ri!fetchingPrevious, false(), true())
          )
        ),
        filter: a!queryFilter(
          field: "primaryKey",
          operator: if(ri!fetchingPrevious, "<", ">"),
          value: ri!currentPrimaryKey
        )
      )
    ).data.primaryKey

  • I am using a record type but

    Then you'd just use queryRecordType instead of QueryEntity.  Everything else should work essentially the same.

    I don't understand where to put the a!queryEntity in relation to the button(s)

    As I wrote in the other thread, you will need to use Links for this, as Buttons have no way to do actual Record Link functionality which is what you'll really want to use here.  As for where to query the data: you would query it with the other local variables at the top of the form - basically just to get the identifiers for "next record" and "previous record".  Then you would place your links wherever you want - on the bottom, at the top, in very tiny columns on the sides, etc... that's up to you.

  • Then you'd just use queryRecordType instead of QueryEntity.  Everything else should work essentially the same.

    That makes much more sense, that's a big part of why I was confused

    As I wrote in the other thread,

    Alrighty I will try this now, sometimes being a beginner makes me feel really inept for things that should be simple like this. 

  • 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.

  • 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

  • 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"
    )
    }
    )
    )
    }
    )
    }
    )
    }
    )
    }
    )
    )
    }

Reply
  • 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"
    )
    }
    )
    )
    }
    )
    }
    )
    }
    )
    }
    )
    )
    }

Children
No Data