a!startProcess() and a!startProcessLink() at one place

Hi,

I have 2 components:

1. a!buttonWidget() with a!startProcess() that starts the asynchronous process

2. a!linkField with a!startProcessLink() that starts my new process

Is there is a way to make these 2 components (buttons) looking the same? As I understand there is no way to start the process from the a!buttonWidget()

  Discussion posts and replies are publicly visible

  • Hi  - you can try using the Cards as Buttons Pattern and throw any kind of link into each card (for example a!startProcessLink() or a!submitLink())

  • 0
    Certified Lead Developer

    Perhaps this is the place for a product enhancement suggestion:

    Give buttons the optional capability of operating a dynamic link or other kind of link as opposed to their default saveInto behavior.

    You could set it up with an optional link: parameter that only runs if the saveInto: parameter is empty.

    This allows us to create buttons that behave as buttons and are formatted like buttons, but can do things like go to other pages or run an a!startProcessLink.  It is really, really frustrating trying to explain to clients that I can't, I mean physically can't, just make a button do it.  No, it really has to NOT be a button.

    Even if it was just a separate linkButton widget, that behaves exactly like a button visually, but only operates like a link behind the scenes.  Or an option to add button-like visuals to a regular link.  Just something to get rid of the limitation on a widget looking like this and doing that.

  • 0
    Certified Associate Developer
    in reply to davel001150

    4 years later, they still be overlooking this suggestion. Shame.

  • 0
    Certified Associate Developer

    Cards as button for startProcess Link Here am adding 1 sample code and along with the expected output of it

    /** Start Process from button**/
    {
      /** columns are used for spacing /for alignment*/
      a!columnsLayout(
        columns: {
          a!columnLayout(width: "4X"),
          /** cardLayput is used to display it as button **/
          a!columnLayout(
            contents: a!cardLayout(
              style: "ACCENT",
              contents: a!cardLayout(
                contents: {
                  a!richTextDisplayField(
                    value: a!richTextItem(
                      text: "StartProcessLink",
                      color: "ACCENT",
                      style: "STRONG"
                    )
                  )
                },
    
                link: a!startProcessLink(
                  label: "Start Process Link",
                  processModel: "" /**Add your Process Model Here**/
                ),
                shape: "SEMI_ROUNDED"
    
              )
            )
          ),
        }
      ),
    a!buttonLayout(
      primaryButtons: a!buttonWidget(
        label: "Start Process",
        value: "Start Process",
        saveInto: a!startProcess()
      )
    )
    }