mirror of
https://github.com/n8n-io/n8n.git
synced 2024-11-16 01:24:05 -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,
|
|
};
|
|
};
|