🔀 Merge branch 'master' into i18n-v2

This commit is contained in:
Jan Oberhauser 2021-12-19 13:52:04 +01:00
commit 5f6e9767c9
12 changed files with 866 additions and 768 deletions

1500
package-lock.json generated

File diff suppressed because it is too large Load diff

View file

@ -1,6 +1,6 @@
{
"name": "n8n",
"version": "0.153.0",
"version": "0.154.0",
"description": "n8n Workflow Automation Tool",
"license": "SEE LICENSE IN LICENSE.md",
"homepage": "https://n8n.io",
@ -112,8 +112,8 @@
"lodash.get": "^4.4.2",
"mysql2": "~2.3.0",
"n8n-core": "~0.96.0",
"n8n-editor-ui": "~0.120.0",
"n8n-nodes-base": "~0.150.0",
"n8n-editor-ui": "~0.121.0",
"n8n-nodes-base": "~0.151.0",
"n8n-workflow": "~0.79.0",
"oauth-1.0a": "^2.2.6",
"open": "^7.0.0",

View file

@ -1,6 +1,6 @@
{
"name": "n8n-editor-ui",
"version": "0.120.0",
"version": "0.121.0",
"description": "Workflow Editor UI for n8n",
"license": "SEE LICENSE IN LICENSE.md",
"homepage": "https://n8n.io",

View file

@ -3,7 +3,7 @@
:direction="direction"
:visible="visible"
:size="width"
:before-close="beforeClose"
:before-close="close"
:modal="modal"
:wrapperClosable="wrapperClosable"
>
@ -11,7 +11,9 @@
<slot name="header" />
</template>
<template>
<slot name="content"/>
<span @keydown.stop>
<slot name="content"/>
</span>
</template>
</el-drawer>
</template>
@ -79,6 +81,10 @@ export default Vue.extend({
}
},
close() {
if (this.beforeClose) {
this.beforeClose();
return;
}
this.$store.commit('ui/closeTopModal');
},
},

View file

@ -688,7 +688,8 @@ export default mixins(
if (e.key === 'd') {
this.callDebounced('deactivateSelectedNode', 350);
} else if (e.key === 'Delete') {
} else if (e.key === 'Delete' || e.key === 'Backspace') {
e.stopPropagation();
e.preventDefault();

View file

@ -0,0 +1,23 @@
{
"node": "n8n-nodes-base.dhl",
"nodeVersion": "1.0",
"codexVersion": "1.0",
"categories": [
"Miscellaneous"
],
"resources": {
"credentialDocumentation": [
{
"url": "https://docs.n8n.io/credentials/dhl"
}
],
"primaryDocumentation": [
{
"url": "https://docs.n8n.io/nodes/n8n-nodes-base.dhl/"
}
]
},
"alias": [
"Shipping"
]
}

View file

@ -0,0 +1,20 @@
{
"node": "n8n-nodes-base.googleCalendarTrigger",
"nodeVersion": "1.0",
"codexVersion": "1.0",
"categories": [
"Productivity"
],
"resources": {
"credentialDocumentation": [
{
"url": "https://docs.n8n.io/credentials/google"
}
],
"primaryDocumentation": [
{
"url": "https://docs.n8n.io/nodes/n8n-nodes-base.googleCalendarTrigger/"
}
]
}
}

View file

@ -0,0 +1,24 @@
{
"node": "n8n-nodes-base.grafana",
"nodeVersion": "1.0",
"codexVersion": "1.0",
"categories": [
"Development",
"Analytics"
],
"resources": {
"credentialDocumentation": [
{
"url": "https://docs.n8n.io/credentials/grafana"
}
],
"primaryDocumentation": [
{
"url": "https://docs.n8n.io/nodes/n8n-nodes-base.grafana/"
}
]
},
"alias": [
"Prometheus"
]
}

View file

@ -9,6 +9,10 @@ import {
NodeOperationError,
} from 'n8n-workflow';
import {
OptionsWithUri,
} from 'request';
/**
* Make an API request to Plivo.
*
@ -32,7 +36,10 @@ export async function plivoApiRequest(
throw new NodeOperationError(this.getNode(), 'No credentials returned!');
}
const options = {
const options: OptionsWithUri = {
headers: {
'user-agent': 'plivo-n8n',
},
method,
form: body,
qs,

View file

@ -12,6 +12,12 @@ import {
IDataObject, NodeApiError,
} from 'n8n-workflow';
export function FormatDueDatetime(ISOString: string): string {
// Assuming that the problem with incorrect date format was caused by milliseconds
// Replacing the last 5 characters of ISO-formatted string with just Z char
return ISOString.replace(new RegExp('.000Z$'), 'Z');
}
export async function todoistApiRequest(
this:
| IHookFunctions

View file

@ -13,6 +13,7 @@ import {
import {
todoistApiRequest,
FormatDueDatetime,
} from './GenericFunctions';
interface IBodyCreateTask {
@ -276,6 +277,13 @@ export class Todoist implements INodeType {
default: '',
description: 'Human defined task due date (ex.: “next Monday”, “Tomorrow”). Value is set using local (not UTC) time.',
},
{
displayName: 'Due String Locale',
name: 'dueLang',
type: 'string',
default: '',
description: '2-letter code specifying language in case due_string is not written in English.',
},
{
displayName: 'Priority',
name: 'priority',
@ -357,7 +365,7 @@ export class Todoist implements INodeType {
],
operation: [
'getAll',
],
],
},
},
options: [
@ -449,6 +457,13 @@ export class Todoist implements INodeType {
default: '',
description: 'Human defined task due date (ex.: “next Monday”, “Tomorrow”). Value is set using local (not UTC) time.',
},
{
displayName: 'Due String Locale',
name: 'dueLang',
type: 'string',
default: '',
description: '2-letter code specifying language in case due_string is not written in English.',
},
{
displayName: 'Labels',
name: 'labels',
@ -573,13 +588,17 @@ export class Todoist implements INodeType {
}
if (options.dueDateTime) {
body.due_datetime = options.dueDateTime as string;
body.due_datetime = FormatDueDatetime(options.dueDateTime as string);
}
if (options.dueString) {
body.due_string = options.dueString as string;
}
if (options.dueLang) {
body.due_lang = options.dueLang as string;
}
if (labels !== undefined && labels.length !== 0) {
body.label_ids = labels;
}
@ -670,13 +689,17 @@ export class Todoist implements INodeType {
}
if (updateFields.dueDateTime) {
body.due_datetime = updateFields.dueDateTime as string;
body.due_datetime = FormatDueDatetime(updateFields.dueDateTime as string);
}
if (updateFields.dueString) {
body.due_string = updateFields.dueString as string;
}
if (updateFields.dueLang) {
body.due_lang = updateFields.dueLang as string;
}
if (updateFields.labels !== undefined &&
Array.isArray(updateFields.labels) &&
updateFields.labels.length !== 0) {

View file

@ -1,6 +1,6 @@
{
"name": "n8n-nodes-base",
"version": "0.150.0",
"version": "0.151.0",
"description": "Base nodes of n8n",
"license": "SEE LICENSE IN LICENSE.md",
"homepage": "https://n8n.io",