Skip to main content
johnp0007
December 6, 2023
Solved

Display Record List from interface

  • December 6, 2023
  • 4 replies
  • 0 views

I am displaying a menu of links for viewing various Record Lists from an interface.  How can I display a Record List for specific record type?

a!headerContentLayout(
  header: {
    a!cardLayout(
      contents: {
        a!richTextDisplayField(
          labelPosition: "COLLAPSED",
          value: {
            a!richTextHeader(text: "Reports")
          }
        )
      },
      height: "AUTO",
      style: "#666666",
      marginBelow: "NONE",
      showBorder: false
    )
  },
  contents: {
    a!columnsLayout(
      columns: {
        a!columnLayout(
          contents: {
            a!cardLayout(
              contents: {
                a!richTextDisplayField(
                  labelPosition: "COLLAPSED",
                  value: {
                    a!richTextIcon(
                      icon: "id-badge",
                      color: "ACCENT",
                      size: "MEDIUM",
                      link: a!startProcessLink(
                        processModel: cons!APP_REPORT_1_PROCESS
                      ),
                      linkStyle: "STANDALONE"
                    ),
                    a!richTextItem(
                      text: "Report #1",
                      size: "MEDIUM",
                      link: a!startProcessLink(
                        processModel: cons!APP_REPORT_1_PROCESS
                      ),
                      linkStyle: "STANDALONE"
                    ),

                  }
                )
              },
              height: "AUTO",
              style: "TRANSPARENT",
              marginBelow: "STANDARD"
            ),
            a!cardLayout(
              contents: {
                a!richTextDisplayField(
                  labelPosition: "COLLAPSED",
                  value: {
                    a!richTextIcon(
                      icon: "id-badge",
                      color: "ACCENT",
                      size: "MEDIUM",
                      link: a!startProcessLink(
                        processModel: cons!APP_REPORT_1_PROCESS
                      ),
                      linkStyle: "STANDALONE"
                    ),
                    a!richTextItem(
                      text: "Report #1",
                      size: "MEDIUM",
                      link: a!startProcessLink(
                        processModel: cons!APP_REPORT_1_PROCESS
                      ),
                      linkStyle: "STANDALONE"
                    ),

                  }
                )
              },
              height: "AUTO",
              style: "TRANSPARENT",
              marginBelow: "STANDARD"
            )
          }
        ),
        a!columnLayout()
      }
    )
  }
)

Best answer by stefanhelzle0001

First things first ;-)

It feels like a dynamic UI might be a good fit. I try to explain this here.

Then, Appian allows you to show/hide interface sections and components. Create a main interface that manages the state of the interface using local variables. Then create one interface for each record that implements the list. Call these sub-interfaces from the main according to the user selection.

This recipe is a good start to learn about dynamic UI: docs.appian.com/.../recipe-build-a-wizard-with-milestone-navigation.html

4 replies

annap0005
December 6, 2023

check this Record Action

stefanhelzle0001
Brainy
December 6, 2023

First things first ;-)

It feels like a dynamic UI might be a good fit. I try to explain this here.

Then, Appian allows you to show/hide interface sections and components. Create a main interface that manages the state of the interface using local variables. Then create one interface for each record that implements the list. Call these sub-interfaces from the main according to the user selection.

This recipe is a good start to learn about dynamic UI: docs.appian.com/.../recipe-build-a-wizard-with-milestone-navigation.html

johnp0007
johnp0007Author
December 6, 2023

Thanks so much for both of your input.

I resolved this by creating an interface with a read-only grid where the data source is set to the Record Type.  I then replicated the filters for the Record Type in the interface and used a dynamicLink in the menu option to hide the menu and display the interface.

The Site tab for the Report Menu remains at the top for navigating to a different report.  For reports with processs, I put a [Close] button at the bottom to goes to the end as well as a timer on the display report node to jump to End if nothing happens for an hour.

Works like a charm and I can put as many Record List's in the menu as I need.

If I want to invoke Record Actions, I can add a process to handle the actions and use startProcessLink instead.

Any additional feedback and advice is welcome.  Thanks again for your quick response.

stefanhelzle0001
Brainy
December 7, 2023

Seems like you got your solution. Out of interest, can you share a screenshot?