Skip to main content
May 20, 2024
Question

Record Summary

  • May 20, 2024
  • 11 replies
  • 0 views

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
    May 20, 2024

    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
    May 20, 2024

    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
    May 20, 2024

    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

    May 20, 2024

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

    venkatrea696188
    May 20, 2024

    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

    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.