Skip to main content
Known Participant
May 20, 2024 11:41 AM UTC
Question

Record Summary

Hi Everyone,

I am opening an interface 2 from interface 1 through record summary on click of link in interface 1. I need to have a cross icon in interface 2 upon clicking it, will open the first interface again. Can anyone please help me.

    11 replies

    konduruc733182
    Inspiring
    May 20, 2024 11:46 AM UTC

    Hello [mention:bb176b67c26c4e89b2173f39160c9f46:e9ed411860ed4f2ba0265705b8793d05] 

    Use a common local variable to save the response form both the interfaces, which would save a value that would decide which interface to display. 

    example have a rule input in the 2nd interface which would save a value on the dynamic link of the cross icon. use the local variable from the parent/interface1 as the value in this interface2 rule when called in the interface1

    a!localVariables(
      local!showWhen:false,
      {
        if(
          local!showWhen,
          rule!KS_xyzqwe(showWhen: local!showWhen)/*Your Interface 2*/,
          a!richTextDisplayField(
            value: a!richTextItem(
              text: "Show interface 2",
              link: a!dynamicLink(
                saveInto: a!save(local!showWhen,true)
              )
            )
          )
        )
      }
    )

    in the rule for the child interface the icons dynamic link save a Boolean value into the rule input.

    venkatrea696188
    Inspiring
    May 20, 2024 12:03 PM UTC

    Adding  One more way for navigating between two interfaces is using BreadCrumbs

    {
      a!localVariables(
        local!currentNodeId: 4,
        /* This variable would normally be retrieved with a rule like rule!getBreadcrumbsForIdentifier(identifier: local!currentNodeId). */
        local!nodes: a!forEach(
          items: enumerate(local!currentNodeId)+1,
          expression: choose(
            fv!item,
            a!map(name: "Home", identifier: 1),
            a!map(name: "My Documents", identifier: 2),
            a!map(name: "Strategy", identifier: 3),
            a!map(name: "2018 Road Map", identifier: 4)
          )
        ),
        {
          a!richTextDisplayField(
            labelPosition: "COLLAPSED",
            value: {
              a!forEach(
                items: local!nodes,
                expression: if(
                  fv!isLast,
                  a!richTextItem(
                    text: fv!item.name,
                    style: "STRONG"
                  ),
                  {
                    a!richTextItem(
                      text: fv!item.name,
                      /* The saveInto in this link would run the query or rule necessary to navigate the user to *
                       * the node in the breadcrumbs that they just clicked on.                                  */
                      link: a!dynamicLink(value: fv!item.identifier, saveInto: local!currentNodeId),
                      linkStyle: "STANDALONE"
                    ),
                    a!richTextItem(
                      text: "  /  ",
                      color: "SECONDARY"
                    )
                  }
                )
              )
            }
          )
        }
      )
    }

    venkatrea696188
    Inspiring
    May 20, 2024 12:09 PM UTC

    I think i read it wrong , You want to go to home page after opening a Summary view?? , If this is the case it's not possible as of now . Instead of using recordlink() , Design interface as parent-child navigation and for going back to interface1 use one of the suggestion from above

    Known Participant
    May 20, 2024 12:52 PM UTC

    Hi venkata7188, Yes the second interface is in record summary view.

    venkatrea696188
    Inspiring
    May 20, 2024 12:57 PM UTC

    Still don't get it , you want to launch a interface from Summary view??

    interface 1 is your summary view and interface 2 is normal one (If this is the case Just use the suggestions by chaitanya and me)

    or 

    interface 1 is Normal and interface 2 is Summary?? 

    mikes0011
    Brainy
    May 20, 2024 5:21 PM UTC

    Generally it's pretty easy (trivially easy, even) to have a link store an alternate state in a local variable, and based on the value of that variable, show a completely different interface.  Then of course on that interface you can have links/buttons/icons/whatever-you-like that will revert that local variable back to its default state, showing the original interface again.

    The Expression Guru