From 99963b04a53dff78096baba61cb7cdee6b1f61c8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Iv=C3=A1n=20Ovejero?= Date: Thu, 18 Nov 2021 11:32:13 +0100 Subject: [PATCH] :sparkles: Render header strings --- packages/cli/src/Server.ts | 16 ++ packages/editor-ui/package.json | 4 +- packages/editor-ui/src/Interface.ts | 10 ++ .../CredentialEdit/CredentialInfo.vue | 27 +++- .../src/components/DisplayWithChange.vue | 11 +- .../src/components/ExecutionsList.vue | 7 +- .../components/NodeCreator/CategoryItem.vue | 22 ++- .../src/components/NodeCreator/MainPanel.vue | 9 +- .../src/components/NodeCreator/NoResults.vue | 23 +-- .../src/components/NodeCreator/NodeItem.vue | 36 ++++- .../src/components/NodeCreator/SearchBar.vue | 5 +- .../NodeCreator/SubcategoryItem.vue | 27 +++- .../NodeCreator/SubcategoryPanel.vue | 15 +- .../editor-ui/src/components/NodeSettings.vue | 19 ++- .../src/components/mixins/renderText.ts | 13 +- .../src/components/mixins/restApi.ts | 5 + packages/editor-ui/src/constants.ts | 2 +- packages/editor-ui/src/i18n/index.ts | 20 ++- packages/editor-ui/src/i18n/locales/de.ts | 46 ++++++ packages/editor-ui/src/i18n/locales/en.ts | 46 ++++++ packages/editor-ui/src/views/NodeView.vue | 12 +- packages/nodes-base/gulpfile.js | 142 +++++++++++++++++- .../nodes/Bitwarden/translations/de.ts | 4 + .../nodes/Github/translations/de.ts | 4 + packages/nodes-base/package.json | 3 +- 25 files changed, 467 insertions(+), 61 deletions(-) diff --git a/packages/cli/src/Server.ts b/packages/cli/src/Server.ts index aae073ec60..41e5cf663c 100644 --- a/packages/cli/src/Server.ts +++ b/packages/cli/src/Server.ts @@ -1207,6 +1207,22 @@ class App { ), ); + // Returns node information based on node names and versions + this.app.get( + `/${this.restEndpoint}/node-translation-headers`, + ResponseHelper.send( + async (req: express.Request, res: express.Response): Promise => { + const packagesPath = pathJoin(__dirname, '..', '..', '..'); + const headersPath = pathJoin(packagesPath, 'nodes-base', 'dist', 'nodes', 'headers'); + try { + return require(headersPath); + } catch (error) { + res.status(500).send('Failed to find headers file'); + } + }, + ), + ); + // ---------------------------------------- // Node-Types // ---------------------------------------- diff --git a/packages/editor-ui/package.json b/packages/editor-ui/package.json index 3a4efd3121..a25b55f8b8 100644 --- a/packages/editor-ui/package.json +++ b/packages/editor-ui/package.json @@ -40,6 +40,7 @@ "@types/express": "^4.17.6", "@types/file-saver": "^2.0.1", "@types/jest": "^26.0.13", + "@types/lodash.camelcase": "^4.3.6", "@types/lodash.get": "^4.4.6", "@types/lodash.set": "^4.3.6", "@types/node": "14.17.27", @@ -69,15 +70,16 @@ "jquery": "^3.4.1", "jshint": "^2.9.7", "jsplumb": "2.15.4", + "lodash.camelcase": "^4.3.0", "lodash.debounce": "^4.0.8", "lodash.get": "^4.4.2", "lodash.set": "^4.3.2", "n8n-workflow": "~0.76.0", - "sass": "^1.26.5", "normalize-wheel": "^1.0.1", "prismjs": "^1.17.1", "quill": "^2.0.0-dev.3", "quill-autoformat": "^0.1.1", + "sass": "^1.26.5", "sass-loader": "^8.0.2", "string-template-parser": "^1.2.6", "ts-jest": "^26.3.0", diff --git a/packages/editor-ui/src/Interface.ts b/packages/editor-ui/src/Interface.ts index 6489570e11..b08bf7fa2e 100644 --- a/packages/editor-ui/src/Interface.ts +++ b/packages/editor-ui/src/Interface.ts @@ -130,6 +130,7 @@ export interface IRestApi { getPastExecutions(filter: object, limit: number, lastId?: string | number, firstId?: string | number): Promise; stopCurrentExecution(executionId: string): Promise; makeRestApiRequest(method: string, endpoint: string, data?: any): Promise; // tslint:disable-line:no-any + getNodeTranslationHeaders(): Promise; getNodeTypes(onlyLatest?: boolean): Promise; getNodesInformation(nodeInfos: INodeTypeNameVersion[]): Promise; getNodeParameterOptions(nodeTypeAndVersion: INodeTypeNameVersion, path: string, methodName: string, currentNodeParameters: INodeParameters, credentials?: INodeCredentials): Promise; @@ -147,6 +148,15 @@ export interface IRestApi { getTimezones(): Promise; } +export interface INodeTranslationHeaders { + data: { + [key: string]: { + displayName: string; + description: string; + }, + }; +} + export interface IBinaryDisplayData { index: number; key: string; diff --git a/packages/editor-ui/src/components/CredentialEdit/CredentialInfo.vue b/packages/editor-ui/src/components/CredentialEdit/CredentialInfo.vue index c5c0603c83..a8bda75fd7 100644 --- a/packages/editor-ui/src/components/CredentialEdit/CredentialInfo.vue +++ b/packages/editor-ui/src/components/CredentialEdit/CredentialInfo.vue @@ -2,7 +2,9 @@
- {{ $baseText('credentialEdit.credentialInfo.allowUseBy') }} + + {{ $baseText('credentialEdit.credentialInfo.allowUseBy') }} +
@@ -20,7 +25,9 @@ - {{ $baseText('credentialEdit.credentialInfo.created') }} + + {{ $baseText('credentialEdit.credentialInfo.created') }} + @@ -28,7 +35,9 @@ - {{ $baseText('credentialEdit.credentialInfo.lastModified') }} + + {{ $baseText('credentialEdit.credentialInfo.lastModified') }} + @@ -36,10 +45,12 @@ - {{ $baseText('credentialEdit.credentialInfo.id') }} + + {{ $baseText('credentialEdit.credentialInfo.id') }} + - {{currentCredential.id}} + {{ currentCredential.id }}
@@ -51,6 +62,7 @@ import { renderText } from '../mixins/renderText'; import TimeAgo from '../TimeAgo.vue'; import mixins from 'vue-typed-mixins'; +import { INodeTypeDescription } from 'n8n-workflow'; export default mixins(renderText).extend({ name: 'CredentialInfo', @@ -65,6 +77,9 @@ export default mixins(renderText).extend({ value, }); }, + shortNodeType(nodeType: INodeTypeDescription) { + return nodeType.name.replace('n8n-nodes-base.', ''); + }, }, }); diff --git a/packages/editor-ui/src/components/DisplayWithChange.vue b/packages/editor-ui/src/components/DisplayWithChange.vue index c748f019dd..5f1ed0007b 100644 --- a/packages/editor-ui/src/components/DisplayWithChange.vue +++ b/packages/editor-ui/src/components/DisplayWithChange.vue @@ -1,4 +1,4 @@ -