diff --git a/packages/nodes-base/nodes/ClickUp/ClickUp.node.ts b/packages/nodes-base/nodes/ClickUp/ClickUp.node.ts index 20ee32b65d..38032890b1 100644 --- a/packages/nodes-base/nodes/ClickUp/ClickUp.node.ts +++ b/packages/nodes-base/nodes/ClickUp/ClickUp.node.ts @@ -125,6 +125,22 @@ export class ClickUp implements INodeType { } return returnData; }, + // Get all the available lists without a folder to display them to user so that he can + // select them easily + async getFolderlessLists(this: ILoadOptionsFunctions): Promise { + const spaceId = this.getCurrentNodeParameter('space') as string; + const returnData: INodePropertyOptions[] = []; + const { lists } = await clickupApiRequest.call(this, 'GET', `/space/${spaceId}/list`); + for (const list of lists) { + const listName = list.name; + const listId = list.id; + returnData.push({ + name: listName, + value: listId, + }); + } + return returnData; + }, // Get all the available assignees to display them to user so that he can // select them easily async getAssignees(this: ILoadOptionsFunctions): Promise { diff --git a/packages/nodes-base/nodes/ClickUp/TaskDescription.ts b/packages/nodes-base/nodes/ClickUp/TaskDescription.ts index b3883040c3..123244e8a4 100644 --- a/packages/nodes-base/nodes/ClickUp/TaskDescription.ts +++ b/packages/nodes-base/nodes/ClickUp/TaskDescription.ts @@ -87,6 +87,23 @@ export const taskFields = [ }, required: true, }, + { + displayName: 'Forderless List', + name: 'fonderlessList', + type: 'boolean', + default: false, + displayOptions: { + show: { + resource: [ + 'task', + ], + operation: [ + 'create', + ], + }, + }, + required: true, + }, { displayName: 'Folder', name: 'folder', @@ -100,13 +117,16 @@ export const taskFields = [ operation: [ 'create', ], + fonderlessList: [ + false, + ], }, }, typeOptions: { loadOptionsMethod: 'getFolders', loadOptionsDependsOn: [ 'space', - ] + ], }, required: true, }, @@ -123,6 +143,35 @@ export const taskFields = [ operation: [ 'create', ], + fonderlessList: [ + true, + ], + }, + }, + typeOptions: { + loadOptionsMethod: 'getFolderlessLists', + loadOptionsDependsOn: [ + 'space', + ], + }, + required: true, + }, + { + displayName: 'List', + name: 'list', + type: 'options', + default: '', + displayOptions: { + show: { + resource: [ + 'task', + ], + operation: [ + 'create', + ], + fonderlessList: [ + false, + ], }, }, typeOptions: {