FlowArgument

The FlowArgument class represents an argument for a Flow Card as defined in the app's app.json. This class must not be initiated by the developer, but retrieved by calling FlowCard#getArgument.

Table of Contents

Methods

registerAutocompleteListener(listener) → {FlowArgument}

Register a listener for a autocomplete event. This is fired when the argument is of type autocomplete and the user typed a query.

Parameters:
Name Type Description
listener function

Should return a promise that resolves to the autocomplete results.

Name Type Description
query string

The typed query by the user

args object

The current state of the arguments, as selected by the user in the front-end

Returns:
Type:
FlowArgument
Example
const myActionCard = this.homey.flow.getActionCard('my_action');

const myActionCardMyArg = myAction.getArgument('my_arg');

myActionCardMyArg.registerAutocompleteListener(async (query, args) => {
  const results = [
    {
      name: 'Value name',
      description: 'Optional description',
      icon: 'https://path.to/icon.svg',
      // For images that are not svg use:
      // image: 'https://path.to/icon.png',

      // You can freely add additional properties to access in registerRunListener
      id: '...',
    },
  ];

  // filter based on the query
  return results.filter((result) => {
    return result.name.toLowerCase().includes(query.toLowerCase());
  });
});