47 lines
1.2 KiB
TypeScript
47 lines
1.2 KiB
TypeScript
|
|
import type {
|
|||
|
|
ITriggerFunctions,
|
|||
|
|
INodeType,
|
|||
|
|
INodeTypeDescription,
|
|||
|
|
ITriggerResponse,
|
|||
|
|
} from 'n8n-workflow';
|
|||
|
|
import { NodeConnectionTypes } from 'n8n-workflow';
|
|||
|
|
|
|||
|
|
export class ManualTrigger implements INodeType {
|
|||
|
|
description: INodeTypeDescription = {
|
|||
|
|
displayName: 'Manual Trigger',
|
|||
|
|
name: 'manualTrigger',
|
|||
|
|
icon: 'fa:mouse-pointer',
|
|||
|
|
group: ['trigger'],
|
|||
|
|
version: 1,
|
|||
|
|
description: 'Runs the flow on clicking a button in n8n',
|
|||
|
|
eventTriggerDescription: '',
|
|||
|
|
maxNodes: 1,
|
|||
|
|
defaults: {
|
|||
|
|
name: 'When clicking ‘Execute workflow’',
|
|||
|
|
color: '#909298',
|
|||
|
|
},
|
|||
|
|
|
|||
|
|
inputs: [],
|
|||
|
|
outputs: [NodeConnectionTypes.Main],
|
|||
|
|
properties: [
|
|||
|
|
{
|
|||
|
|
displayName:
|
|||
|
|
'This node is where the workflow execution starts (when you click the ‘test’ button on the canvas).<br><br> <a data-action="showNodeCreator">Explore other ways to trigger your workflow</a> (e.g on a schedule, or a webhook)',
|
|||
|
|
name: 'notice',
|
|||
|
|
type: 'notice',
|
|||
|
|
default: '',
|
|||
|
|
},
|
|||
|
|
],
|
|||
|
|
};
|
|||
|
|
|
|||
|
|
async trigger(this: ITriggerFunctions): Promise<ITriggerResponse> {
|
|||
|
|
const manualTriggerFunction = async () => {
|
|||
|
|
this.emit([this.helpers.returnJsonArray([{}])]);
|
|||
|
|
};
|
|||
|
|
|
|||
|
|
return {
|
|||
|
|
manualTriggerFunction,
|
|||
|
|
};
|
|||
|
|
}
|
|||
|
|
}
|