mirror of
https://github.com/n8n-io/n8n.git
synced 2024-11-14 08:34:07 -08:00
58 lines
1 KiB
TypeScript
58 lines
1 KiB
TypeScript
|
import type { INodeProperties } from 'n8n-workflow';
|
||
|
|
||
|
export const showFor =
|
||
|
(resources: string[]) =>
|
||
|
(operations?: string[]): Partial<INodeProperties> => {
|
||
|
return operations !== undefined
|
||
|
? {
|
||
|
displayOptions: {
|
||
|
show: {
|
||
|
resource: resources,
|
||
|
operation: operations,
|
||
|
},
|
||
|
},
|
||
|
}
|
||
|
: {
|
||
|
displayOptions: {
|
||
|
show: {
|
||
|
resource: resources,
|
||
|
},
|
||
|
},
|
||
|
};
|
||
|
};
|
||
|
|
||
|
export const mapWith =
|
||
|
<T>(...objects: Array<Partial<T>>) =>
|
||
|
(item: Partial<T>) =>
|
||
|
Object.assign({}, item, ...objects);
|
||
|
|
||
|
export const getId = (): INodeProperties => ({
|
||
|
displayName: 'ID',
|
||
|
name: 'id',
|
||
|
type: 'string',
|
||
|
required: true,
|
||
|
default: '',
|
||
|
routing: {
|
||
|
send: {
|
||
|
type: 'query',
|
||
|
property: 'ids[]',
|
||
|
},
|
||
|
},
|
||
|
});
|
||
|
|
||
|
export const getAdditionalOptions = (fields: INodeProperties[]): INodeProperties => {
|
||
|
return {
|
||
|
displayName: 'Additional Options',
|
||
|
name: 'additionalOptions',
|
||
|
type: 'collection',
|
||
|
displayOptions: {
|
||
|
show: {
|
||
|
operation: ['getAll'],
|
||
|
},
|
||
|
},
|
||
|
default: {},
|
||
|
placeholder: 'Add Option',
|
||
|
options: fields,
|
||
|
};
|
||
|
};
|