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

Reply
  • 0
    Certified Senior 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.

Children