SubmitLink() is disabled successfully in object but does not behave correctly when testing on front-end sit

Certified Associate Developer

Hi everyone, 

I'm seeing this behaviour which I cannot explain. Could anyone recommend me a solution or reason for this behaviour?

I'm having an interface with gridField(), one of the grid column's value is richTextIcon() containing a submitLink() to kick off a process model. Please see below the code to build up my grid column: 

a!gridColumn(
          align: "CENTER",
          label: "",
          value: a!localVariables(
            local!showLink: false,
            a!richTextDisplayField(
              value: a!richTextIcon(
                caption: "Re-open Case",
                icon: "folder-open",
                link: a!submitLink(
                  showWhen: local!showLink = false(),
                  saveInto: {
                    a!startProcess(
                      processModel: cons!PRO_PM_REACTIVATE_CASE
                      processParameters: {
                        noteContent: "This case was re-activated",
                        caseId: fv!row['recordType!Test.field.caseId]
                      },
                      onSuccess: {
                        a!save(local!showLink, true)
                        
                      }
                    )
                  }
                ),
                linkStyle: "STANDALONE"
              )
            )
          )
        )

I'm expecting to disable the submit link after user clicking on the icon once. The icon was successfully disabled when I test on that interface, and behaved correctly when I tested on the parent interface also, but coming to site testing, after clicking the icon once, it is still active and I can re-click it as many times as I want. 

Does any one have any idea of how to fix this or possible solution to find the reason? Please help if you do Slight smile

Thank you!

  Discussion posts and replies are publicly visible

Parents
  • 0
    Certified Associate Developer
    1. Replace local!showLink = false() with not(local!showLink) in your showWhen attribute to properly evaluate the boolean condition.

    2. Session Variables: Consider using session variables to maintain the state across different interactions within the same user session.
      • Database or Record Fields: Store the state in a database or record field that gets updated when the link is clicked. This is more reliable for maintaining state across different sessions and interfaces.
    3. Ensure the interface where the grid is displayed refreshes after the process is triggered so it can reflect the updated state.

    Note:

    By implementing these changes, you can ensure the submitLink() is disabled after being clicked once, even when tested on the front-end site.

  • 0
    Certified Associate Developer
    in reply to SRINI

    Hi  , thanks for helping. 

    I changed local!showLink = false() with not(local!showLink),and I also added refreshOnVarChange: local!refreshCounter to the gridField(), but still it only works on interface level. 

    Not quite understand how to work on session variable, but will doing it solve the issue?

Reply Children
No Data