Call Variable Method Action
The action module for this action is vb/action/builtin/callVariableMethodAction. This action is used to call a method on a variable of InstanceFactory type only. Using it with any other variable will report an error.
               
Here is an example.
"callGetCapabilityChain": {
  "root": "getCapabilityOnLDPV",
  "actions": {
      "getCapabilityOnLDPV": {
          "module": "vb/action/builtin/callVariableMethodAction",
          "parameters": {
            "variable": "$page.variables.incidentsListView",
            "method": "getCapability",
            "params": [
              "sort"
            ]
          }
      }
  }
}Where incidentsListView is an InstanceFactory variable defined like this:
               
"incidentsListLDPV": {
    "type": "ojs/ojlistdataproviderview",
    "constructorParams": [
        "{{ $page.variables.incidentsList.instance }}",
        {
          "sortCriteria": [
            {
              "attribute": "priority",
              "direction": "ascending"
            }
          ]
        }
    ],
    "persisted": "session"
}To call a variable method, we need to pass the following parameters:
| Parameter Name | Description | 
|---|---|
| variable | The variable path | 
| method | The name of the method to call | 
| params | (optional) An array of parameters. Note that a single parameter must still be passed as a single item array. | 
The outcome is either 'success' if the function call was successful, or a 'failure' outcome. An error is thrown for configuration errors.
The result payload is equivalent to whatever the function returns (which may be undefined if there is no return). If the function returns a promise, the result payload will be whatever is resolved in the promise.