mirror of
https://github.com/n8n-io/n8n.git
synced 2024-11-10 14:44:05 -08:00
🚚 Rename $i18n2 to $i
This commit is contained in:
parent
858d0d0160
commit
94d6136661
|
@ -1,10 +1,10 @@
|
|||
<template>
|
||||
<span>
|
||||
<el-dialog class="n8n-about" :visible="dialogVisible" append-to-body width="50%" :title="$i18n2.baseText('about.aboutN8n')" :before-close="closeDialog">
|
||||
<el-dialog class="n8n-about" :visible="dialogVisible" append-to-body width="50%" :title="$i.baseText('about.aboutN8n')" :before-close="closeDialog">
|
||||
<div>
|
||||
<el-row>
|
||||
<el-col :span="8" class="info-name">
|
||||
{{ $i18n2.baseText('about.n8nVersion') }}
|
||||
{{ $i.baseText('about.n8nVersion') }}
|
||||
</el-col>
|
||||
<el-col :span="16">
|
||||
{{ versionCli }}
|
||||
|
@ -12,7 +12,7 @@
|
|||
</el-row>
|
||||
<el-row>
|
||||
<el-col :span="8" class="info-name">
|
||||
{{ $i18n2.baseText('about.sourceCode') }}
|
||||
{{ $i.baseText('about.sourceCode') }}
|
||||
</el-col>
|
||||
<el-col :span="16">
|
||||
<a href="https://github.com/n8n-io/n8n" target="_blank">https://github.com/n8n-io/n8n</a>
|
||||
|
@ -20,17 +20,17 @@
|
|||
</el-row>
|
||||
<el-row>
|
||||
<el-col :span="8" class="info-name">
|
||||
{{ $i18n2.baseText('about.license') }}
|
||||
{{ $i.baseText('about.license') }}
|
||||
</el-col>
|
||||
<el-col :span="16">
|
||||
<a href="https://github.com/n8n-io/n8n/blob/master/packages/cli/LICENSE.md" target="_blank">
|
||||
{{ $i18n2.baseText('about.apacheWithCommons20Clause') }}
|
||||
{{ $i.baseText('about.apacheWithCommons20Clause') }}
|
||||
</a>
|
||||
</el-col>
|
||||
</el-row>
|
||||
|
||||
<div class="action-buttons">
|
||||
<n8n-button @click="closeDialog" :label="$i18n2.baseText('about.close')" />
|
||||
<n8n-button @click="closeDialog" :label="$i.baseText('about.close')" />
|
||||
</div>
|
||||
</div>
|
||||
</el-dialog>
|
||||
|
|
|
@ -4,18 +4,18 @@
|
|||
@click.stop="closeWindow"
|
||||
size="small"
|
||||
class="binary-data-window-back"
|
||||
:title="$i18n2.baseText('binaryDataDisplay.backToOverviewPage')"
|
||||
:title="$i.baseText('binaryDataDisplay.backToOverviewPage')"
|
||||
icon="arrow-left"
|
||||
:label="$i18n2.baseText('binaryDataDisplay.backToList')"
|
||||
:label="$i.baseText('binaryDataDisplay.backToList')"
|
||||
/>
|
||||
|
||||
<div class="binary-data-window-wrapper">
|
||||
<div v-if="!binaryData">
|
||||
{{ $i18n2.baseText('binaryDataDisplay.noDataFoundToDisplay') }}
|
||||
{{ $i.baseText('binaryDataDisplay.noDataFoundToDisplay') }}
|
||||
</div>
|
||||
<video v-else-if="binaryData.mimeType && binaryData.mimeType.startsWith('video/')" controls autoplay>
|
||||
<source :src="'data:' + binaryData.mimeType + ';base64,' + binaryData.data" :type="binaryData.mimeType">
|
||||
{{ $i18n2.baseText('binaryDataDisplay.yourBrowserDoesNotSupport') }}
|
||||
{{ $i.baseText('binaryDataDisplay.yourBrowserDoesNotSupport') }}
|
||||
</video>
|
||||
<embed v-else :src="'data:' + binaryData.mimeType + ';base64,' + binaryData.data" class="binary-data" :class="embedClass"/>
|
||||
</div>
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
<template>
|
||||
<div v-if="dialogVisible">
|
||||
<el-dialog :visible="dialogVisible" append-to-body :close-on-click-modal="false" width="80%" :title="`${$i18n2.baseText('codeEdit.edit')} ${$i18n2.nodeText().topParameterDisplayName(parameter)}`" :before-close="closeDialog">
|
||||
<el-dialog :visible="dialogVisible" append-to-body :close-on-click-modal="false" width="80%" :title="`${$i.baseText('codeEdit.edit')} ${$i.nodeText().topParameterDisplayName(parameter)}`" :before-close="closeDialog">
|
||||
<div class="ignore-key-press">
|
||||
<n8n-input-label :label="$i18n2.nodeText().topParameterDisplayName(parameter)">
|
||||
<n8n-input-label :label="$i.nodeText().topParameterDisplayName(parameter)">
|
||||
<div :class="$style.editor" @keydown.stop>
|
||||
<prism-editor :lineNumbers="true" :code="value" :readonly="isReadOnly" @change="valueChanged" language="js"></prism-editor>
|
||||
</div>
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
<div @keydown.stop class="collection-parameter">
|
||||
<div class="collection-parameter-wrapper">
|
||||
<div v-if="getProperties.length === 0" class="no-items-exist">
|
||||
<n8n-text size="small">{{ $i18n2.baseText('collectionParameter.noProperties') }}</n8n-text>
|
||||
<n8n-text size="small">{{ $i.baseText('collectionParameter.noProperties') }}</n8n-text>
|
||||
</div>
|
||||
|
||||
<parameter-input-list :parameters="getProperties" :nodeValues="nodeValues" :path="path" :hideDelete="hideDelete" :indent="true" @valueChanged="valueChanged" />
|
||||
|
@ -19,7 +19,7 @@
|
|||
<n8n-option
|
||||
v-for="item in parameterOptions"
|
||||
:key="item.name"
|
||||
:label="$i18n2.nodeText().collectionOptionDisplayName(parameter, item)"
|
||||
:label="$i.nodeText().collectionOptionDisplayName(parameter, item)"
|
||||
:value="item.name">
|
||||
</n8n-option>
|
||||
</n8n-select>
|
||||
|
@ -67,8 +67,8 @@ export default mixins(
|
|||
},
|
||||
computed: {
|
||||
getPlaceholderText (): string {
|
||||
const placeholder = this.$i18n2.nodeText().placeholder(this.parameter);
|
||||
return placeholder ? placeholder : this.$i18n2.baseText('collectionParameter.choose');
|
||||
const placeholder = this.$i.nodeText().placeholder(this.parameter);
|
||||
return placeholder ? placeholder : this.$i.baseText('collectionParameter.choose');
|
||||
},
|
||||
getProperties (): INodeProperties[] {
|
||||
const returnProperties = [];
|
||||
|
|
|
@ -38,7 +38,7 @@ export default mixins(copyPaste, showMessage).extend({
|
|||
this.copyToClipboard(this.$props.copyContent);
|
||||
|
||||
this.$showMessage({
|
||||
title: this.$i18n2.baseText('credentialsEdit.showMessage.title'),
|
||||
title: this.$i.baseText('credentialsEdit.showMessage.title'),
|
||||
message: this.$props.successMessage,
|
||||
type: 'success',
|
||||
});
|
||||
|
|
|
@ -3,17 +3,17 @@
|
|||
<banner
|
||||
v-show="showValidationWarning"
|
||||
theme="danger"
|
||||
:message="$i18n2.baseText('credentialEdit.credentialConfig.pleaseCheckTheErrorsBelow')"
|
||||
:message="$i.baseText('credentialEdit.credentialConfig.pleaseCheckTheErrorsBelow')"
|
||||
/>
|
||||
|
||||
<banner
|
||||
v-if="authError && !showValidationWarning"
|
||||
theme="danger"
|
||||
:message="$i18n2.baseText('credentialEdit.credentialConfig.couldntConnectWithTheseSettings')"
|
||||
:message="$i.baseText('credentialEdit.credentialConfig.couldntConnectWithTheseSettings')"
|
||||
:details="authError"
|
||||
:buttonLabel="$i18n2.baseText('credentialEdit.credentialConfig.retry')"
|
||||
:buttonLabel="$i.baseText('credentialEdit.credentialConfig.retry')"
|
||||
buttonLoadingLabel="Retrying"
|
||||
:buttonTitle="$i18n2.baseText('credentialEdit.credentialConfig.retryCredentialTest')"
|
||||
:buttonTitle="$i.baseText('credentialEdit.credentialConfig.retryCredentialTest')"
|
||||
:buttonLoading="isRetesting"
|
||||
@click="$emit('retest')"
|
||||
/>
|
||||
|
@ -21,37 +21,37 @@
|
|||
<banner
|
||||
v-show="showOAuthSuccessBanner && !showValidationWarning"
|
||||
theme="success"
|
||||
:message="$i18n2.baseText('credentialEdit.credentialConfig.accountConnected')"
|
||||
:buttonLabel="$i18n2.baseText('credentialEdit.credentialConfig.reconnect')"
|
||||
:buttonTitle="$i18n2.baseText('credentialEdit.credentialConfig.reconnectOAuth2Credential')"
|
||||
:message="$i.baseText('credentialEdit.credentialConfig.accountConnected')"
|
||||
:buttonLabel="$i.baseText('credentialEdit.credentialConfig.reconnect')"
|
||||
:buttonTitle="$i.baseText('credentialEdit.credentialConfig.reconnectOAuth2Credential')"
|
||||
@click="$emit('oauth')"
|
||||
/>
|
||||
|
||||
<banner
|
||||
v-show="testedSuccessfully && !showValidationWarning"
|
||||
theme="success"
|
||||
:message="$i18n2.baseText('credentialEdit.credentialConfig.connectionTestedSuccessfully')"
|
||||
:buttonLabel="$i18n2.baseText('credentialEdit.credentialConfig.retry')"
|
||||
:buttonLoadingLabel="$i18n2.baseText('credentialEdit.credentialConfig.retrying')"
|
||||
:buttonTitle="$i18n2.baseText('credentialEdit.credentialConfig.retryCredentialTest')"
|
||||
:message="$i.baseText('credentialEdit.credentialConfig.connectionTestedSuccessfully')"
|
||||
:buttonLabel="$i.baseText('credentialEdit.credentialConfig.retry')"
|
||||
:buttonLoadingLabel="$i.baseText('credentialEdit.credentialConfig.retrying')"
|
||||
:buttonTitle="$i.baseText('credentialEdit.credentialConfig.retryCredentialTest')"
|
||||
:buttonLoading="isRetesting"
|
||||
@click="$emit('retest')"
|
||||
/>
|
||||
|
||||
<n8n-info-tip v-if="documentationUrl && credentialProperties.length">
|
||||
{{ $i18n2.baseText('credentialEdit.credentialConfig.needHelpFillingOutTheseFields') }}
|
||||
{{ $i.baseText('credentialEdit.credentialConfig.needHelpFillingOutTheseFields') }}
|
||||
<a :href="documentationUrl" target="_blank" @click="onDocumentationUrlClick">
|
||||
{{ $i18n2.baseText('credentialEdit.credentialConfig.openDocs') }}
|
||||
{{ $i.baseText('credentialEdit.credentialConfig.openDocs') }}
|
||||
</a>
|
||||
</n8n-info-tip>
|
||||
|
||||
<CopyInput
|
||||
v-if="isOAuthType && credentialProperties.length"
|
||||
:label="$i18n2.baseText('credentialEdit.credentialConfig.oAuthRedirectUrl')"
|
||||
:label="$i.baseText('credentialEdit.credentialConfig.oAuthRedirectUrl')"
|
||||
:copyContent="oAuthCallbackUrl"
|
||||
:copyButtonText="$i18n2.baseText('credentialEdit.credentialConfig.clickToCopy')"
|
||||
:subtitle="$i18n2.baseText('credentialEdit.credentialConfig.subtitle', { interpolate: { appName } })"
|
||||
:successMessage="$i18n2.baseText('credentialEdit.credentialConfig.redirectUrlCopiedToClipboard')"
|
||||
:copyButtonText="$i.baseText('credentialEdit.credentialConfig.clickToCopy')"
|
||||
:subtitle="$i.baseText('credentialEdit.credentialConfig.subtitle', { interpolate: { appName } })"
|
||||
:successMessage="$i.baseText('credentialEdit.credentialConfig.redirectUrlCopiedToClipboard')"
|
||||
/>
|
||||
|
||||
<CredentialInputs
|
||||
|
@ -143,7 +143,7 @@ export default mixins(restApi).extend({
|
|||
(this.credentialType as ICredentialType).displayName,
|
||||
);
|
||||
|
||||
return appName || this.$i18n2.baseText('credentialEdit.credentialConfig.theServiceYouReConnectingTo');
|
||||
return appName || this.$i.baseText('credentialEdit.credentialConfig.theServiceYouReConnectingTo');
|
||||
},
|
||||
credentialTypeName(): string {
|
||||
return (this.credentialType as ICredentialType).name;
|
||||
|
|
|
@ -25,7 +25,7 @@
|
|||
<n8n-icon-button
|
||||
v-if="currentCredential"
|
||||
size="small"
|
||||
:title="$i18n2.baseText('credentialEdit.credentialEdit.delete')"
|
||||
:title="$i.baseText('credentialEdit.credentialEdit.delete')"
|
||||
icon="trash"
|
||||
type="text"
|
||||
:disabled="isSaving"
|
||||
|
@ -37,8 +37,8 @@
|
|||
:saved="!hasUnsavedChanges && !isTesting"
|
||||
:isSaving="isSaving || isTesting"
|
||||
:savingLabel="isTesting
|
||||
? $i18n2.baseText('credentialEdit.credentialEdit.testing')
|
||||
: $i18n2.baseText('credentialEdit.credentialEdit.saving')"
|
||||
? $i.baseText('credentialEdit.credentialEdit.testing')
|
||||
: $i.baseText('credentialEdit.credentialEdit.saving')"
|
||||
@click="saveCredential"
|
||||
/>
|
||||
</div>
|
||||
|
@ -55,10 +55,10 @@
|
|||
:light="true"
|
||||
>
|
||||
<n8n-menu-item index="connection" :class="$style.credTab"
|
||||
><span slot="title">{{ $i18n2.baseText('credentialEdit.credentialEdit.connection') }}</span></n8n-menu-item
|
||||
><span slot="title">{{ $i.baseText('credentialEdit.credentialEdit.connection') }}</span></n8n-menu-item
|
||||
>
|
||||
<n8n-menu-item index="details" :class="$style.credTab"
|
||||
><span slot="title">{{ $i18n2.baseText('credentialEdit.credentialEdit.details') }}</span></n8n-menu-item
|
||||
><span slot="title">{{ $i.baseText('credentialEdit.credentialEdit.details') }}</span></n8n-menu-item
|
||||
>
|
||||
</n8n-menu>
|
||||
</div>
|
||||
|
@ -351,20 +351,20 @@ export default mixins(showMessage, nodeHelpers).extend({
|
|||
if (this.hasUnsavedChanges) {
|
||||
const displayName = this.credentialType ? this.credentialType.displayName : '';
|
||||
keepEditing = await this.confirmMessage(
|
||||
this.$i18n2.baseText('credentialEdit.credentialEdit.confirmMessage.beforeClose1.message', { interpolate: { credentialDisplayName: displayName } }),
|
||||
this.$i18n2.baseText('credentialEdit.credentialEdit.confirmMessage.beforeClose1.headline'),
|
||||
this.$i.baseText('credentialEdit.credentialEdit.confirmMessage.beforeClose1.message', { interpolate: { credentialDisplayName: displayName } }),
|
||||
this.$i.baseText('credentialEdit.credentialEdit.confirmMessage.beforeClose1.headline'),
|
||||
null,
|
||||
this.$i18n2.baseText('credentialEdit.credentialEdit.confirmMessage.beforeClose1.cancelButtonText'),
|
||||
this.$i18n2.baseText('credentialEdit.credentialEdit.confirmMessage.beforeClose1.confirmButtonText'),
|
||||
this.$i.baseText('credentialEdit.credentialEdit.confirmMessage.beforeClose1.cancelButtonText'),
|
||||
this.$i.baseText('credentialEdit.credentialEdit.confirmMessage.beforeClose1.confirmButtonText'),
|
||||
);
|
||||
}
|
||||
else if (this.isOAuthType && !this.isOAuthConnected) {
|
||||
keepEditing = await this.confirmMessage(
|
||||
this.$i18n2.baseText('credentialEdit.credentialEdit.confirmMessage.beforeClose2.message'),
|
||||
this.$i18n2.baseText('credentialEdit.credentialEdit.confirmMessage.beforeClose2.headline'),
|
||||
this.$i.baseText('credentialEdit.credentialEdit.confirmMessage.beforeClose2.message'),
|
||||
this.$i.baseText('credentialEdit.credentialEdit.confirmMessage.beforeClose2.headline'),
|
||||
null,
|
||||
this.$i18n2.baseText('credentialEdit.credentialEdit.confirmMessage.beforeClose2.cancelButtonText'),
|
||||
this.$i18n2.baseText('credentialEdit.credentialEdit.confirmMessage.beforeClose2.confirmButtonText'),
|
||||
this.$i.baseText('credentialEdit.credentialEdit.confirmMessage.beforeClose2.cancelButtonText'),
|
||||
this.$i.baseText('credentialEdit.credentialEdit.confirmMessage.beforeClose2.confirmButtonText'),
|
||||
);
|
||||
}
|
||||
|
||||
|
@ -403,7 +403,7 @@ export default mixins(showMessage, nodeHelpers).extend({
|
|||
|
||||
if (!credentialsData) {
|
||||
throw new Error(
|
||||
this.$i18n2.baseText('credentialEdit.credentialEdit.couldNotFindCredentialOfType') + ':' + name,
|
||||
this.$i.baseText('credentialEdit.credentialEdit.couldNotFindCredentialOfType') + ':' + name,
|
||||
);
|
||||
}
|
||||
|
||||
|
@ -440,7 +440,7 @@ export default mixins(showMessage, nodeHelpers).extend({
|
|||
});
|
||||
if (!currentCredentials) {
|
||||
throw new Error(
|
||||
this.$i18n2.baseText('credentialEdit.credentialEdit.couldNotFindCredentialWithId') + ':' + this.credentialId,
|
||||
this.$i.baseText('credentialEdit.credentialEdit.couldNotFindCredentialWithId') + ':' + this.credentialId,
|
||||
);
|
||||
}
|
||||
|
||||
|
@ -455,8 +455,8 @@ export default mixins(showMessage, nodeHelpers).extend({
|
|||
} catch (error) {
|
||||
this.$showError(
|
||||
error,
|
||||
this.$i18n2.baseText('credentialEdit.credentialEdit.showError.loadCredential.title'),
|
||||
this.$i18n2.baseText('credentialEdit.credentialEdit.showError.loadCredential.message'),
|
||||
this.$i.baseText('credentialEdit.credentialEdit.showError.loadCredential.title'),
|
||||
this.$i.baseText('credentialEdit.credentialEdit.showError.loadCredential.message'),
|
||||
);
|
||||
this.closeDialog();
|
||||
|
||||
|
@ -661,8 +661,8 @@ export default mixins(showMessage, nodeHelpers).extend({
|
|||
} catch (error) {
|
||||
this.$showError(
|
||||
error,
|
||||
this.$i18n2.baseText('credentialEdit.credentialEdit.showError.createCredential.title'),
|
||||
this.$i18n2.baseText('credentialEdit.credentialEdit.showError.createCredential.message'),
|
||||
this.$i.baseText('credentialEdit.credentialEdit.showError.createCredential.title'),
|
||||
this.$i.baseText('credentialEdit.credentialEdit.showError.createCredential.message'),
|
||||
);
|
||||
|
||||
return null;
|
||||
|
@ -690,8 +690,8 @@ export default mixins(showMessage, nodeHelpers).extend({
|
|||
} catch (error) {
|
||||
this.$showError(
|
||||
error,
|
||||
this.$i18n2.baseText('credentialEdit.credentialEdit.showError.updateCredential.title'),
|
||||
this.$i18n2.baseText('credentialEdit.credentialEdit.showError.updateCredential.message'),
|
||||
this.$i.baseText('credentialEdit.credentialEdit.showError.updateCredential.title'),
|
||||
this.$i.baseText('credentialEdit.credentialEdit.showError.updateCredential.message'),
|
||||
);
|
||||
|
||||
return null;
|
||||
|
@ -712,10 +712,10 @@ export default mixins(showMessage, nodeHelpers).extend({
|
|||
const savedCredentialName = this.currentCredential.name;
|
||||
|
||||
const deleteConfirmed = await this.confirmMessage(
|
||||
this.$i18n2.baseText('credentialEdit.credentialEdit.confirmMessage.deleteCredential.message', { interpolate: { savedCredentialName } }),
|
||||
this.$i18n2.baseText('credentialEdit.credentialEdit.confirmMessage.deleteCredential.headline'),
|
||||
this.$i.baseText('credentialEdit.credentialEdit.confirmMessage.deleteCredential.message', { interpolate: { savedCredentialName } }),
|
||||
this.$i.baseText('credentialEdit.credentialEdit.confirmMessage.deleteCredential.headline'),
|
||||
null,
|
||||
this.$i18n2.baseText('credentialEdit.credentialEdit.confirmMessage.deleteCredential.confirmButtonText'),
|
||||
this.$i.baseText('credentialEdit.credentialEdit.confirmMessage.deleteCredential.confirmButtonText'),
|
||||
);
|
||||
|
||||
if (deleteConfirmed === false) {
|
||||
|
@ -731,8 +731,8 @@ export default mixins(showMessage, nodeHelpers).extend({
|
|||
} catch (error) {
|
||||
this.$showError(
|
||||
error,
|
||||
this.$i18n2.baseText('credentialEdit.credentialEdit.showError.deleteCredential.title'),
|
||||
this.$i18n2.baseText('credentialEdit.credentialEdit.showError.deleteCredential.message'),
|
||||
this.$i.baseText('credentialEdit.credentialEdit.showError.deleteCredential.title'),
|
||||
this.$i.baseText('credentialEdit.credentialEdit.showError.deleteCredential.message'),
|
||||
);
|
||||
this.isDeleting = false;
|
||||
|
||||
|
@ -744,8 +744,8 @@ export default mixins(showMessage, nodeHelpers).extend({
|
|||
this.updateNodesCredentialsIssues();
|
||||
|
||||
this.$showMessage({
|
||||
title: this.$i18n2.baseText('credentialEdit.credentialEdit.showMessage.title'),
|
||||
message: this.$i18n2.baseText(
|
||||
title: this.$i.baseText('credentialEdit.credentialEdit.showMessage.title'),
|
||||
message: this.$i.baseText(
|
||||
'credentialEdit.credentialEdit.showMessage.message',
|
||||
{ interpolate: { savedCredentialName } },
|
||||
),
|
||||
|
@ -785,8 +785,8 @@ export default mixins(showMessage, nodeHelpers).extend({
|
|||
} catch (error) {
|
||||
this.$showError(
|
||||
error,
|
||||
this.$i18n2.baseText('credentialEdit.credentialEdit.showError.generateAuthorizationUrl.title'),
|
||||
this.$i18n2.baseText('credentialEdit.credentialEdit.showError.generateAuthorizationUrl.message'),
|
||||
this.$i.baseText('credentialEdit.credentialEdit.showError.generateAuthorizationUrl.title'),
|
||||
this.$i.baseText('credentialEdit.credentialEdit.showError.generateAuthorizationUrl.message'),
|
||||
);
|
||||
|
||||
return;
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
<el-row>
|
||||
<el-col :span="8" :class="$style.accessLabel">
|
||||
<n8n-text :compact="true" :bold="true">
|
||||
{{ $i18n2.baseText('credentialEdit.credentialInfo.allowUseBy') }}
|
||||
{{ $i.baseText('credentialEdit.credentialInfo.allowUseBy') }}
|
||||
</n8n-text>
|
||||
</el-col>
|
||||
<el-col :span="16">
|
||||
|
@ -13,7 +13,7 @@
|
|||
:class="$style.valueLabel"
|
||||
>
|
||||
<el-checkbox
|
||||
:label="$i18n2.headerText({
|
||||
:label="$i.headerText({
|
||||
key: `headers.${shortNodeType(node)}.displayName`,
|
||||
fallback: node.displayName,
|
||||
})"
|
||||
|
@ -26,7 +26,7 @@
|
|||
<el-row v-if="currentCredential">
|
||||
<el-col :span="8" :class="$style.label">
|
||||
<n8n-text :compact="true" :bold="true">
|
||||
{{ $i18n2.baseText('credentialEdit.credentialInfo.created') }}
|
||||
{{ $i.baseText('credentialEdit.credentialInfo.created') }}
|
||||
</n8n-text>
|
||||
</el-col>
|
||||
<el-col :span="16" :class="$style.valueLabel">
|
||||
|
@ -36,7 +36,7 @@
|
|||
<el-row v-if="currentCredential">
|
||||
<el-col :span="8" :class="$style.label">
|
||||
<n8n-text :compact="true" :bold="true">
|
||||
{{ $i18n2.baseText('credentialEdit.credentialInfo.lastModified') }}
|
||||
{{ $i.baseText('credentialEdit.credentialInfo.lastModified') }}
|
||||
</n8n-text>
|
||||
</el-col>
|
||||
<el-col :span="16" :class="$style.valueLabel">
|
||||
|
@ -46,7 +46,7 @@
|
|||
<el-row v-if="currentCredential">
|
||||
<el-col :span="8" :class="$style.label">
|
||||
<n8n-text :compact="true" :bold="true">
|
||||
{{ $i18n2.baseText('credentialEdit.credentialInfo.id') }}
|
||||
{{ $i.baseText('credentialEdit.credentialInfo.id') }}
|
||||
</n8n-text>
|
||||
</el-col>
|
||||
<el-col :span="16" :class="$style.valueLabel">
|
||||
|
@ -76,7 +76,7 @@ export default Vue.extend({
|
|||
});
|
||||
},
|
||||
shortNodeType(nodeType: INodeTypeDescription) {
|
||||
return this.$i18n2.shortNodeType(nodeType.name);
|
||||
return this.$i.shortNodeType(nodeType.name);
|
||||
},
|
||||
},
|
||||
});
|
||||
|
|
|
@ -4,12 +4,12 @@
|
|||
v-if="isGoogleOAuthType"
|
||||
:src="basePath + 'google-signin-light.png'"
|
||||
:class="$style.googleIcon"
|
||||
:alt="$i18n2.baseText('credentialEdit.oAuthButton.signInWithGoogle')"
|
||||
:alt="$i.baseText('credentialEdit.oAuthButton.signInWithGoogle')"
|
||||
@click.stop="$emit('click')"
|
||||
/>
|
||||
<n8n-button
|
||||
v-else
|
||||
:label="$i18n2.baseText('credentialEdit.oAuthButton.connectMyAccount')"
|
||||
:label="$i.baseText('credentialEdit.oAuthButton.connectMyAccount')"
|
||||
size="large"
|
||||
@click.stop="$emit('click')"
|
||||
/>
|
||||
|
|
|
@ -2,32 +2,32 @@
|
|||
<Modal
|
||||
:name="CREDENTIAL_LIST_MODAL_KEY"
|
||||
width="80%"
|
||||
:title="$i18n2.baseText('credentialsList.credentials')"
|
||||
:title="$i.baseText('credentialsList.credentials')"
|
||||
>
|
||||
<template v-slot:content>
|
||||
<n8n-heading tag="h3" size="small" color="text-light">{{ $i18n2.baseText('credentialsList.yourSavedCredentials') + ':' }}</n8n-heading>
|
||||
<n8n-heading tag="h3" size="small" color="text-light">{{ $i.baseText('credentialsList.yourSavedCredentials') + ':' }}</n8n-heading>
|
||||
<div class="new-credentials-button">
|
||||
<n8n-button
|
||||
:title="$i18n2.baseText('credentialsList.createNewCredential')"
|
||||
:title="$i.baseText('credentialsList.createNewCredential')"
|
||||
icon="plus"
|
||||
:label="$i18n2.baseText('credentialsList.addNew')"
|
||||
:label="$i.baseText('credentialsList.addNew')"
|
||||
size="large"
|
||||
@click="createCredential()"
|
||||
/>
|
||||
</div>
|
||||
|
||||
<el-table :data="credentialsToDisplay" :default-sort = "{prop: 'name', order: 'ascending'}" stripe max-height="450" @row-click="editCredential">
|
||||
<el-table-column property="name" :label="$i18n2.baseText('credentialsList.name')" class-name="clickable" sortable></el-table-column>
|
||||
<el-table-column property="type" :label="$i18n2.baseText('credentialsList.type')" class-name="clickable" sortable></el-table-column>
|
||||
<el-table-column property="createdAt" :label="$i18n2.baseText('credentialsList.created')" class-name="clickable" sortable></el-table-column>
|
||||
<el-table-column property="updatedAt" :label="$i18n2.baseText('credentialsList.updated')" class-name="clickable" sortable></el-table-column>
|
||||
<el-table-column property="name" :label="$i.baseText('credentialsList.name')" class-name="clickable" sortable></el-table-column>
|
||||
<el-table-column property="type" :label="$i.baseText('credentialsList.type')" class-name="clickable" sortable></el-table-column>
|
||||
<el-table-column property="createdAt" :label="$i.baseText('credentialsList.created')" class-name="clickable" sortable></el-table-column>
|
||||
<el-table-column property="updatedAt" :label="$i.baseText('credentialsList.updated')" class-name="clickable" sortable></el-table-column>
|
||||
<el-table-column
|
||||
:label="$i18n2.baseText('credentialsList.operations')"
|
||||
:label="$i.baseText('credentialsList.operations')"
|
||||
width="120">
|
||||
<template slot-scope="scope">
|
||||
<div class="cred-operations">
|
||||
<n8n-icon-button :title="$i18n2.baseText('credentialsList.editCredential')" @click.stop="editCredential(scope.row)" size="small" icon="pen" />
|
||||
<n8n-icon-button :title="$i18n2.baseText('credentialsList.deleteCredential')" @click.stop="deleteCredential(scope.row)" size="small" icon="trash" />
|
||||
<n8n-icon-button :title="$i.baseText('credentialsList.editCredential')" @click.stop="editCredential(scope.row)" size="small" icon="pen" />
|
||||
<n8n-icon-button :title="$i.baseText('credentialsList.deleteCredential')" @click.stop="deleteCredential(scope.row)" size="small" icon="trash" />
|
||||
</div>
|
||||
</template>
|
||||
</el-table-column>
|
||||
|
@ -104,14 +104,14 @@ export default mixins(
|
|||
|
||||
async deleteCredential (credential: ICredentialsResponse) {
|
||||
const deleteConfirmed = await this.confirmMessage(
|
||||
this.$i18n2.baseText(
|
||||
this.$i.baseText(
|
||||
'credentialsList.confirmMessage.message',
|
||||
{ interpolate: { credentialName: credential.name }},
|
||||
),
|
||||
this.$i18n2.baseText('credentialsList.confirmMessage.headline'),
|
||||
this.$i.baseText('credentialsList.confirmMessage.headline'),
|
||||
null,
|
||||
this.$i18n2.baseText('credentialsList.confirmMessage.confirmButtonText'),
|
||||
this.$i18n2.baseText('credentialsList.confirmMessage.cancelButtonText'),
|
||||
this.$i.baseText('credentialsList.confirmMessage.confirmButtonText'),
|
||||
this.$i.baseText('credentialsList.confirmMessage.cancelButtonText'),
|
||||
);
|
||||
|
||||
if (deleteConfirmed === false) {
|
||||
|
@ -123,8 +123,8 @@ export default mixins(
|
|||
} catch (error) {
|
||||
this.$showError(
|
||||
error,
|
||||
this.$i18n2.baseText('credentialsList.showError.deleteCredential.title'),
|
||||
this.$i18n2.baseText('credentialsList.showError.deleteCredential.message'),
|
||||
this.$i.baseText('credentialsList.showError.deleteCredential.title'),
|
||||
this.$i.baseText('credentialsList.showError.deleteCredential.message'),
|
||||
);
|
||||
|
||||
return;
|
||||
|
@ -134,8 +134,8 @@ export default mixins(
|
|||
this.updateNodesCredentialsIssues();
|
||||
|
||||
this.$showMessage({
|
||||
title: this.$i18n2.baseText('credentialsList.showMessage.title'),
|
||||
message: this.$i18n2.baseText(
|
||||
title: this.$i.baseText('credentialsList.showMessage.title'),
|
||||
message: this.$i.baseText(
|
||||
'credentialsList.showMessage.message',
|
||||
{ interpolate: { credentialName: credential.name }},
|
||||
),
|
||||
|
|
|
@ -7,15 +7,15 @@
|
|||
maxWidth="460px"
|
||||
>
|
||||
<template slot="header">
|
||||
<h2 :class="$style.title">{{ $i18n2.baseText('credentialSelectModal.addNewCredential') }}</h2>
|
||||
<h2 :class="$style.title">{{ $i.baseText('credentialSelectModal.addNewCredential') }}</h2>
|
||||
</template>
|
||||
<template slot="content">
|
||||
<div>
|
||||
<div :class="$style.subtitle">{{ $i18n2.baseText('credentialSelectModal.selectAnAppOrServiceToConnectTo') }}</div>
|
||||
<div :class="$style.subtitle">{{ $i.baseText('credentialSelectModal.selectAnAppOrServiceToConnectTo') }}</div>
|
||||
<n8n-select
|
||||
filterable
|
||||
defaultFirstOption
|
||||
:placeholder="$i18n2.baseText('credentialSelectModal.searchForApp')"
|
||||
:placeholder="$i.baseText('credentialSelectModal.searchForApp')"
|
||||
size="xlarge"
|
||||
ref="select"
|
||||
:value="selected"
|
||||
|
@ -35,7 +35,7 @@
|
|||
<template slot="footer">
|
||||
<div :class="$style.footer">
|
||||
<n8n-button
|
||||
:label="$i18n2.baseText('credentialSelectModal.continue')"
|
||||
:label="$i.baseText('credentialSelectModal.continue')"
|
||||
float="right"
|
||||
size="large"
|
||||
:disabled="!selected"
|
||||
|
|
|
@ -15,7 +15,7 @@
|
|||
<transition name="fade">
|
||||
<div v-if="nodeType && showDocumentHelp" class="doc-help-wrapper">
|
||||
<svg id="help-logo" :href="documentationUrl" target="_blank" width="18px" height="18px" viewBox="0 0 18 18" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||
<title>{{ $i18n2.baseText('dataDisplay.nodeDocumentation') }}</title>
|
||||
<title>{{ $i.baseText('dataDisplay.nodeDocumentation') }}</title>
|
||||
<g stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
|
||||
<g transform="translate(-1127.000000, -836.000000)" fill-rule="nonzero">
|
||||
<g transform="translate(1117.000000, 825.000000)">
|
||||
|
@ -31,7 +31,7 @@
|
|||
</svg>
|
||||
|
||||
<div class="text">
|
||||
{{ $i18n2.baseText('dataDisplay.needHelp') }} <a id="doc-hyperlink" :href="documentationUrl" target="_blank" @click="onDocumentationUrlClick">{{ $i18n2.baseText('dataDisplay.openDocumentationFor', { interpolate: { nodeTypeDisplayName: nodeType.displayName } }) }}</a>
|
||||
{{ $i.baseText('dataDisplay.needHelp') }} <a id="doc-hyperlink" :href="documentationUrl" target="_blank" @click="onDocumentationUrlClick">{{ $i.baseText('dataDisplay.openDocumentationFor', { interpolate: { nodeTypeDisplayName: nodeType.displayName } }) }}</a>
|
||||
</div>
|
||||
</div>
|
||||
</transition>
|
||||
|
|
|
@ -1,12 +1,12 @@
|
|||
<template>
|
||||
<span class="static-text-wrapper">
|
||||
<span v-show="!editActive" :title="$i18n2.baseText('displayWithChange.clickToChange')">
|
||||
<span v-show="!editActive" :title="$i.baseText('displayWithChange.clickToChange')">
|
||||
<span class="static-text" @mousedown="startEdit">{{currentValue}}</span>
|
||||
</span>
|
||||
<span v-show="editActive">
|
||||
<input class="edit-field" ref="inputField" type="text" v-model="newValue" @keydown.enter.stop.prevent="setValue" @keydown.escape.stop.prevent="cancelEdit" @keydown.stop="noOp" @blur="cancelEdit" />
|
||||
<font-awesome-icon icon="times" @mousedown="cancelEdit" class="icons clickable" :title="$i18n2.baseText('displayWithChange.cancelEdit')" />
|
||||
<font-awesome-icon icon="check" @mousedown="setValue" class="icons clickable" :title="$i18n2.baseText('displayWithChange.setValue')" />
|
||||
<font-awesome-icon icon="times" @mousedown="cancelEdit" class="icons clickable" :title="$i.baseText('displayWithChange.cancelEdit')" />
|
||||
<font-awesome-icon icon="check" @mousedown="setValue" class="icons clickable" :title="$i.baseText('displayWithChange.setValue')" />
|
||||
</span>
|
||||
</span>
|
||||
</template>
|
||||
|
@ -34,9 +34,9 @@ export default mixins(genericHelpers).extend({
|
|||
};
|
||||
|
||||
if (this.keyName === 'name' && this.node.type.startsWith('n8n-nodes-base.')) {
|
||||
const shortNodeType = this.$i18n2.shortNodeType(this.node.type);
|
||||
const shortNodeType = this.$i.shortNodeType(this.node.type);
|
||||
|
||||
return this.$i18n2.headerText({
|
||||
return this.$i.headerText({
|
||||
key: `headers.${shortNodeType}.displayName`,
|
||||
fallback: getDescendantProp(this.node, this.keyName),
|
||||
});
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
:name="modalName"
|
||||
:eventBus="modalBus"
|
||||
@enter="save"
|
||||
:title="$i18n2.baseText('duplicateWorkflowDialog.duplicateWorkflow')"
|
||||
:title="$i.baseText('duplicateWorkflowDialog.duplicateWorkflow')"
|
||||
:center="true"
|
||||
minWidth="420px"
|
||||
maxWidth="420px"
|
||||
|
@ -13,7 +13,7 @@
|
|||
<n8n-input
|
||||
v-model="name"
|
||||
ref="nameInput"
|
||||
:placeholder="$i18n2.baseText('duplicateWorkflowDialog.enterWorkflowName')"
|
||||
:placeholder="$i.baseText('duplicateWorkflowDialog.enterWorkflowName')"
|
||||
:maxlength="MAX_WORKFLOW_NAME_LENGTH"
|
||||
/>
|
||||
<TagsDropdown
|
||||
|
@ -23,15 +23,15 @@
|
|||
@blur="onTagsBlur"
|
||||
@esc="onTagsEsc"
|
||||
@update="onTagsUpdate"
|
||||
:placeholder="$i18n2.baseText('duplicateWorkflowDialog.chooseOrCreateATag')"
|
||||
:placeholder="$i.baseText('duplicateWorkflowDialog.chooseOrCreateATag')"
|
||||
ref="dropdown"
|
||||
/>
|
||||
</div>
|
||||
</template>
|
||||
<template v-slot:footer="{ close }">
|
||||
<div :class="$style.footer">
|
||||
<n8n-button @click="save" :loading="isSaving" :label="$i18n2.baseText('duplicateWorkflowDialog.save')" float="right" />
|
||||
<n8n-button type="outline" @click="close" :disabled="isSaving" :label="$i18n2.baseText('duplicateWorkflowDialog.cancel')" float="right" />
|
||||
<n8n-button @click="save" :loading="isSaving" :label="$i.baseText('duplicateWorkflowDialog.save')" float="right" />
|
||||
<n8n-button type="outline" @click="close" :disabled="isSaving" :label="$i.baseText('duplicateWorkflowDialog.cancel')" float="right" />
|
||||
</div>
|
||||
</template>
|
||||
</Modal>
|
||||
|
@ -101,8 +101,8 @@ export default mixins(showMessage, workflowHelpers).extend({
|
|||
const name = this.name.trim();
|
||||
if (!name) {
|
||||
this.$showMessage({
|
||||
title: this.$i18n2.baseText('duplicateWorkflowDialog.showMessage.title'),
|
||||
message: this.$i18n2.baseText('duplicateWorkflowDialog.showMessage.message'),
|
||||
title: this.$i.baseText('duplicateWorkflowDialog.showMessage.title'),
|
||||
message: this.$i.baseText('duplicateWorkflowDialog.showMessage.message'),
|
||||
type: "error",
|
||||
});
|
||||
|
||||
|
|
|
@ -1,18 +1,18 @@
|
|||
<template>
|
||||
<div>
|
||||
<div class="error-header">
|
||||
<div class="error-message">{{ $i18n2.baseText('nodeErrorView.error') + ':' + error.message }}</div>
|
||||
<div class="error-message">{{ $i.baseText('nodeErrorView.error') + ':' + error.message }}</div>
|
||||
<div class="error-description" v-if="error.description">{{error.description}}</div>
|
||||
</div>
|
||||
<details>
|
||||
<summary class="error-details__summary">
|
||||
<font-awesome-icon class="error-details__icon" icon="angle-right" /> {{ $i18n2.baseText('nodeErrorView.details') }}
|
||||
<font-awesome-icon class="error-details__icon" icon="angle-right" /> {{ $i.baseText('nodeErrorView.details') }}
|
||||
</summary>
|
||||
<div class="error-details__content">
|
||||
<div v-if="error.timestamp">
|
||||
<el-card class="box-card" shadow="never">
|
||||
<div slot="header" class="clearfix box-card__title">
|
||||
<span>{{ $i18n2.baseText('nodeErrorView.time') }}</span>
|
||||
<span>{{ $i.baseText('nodeErrorView.time') }}</span>
|
||||
</div>
|
||||
<div>
|
||||
{{new Date(error.timestamp).toLocaleString()}}
|
||||
|
@ -22,7 +22,7 @@
|
|||
<div v-if="error.httpCode">
|
||||
<el-card class="box-card" shadow="never">
|
||||
<div slot="header" class="clearfix box-card__title">
|
||||
<span>{{ $i18n2.baseText('nodeErrorView.httpCode') }}</span>
|
||||
<span>{{ $i.baseText('nodeErrorView.httpCode') }}</span>
|
||||
</div>
|
||||
<div>
|
||||
{{error.httpCode}}
|
||||
|
@ -32,13 +32,13 @@
|
|||
<div v-if="error.cause">
|
||||
<el-card class="box-card" shadow="never">
|
||||
<div slot="header" class="clearfix box-card__title">
|
||||
<span>{{ $i18n2.baseText('nodeErrorView.cause') }}</span>
|
||||
<span>{{ $i.baseText('nodeErrorView.cause') }}</span>
|
||||
<br>
|
||||
<span class="box-card__subtitle">{{ $i18n2.baseText('nodeErrorView.dataBelowMayContain') }}</span>
|
||||
<span class="box-card__subtitle">{{ $i.baseText('nodeErrorView.dataBelowMayContain') }}</span>
|
||||
</div>
|
||||
<div>
|
||||
<div class="copy-button" v-if="displayCause">
|
||||
<n8n-icon-button @click="copyCause" :title="$i18n2.baseText('nodeErrorView.copyToClipboard')" icon="copy" />
|
||||
<n8n-icon-button @click="copyCause" :title="$i.baseText('nodeErrorView.copyToClipboard')" icon="copy" />
|
||||
</div>
|
||||
<vue-json-pretty
|
||||
v-if="displayCause"
|
||||
|
@ -50,7 +50,7 @@
|
|||
class="json-data"
|
||||
/>
|
||||
<span v-else>
|
||||
<font-awesome-icon icon="info-circle" />{{ $i18n2.baseText('nodeErrorView.theErrorCauseIsTooLargeToBeDisplayed') }}
|
||||
<font-awesome-icon icon="info-circle" />{{ $i.baseText('nodeErrorView.theErrorCauseIsTooLargeToBeDisplayed') }}
|
||||
</span>
|
||||
</div>
|
||||
</el-card>
|
||||
|
@ -58,7 +58,7 @@
|
|||
<div v-if="error.stack">
|
||||
<el-card class="box-card" shadow="never">
|
||||
<div slot="header" class="clearfix box-card__title">
|
||||
<span>{{ $i18n2.baseText('nodeErrorView.stack') }}</span>
|
||||
<span>{{ $i.baseText('nodeErrorView.stack') }}</span>
|
||||
</div>
|
||||
<div>
|
||||
<pre><code>{{error.stack}}</code></pre>
|
||||
|
@ -103,8 +103,8 @@ export default mixins(
|
|||
},
|
||||
copySuccess() {
|
||||
this.$showMessage({
|
||||
title: this.$i18n2.baseText('nodeErrorView.showMessage.title'),
|
||||
message: this.$i18n2.baseText('nodeErrorView.showMessage.message'),
|
||||
title: this.$i.baseText('nodeErrorView.showMessage.title'),
|
||||
message: this.$i.baseText('nodeErrorView.showMessage.message'),
|
||||
type: 'info',
|
||||
});
|
||||
},
|
||||
|
|
|
@ -1,13 +1,13 @@
|
|||
<template>
|
||||
<span>
|
||||
<el-dialog :visible="dialogVisible" append-to-body width="80%" :title="`${$i18n2.baseText('executionsList.workflowExecutions')} ${combinedExecutions.length}/${finishedExecutionsCountEstimated === true ? '~' : ''}${combinedExecutionsCount}`" :before-close="closeDialog">
|
||||
<el-dialog :visible="dialogVisible" append-to-body width="80%" :title="`${$i.baseText('executionsList.workflowExecutions')} ${combinedExecutions.length}/${finishedExecutionsCountEstimated === true ? '~' : ''}${combinedExecutionsCount}`" :before-close="closeDialog">
|
||||
<div class="filters">
|
||||
<el-row>
|
||||
<el-col :span="2" class="filter-headline">
|
||||
{{ $i18n2.baseText('executionsList.filters') }}:
|
||||
{{ $i.baseText('executionsList.filters') }}:
|
||||
</el-col>
|
||||
<el-col :span="7">
|
||||
<n8n-select v-model="filter.workflowId" :placeholder="$i18n2.baseText('executionsList.selectWorkflow')" size="medium" filterable @change="handleFilterChanged">
|
||||
<n8n-select v-model="filter.workflowId" :placeholder="$i.baseText('executionsList.selectWorkflow')" size="medium" filterable @change="handleFilterChanged">
|
||||
<n8n-option
|
||||
v-for="item in workflows"
|
||||
:key="item.id"
|
||||
|
@ -17,7 +17,7 @@
|
|||
</n8n-select>
|
||||
</el-col>
|
||||
<el-col :span="5" :offset="1">
|
||||
<n8n-select v-model="filter.status" :placeholder="$i18n2.baseText('executionsList.selectStatus')" size="medium" filterable @change="handleFilterChanged">
|
||||
<n8n-select v-model="filter.status" :placeholder="$i.baseText('executionsList.selectStatus')" size="medium" filterable @change="handleFilterChanged">
|
||||
<n8n-option
|
||||
v-for="item in statuses"
|
||||
:key="item.id"
|
||||
|
@ -27,15 +27,15 @@
|
|||
</n8n-select>
|
||||
</el-col>
|
||||
<el-col :span="4" :offset="5" class="autorefresh">
|
||||
<el-checkbox v-model="autoRefresh" @change="handleAutoRefreshToggle">{{ $i18n2.baseText('executionsList.autoRefresh') }}</el-checkbox>
|
||||
<el-checkbox v-model="autoRefresh" @change="handleAutoRefreshToggle">{{ $i.baseText('executionsList.autoRefresh') }}</el-checkbox>
|
||||
</el-col>
|
||||
</el-row>
|
||||
</div>
|
||||
|
||||
<div class="selection-options">
|
||||
<span v-if="checkAll === true || isIndeterminate === true">
|
||||
{{ $i18n2.baseText('executionsList.selected') }}: {{numSelected}} / <span v-if="finishedExecutionsCountEstimated === true">~</span>{{finishedExecutionsCount}}
|
||||
<n8n-icon-button :title="$i18n2.baseText('executionsList.deleteSelected')" icon="trash" size="mini" @click="handleDeleteSelected" />
|
||||
{{ $i.baseText('executionsList.selected') }}: {{numSelected}} / <span v-if="finishedExecutionsCountEstimated === true">~</span>{{finishedExecutionsCount}}
|
||||
<n8n-icon-button :title="$i.baseText('executionsList.deleteSelected')" icon="trash" size="mini" @click="handleDeleteSelected" />
|
||||
</span>
|
||||
</div>
|
||||
|
||||
|
@ -49,45 +49,45 @@
|
|||
<el-checkbox v-if="scope.row.stoppedAt !== undefined && scope.row.id" :value="selectedItems[scope.row.id.toString()] || checkAll" @change="handleCheckboxChanged(scope.row.id)" label=" "></el-checkbox>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column property="startedAt" :label="$i18n2.baseText('executionsList.startedAtId')" width="205">
|
||||
<el-table-column property="startedAt" :label="$i.baseText('executionsList.startedAtId')" width="205">
|
||||
<template slot-scope="scope">
|
||||
{{convertToDisplayDate(scope.row.startedAt)}}<br />
|
||||
<small v-if="scope.row.id">ID: {{scope.row.id}}</small>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column property="workflowName" :label="$i18n2.baseText('executionsList.name')">
|
||||
<el-table-column property="workflowName" :label="$i.baseText('executionsList.name')">
|
||||
<template slot-scope="scope">
|
||||
<span class="workflow-name">
|
||||
{{ scope.row.workflowName || $i18n2.baseText('executionsList.unsavedWorkflow') }}
|
||||
{{ scope.row.workflowName || $i.baseText('executionsList.unsavedWorkflow') }}
|
||||
</span>
|
||||
|
||||
<span v-if="scope.row.stoppedAt === undefined">
|
||||
({{ $i18n2.baseText('executionsList.running') }})
|
||||
({{ $i.baseText('executionsList.running') }})
|
||||
</span>
|
||||
<span v-if="scope.row.retryOf !== undefined">
|
||||
<br /><small>{{ $i18n2.baseText('executionsList.retryOf') }} "{{scope.row.retryOf}}"</small>
|
||||
<br /><small>{{ $i.baseText('executionsList.retryOf') }} "{{scope.row.retryOf}}"</small>
|
||||
</span>
|
||||
<span v-else-if="scope.row.retrySuccessId !== undefined">
|
||||
<br /><small>{{ $i18n2.baseText('executionsList.successRetry') }} "{{scope.row.retrySuccessId}}"</small>
|
||||
<br /><small>{{ $i.baseText('executionsList.successRetry') }} "{{scope.row.retrySuccessId}}"</small>
|
||||
</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column :label="$i18n2.baseText('executionsList.status')" width="122" align="center">
|
||||
<el-table-column :label="$i.baseText('executionsList.status')" width="122" align="center">
|
||||
<template slot-scope="scope" align="center">
|
||||
|
||||
<n8n-tooltip placement="top" >
|
||||
<div slot="content" v-html="statusTooltipText(scope.row)"></div>
|
||||
<span class="status-badge running" v-if="scope.row.stoppedAt === undefined">
|
||||
{{ $i18n2.baseText('executionsList.running') }}
|
||||
{{ $i.baseText('executionsList.running') }}
|
||||
</span>
|
||||
<span class="status-badge success" v-else-if="scope.row.finished">
|
||||
{{ $i18n2.baseText('executionsList.success') }}
|
||||
{{ $i.baseText('executionsList.success') }}
|
||||
</span>
|
||||
<span class="status-badge error" v-else-if="scope.row.stoppedAt !== null">
|
||||
{{ $i18n2.baseText('executionsList.error') }}
|
||||
{{ $i.baseText('executionsList.error') }}
|
||||
</span>
|
||||
<span class="status-badge warning" v-else>
|
||||
{{ $i18n2.baseText('executionsList.unknown') }}
|
||||
{{ $i.baseText('executionsList.unknown') }}
|
||||
</span>
|
||||
</n8n-tooltip>
|
||||
|
||||
|
@ -98,28 +98,28 @@
|
|||
type="light"
|
||||
:theme="scope.row.stoppedAt === null ? 'warning': 'danger'"
|
||||
size="mini"
|
||||
:title="$i18n2.baseText('executionsList.retryExecution')"
|
||||
:title="$i.baseText('executionsList.retryExecution')"
|
||||
icon="redo"
|
||||
/>
|
||||
</span>
|
||||
<el-dropdown-menu slot="dropdown">
|
||||
<el-dropdown-item :command="{command: 'currentlySaved', row: scope.row}">
|
||||
{{ $i18n2.baseText('executionsList.retryWithCurrentlySavedWorkflow') }}
|
||||
{{ $i.baseText('executionsList.retryWithCurrentlySavedWorkflow') }}
|
||||
</el-dropdown-item>
|
||||
<el-dropdown-item :command="{command: 'original', row: scope.row}">
|
||||
{{ $i18n2.baseText('executionsList.retryWithOriginalworkflow') }}
|
||||
{{ $i.baseText('executionsList.retryWithOriginalworkflow') }}
|
||||
</el-dropdown-item>
|
||||
</el-dropdown-menu>
|
||||
</el-dropdown>
|
||||
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column property="mode" :label="$i18n2.baseText('executionsList.mode')" width="100" align="center">
|
||||
<el-table-column property="mode" :label="$i.baseText('executionsList.mode')" width="100" align="center">
|
||||
<template slot-scope="scope">
|
||||
{{ $i18n2.baseText(`executionsList.modes.${scope.row.mode}`) }}
|
||||
{{ $i.baseText(`executionsList.modes.${scope.row.mode}`) }}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column :label="$i18n2.baseText('executionsList.runningTime')" width="150" align="center">
|
||||
<el-table-column :label="$i.baseText('executionsList.runningTime')" width="150" align="center">
|
||||
<template slot-scope="scope">
|
||||
<span v-if="scope.row.stoppedAt === undefined">
|
||||
<font-awesome-icon icon="spinner" spin />
|
||||
|
@ -138,10 +138,10 @@
|
|||
<template slot-scope="scope">
|
||||
<div class="actions-container">
|
||||
<span v-if="scope.row.stoppedAt === undefined || scope.row.waitTill">
|
||||
<n8n-icon-button icon="stop" size="small" :title="$i18n2.baseText('executionsList.stopExecution')" @click.stop="stopExecution(scope.row.id)" :loading="stoppingExecutions.includes(scope.row.id)" />
|
||||
<n8n-icon-button icon="stop" size="small" :title="$i.baseText('executionsList.stopExecution')" @click.stop="stopExecution(scope.row.id)" :loading="stoppingExecutions.includes(scope.row.id)" />
|
||||
</span>
|
||||
<span v-if="scope.row.stoppedAt !== undefined && scope.row.id" >
|
||||
<n8n-icon-button icon="folder-open" size="small" :title="$i18n2.baseText('executionsList.openPastExecution')" @click.stop="(e) => displayExecution(scope.row, e)" />
|
||||
<n8n-icon-button icon="folder-open" size="small" :title="$i.baseText('executionsList.openPastExecution')" @click.stop="(e) => displayExecution(scope.row, e)" />
|
||||
</span>
|
||||
</div>
|
||||
</template>
|
||||
|
@ -149,7 +149,7 @@
|
|||
</el-table>
|
||||
|
||||
<div class="load-more" v-if="finishedExecutionsCount > finishedExecutions.length || finishedExecutionsCountEstimated === true">
|
||||
<n8n-button icon="sync" :title="$i18n2.baseText('executionsList.loadMore')" :label="$i18n2.baseText('executionsList.loadMore')" @click="loadMore()" :loading="isDataLoading" />
|
||||
<n8n-button icon="sync" :title="$i.baseText('executionsList.loadMore')" :label="$i.baseText('executionsList.loadMore')" @click="loadMore()" :loading="isDataLoading" />
|
||||
</div>
|
||||
|
||||
</el-dialog>
|
||||
|
@ -235,23 +235,23 @@ export default mixins(
|
|||
return [
|
||||
{
|
||||
id: 'ALL',
|
||||
name: this.$i18n2.baseText('executionsList.anyStatus'),
|
||||
name: this.$i.baseText('executionsList.anyStatus'),
|
||||
},
|
||||
{
|
||||
id: 'error',
|
||||
name: this.$i18n2.baseText('executionsList.error'),
|
||||
name: this.$i.baseText('executionsList.error'),
|
||||
},
|
||||
{
|
||||
id: 'running',
|
||||
name: this.$i18n2.baseText('executionsList.running'),
|
||||
name: this.$i.baseText('executionsList.running'),
|
||||
},
|
||||
{
|
||||
id: 'success',
|
||||
name: this.$i18n2.baseText('executionsList.success'),
|
||||
name: this.$i.baseText('executionsList.success'),
|
||||
},
|
||||
{
|
||||
id: 'waiting',
|
||||
name: this.$i18n2.baseText('executionsList.waiting'),
|
||||
name: this.$i.baseText('executionsList.waiting'),
|
||||
},
|
||||
];
|
||||
},
|
||||
|
@ -369,14 +369,14 @@ export default mixins(
|
|||
},
|
||||
async handleDeleteSelected () {
|
||||
const deleteExecutions = await this.confirmMessage(
|
||||
this.$i18n2.baseText(
|
||||
this.$i.baseText(
|
||||
'executionsList.confirmMessage.message',
|
||||
{ interpolate: { numSelected: this.numSelected.toString() }},
|
||||
),
|
||||
this.$i18n2.baseText('executionsList.confirmMessage.headline'),
|
||||
this.$i.baseText('executionsList.confirmMessage.headline'),
|
||||
'warning',
|
||||
this.$i18n2.baseText('executionsList.confirmMessage.confirmButtonText'),
|
||||
this.$i18n2.baseText('executionsList.confirmMessage.cancelButtonText'),
|
||||
this.$i.baseText('executionsList.confirmMessage.confirmButtonText'),
|
||||
this.$i.baseText('executionsList.confirmMessage.cancelButtonText'),
|
||||
);
|
||||
|
||||
if (deleteExecutions === false) {
|
||||
|
@ -400,8 +400,8 @@ export default mixins(
|
|||
this.isDataLoading = false;
|
||||
this.$showError(
|
||||
error,
|
||||
this.$i18n2.baseText('executionsList.showError.handleDeleteSelected.title'),
|
||||
this.$i18n2.baseText('executionsList.showError.handleDeleteSelected.message'),
|
||||
this.$i.baseText('executionsList.showError.handleDeleteSelected.title'),
|
||||
this.$i.baseText('executionsList.showError.handleDeleteSelected.message'),
|
||||
);
|
||||
|
||||
return;
|
||||
|
@ -409,8 +409,8 @@ export default mixins(
|
|||
this.isDataLoading = false;
|
||||
|
||||
this.$showMessage({
|
||||
title: this.$i18n2.baseText('executionsList.showMessage.handleDeleteSelected.title'),
|
||||
message: this.$i18n2.baseText('executionsList.showMessage.handleDeleteSelected.message'),
|
||||
title: this.$i.baseText('executionsList.showMessage.handleDeleteSelected.title'),
|
||||
message: this.$i.baseText('executionsList.showMessage.handleDeleteSelected.message'),
|
||||
type: 'success',
|
||||
});
|
||||
|
||||
|
@ -563,8 +563,8 @@ export default mixins(
|
|||
this.isDataLoading = false;
|
||||
this.$showError(
|
||||
error,
|
||||
this.$i18n2.baseText('executionsList.showError.loadMore.title'),
|
||||
this.$i18n2.baseText('executionsList.showError.loadMore.message') + ':',
|
||||
this.$i.baseText('executionsList.showError.loadMore.title'),
|
||||
this.$i.baseText('executionsList.showError.loadMore.message') + ':',
|
||||
);
|
||||
return;
|
||||
}
|
||||
|
@ -596,15 +596,15 @@ export default mixins(
|
|||
// @ts-ignore
|
||||
workflows.unshift({
|
||||
id: 'ALL',
|
||||
name: this.$i18n2.baseText('executionsList.allWorkflows'),
|
||||
name: this.$i.baseText('executionsList.allWorkflows'),
|
||||
});
|
||||
|
||||
Vue.set(this, 'workflows', workflows);
|
||||
} catch (error) {
|
||||
this.$showError(
|
||||
error,
|
||||
this.$i18n2.baseText('executionsList.showError.loadWorkflows.title'),
|
||||
this.$i18n2.baseText('executionsList.showError.loadWorkflows.message') + ':',
|
||||
this.$i.baseText('executionsList.showError.loadWorkflows.title'),
|
||||
this.$i.baseText('executionsList.showError.loadWorkflows.message') + ':',
|
||||
);
|
||||
}
|
||||
},
|
||||
|
@ -628,14 +628,14 @@ export default mixins(
|
|||
|
||||
if (retrySuccessful === true) {
|
||||
this.$showMessage({
|
||||
title: this.$i18n2.baseText('executionsList.showMessage.retrySuccessfulTrue.title'),
|
||||
message: this.$i18n2.baseText('executionsList.showMessage.retrySuccessfulTrue.message'),
|
||||
title: this.$i.baseText('executionsList.showMessage.retrySuccessfulTrue.title'),
|
||||
message: this.$i.baseText('executionsList.showMessage.retrySuccessfulTrue.message'),
|
||||
type: 'success',
|
||||
});
|
||||
} else {
|
||||
this.$showMessage({
|
||||
title: this.$i18n2.baseText('executionsList.showMessage.retrySuccessfulFalse.title'),
|
||||
message: this.$i18n2.baseText('executionsList.showMessage.retrySuccessfulFalse.message'),
|
||||
title: this.$i.baseText('executionsList.showMessage.retrySuccessfulFalse.title'),
|
||||
message: this.$i.baseText('executionsList.showMessage.retrySuccessfulFalse.message'),
|
||||
type: 'error',
|
||||
});
|
||||
}
|
||||
|
@ -644,8 +644,8 @@ export default mixins(
|
|||
} catch (error) {
|
||||
this.$showError(
|
||||
error,
|
||||
this.$i18n2.baseText('executionsList.showError.retryExecution.title'),
|
||||
this.$i18n2.baseText('executionsList.showError.retryExecution.message') + ':',
|
||||
this.$i.baseText('executionsList.showError.retryExecution.title'),
|
||||
this.$i.baseText('executionsList.showError.retryExecution.message') + ':',
|
||||
);
|
||||
|
||||
this.isDataLoading = false;
|
||||
|
@ -661,8 +661,8 @@ export default mixins(
|
|||
} catch (error) {
|
||||
this.$showError(
|
||||
error,
|
||||
this.$i18n2.baseText('executionsList.showError.refreshData.title'),
|
||||
this.$i18n2.baseText('executionsList.showError.refreshData.message') + ':',
|
||||
this.$i.baseText('executionsList.showError.refreshData.title'),
|
||||
this.$i.baseText('executionsList.showError.refreshData.message') + ':',
|
||||
);
|
||||
}
|
||||
|
||||
|
@ -672,10 +672,10 @@ export default mixins(
|
|||
if (entry.waitTill) {
|
||||
const waitDate = new Date(entry.waitTill);
|
||||
if (waitDate.toISOString() === WAIT_TIME_UNLIMITED) {
|
||||
return this.$i18n2.baseText('executionsList.statusTooltipText.theWorkflowIsWaitingIndefinitely');
|
||||
return this.$i.baseText('executionsList.statusTooltipText.theWorkflowIsWaitingIndefinitely');
|
||||
}
|
||||
|
||||
return this.$i18n2.baseText(
|
||||
return this.$i.baseText(
|
||||
'executionsList.statusTooltipText.theWorkflowIsWaitingTill',
|
||||
{
|
||||
interpolate: {
|
||||
|
@ -685,28 +685,28 @@ export default mixins(
|
|||
},
|
||||
);
|
||||
} else if (entry.stoppedAt === undefined) {
|
||||
return this.$i18n2.baseText('executionsList.statusTooltipText.theWorkflowIsCurrentlyExecuting');
|
||||
return this.$i.baseText('executionsList.statusTooltipText.theWorkflowIsCurrentlyExecuting');
|
||||
} else if (entry.finished === true && entry.retryOf !== undefined) {
|
||||
return this.$i18n2.baseText(
|
||||
return this.$i.baseText(
|
||||
'executionsList.statusTooltipText.theWorkflowExecutionWasARetryOfAndItWasSuccessful',
|
||||
{ interpolate: { entryRetryOf: entry.retryOf }},
|
||||
);
|
||||
} else if (entry.finished === true) {
|
||||
return this.$i18n2.baseText('executionsList.statusTooltipText.theWorkflowExecutionWasSuccessful');
|
||||
return this.$i.baseText('executionsList.statusTooltipText.theWorkflowExecutionWasSuccessful');
|
||||
} else if (entry.retryOf !== undefined) {
|
||||
return this.$i18n2.baseText(
|
||||
return this.$i.baseText(
|
||||
'executionsList.statusTooltipText.theWorkflowExecutionWasARetryOfAndFailed',
|
||||
{ interpolate: { entryRetryOf: entry.retryOf }},
|
||||
);
|
||||
} else if (entry.retrySuccessId !== undefined) {
|
||||
return this.$i18n2.baseText(
|
||||
return this.$i.baseText(
|
||||
'executionsList.statusTooltipText.theWorkflowExecutionFailedButTheRetryWasSuccessful',
|
||||
{ interpolate: { entryRetrySuccessId: entry.retrySuccessId }},
|
||||
);
|
||||
} else if (entry.stoppedAt === null) {
|
||||
return this.$i18n2.baseText('executionsList.statusTooltipText.theWorkflowExecutionIsProbablyStillRunning');
|
||||
return this.$i.baseText('executionsList.statusTooltipText.theWorkflowExecutionIsProbablyStillRunning');
|
||||
} else {
|
||||
return this.$i18n2.baseText('executionsList.statusTooltipText.theWorkflowExecutionFailed');
|
||||
return this.$i.baseText('executionsList.statusTooltipText.theWorkflowExecutionFailed');
|
||||
}
|
||||
},
|
||||
async stopExecution (activeExecutionId: string) {
|
||||
|
@ -722,8 +722,8 @@ export default mixins(
|
|||
this.stoppingExecutions.splice(index, 1);
|
||||
|
||||
this.$showMessage({
|
||||
title: this.$i18n2.baseText('executionsList.showMessage.stopExecution.title'),
|
||||
message: this.$i18n2.baseText(
|
||||
title: this.$i.baseText('executionsList.showMessage.stopExecution.title'),
|
||||
message: this.$i.baseText(
|
||||
'executionsList.showMessage.stopExecution.message',
|
||||
{ interpolate: { activeExecutionId } },
|
||||
),
|
||||
|
@ -734,8 +734,8 @@ export default mixins(
|
|||
} catch (error) {
|
||||
this.$showError(
|
||||
error,
|
||||
this.$i18n2.baseText('executionsList.showError.stopExecution.title'),
|
||||
this.$i18n2.baseText('executionsList.showError.stopExecution.message'),
|
||||
this.$i.baseText('executionsList.showError.stopExecution.title'),
|
||||
this.$i.baseText('executionsList.showError.stopExecution.message'),
|
||||
);
|
||||
}
|
||||
},
|
||||
|
|
|
@ -1,14 +1,14 @@
|
|||
<template>
|
||||
<div v-if="dialogVisible" @keydown.stop>
|
||||
<el-dialog :visible="dialogVisible" custom-class="expression-dialog classic" append-to-body width="80%" :title="$i18n2.baseText('expressionEdit.editExpression')" :before-close="closeDialog">
|
||||
<el-dialog :visible="dialogVisible" custom-class="expression-dialog classic" append-to-body width="80%" :title="$i.baseText('expressionEdit.editExpression')" :before-close="closeDialog">
|
||||
<el-row>
|
||||
<el-col :span="8">
|
||||
<div class="header-side-menu">
|
||||
<div class="headline">
|
||||
{{ $i18n2.baseText('expressionEdit.editExpression') }}
|
||||
{{ $i.baseText('expressionEdit.editExpression') }}
|
||||
</div>
|
||||
<div class="sub-headline">
|
||||
{{ $i18n2.baseText('expressionEdit.variableSelector') }}
|
||||
{{ $i.baseText('expressionEdit.variableSelector') }}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
@ -19,7 +19,7 @@
|
|||
<el-col :span="16" class="right-side">
|
||||
<div class="expression-editor-wrapper">
|
||||
<div class="editor-description">
|
||||
{{ $i18n2.baseText('expressionEdit.expression') }}
|
||||
{{ $i.baseText('expressionEdit.expression') }}
|
||||
</div>
|
||||
<div class="expression-editor">
|
||||
<expression-input :parameter="parameter" ref="inputFieldExpression" rows="8" :value="value" :path="path" @change="valueChanged" @keydown.stop="noOp"></expression-input>
|
||||
|
@ -28,7 +28,7 @@
|
|||
|
||||
<div class="expression-result-wrapper">
|
||||
<div class="editor-description">
|
||||
{{ $i18n2.baseText('expressionEdit.result') }}
|
||||
{{ $i.baseText('expressionEdit.result') }}
|
||||
</div>
|
||||
<expression-input :parameter="parameter" resolvedValue="true" ref="expressionResult" rows="8" :value="displayValue" :path="path"></expression-input>
|
||||
</div>
|
||||
|
|
|
@ -1,12 +1,12 @@
|
|||
<template>
|
||||
<div @keydown.stop class="fixed-collection-parameter">
|
||||
<div v-if="getProperties.length === 0" class="no-items-exist">
|
||||
<n8n-text size="small">{{ $i18n2.baseText('fixedCollectionParameter.currentlyNoItemsExist') }}</n8n-text>
|
||||
<n8n-text size="small">{{ $i.baseText('fixedCollectionParameter.currentlyNoItemsExist') }}</n8n-text>
|
||||
</div>
|
||||
|
||||
<div v-for="property in getProperties" :key="property.name" class="fixed-collection-parameter-property">
|
||||
<n8n-input-label
|
||||
:label="property.displayName === '' || parameter.options.length === 1 ? '' : $i18n2.nodeText().topParameterDisplayName(property)"
|
||||
:label="property.displayName === '' || parameter.options.length === 1 ? '' : $i.nodeText().topParameterDisplayName(property)"
|
||||
:underline="true"
|
||||
:labelHoverableOnly="true"
|
||||
size="small"
|
||||
|
@ -15,10 +15,10 @@
|
|||
<div v-for="(value, index) in values[property.name]" :key="property.name + index" class="parameter-item">
|
||||
<div class="parameter-item-wrapper">
|
||||
<div class="delete-option" v-if="!isReadOnly">
|
||||
<font-awesome-icon icon="trash" class="reset-icon clickable" :title="$i18n2.baseText('fixedCollectionParameter.deleteItem')" @click="deleteOption(property.name, index)" />
|
||||
<font-awesome-icon icon="trash" class="reset-icon clickable" :title="$i.baseText('fixedCollectionParameter.deleteItem')" @click="deleteOption(property.name, index)" />
|
||||
<div v-if="sortable" class="sort-icon">
|
||||
<font-awesome-icon v-if="index !== 0" icon="angle-up" class="clickable" :title="$i18n2.baseText('fixedCollectionParameter.moveUp')" @click="moveOptionUp(property.name, index)" />
|
||||
<font-awesome-icon v-if="index !== (values[property.name].length -1)" icon="angle-down" class="clickable" :title="$i18n2.baseText('fixedCollectionParameter.moveDown')" @click="moveOptionDown(property.name, index)" />
|
||||
<font-awesome-icon v-if="index !== 0" icon="angle-up" class="clickable" :title="$i.baseText('fixedCollectionParameter.moveUp')" @click="moveOptionUp(property.name, index)" />
|
||||
<font-awesome-icon v-if="index !== (values[property.name].length -1)" icon="angle-down" class="clickable" :title="$i.baseText('fixedCollectionParameter.moveDown')" @click="moveOptionDown(property.name, index)" />
|
||||
</div>
|
||||
</div>
|
||||
<parameter-input-list :parameters="property.values" :nodeValues="nodeValues" :path="getPropertyPath(property.name, index)" :hideDelete="true" @valueChanged="valueChanged" />
|
||||
|
@ -28,7 +28,7 @@
|
|||
<div v-else class="parameter-item">
|
||||
<div class="parameter-item-wrapper">
|
||||
<div class="delete-option" v-if="!isReadOnly">
|
||||
<font-awesome-icon icon="trash" class="reset-icon clickable" :title="$i18n2.baseText('fixedCollectionParameter.deleteItem')" @click="deleteOption(property.name)" />
|
||||
<font-awesome-icon icon="trash" class="reset-icon clickable" :title="$i.baseText('fixedCollectionParameter.deleteItem')" @click="deleteOption(property.name)" />
|
||||
</div>
|
||||
<parameter-input-list :parameters="property.values" :nodeValues="nodeValues" :path="getPropertyPath(property.name)" class="parameter-item" @valueChanged="valueChanged" :hideDelete="true" />
|
||||
</div>
|
||||
|
@ -43,7 +43,7 @@
|
|||
<n8n-option
|
||||
v-for="item in parameterOptions"
|
||||
:key="item.name"
|
||||
:label="$i18n2.nodeText().collectionOptionDisplayName(parameter, item)"
|
||||
:label="$i.nodeText().collectionOptionDisplayName(parameter, item)"
|
||||
:value="item.name">
|
||||
</n8n-option>
|
||||
</n8n-select>
|
||||
|
@ -85,8 +85,8 @@ export default mixins(genericHelpers)
|
|||
},
|
||||
computed: {
|
||||
getPlaceholderText (): string {
|
||||
const placeholder = this.$i18n2.nodeText().placeholder(this.parameter);
|
||||
return placeholder ? placeholder : this.$i18n2.baseText('fixedCollectionParameter.choose');
|
||||
const placeholder = this.$i.nodeText().placeholder(this.parameter);
|
||||
return placeholder ? placeholder : this.$i.baseText('fixedCollectionParameter.choose');
|
||||
},
|
||||
getProperties (): INodePropertyCollection[] {
|
||||
const returnProperties = [];
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
<template>
|
||||
<div class="container">
|
||||
<span class="title">
|
||||
{{ $i18n2.baseText('executionDetails.executionId') + ':' }}
|
||||
{{ $i.baseText('executionDetails.executionId') + ':' }}
|
||||
<span>
|
||||
<strong>{{ executionId }}</strong
|
||||
>
|
||||
|
@ -9,23 +9,23 @@
|
|||
icon="check"
|
||||
class="execution-icon success"
|
||||
v-if="executionFinished"
|
||||
:title="$i18n2.baseText('executionDetails.executionWasSuccessful')"
|
||||
:title="$i.baseText('executionDetails.executionWasSuccessful')"
|
||||
/>
|
||||
<font-awesome-icon
|
||||
icon="clock"
|
||||
class="execution-icon warning"
|
||||
v-else-if="executionWaiting"
|
||||
:title="$i18n2.baseText('executionDetails.executionWaiting')"
|
||||
:title="$i.baseText('executionDetails.executionWaiting')"
|
||||
/>
|
||||
<font-awesome-icon
|
||||
icon="times"
|
||||
class="execution-icon error"
|
||||
v-else
|
||||
:title="$i18n2.baseText('executionDetails.executionFailed')"
|
||||
:title="$i.baseText('executionDetails.executionFailed')"
|
||||
/>
|
||||
</span>
|
||||
{{ $i18n2.baseText('executionDetails.of') }}
|
||||
<span class="primary-color clickable" :title="$i18n2.baseText('executionDetails.openWorkflow')">
|
||||
{{ $i.baseText('executionDetails.of') }}
|
||||
<span class="primary-color clickable" :title="$i.baseText('executionDetails.openWorkflow')">
|
||||
<WorkflowNameShort :name="workflowName">
|
||||
<template v-slot="{ shortenedName }">
|
||||
<span @click="openWorkflow(workflowExecution.workflowId)">
|
||||
|
@ -34,7 +34,7 @@
|
|||
</template>
|
||||
</WorkflowNameShort>
|
||||
</span>
|
||||
{{ $i18n2.baseText('executionDetails.workflow') }}
|
||||
{{ $i.baseText('executionDetails.workflow') }}
|
||||
</span>
|
||||
<ReadOnly class="read-only" />
|
||||
</div>
|
||||
|
|
|
@ -1,11 +1,11 @@
|
|||
<template>
|
||||
<n8n-tooltip class="primary-color" placement="bottom-end" >
|
||||
<div slot="content">
|
||||
<span v-html="$i18n2.baseText('executionDetails.readOnly.youreViewingTheLogOf')"></span>
|
||||
<span v-html="$i.baseText('executionDetails.readOnly.youreViewingTheLogOf')"></span>
|
||||
</div>
|
||||
<div>
|
||||
<font-awesome-icon icon="exclamation-triangle" />
|
||||
<span v-html="$i18n2.baseText('executionDetails.readOnly.readOnly')"></span>
|
||||
<span v-html="$i.baseText('executionDetails.readOnly.readOnly')"></span>
|
||||
</div>
|
||||
</n8n-tooltip>
|
||||
</template>
|
||||
|
|
|
@ -33,7 +33,7 @@
|
|||
@blur="onTagsBlur"
|
||||
@update="onTagsUpdate"
|
||||
@esc="onTagsEditEsc"
|
||||
:placeholder="$i18n2.baseText('workflowDetails.chooseOrCreateATag')"
|
||||
:placeholder="$i.baseText('workflowDetails.chooseOrCreateATag')"
|
||||
ref="dropdown"
|
||||
class="tags-edit"
|
||||
/>
|
||||
|
@ -46,7 +46,7 @@
|
|||
class="add-tag clickable"
|
||||
@click="onTagsEditEnable"
|
||||
>
|
||||
+ {{ $i18n2.baseText('workflowDetails.addTag') }}
|
||||
+ {{ $i.baseText('workflowDetails.addTag') }}
|
||||
</span>
|
||||
</div>
|
||||
<TagsContainer
|
||||
|
@ -62,7 +62,7 @@
|
|||
<PushConnectionTracker class="actions">
|
||||
<template>
|
||||
<span class="activator">
|
||||
<span>{{ $i18n2.baseText('workflowDetails.active') + ':' }}</span>
|
||||
<span>{{ $i.baseText('workflowDetails.active') + ':' }}</span>
|
||||
<WorkflowActivator :workflow-active="isWorkflowActive" :workflow-id="currentWorkflowId" :disabled="!currentWorkflowId"/>
|
||||
</span>
|
||||
<SaveButton
|
||||
|
@ -196,8 +196,8 @@ export default mixins(workflowHelpers).extend({
|
|||
const newName = name.trim();
|
||||
if (!newName) {
|
||||
this.$showMessage({
|
||||
title: this.$i18n2.baseText('workflowDetails.showMessage.title'),
|
||||
message: this.$i18n2.baseText('workflowDetails.showMessage.message'),
|
||||
title: this.$i.baseText('workflowDetails.showMessage.title'),
|
||||
message: this.$i.baseText('workflowDetails.showMessage.message'),
|
||||
type: "error",
|
||||
});
|
||||
|
||||
|
|
|
@ -22,94 +22,94 @@
|
|||
<el-submenu index="workflow" title="Workflow" popperClass="sidebar-popper">
|
||||
<template slot="title">
|
||||
<font-awesome-icon icon="network-wired"/>
|
||||
<span slot="title" class="item-title-root">{{ $i18n2.baseText('mainSidebar.workflows') }}</span>
|
||||
<span slot="title" class="item-title-root">{{ $i.baseText('mainSidebar.workflows') }}</span>
|
||||
</template>
|
||||
|
||||
<n8n-menu-item index="workflow-new">
|
||||
<template slot="title">
|
||||
<font-awesome-icon icon="file"/>
|
||||
<span slot="title" class="item-title">{{ $i18n2.baseText('mainSidebar.new') }}</span>
|
||||
<span slot="title" class="item-title">{{ $i.baseText('mainSidebar.new') }}</span>
|
||||
</template>
|
||||
</n8n-menu-item>
|
||||
<n8n-menu-item index="workflow-open">
|
||||
<template slot="title">
|
||||
<font-awesome-icon icon="folder-open"/>
|
||||
<span slot="title" class="item-title">{{ $i18n2.baseText('mainSidebar.open') }}</span>
|
||||
<span slot="title" class="item-title">{{ $i.baseText('mainSidebar.open') }}</span>
|
||||
</template>
|
||||
</n8n-menu-item>
|
||||
<n8n-menu-item index="workflow-save">
|
||||
<template slot="title">
|
||||
<font-awesome-icon icon="save"/>
|
||||
<span slot="title" class="item-title">{{ $i18n2.baseText('mainSidebar.save') }}</span>
|
||||
<span slot="title" class="item-title">{{ $i.baseText('mainSidebar.save') }}</span>
|
||||
</template>
|
||||
</n8n-menu-item>
|
||||
<n8n-menu-item index="workflow-duplicate" :disabled="!currentWorkflow">
|
||||
<template slot="title">
|
||||
<font-awesome-icon icon="copy"/>
|
||||
<span slot="title" class="item-title">{{ $i18n2.baseText('mainSidebar.duplicate') }}</span>
|
||||
<span slot="title" class="item-title">{{ $i.baseText('mainSidebar.duplicate') }}</span>
|
||||
</template>
|
||||
</n8n-menu-item>
|
||||
<n8n-menu-item index="workflow-delete" :disabled="!currentWorkflow">
|
||||
<template slot="title">
|
||||
<font-awesome-icon icon="trash"/>
|
||||
<span slot="title" class="item-title">{{ $i18n2.baseText('mainSidebar.delete') }}</span>
|
||||
<span slot="title" class="item-title">{{ $i.baseText('mainSidebar.delete') }}</span>
|
||||
</template>
|
||||
</n8n-menu-item>
|
||||
<n8n-menu-item index="workflow-download">
|
||||
<template slot="title">
|
||||
<font-awesome-icon icon="file-download"/>
|
||||
<span slot="title" class="item-title">{{ $i18n2.baseText('mainSidebar.download') }}</span>
|
||||
<span slot="title" class="item-title">{{ $i.baseText('mainSidebar.download') }}</span>
|
||||
</template>
|
||||
</n8n-menu-item>
|
||||
<n8n-menu-item index="workflow-import-url">
|
||||
<template slot="title">
|
||||
<font-awesome-icon icon="cloud"/>
|
||||
<span slot="title" class="item-title">{{ $i18n2.baseText('mainSidebar.importFromUrl') }}</span>
|
||||
<span slot="title" class="item-title">{{ $i.baseText('mainSidebar.importFromUrl') }}</span>
|
||||
</template>
|
||||
</n8n-menu-item>
|
||||
<n8n-menu-item index="workflow-import-file">
|
||||
<template slot="title">
|
||||
<font-awesome-icon icon="hdd"/>
|
||||
<span slot="title" class="item-title">{{ $i18n2.baseText('mainSidebar.importFromFile') }}</span>
|
||||
<span slot="title" class="item-title">{{ $i.baseText('mainSidebar.importFromFile') }}</span>
|
||||
</template>
|
||||
</n8n-menu-item>
|
||||
<n8n-menu-item index="workflow-settings" :disabled="!currentWorkflow">
|
||||
<template slot="title">
|
||||
<font-awesome-icon icon="cog"/>
|
||||
<span slot="title" class="item-title">{{ $i18n2.baseText('mainSidebar.settings') }}</span>
|
||||
<span slot="title" class="item-title">{{ $i.baseText('mainSidebar.settings') }}</span>
|
||||
</template>
|
||||
</n8n-menu-item>
|
||||
</el-submenu>
|
||||
|
||||
<el-submenu index="credentials" :title="$i18n2.baseText('mainSidebar.credentials')" popperClass="sidebar-popper">
|
||||
<el-submenu index="credentials" :title="$i.baseText('mainSidebar.credentials')" popperClass="sidebar-popper">
|
||||
<template slot="title">
|
||||
<font-awesome-icon icon="key"/>
|
||||
<span slot="title" class="item-title-root">{{ $i18n2.baseText('mainSidebar.credentials') }}</span>
|
||||
<span slot="title" class="item-title-root">{{ $i.baseText('mainSidebar.credentials') }}</span>
|
||||
</template>
|
||||
|
||||
<n8n-menu-item index="credentials-new">
|
||||
<template slot="title">
|
||||
<font-awesome-icon icon="file"/>
|
||||
<span slot="title" class="item-title">{{ $i18n2.baseText('mainSidebar.new') }}</span>
|
||||
<span slot="title" class="item-title">{{ $i.baseText('mainSidebar.new') }}</span>
|
||||
</template>
|
||||
</n8n-menu-item>
|
||||
<n8n-menu-item index="credentials-open">
|
||||
<template slot="title">
|
||||
<font-awesome-icon icon="folder-open"/>
|
||||
<span slot="title" class="item-title">{{ $i18n2.baseText('mainSidebar.open') }}</span>
|
||||
<span slot="title" class="item-title">{{ $i.baseText('mainSidebar.open') }}</span>
|
||||
</template>
|
||||
</n8n-menu-item>
|
||||
</el-submenu>
|
||||
|
||||
<n8n-menu-item index="executions">
|
||||
<font-awesome-icon icon="tasks"/>
|
||||
<span slot="title" class="item-title-root">{{ $i18n2.baseText('mainSidebar.executions') }}</span>
|
||||
<span slot="title" class="item-title-root">{{ $i.baseText('mainSidebar.executions') }}</span>
|
||||
</n8n-menu-item>
|
||||
|
||||
<el-submenu index="help" class="help-menu" title="Help" popperClass="sidebar-popper">
|
||||
<template slot="title">
|
||||
<font-awesome-icon icon="question"/>
|
||||
<span slot="title" class="item-title-root">{{ $i18n2.baseText('mainSidebar.help') }}</span>
|
||||
<span slot="title" class="item-title-root">{{ $i.baseText('mainSidebar.help') }}</span>
|
||||
</template>
|
||||
|
||||
<MenuItemsIterator :items="helpMenuItems" :afterItemClick="trackHelpItemClick" />
|
||||
|
@ -117,7 +117,7 @@
|
|||
<n8n-menu-item index="help-about">
|
||||
<template slot="title">
|
||||
<font-awesome-icon class="about-icon" icon="info"/>
|
||||
<span slot="title" class="item-title">{{ $i18n2.baseText('mainSidebar.aboutN8n') }}</span>
|
||||
<span slot="title" class="item-title">{{ $i.baseText('mainSidebar.aboutN8n') }}</span>
|
||||
</template>
|
||||
</n8n-menu-item>
|
||||
</el-submenu>
|
||||
|
@ -209,7 +209,7 @@ export default mixins(
|
|||
type: 'link',
|
||||
properties: {
|
||||
href: 'https://docs.n8n.io',
|
||||
title: this.$i18n2.baseText('mainSidebar.helpMenuItems.documentation'),
|
||||
title: this.$i.baseText('mainSidebar.helpMenuItems.documentation'),
|
||||
icon: 'book',
|
||||
newWindow: true,
|
||||
},
|
||||
|
@ -219,7 +219,7 @@ export default mixins(
|
|||
type: 'link',
|
||||
properties: {
|
||||
href: 'https://community.n8n.io',
|
||||
title: this.$i18n2.baseText('mainSidebar.helpMenuItems.forum'),
|
||||
title: this.$i.baseText('mainSidebar.helpMenuItems.forum'),
|
||||
icon: 'users',
|
||||
newWindow: true,
|
||||
},
|
||||
|
@ -229,7 +229,7 @@ export default mixins(
|
|||
type: 'link',
|
||||
properties: {
|
||||
href: 'https://n8n.io/workflows',
|
||||
title: this.$i18n2.baseText('mainSidebar.helpMenuItems.workflows'),
|
||||
title: this.$i.baseText('mainSidebar.helpMenuItems.workflows'),
|
||||
icon: 'network-wired',
|
||||
newWindow: true,
|
||||
},
|
||||
|
@ -322,8 +322,8 @@ export default mixins(
|
|||
this.stopExecutionInProgress = true;
|
||||
await this.restApi().stopCurrentExecution(executionId);
|
||||
this.$showMessage({
|
||||
title: this.$i18n2.baseText('mainSidebar.showMessage.stopExecution.title'),
|
||||
message: this.$i18n2.baseText(
|
||||
title: this.$i.baseText('mainSidebar.showMessage.stopExecution.title'),
|
||||
message: this.$i.baseText(
|
||||
'mainSidebar.showMessage.stopExecution.message',
|
||||
{ interpolate: { executionId }},
|
||||
),
|
||||
|
@ -332,8 +332,8 @@ export default mixins(
|
|||
} catch (error) {
|
||||
this.$showError(
|
||||
error,
|
||||
this.$i18n2.baseText('mainSidebar.showError.stopExecution.title'),
|
||||
this.$i18n2.baseText('mainSidebar.showError.stopExecution.message') + ':',
|
||||
this.$i.baseText('mainSidebar.showError.stopExecution.title'),
|
||||
this.$i.baseText('mainSidebar.showError.stopExecution.message') + ':',
|
||||
);
|
||||
}
|
||||
this.stopExecutionInProgress = false;
|
||||
|
@ -358,8 +358,8 @@ export default mixins(
|
|||
worflowData = JSON.parse(data as string);
|
||||
} catch (error) {
|
||||
this.$showMessage({
|
||||
title: this.$i18n2.baseText('mainSidebar.showMessage.handleFileImport.title'),
|
||||
message: this.$i18n2.baseText('mainSidebar.showMessage.handleFileImport.message'),
|
||||
title: this.$i.baseText('mainSidebar.showMessage.handleFileImport.title'),
|
||||
message: this.$i.baseText('mainSidebar.showMessage.handleFileImport.message'),
|
||||
type: 'error',
|
||||
});
|
||||
return;
|
||||
|
@ -382,12 +382,12 @@ export default mixins(
|
|||
} else if (key === 'workflow-import-url') {
|
||||
try {
|
||||
const promptResponse = await this.$prompt(
|
||||
this.$i18n2.baseText('mainSidebar.prompt.workflowUrl') + ':',
|
||||
this.$i18n2.baseText('mainSidebar.prompt.importWorkflowFromUrl') + ':',
|
||||
this.$i.baseText('mainSidebar.prompt.workflowUrl') + ':',
|
||||
this.$i.baseText('mainSidebar.prompt.importWorkflowFromUrl') + ':',
|
||||
{
|
||||
confirmButtonText: this.$i18n2.baseText('mainSidebar.prompt.import'),
|
||||
cancelButtonText: this.$i18n2.baseText('mainSidebar.prompt.cancel'),
|
||||
inputErrorMessage: this.$i18n2.baseText('mainSidebar.prompt.invalidUrl'),
|
||||
confirmButtonText: this.$i.baseText('mainSidebar.prompt.import'),
|
||||
cancelButtonText: this.$i.baseText('mainSidebar.prompt.cancel'),
|
||||
inputErrorMessage: this.$i.baseText('mainSidebar.prompt.invalidUrl'),
|
||||
inputPattern: /^http[s]?:\/\/.*\.json$/i,
|
||||
},
|
||||
) as MessageBoxInputData;
|
||||
|
@ -396,14 +396,14 @@ export default mixins(
|
|||
} catch (e) {}
|
||||
} else if (key === 'workflow-delete') {
|
||||
const deleteConfirmed = await this.confirmMessage(
|
||||
this.$i18n2.baseText(
|
||||
this.$i.baseText(
|
||||
'mainSidebar.confirmMessage.workflowDelete.message',
|
||||
{ interpolate: { workflowName: this.workflowName } },
|
||||
),
|
||||
this.$i18n2.baseText('mainSidebar.confirmMessage.workflowDelete.headline'),
|
||||
this.$i.baseText('mainSidebar.confirmMessage.workflowDelete.headline'),
|
||||
'warning',
|
||||
this.$i18n2.baseText('mainSidebar.confirmMessage.workflowDelete.confirmButtonText'),
|
||||
this.$i18n2.baseText('mainSidebar.confirmMessage.workflowDelete.cancelButtonText'),
|
||||
this.$i.baseText('mainSidebar.confirmMessage.workflowDelete.confirmButtonText'),
|
||||
this.$i.baseText('mainSidebar.confirmMessage.workflowDelete.cancelButtonText'),
|
||||
);
|
||||
|
||||
if (deleteConfirmed === false) {
|
||||
|
@ -415,8 +415,8 @@ export default mixins(
|
|||
} catch (error) {
|
||||
this.$showError(
|
||||
error,
|
||||
this.$i18n2.baseText('mainSidebar.showError.stopExecution.title'),
|
||||
this.$i18n2.baseText('mainSidebar.showError.stopExecution.message') + ':',
|
||||
this.$i.baseText('mainSidebar.showError.stopExecution.title'),
|
||||
this.$i.baseText('mainSidebar.showError.stopExecution.message') + ':',
|
||||
);
|
||||
return;
|
||||
}
|
||||
|
@ -424,8 +424,8 @@ export default mixins(
|
|||
// Reset tab title since workflow is deleted.
|
||||
this.$titleReset();
|
||||
this.$showMessage({
|
||||
title: this.$i18n2.baseText('mainSidebar.showMessage.handleSelect1.title'),
|
||||
message: this.$i18n2.baseText(
|
||||
title: this.$i.baseText('mainSidebar.showMessage.handleSelect1.title'),
|
||||
message: this.$i.baseText(
|
||||
'mainSidebar.showMessage.handleSelect1.message',
|
||||
{ interpolate: { workflowName: this.workflowName }},
|
||||
),
|
||||
|
@ -464,11 +464,11 @@ export default mixins(
|
|||
const result = this.$store.getters.getStateIsDirty;
|
||||
if(result) {
|
||||
const importConfirm = await this.confirmMessage(
|
||||
this.$i18n2.baseText('mainSidebar.confirmMessage.workflowNew.message'),
|
||||
this.$i18n2.baseText('mainSidebar.confirmMessage.workflowNew.headline'),
|
||||
this.$i.baseText('mainSidebar.confirmMessage.workflowNew.message'),
|
||||
this.$i.baseText('mainSidebar.confirmMessage.workflowNew.headline'),
|
||||
'warning',
|
||||
this.$i18n2.baseText('mainSidebar.confirmMessage.workflowNew.confirmButtonText'),
|
||||
this.$i18n2.baseText('mainSidebar.confirmMessage.workflowNew.cancelButtonText'),
|
||||
this.$i.baseText('mainSidebar.confirmMessage.workflowNew.confirmButtonText'),
|
||||
this.$i.baseText('mainSidebar.confirmMessage.workflowNew.cancelButtonText'),
|
||||
);
|
||||
if (importConfirm === true) {
|
||||
this.$store.commit('setStateDirty', false);
|
||||
|
@ -479,8 +479,8 @@ export default mixins(
|
|||
}
|
||||
|
||||
this.$showMessage({
|
||||
title: this.$i18n2.baseText('mainSidebar.showMessage.handleSelect2.title'),
|
||||
message: this.$i18n2.baseText('mainSidebar.showMessage.handleSelect2.message'),
|
||||
title: this.$i.baseText('mainSidebar.showMessage.handleSelect2.title'),
|
||||
message: this.$i.baseText('mainSidebar.showMessage.handleSelect2.message'),
|
||||
type: 'success',
|
||||
});
|
||||
}
|
||||
|
@ -490,8 +490,8 @@ export default mixins(
|
|||
}
|
||||
|
||||
this.$showMessage({
|
||||
title: this.$i18n2.baseText('mainSidebar.showMessage.handleSelect3.title'),
|
||||
message: this.$i18n2.baseText('mainSidebar.showMessage.handleSelect3.message'),
|
||||
title: this.$i.baseText('mainSidebar.showMessage.handleSelect3.title'),
|
||||
message: this.$i.baseText('mainSidebar.showMessage.handleSelect3.message'),
|
||||
type: 'success',
|
||||
});
|
||||
}
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
<template>
|
||||
<div @keydown.stop class="duplicate-parameter">
|
||||
<n8n-input-label
|
||||
:label="$i18n2.nodeText().topParameterDisplayName(parameter)"
|
||||
:tooltipText="$i18n2.nodeText().topParameterDescription(parameter)"
|
||||
:label="$i.nodeText().topParameterDisplayName(parameter)"
|
||||
:tooltipText="$i.nodeText().topParameterDescription(parameter)"
|
||||
:underline="true"
|
||||
:labelHoverableOnly="true"
|
||||
size="small"
|
||||
|
@ -10,10 +10,10 @@
|
|||
|
||||
<div v-for="(value, index) in values" :key="index" class="duplicate-parameter-item" :class="parameter.type">
|
||||
<div class="delete-item clickable" v-if="!isReadOnly">
|
||||
<font-awesome-icon icon="trash" :title="$i18n2.baseText('multipleParameter.deleteItem')" @click="deleteItem(index)" />
|
||||
<font-awesome-icon icon="trash" :title="$i.baseText('multipleParameter.deleteItem')" @click="deleteItem(index)" />
|
||||
<div v-if="sortable">
|
||||
<font-awesome-icon v-if="index !== 0" icon="angle-up" class="clickable" :title="$i18n2.baseText('multipleParameter.moveUp')" @click="moveOptionUp(index)" />
|
||||
<font-awesome-icon v-if="index !== (values.length -1)" icon="angle-down" class="clickable" :title="$i18n2.baseText('multipleParameter.moveDown')" @click="moveOptionDown(index)" />
|
||||
<font-awesome-icon v-if="index !== 0" icon="angle-up" class="clickable" :title="$i.baseText('multipleParameter.moveUp')" @click="moveOptionUp(index)" />
|
||||
<font-awesome-icon v-if="index !== (values.length -1)" icon="angle-down" class="clickable" :title="$i.baseText('multipleParameter.moveDown')" @click="moveOptionDown(index)" />
|
||||
</div>
|
||||
</div>
|
||||
<div v-if="parameter.type === 'collection'">
|
||||
|
@ -26,7 +26,7 @@
|
|||
|
||||
<div class="add-item-wrapper">
|
||||
<div v-if="values && Object.keys(values).length === 0 || isReadOnly" class="no-items-exist">
|
||||
<n8n-text size="small">{{ $i18n2.baseText('multipleParameter.currentlyNoItemsExist') }}</n8n-text>
|
||||
<n8n-text size="small">{{ $i.baseText('multipleParameter.currentlyNoItemsExist') }}</n8n-text>
|
||||
</div>
|
||||
<n8n-button v-if="!isReadOnly" fullWidth @click="addItem()" :label="addButtonText" />
|
||||
</div>
|
||||
|
@ -68,10 +68,10 @@ export default mixins(genericHelpers)
|
|||
!this.parameter.typeOptions &&
|
||||
!this.parameter.typeOptions.multipleValueButtonText
|
||||
) {
|
||||
return this.$i18n2.baseText('multipleParameter.addItem');
|
||||
return this.$i.baseText('multipleParameter.addItem');
|
||||
}
|
||||
|
||||
return this.$i18n2.nodeText().multipleValueButtonText(this.parameter);
|
||||
return this.$i.nodeText().multipleValueButtonText(this.parameter);
|
||||
},
|
||||
hideDelete (): boolean {
|
||||
return this.parameter.options.length === 1;
|
||||
|
|
|
@ -22,7 +22,7 @@
|
|||
</span>
|
||||
</div>
|
||||
|
||||
<div class="node-executing-info" :title="$i18n2.baseText('node.nodeIsExecuting')">
|
||||
<div class="node-executing-info" :title="$i.baseText('node.nodeIsExecuting')">
|
||||
<font-awesome-icon icon="sync-alt" spin />
|
||||
</div>
|
||||
|
||||
|
@ -37,20 +37,20 @@
|
|||
</div>
|
||||
|
||||
<div class="node-options no-select-on-click" v-if="!isReadOnly" v-show="!hideActions">
|
||||
<div v-touch:tap="deleteNode" class="option" :title="$i18n2.baseText('node.deleteNode')" >
|
||||
<div v-touch:tap="deleteNode" class="option" :title="$i.baseText('node.deleteNode')" >
|
||||
|
||||
<font-awesome-icon icon="trash" />
|
||||
</div>
|
||||
<div v-touch:tap="disableNode" class="option" :title="$i18n2.baseText('node.activateDeactivateNode')">
|
||||
<div v-touch:tap="disableNode" class="option" :title="$i.baseText('node.activateDeactivateNode')">
|
||||
<font-awesome-icon :icon="nodeDisabledIcon" />
|
||||
</div>
|
||||
<div v-touch:tap="duplicateNode" class="option" :title="$i18n2.baseText('node.duplicateNode')">
|
||||
<div v-touch:tap="duplicateNode" class="option" :title="$i.baseText('node.duplicateNode')">
|
||||
<font-awesome-icon icon="clone" />
|
||||
</div>
|
||||
<div v-touch:tap="setNodeActive" class="option touch" :title="$i18n2.baseText('node.editNode')" v-if="!isReadOnly">
|
||||
<div v-touch:tap="setNodeActive" class="option touch" :title="$i.baseText('node.editNode')" v-if="!isReadOnly">
|
||||
<font-awesome-icon class="execute-icon" icon="cog" />
|
||||
</div>
|
||||
<div v-touch:tap="executeNode" class="option" :title="$i18n2.baseText('node.executeNode')" v-if="!isReadOnly && !workflowRunning">
|
||||
<div v-touch:tap="executeNode" class="option" :title="$i.baseText('node.executeNode')" v-if="!isReadOnly && !workflowRunning">
|
||||
<font-awesome-icon class="execute-icon" icon="play-circle" />
|
||||
</div>
|
||||
</div>
|
||||
|
@ -62,7 +62,7 @@
|
|||
{{ nodeTitle }}
|
||||
</p>
|
||||
<p v-if="data.disabled">
|
||||
({{ $i18n2.baseText('node.disabled') }})
|
||||
({{ $i.baseText('node.disabled') }})
|
||||
</p>
|
||||
</div>
|
||||
<div v-if="nodeSubtitle !== undefined" class="node-subtitle" :title="nodeSubtitle">
|
||||
|
@ -168,7 +168,7 @@ export default mixins(externalHooks, nodeBase, nodeHelpers, workflowHelpers).ext
|
|||
|
||||
const nodeIssues = NodeHelpers.nodeIssuesToString(this.data.issues, this.data);
|
||||
|
||||
return `${this.$i18n2.baseText('node.issues')}:<br /> - ` + nodeIssues.join('<br /> - ');
|
||||
return `${this.$i.baseText('node.issues')}:<br /> - ` + nodeIssues.join('<br /> - ');
|
||||
},
|
||||
nodeDisabledIcon (): string {
|
||||
if (this.data.disabled === false) {
|
||||
|
@ -194,11 +194,11 @@ export default mixins(externalHooks, nodeBase, nodeHelpers, workflowHelpers).ext
|
|||
return returnStyles;
|
||||
},
|
||||
shortNodeType (): string {
|
||||
return this.$i18n2.shortNodeType(this.data.type);
|
||||
return this.$i.shortNodeType(this.data.type);
|
||||
},
|
||||
nodeTitle (): string {
|
||||
if (this.data.name === 'Start') {
|
||||
return this.$i18n2.headerText({
|
||||
return this.$i.headerText({
|
||||
key: `headers.start.displayName`,
|
||||
fallback: 'Start',
|
||||
});
|
||||
|
@ -214,9 +214,9 @@ export default mixins(externalHooks, nodeBase, nodeHelpers, workflowHelpers).ext
|
|||
if (this.name === lastNodeExecuted) {
|
||||
const waitDate = new Date(workflowExecution.waitTill);
|
||||
if (waitDate.toISOString() === WAIT_TIME_UNLIMITED) {
|
||||
return this.$i18n2.baseText('node.theNodeIsWaitingIndefinitelyForAnIncomingWebhookCall');
|
||||
return this.$i.baseText('node.theNodeIsWaitingIndefinitelyForAnIncomingWebhookCall');
|
||||
}
|
||||
return this.$i18n2.baseText(
|
||||
return this.$i.baseText(
|
||||
'node.nodeIsWaitingTill',
|
||||
{
|
||||
interpolate: {
|
||||
|
|
|
@ -27,7 +27,7 @@ export default Vue.extend({
|
|||
renderCategoryName(categoryName: string) {
|
||||
const key = `nodeCreator.categoryNames.${categoryName}`;
|
||||
|
||||
return this.$i18n2.exists(key) ? this.$i18n2.baseText(key) : categoryName;
|
||||
return this.$i.exists(key) ? this.$i.baseText(key) : categoryName;
|
||||
},
|
||||
},
|
||||
});
|
||||
|
|
|
@ -11,9 +11,9 @@
|
|||
/>
|
||||
<div class="type-selector">
|
||||
<el-tabs v-model="selectedType" stretch>
|
||||
<el-tab-pane :label="$i18n2.baseText('nodeCreator.mainPanel.all')" :name="ALL_NODE_FILTER"></el-tab-pane>
|
||||
<el-tab-pane :label="$i18n2.baseText('nodeCreator.mainPanel.regular')" :name="REGULAR_NODE_FILTER"></el-tab-pane>
|
||||
<el-tab-pane :label="$i18n2.baseText('nodeCreator.mainPanel.trigger')" :name="TRIGGER_NODE_FILTER"></el-tab-pane>
|
||||
<el-tab-pane :label="$i.baseText('nodeCreator.mainPanel.all')" :name="ALL_NODE_FILTER"></el-tab-pane>
|
||||
<el-tab-pane :label="$i.baseText('nodeCreator.mainPanel.regular')" :name="REGULAR_NODE_FILTER"></el-tab-pane>
|
||||
<el-tab-pane :label="$i.baseText('nodeCreator.mainPanel.trigger')" :name="TRIGGER_NODE_FILTER"></el-tab-pane>
|
||||
</el-tabs>
|
||||
</div>
|
||||
<div v-if="searchFilter.length === 0" class="scrollable">
|
||||
|
|
|
@ -5,30 +5,30 @@
|
|||
</div>
|
||||
<div class="title">
|
||||
<div>
|
||||
{{ $i18n2.baseText('nodeCreator.noResults.weDidntMakeThatYet') }}
|
||||
{{ $i.baseText('nodeCreator.noResults.weDidntMakeThatYet') }}
|
||||
</div>
|
||||
<div class="action">
|
||||
{{ $i18n2.baseText('nodeCreator.noResults.dontWorryYouCanProbablyDoItWithThe') }}
|
||||
<a @click="selectHttpRequest">{{ $i18n2.baseText('nodeCreator.noResults.httpRequest') }}</a> or
|
||||
<a @click="selectWebhook">{{ $i18n2.baseText('nodeCreator.noResults.webhook') }}</a> {{ $i18n2.baseText('nodeCreator.noResults.node') }}
|
||||
{{ $i.baseText('nodeCreator.noResults.dontWorryYouCanProbablyDoItWithThe') }}
|
||||
<a @click="selectHttpRequest">{{ $i.baseText('nodeCreator.noResults.httpRequest') }}</a> or
|
||||
<a @click="selectWebhook">{{ $i.baseText('nodeCreator.noResults.webhook') }}</a> {{ $i.baseText('nodeCreator.noResults.node') }}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="request">
|
||||
<div>
|
||||
{{ $i18n2.baseText('nodeCreator.noResults.wantUsToMakeItFaster') }}
|
||||
{{ $i.baseText('nodeCreator.noResults.wantUsToMakeItFaster') }}
|
||||
</div>
|
||||
<div>
|
||||
<a
|
||||
:href="REQUEST_NODE_FORM_URL"
|
||||
target="_blank"
|
||||
>
|
||||
<span>{{ $i18n2.baseText('nodeCreator.noResults.requestTheNode') }}</span>
|
||||
<span>{{ $i.baseText('nodeCreator.noResults.requestTheNode') }}</span>
|
||||
<span>
|
||||
<font-awesome-icon
|
||||
class="external"
|
||||
icon="external-link-alt"
|
||||
:title="$i18n2.baseText('nodeCreator.noResults.requestTheNode')"
|
||||
:title="$i.baseText('nodeCreator.noResults.requestTheNode')"
|
||||
/>
|
||||
</span>
|
||||
</a>
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
<div>
|
||||
<div :class="$style.details">
|
||||
<span :class="$style.name">
|
||||
{{ $i18n2.headerText({
|
||||
{{ $i.headerText({
|
||||
key: `headers.${shortNodeType}.displayName`,
|
||||
fallback: nodeType.displayName,
|
||||
})
|
||||
|
@ -15,7 +15,7 @@
|
|||
</span>
|
||||
</div>
|
||||
<div :class="$style.description">
|
||||
{{ $i18n2.headerText({
|
||||
{{ $i.headerText({
|
||||
key: `headers.${shortNodeType}.description`,
|
||||
fallback: nodeType.description,
|
||||
})
|
||||
|
@ -46,7 +46,7 @@ export default Vue.extend({
|
|||
],
|
||||
computed: {
|
||||
shortNodeType() {
|
||||
return this.$i18n2.shortNodeType(this.nodeType.name);
|
||||
return this.$i.shortNodeType(this.nodeType.name);
|
||||
},
|
||||
},
|
||||
// @ts-ignore
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
</div>
|
||||
<div class="text">
|
||||
<input
|
||||
:placeholder="$i18n2.baseText('nodeCreator.searchBar.searchNodes')"
|
||||
:placeholder="$i.baseText('nodeCreator.searchBar.searchNodes')"
|
||||
ref="input"
|
||||
:value="value"
|
||||
@input="onInput"
|
||||
|
|
|
@ -2,10 +2,10 @@
|
|||
<div :class="$style.subcategory">
|
||||
<div :class="$style.details">
|
||||
<div :class="$style.title">
|
||||
{{ $i18n2.baseText(`nodeCreator.subcategoryNames.${subcategoryName}`) }}
|
||||
{{ $i.baseText(`nodeCreator.subcategoryNames.${subcategoryName}`) }}
|
||||
</div>
|
||||
<div v-if="item.properties.description" :class="$style.description">
|
||||
{{ $i18n2.baseText(`nodeCreator.subcategoryDescriptions.${subcategoryDescription}`) }}
|
||||
{{ $i.baseText(`nodeCreator.subcategoryDescriptions.${subcategoryDescription}`) }}
|
||||
</div>
|
||||
</div>
|
||||
<div :class="$style.action">
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
<font-awesome-icon class="back-arrow" icon="arrow-left" />
|
||||
</div>
|
||||
<span>
|
||||
{{ $i18n2.baseText(`nodeCreator.subcategoryNames.${subcategoryName}`) }}
|
||||
{{ $i.baseText(`nodeCreator.subcategoryNames.${subcategoryName}`) }}
|
||||
</span>
|
||||
</div>
|
||||
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
<div v-if="credentialTypesNodeDescriptionDisplayed.length" :class="$style.container">
|
||||
<div v-for="credentialTypeDescription in credentialTypesNodeDescriptionDisplayed" :key="credentialTypeDescription.name">
|
||||
<n8n-input-label
|
||||
:label="$i18n2.baseText(
|
||||
:label="$i.baseText(
|
||||
'nodeCredentials.credentialFor',
|
||||
{
|
||||
interpolate: {
|
||||
|
@ -20,7 +20,7 @@
|
|||
</div>
|
||||
|
||||
<div :class="issues.length ? $style.hasIssues : $style.input" v-else >
|
||||
<n8n-select :value="getSelectedId(credentialTypeDescription.name)" @change="(value) => onCredentialSelected(credentialTypeDescription.name, value)" :placeholder="$i18n2.baseText('nodeCredentials.selectCredential')" size="small">
|
||||
<n8n-select :value="getSelectedId(credentialTypeDescription.name)" @change="(value) => onCredentialSelected(credentialTypeDescription.name, value)" :placeholder="$i.baseText('nodeCredentials.selectCredential')" size="small">
|
||||
<n8n-option
|
||||
v-for="(item) in credentialOptions[credentialTypeDescription.name]"
|
||||
:key="item.id"
|
||||
|
@ -37,13 +37,13 @@
|
|||
|
||||
<div :class="$style.warning" v-if="issues.length">
|
||||
<n8n-tooltip placement="top" >
|
||||
<div slot="content" v-html="`${$i18n2.baseText('nodeCredentials.issues')}:<br /> - ` + issues.join('<br /> - ')"></div>
|
||||
<div slot="content" v-html="`${$i.baseText('nodeCredentials.issues')}:<br /> - ` + issues.join('<br /> - ')"></div>
|
||||
<font-awesome-icon icon="exclamation-triangle" />
|
||||
</n8n-tooltip>
|
||||
</div>
|
||||
|
||||
<div :class="$style.edit" v-if="selected[credentialTypeDescription.name] && isCredentialExisting(credentialTypeDescription.name)">
|
||||
<font-awesome-icon icon="pen" @click="editCredential(credentialTypeDescription.name)" class="clickable" :title="$i18n2.baseText('nodeCredentials.updateCredential')" />
|
||||
<font-awesome-icon icon="pen" @click="editCredential(credentialTypeDescription.name)" class="clickable" :title="$i.baseText('nodeCredentials.updateCredential')" />
|
||||
</div>
|
||||
</div>
|
||||
</n8n-input-label>
|
||||
|
@ -85,7 +85,7 @@ export default mixins(
|
|||
],
|
||||
data () {
|
||||
return {
|
||||
NEW_CREDENTIALS_TEXT: `- ${this.$i18n2.baseText('nodeCredentials.createNew')} -`,
|
||||
NEW_CREDENTIALS_TEXT: `- ${this.$i.baseText('nodeCredentials.createNew')} -`,
|
||||
newCredentialUnsubscribe: null as null | (() => void),
|
||||
};
|
||||
},
|
||||
|
@ -215,8 +215,8 @@ export default mixins(
|
|||
});
|
||||
this.updateNodesCredentialsIssues();
|
||||
this.$showMessage({
|
||||
title: this.$i18n2.baseText('nodeCredentials.showMessage.title'),
|
||||
message: this.$i18n2.baseText(
|
||||
title: this.$i.baseText('nodeCredentials.showMessage.title'),
|
||||
message: this.$i.baseText(
|
||||
'nodeCredentials.showMessage.message',
|
||||
{
|
||||
interpolate: {
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
<display-with-change :key-name="'name'" @valueChanged="valueChanged"></display-with-change>
|
||||
<a v-if="nodeType" :href="'http://n8n.io/nodes/' + nodeType.name" target="_blank" class="node-info">
|
||||
<n8n-tooltip class="clickable" placement="top" >
|
||||
<div slot="content" v-html="`<strong>${$i18n2.baseText('nodeSettings.nodeDescription')}:</strong><br />` + nodeTypeDescription + `<br /><br /><strong>${$i18n2.baseText('nodeSettings.clickOnTheQuestionMarkIcon')}</strong>`"></div>
|
||||
<div slot="content" v-html="`<strong>${$i.baseText('nodeSettings.nodeDescription')}:</strong><br />` + nodeTypeDescription + `<br /><br /><strong>${$i.baseText('nodeSettings.clickOnTheQuestionMarkIcon')}</strong>`"></div>
|
||||
<font-awesome-icon icon="question-circle" />
|
||||
</n8n-tooltip>
|
||||
</a>
|
||||
|
@ -14,7 +14,7 @@
|
|||
<div class="node-is-not-valid" v-if="node && !nodeValid">
|
||||
<n8n-text>
|
||||
{{
|
||||
$i18n2.baseText(
|
||||
$i.baseText(
|
||||
'nodeSettings.theNodeIsNotValidAsItsTypeIsUnknown',
|
||||
{ interpolate: { nodeType: node.type } },
|
||||
)
|
||||
|
@ -23,17 +23,17 @@
|
|||
</div>
|
||||
<div class="node-parameters-wrapper" v-if="node && nodeValid">
|
||||
<el-tabs stretch @tab-click="handleTabClick">
|
||||
<el-tab-pane :label="$i18n2.baseText('nodeSettings.parameters')">
|
||||
<el-tab-pane :label="$i.baseText('nodeSettings.parameters')">
|
||||
<node-credentials :node="node" @credentialSelected="credentialSelected"></node-credentials>
|
||||
<node-webhooks :node="node" :nodeType="nodeType" />
|
||||
<parameter-input-list :parameters="parametersNoneSetting" :hideDelete="true" :nodeValues="nodeValues" path="parameters" @valueChanged="valueChanged" />
|
||||
<div v-if="parametersNoneSetting.length === 0" class="no-parameters">
|
||||
<n8n-text>
|
||||
{{ $i18n2.baseText('nodeSettings.thisNodeDoesNotHaveAnyParameters') }}
|
||||
{{ $i.baseText('nodeSettings.thisNodeDoesNotHaveAnyParameters') }}
|
||||
</n8n-text>
|
||||
</div>
|
||||
</el-tab-pane>
|
||||
<el-tab-pane :label="$i18n2.baseText('nodeSettings.settings')">
|
||||
<el-tab-pane :label="$i.baseText('nodeSettings.settings')">
|
||||
<parameter-input-list :parameters="nodeSettings" :hideDelete="true" :nodeValues="nodeValues" path="" @valueChanged="valueChanged" />
|
||||
<parameter-input-list :parameters="parametersSetting" :nodeValues="nodeValues" path="parameters" @valueChanged="valueChanged" />
|
||||
</el-tab-pane>
|
||||
|
@ -97,9 +97,9 @@ export default mixins(
|
|||
},
|
||||
nodeTypeName(): string {
|
||||
if (this.nodeType) {
|
||||
const shortNodeType = this.$i18n2.shortNodeType(this.nodeType.name);
|
||||
const shortNodeType = this.$i.shortNodeType(this.nodeType.name);
|
||||
|
||||
return this.$i18n2.headerText({
|
||||
return this.$i.headerText({
|
||||
key: `headers.${shortNodeType}.displayName`,
|
||||
fallback: this.nodeType.name,
|
||||
});
|
||||
|
@ -109,14 +109,14 @@ export default mixins(
|
|||
},
|
||||
nodeTypeDescription (): string {
|
||||
if (this.nodeType && this.nodeType.description) {
|
||||
const shortNodeType = this.$i18n2.shortNodeType(this.nodeType.name);
|
||||
const shortNodeType = this.$i.shortNodeType(this.nodeType.name);
|
||||
|
||||
return this.$i18n2.headerText({
|
||||
return this.$i.headerText({
|
||||
key: `headers.${shortNodeType}.description`,
|
||||
fallback: this.nodeType.description,
|
||||
});
|
||||
} else {
|
||||
return this.$i18n2.baseText('nodeSettings.noDescriptionFound');
|
||||
return this.$i.baseText('nodeSettings.noDescriptionFound');
|
||||
}
|
||||
},
|
||||
headerStyle (): object {
|
||||
|
@ -171,7 +171,7 @@ export default mixins(
|
|||
|
||||
nodeSettings: [
|
||||
{
|
||||
displayName: this.$i18n2.baseText('nodeSettings.notes.displayName'),
|
||||
displayName: this.$i.baseText('nodeSettings.notes.displayName'),
|
||||
name: 'notes',
|
||||
type: 'string',
|
||||
typeOptions: {
|
||||
|
@ -179,50 +179,50 @@ export default mixins(
|
|||
},
|
||||
default: '',
|
||||
noDataExpression: true,
|
||||
description: this.$i18n2.baseText('nodeSettings.notes.description'),
|
||||
description: this.$i.baseText('nodeSettings.notes.description'),
|
||||
},
|
||||
{
|
||||
displayName: this.$i18n2.baseText('nodeSettings.notesInFlow.displayName'),
|
||||
displayName: this.$i.baseText('nodeSettings.notesInFlow.displayName'),
|
||||
name: 'notesInFlow',
|
||||
type: 'boolean',
|
||||
default: false,
|
||||
noDataExpression: true,
|
||||
description: this.$i18n2.baseText('nodeSettings.notesInFlow.description'),
|
||||
description: this.$i.baseText('nodeSettings.notesInFlow.description'),
|
||||
},
|
||||
{
|
||||
displayName: this.$i18n2.baseText('nodeSettings.color.displayName'),
|
||||
displayName: this.$i.baseText('nodeSettings.color.displayName'),
|
||||
name: 'color',
|
||||
type: 'color',
|
||||
default: '#ff0000',
|
||||
noDataExpression: true,
|
||||
description: this.$i18n2.baseText('nodeSettings.color.description'),
|
||||
description: this.$i.baseText('nodeSettings.color.description'),
|
||||
},
|
||||
{
|
||||
displayName: this.$i18n2.baseText('nodeSettings.alwaysOutputData.displayName'),
|
||||
displayName: this.$i.baseText('nodeSettings.alwaysOutputData.displayName'),
|
||||
name: 'alwaysOutputData',
|
||||
type: 'boolean',
|
||||
default: false,
|
||||
noDataExpression: true,
|
||||
description: this.$i18n2.baseText('nodeSettings.alwaysOutputData.description'),
|
||||
description: this.$i.baseText('nodeSettings.alwaysOutputData.description'),
|
||||
},
|
||||
{
|
||||
displayName: this.$i18n2.baseText('nodeSettings.executeOnce.displayName'),
|
||||
displayName: this.$i.baseText('nodeSettings.executeOnce.displayName'),
|
||||
name: 'executeOnce',
|
||||
type: 'boolean',
|
||||
default: false,
|
||||
noDataExpression: true,
|
||||
description: this.$i18n2.baseText('nodeSettings.executeOnce.description'),
|
||||
description: this.$i.baseText('nodeSettings.executeOnce.description'),
|
||||
},
|
||||
{
|
||||
displayName: this.$i18n2.baseText('nodeSettings.retryOnFail.displayName'),
|
||||
displayName: this.$i.baseText('nodeSettings.retryOnFail.displayName'),
|
||||
name: 'retryOnFail',
|
||||
type: 'boolean',
|
||||
default: false,
|
||||
noDataExpression: true,
|
||||
description: this.$i18n2.baseText('nodeSettings.retryOnFail.description'),
|
||||
description: this.$i.baseText('nodeSettings.retryOnFail.description'),
|
||||
},
|
||||
{
|
||||
displayName: this.$i18n2.baseText('nodeSettings.maxTries.displayName'),
|
||||
displayName: this.$i.baseText('nodeSettings.maxTries.displayName'),
|
||||
name: 'maxTries',
|
||||
type: 'number',
|
||||
typeOptions: {
|
||||
|
@ -238,10 +238,10 @@ export default mixins(
|
|||
},
|
||||
},
|
||||
noDataExpression: true,
|
||||
description: this.$i18n2.baseText('nodeSettings.maxTries.description'),
|
||||
description: this.$i.baseText('nodeSettings.maxTries.description'),
|
||||
},
|
||||
{
|
||||
displayName: this.$i18n2.baseText('nodeSettings.waitBetweenTries.displayName'),
|
||||
displayName: this.$i.baseText('nodeSettings.waitBetweenTries.displayName'),
|
||||
name: 'waitBetweenTries',
|
||||
type: 'number',
|
||||
typeOptions: {
|
||||
|
@ -257,15 +257,15 @@ export default mixins(
|
|||
},
|
||||
},
|
||||
noDataExpression: true,
|
||||
description: this.$i18n2.baseText('nodeSettings.waitBetweenTries.description'),
|
||||
description: this.$i.baseText('nodeSettings.waitBetweenTries.description'),
|
||||
},
|
||||
{
|
||||
displayName: this.$i18n2.baseText('nodeSettings.continueOnFail.displayName'),
|
||||
displayName: this.$i.baseText('nodeSettings.continueOnFail.displayName'),
|
||||
name: 'continueOnFail',
|
||||
type: 'boolean',
|
||||
default: false,
|
||||
noDataExpression: true,
|
||||
description: this.$i18n2.baseText('nodeSettings.continueOnFail.description'),
|
||||
description: this.$i.baseText('nodeSettings.continueOnFail.description'),
|
||||
},
|
||||
] as INodeProperties[],
|
||||
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
<template>
|
||||
<div v-if="webhooksNode.length" class="webhoooks">
|
||||
<div class="clickable headline" :class="{expanded: !isMinimized}" @click="isMinimized=!isMinimized" :title="isMinimized ? $i18n2.baseText('nodeWebhooks.clickToDisplayWebhookUrls') : $i18n2.baseText('nodeWebhooks.clickToHideWebhookUrls')">
|
||||
<div class="clickable headline" :class="{expanded: !isMinimized}" @click="isMinimized=!isMinimized" :title="isMinimized ? $i.baseText('nodeWebhooks.clickToDisplayWebhookUrls') : $i.baseText('nodeWebhooks.clickToHideWebhookUrls')">
|
||||
<font-awesome-icon icon="angle-down" class="minimize-button minimize-icon" />
|
||||
{{ $i18n2.baseText('nodeWebhooks.webhookUrls') }}
|
||||
{{ $i.baseText('nodeWebhooks.webhookUrls') }}
|
||||
</div>
|
||||
<el-collapse-transition>
|
||||
<div class="node-webhooks" v-if="!isMinimized">
|
||||
|
@ -10,14 +10,14 @@
|
|||
<el-row>
|
||||
<el-col :span="24">
|
||||
<el-radio-group v-model="showUrlFor" size="mini">
|
||||
<el-radio-button label="test">{{ $i18n2.baseText('nodeWebhooks.testUrl') }}</el-radio-button>
|
||||
<el-radio-button label="production">{{ $i18n2.baseText('nodeWebhooks.productionUrl') }}</el-radio-button>
|
||||
<el-radio-button label="test">{{ $i.baseText('nodeWebhooks.testUrl') }}</el-radio-button>
|
||||
<el-radio-button label="production">{{ $i.baseText('nodeWebhooks.productionUrl') }}</el-radio-button>
|
||||
</el-radio-group>
|
||||
</el-col>
|
||||
</el-row>
|
||||
</div>
|
||||
|
||||
<n8n-tooltip v-for="(webhook, index) in webhooksNode" :key="index" class="item" :content="$i18n2.baseText('nodeWebhooks.clickToCopyWebhookUrls')" placement="left">
|
||||
<n8n-tooltip v-for="(webhook, index) in webhooksNode" :key="index" class="item" :content="$i.baseText('nodeWebhooks.clickToCopyWebhookUrls')" placement="left">
|
||||
<div class="webhook-wrapper">
|
||||
<div class="http-field">
|
||||
<div class="http-method">
|
||||
|
@ -83,8 +83,8 @@ export default mixins(
|
|||
this.copyToClipboard(webhookUrl);
|
||||
|
||||
this.$showMessage({
|
||||
title: this.$i18n2.baseText('nodeWebhooks.showMessage.title'),
|
||||
message: this.$i18n2.baseText('nodeWebhooks.showMessage.message'),
|
||||
title: this.$i.baseText('nodeWebhooks.showMessage.title'),
|
||||
message: this.$i.baseText('nodeWebhooks.showMessage.message'),
|
||||
type: 'success',
|
||||
});
|
||||
},
|
||||
|
@ -95,7 +95,7 @@ export default mixins(
|
|||
try {
|
||||
return this.resolveExpression(webhookData[key] as string) as string;
|
||||
} catch (e) {
|
||||
return this.$i18n2.baseText('nodeWebhooks.invalidExpression');
|
||||
return this.$i.baseText('nodeWebhooks.invalidExpression');
|
||||
}
|
||||
},
|
||||
getWebhookUrl (webhookData: IWebhookDescription): string {
|
||||
|
|
|
@ -38,7 +38,7 @@
|
|||
:placeholder="isValueExpression ? '' : getPlaceholder()"
|
||||
>
|
||||
<div slot="suffix" class="expand-input-icon-container">
|
||||
<font-awesome-icon v-if="!isValueExpression && !isReadOnly" icon="external-link-alt" class="edit-window-button clickable" :title="$i18n2.baseText('parameterInput.openEditWindow')" @click="displayEditDialog()" />
|
||||
<font-awesome-icon v-if="!isValueExpression && !isReadOnly" icon="external-link-alt" class="edit-window-button clickable" :title="$i.baseText('parameterInput.openEditWindow')" @click="displayEditDialog()" />
|
||||
</div>
|
||||
</n8n-input>
|
||||
</div>
|
||||
|
@ -78,7 +78,7 @@
|
|||
:value="displayValue"
|
||||
:title="displayTitle"
|
||||
:disabled="isReadOnly"
|
||||
:placeholder="parameter.placeholder ? getPlaceholder() : $i18n2.baseText('parameterInput.selectDateAndTime')"
|
||||
:placeholder="parameter.placeholder ? getPlaceholder() : $i.baseText('parameterInput.selectDateAndTime')"
|
||||
:picker-options="dateTimePickerOptions"
|
||||
@change="valueChanged"
|
||||
@focus="setFocus"
|
||||
|
@ -171,7 +171,7 @@
|
|||
|
||||
<div class="parameter-issues" v-if="getIssues.length">
|
||||
<n8n-tooltip placement="top" >
|
||||
<div slot="content" v-html="`${$i18n2.baseText('parameterInput.issues')}:<br /> - ` + getIssues.join('<br /> - ')"></div>
|
||||
<div slot="content" v-html="`${$i.baseText('parameterInput.issues')}:<br /> - ` + getIssues.join('<br /> - ')"></div>
|
||||
<font-awesome-icon icon="exclamation-triangle" />
|
||||
</n8n-tooltip>
|
||||
</div>
|
||||
|
@ -179,13 +179,13 @@
|
|||
<div class="parameter-options" v-if="displayOptionsComputed">
|
||||
<el-dropdown trigger="click" @command="optionSelected" size="mini">
|
||||
<span class="el-dropdown-link">
|
||||
<font-awesome-icon icon="cogs" class="reset-icon clickable" :title="$i18n2.baseText('parameterInput.parameterOptions')"/>
|
||||
<font-awesome-icon icon="cogs" class="reset-icon clickable" :title="$i.baseText('parameterInput.parameterOptions')"/>
|
||||
</span>
|
||||
<el-dropdown-menu slot="dropdown">
|
||||
<el-dropdown-item command="addExpression" v-if="parameter.noDataExpression !== true && !isValueExpression">{{ $i18n2.baseText('parameterInput.addExpression') }}</el-dropdown-item>
|
||||
<el-dropdown-item command="removeExpression" v-if="parameter.noDataExpression !== true && isValueExpression">{{ $i18n2.baseText('parameterInput.removeExpression') }}</el-dropdown-item>
|
||||
<el-dropdown-item command="refreshOptions" v-if="Boolean(remoteMethod)">{{ $i18n2.baseText('parameterInput.refreshList') }}</el-dropdown-item>
|
||||
<el-dropdown-item command="resetValue" :disabled="isDefault" divided>{{ $i18n2.baseText('parameterInput.resetValue') }}</el-dropdown-item>
|
||||
<el-dropdown-item command="addExpression" v-if="parameter.noDataExpression !== true && !isValueExpression">{{ $i.baseText('parameterInput.addExpression') }}</el-dropdown-item>
|
||||
<el-dropdown-item command="removeExpression" v-if="parameter.noDataExpression !== true && isValueExpression">{{ $i.baseText('parameterInput.removeExpression') }}</el-dropdown-item>
|
||||
<el-dropdown-item command="refreshOptions" v-if="Boolean(remoteMethod)">{{ $i.baseText('parameterInput.refreshList') }}</el-dropdown-item>
|
||||
<el-dropdown-item command="resetValue" :disabled="isDefault" divided>{{ $i.baseText('parameterInput.resetValue') }}</el-dropdown-item>
|
||||
</el-dropdown-menu>
|
||||
</el-dropdown>
|
||||
</div>
|
||||
|
@ -331,23 +331,23 @@ export default mixins(
|
|||
const interpolation = { interpolate: { shortPath: this.shortPath } };
|
||||
|
||||
if (this.getIssues.length && this.isValueExpression) {
|
||||
return this.$i18n2.baseText(
|
||||
return this.$i.baseText(
|
||||
'parameterInput.parameterHasIssuesAndExpression',
|
||||
interpolation,
|
||||
);
|
||||
} else if (this.getIssues.length && !this.isValueExpression) {
|
||||
return this.$i18n2.baseText(
|
||||
return this.$i.baseText(
|
||||
'parameterInput.parameterHasIssues',
|
||||
interpolation,
|
||||
);
|
||||
} else if (!this.getIssues.length && this.isValueExpression) {
|
||||
return this.$i18n2.baseText(
|
||||
return this.$i.baseText(
|
||||
'parameterInput.parameterHasExpression',
|
||||
interpolation,
|
||||
);
|
||||
}
|
||||
|
||||
return this.$i18n2.baseText('parameterInput.parameter', interpolation);
|
||||
return this.$i.baseText('parameterInput.parameter', interpolation);
|
||||
},
|
||||
displayValue (): string | number | boolean | null {
|
||||
if (this.remoteParameterOptionsLoading === true) {
|
||||
|
@ -355,7 +355,7 @@ export default mixins(
|
|||
// to user that the data is loading. If not it would
|
||||
// display the user the key instead of the value it
|
||||
// represents
|
||||
return this.$i18n2.baseText('parameterInput.loadingOptions');
|
||||
return this.$i.baseText('parameterInput.loadingOptions');
|
||||
}
|
||||
|
||||
let returnValue;
|
||||
|
@ -424,7 +424,7 @@ export default mixins(
|
|||
try {
|
||||
computedValue = this.resolveExpression(this.value) as NodeParameterValue;
|
||||
} catch (error) {
|
||||
computedValue = `[${this.$i18n2.baseText('parameterInput.error')}}: ${error.message}]`;
|
||||
computedValue = `[${this.$i.baseText('parameterInput.error')}}: ${error.message}]`;
|
||||
}
|
||||
|
||||
// Try to convert it into the corret type
|
||||
|
@ -570,18 +570,18 @@ export default mixins(
|
|||
methods: {
|
||||
getPlaceholder(): string {
|
||||
return this.isForCredential
|
||||
? this.$i18n2.credText().placeholder(this.parameter)
|
||||
: this.$i18n2.nodeText().placeholder(this.parameter);
|
||||
? this.$i.credText().placeholder(this.parameter)
|
||||
: this.$i.nodeText().placeholder(this.parameter);
|
||||
},
|
||||
getOptionsOptionDisplayName(option: { value: string; name: string }): string {
|
||||
return this.isForCredential
|
||||
? this.$i18n2.credText().optionsOptionDisplayName(this.parameter, option)
|
||||
: this.$i18n2.nodeText().optionsOptionDisplayName(this.parameter, option);
|
||||
? this.$i.credText().optionsOptionDisplayName(this.parameter, option)
|
||||
: this.$i.nodeText().optionsOptionDisplayName(this.parameter, option);
|
||||
},
|
||||
getOptionsOptionDescription(option: { value: string; description: string }): string {
|
||||
return this.isForCredential
|
||||
? this.$i18n2.credText().optionsOptionDescription(this.parameter, option)
|
||||
: this.$i18n2.nodeText().optionsOptionDescription(this.parameter, option);
|
||||
? this.$i.credText().optionsOptionDescription(this.parameter, option)
|
||||
: this.$i.nodeText().optionsOptionDescription(this.parameter, option);
|
||||
},
|
||||
|
||||
async loadRemoteParameterOptions () {
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
<template>
|
||||
<n8n-input-label
|
||||
:label="$i18n2.credText().topParameterDisplayName(parameter)"
|
||||
:tooltipText="$i18n2.credText().topParameterDescription(parameter)"
|
||||
:label="$i.credText().topParameterDisplayName(parameter)"
|
||||
:tooltipText="$i.credText().topParameterDescription(parameter)"
|
||||
:required="parameter.required"
|
||||
:showTooltip="focused"
|
||||
>
|
||||
|
@ -21,7 +21,7 @@
|
|||
inputSize="large"
|
||||
/>
|
||||
<div class="errors" v-if="showRequiredErrors">
|
||||
{{ $i18n2.baseText('parameterInputExpanded.thisFieldIsRequired') }} <a v-if="documentationUrl" :href="documentationUrl" target="_blank" @click="onDocumentationUrlClick">{{ $i18n2.baseText('parameterInputExpanded.openDocs') }}</a>
|
||||
{{ $i.baseText('parameterInputExpanded.thisFieldIsRequired') }} <a v-if="documentationUrl" :href="documentationUrl" target="_blank" @click="onDocumentationUrlClick">{{ $i.baseText('parameterInputExpanded.openDocs') }}</a>
|
||||
</div>
|
||||
</n8n-input-label>
|
||||
</template>
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
<template>
|
||||
<n8n-input-label
|
||||
:label="$i18n2.nodeText().topParameterDisplayName(parameter)"
|
||||
:tooltipText="$i18n2.nodeText().topParameterDescription(parameter)"
|
||||
:label="$i.nodeText().topParameterDisplayName(parameter)"
|
||||
:tooltipText="$i.nodeText().topParameterDescription(parameter)"
|
||||
:showTooltip="focused"
|
||||
:bold="false"
|
||||
size="small"
|
||||
|
|
|
@ -16,7 +16,7 @@
|
|||
|
||||
<div v-else-if="parameter.type === 'notice'" class="parameter-item parameter-notice">
|
||||
<n8n-text size="small">
|
||||
<span v-html="$i18n2.nodeText().topParameterDisplayName(parameter)"></span>
|
||||
<span v-html="$i.nodeText().topParameterDisplayName(parameter)"></span>
|
||||
</n8n-text>
|
||||
</div>
|
||||
|
||||
|
@ -24,17 +24,17 @@
|
|||
v-else-if="['collection', 'fixedCollection'].includes(parameter.type)"
|
||||
class="multi-parameter"
|
||||
>
|
||||
<div class="delete-option clickable" :title="$i18n2.baseText('parameterInputList.delete')" v-if="hideDelete !== true && !isReadOnly">
|
||||
<div class="delete-option clickable" :title="$i.baseText('parameterInputList.delete')" v-if="hideDelete !== true && !isReadOnly">
|
||||
<font-awesome-icon
|
||||
icon="trash"
|
||||
class="reset-icon clickable"
|
||||
:title="$i18n2.baseText('parameterInputList.parameterOptions')"
|
||||
:title="$i.baseText('parameterInputList.parameterOptions')"
|
||||
@click="deleteOption(parameter.name)"
|
||||
/>
|
||||
</div>
|
||||
<n8n-input-label
|
||||
:label="$i18n2.nodeText().topParameterDisplayName(parameter)"
|
||||
:tooltipText="$i18n2.nodeText().topParameterDescription(parameter)"
|
||||
:label="$i.nodeText().topParameterDisplayName(parameter)"
|
||||
:tooltipText="$i.nodeText().topParameterDescription(parameter)"
|
||||
size="small"
|
||||
:underline="true"
|
||||
:labelHoverableOnly="true"
|
||||
|
@ -59,11 +59,11 @@
|
|||
</div>
|
||||
|
||||
<div v-else-if="displayNodeParameter(parameter)" class="parameter-item">
|
||||
<div class="delete-option clickable" :title="$i18n2.baseText('parameterInputList.delete')" v-if="hideDelete !== true && !isReadOnly">
|
||||
<div class="delete-option clickable" :title="$i.baseText('parameterInputList.delete')" v-if="hideDelete !== true && !isReadOnly">
|
||||
<font-awesome-icon
|
||||
icon="trash"
|
||||
class="reset-icon clickable"
|
||||
:title="$i18n2.baseText('parameterInputList.deleteParameter')"
|
||||
:title="$i.baseText('parameterInputList.deleteParameter')"
|
||||
@click="deleteOption(parameter.name)"
|
||||
/>
|
||||
</div>
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
<template>
|
||||
<Modal
|
||||
:name="PERSONALIZATION_MODAL_KEY"
|
||||
:title="!submitted? $i18n2.baseText('personalizationModal.getStarted') : $i18n2.baseText('personalizationModal.thanks')"
|
||||
:subtitle="!submitted? $i18n2.baseText('personalizationModal.theseQuestionsHelpUs') : ''"
|
||||
:title="!submitted? $i.baseText('personalizationModal.getStarted') : $i.baseText('personalizationModal.thanks')"
|
||||
:subtitle="!submitted? $i.baseText('personalizationModal.theseQuestionsHelpUs') : ''"
|
||||
:centerTitle="true"
|
||||
:showClose="false"
|
||||
:eventBus="modalBus"
|
||||
|
@ -15,11 +15,11 @@
|
|||
<template v-slot:content>
|
||||
<div v-if="submitted" :class="$style.submittedContainer">
|
||||
<img :class="$style.demoImage" :src="baseUrl + 'suggestednodes.png'" />
|
||||
<n8n-text>{{ $i18n2.baseText('personalizationModal.lookOutForThingsMarked') }}</n8n-text>
|
||||
<n8n-text>{{ $i.baseText('personalizationModal.lookOutForThingsMarked') }}</n8n-text>
|
||||
</div>
|
||||
<div :class="$style.container" v-else>
|
||||
<n8n-input-label :label="$i18n2.baseText('personalizationModal.howAreYourCodingSkills')">
|
||||
<n8n-select :value="values[CODING_SKILL_KEY]" :placeholder="$i18n2.baseText('personalizationModal.select')" @change="(value) => onInput(CODING_SKILL_KEY, value)">
|
||||
<n8n-input-label :label="$i.baseText('personalizationModal.howAreYourCodingSkills')">
|
||||
<n8n-select :value="values[CODING_SKILL_KEY]" :placeholder="$i.baseText('personalizationModal.select')" @change="(value) => onInput(CODING_SKILL_KEY, value)">
|
||||
<n8n-option
|
||||
:label="baseText('personalizationModal.neverCoded')"
|
||||
value="0"
|
||||
|
@ -47,59 +47,59 @@
|
|||
</n8n-select>
|
||||
</n8n-input-label>
|
||||
|
||||
<n8n-input-label :label="$i18n2.baseText('personalizationModal.whichOfTheseAreasDoYouMainlyWorkIn')">
|
||||
<n8n-select :value="values[WORK_AREA_KEY]" :placeholder="$i18n2.baseText('personalizationModal.select')" @change="(value) => onInput(WORK_AREA_KEY, value)">
|
||||
<n8n-input-label :label="$i.baseText('personalizationModal.whichOfTheseAreasDoYouMainlyWorkIn')">
|
||||
<n8n-select :value="values[WORK_AREA_KEY]" :placeholder="$i.baseText('personalizationModal.select')" @change="(value) => onInput(WORK_AREA_KEY, value)">
|
||||
<n8n-option
|
||||
:value="FINANCE_WORK_AREA"
|
||||
:label="$i18n2.baseText('personalizationModal.finance')"
|
||||
:label="$i.baseText('personalizationModal.finance')"
|
||||
/>
|
||||
<n8n-option
|
||||
:value="HR_WORK_AREA"
|
||||
:label="$i18n2.baseText('personalizationModal.hr')"
|
||||
:label="$i.baseText('personalizationModal.hr')"
|
||||
/>
|
||||
<n8n-option
|
||||
:value="IT_ENGINEERING_WORK_AREA"
|
||||
:label="$i18n2.baseText('personalizationModal.itEngineering')"
|
||||
:label="$i.baseText('personalizationModal.itEngineering')"
|
||||
/>
|
||||
<n8n-option
|
||||
:value="LEGAL_WORK_AREA"
|
||||
:label="$i18n2.baseText('personalizationModal.legal')"
|
||||
:label="$i.baseText('personalizationModal.legal')"
|
||||
/>
|
||||
<n8n-option
|
||||
:value="MARKETING_WORK_AREA"
|
||||
:label="$i18n2.baseText('personalizationModal.marketing')"
|
||||
:label="$i.baseText('personalizationModal.marketing')"
|
||||
/>
|
||||
<n8n-option
|
||||
:value="OPS_WORK_AREA"
|
||||
:label="$i18n2.baseText('personalizationModal.operations')"
|
||||
:label="$i.baseText('personalizationModal.operations')"
|
||||
/>
|
||||
<n8n-option
|
||||
:value="PRODUCT_WORK_AREA"
|
||||
:label="$i18n2.baseText('personalizationModal.product')"
|
||||
:label="$i.baseText('personalizationModal.product')"
|
||||
/>
|
||||
<n8n-option
|
||||
:value="SALES_BUSINESSDEV_WORK_AREA"
|
||||
:label="$i18n2.baseText('personalizationModal.salesBizDev')"
|
||||
:label="$i.baseText('personalizationModal.salesBizDev')"
|
||||
/>
|
||||
<n8n-option
|
||||
:value="SECURITY_WORK_AREA"
|
||||
:label="$i18n2.baseText('personalizationModal.security')"
|
||||
:label="$i.baseText('personalizationModal.security')"
|
||||
/>
|
||||
<n8n-option
|
||||
:value="SUPPORT_WORK_AREA"
|
||||
:label="$i18n2.baseText('personalizationModal.support')"
|
||||
:label="$i.baseText('personalizationModal.support')"
|
||||
/>
|
||||
<n8n-option
|
||||
:value="EXECUTIVE_WORK_AREA"
|
||||
:label="$i18n2.baseText('personalizationModal.executiveTeam')"
|
||||
:label="$i.baseText('personalizationModal.executiveTeam')"
|
||||
/>
|
||||
<n8n-option
|
||||
:value="OTHER_WORK_AREA_OPTION"
|
||||
:label="$i18n2.baseText('personalizationModal.otherPleaseSpecify')"
|
||||
:label="$i.baseText('personalizationModal.otherPleaseSpecify')"
|
||||
/>
|
||||
<n8n-option
|
||||
:value="NOT_APPLICABLE_WORK_AREA"
|
||||
:label="$i18n2.baseText('personalizationModal.imNotUsingN8nForWork')"
|
||||
:label="$i.baseText('personalizationModal.imNotUsingN8nForWork')"
|
||||
/>
|
||||
</n8n-select>
|
||||
</n8n-input-label>
|
||||
|
@ -107,86 +107,86 @@
|
|||
<n8n-input
|
||||
v-if="otherWorkAreaFieldVisible"
|
||||
:value="values[OTHER_WORK_AREA_KEY]"
|
||||
:placeholder="$i18n2.baseText('personalizationModal.specifyYourWorkArea')"
|
||||
:placeholder="$i.baseText('personalizationModal.specifyYourWorkArea')"
|
||||
@input="(value) => onInput(OTHER_WORK_AREA_KEY, value)"
|
||||
/>
|
||||
|
||||
<section v-if="showAllIndustryQuestions">
|
||||
<n8n-input-label :label="$i18n2.baseText('personalizationModal.whichIndustriesIsYourCompanyIn')">
|
||||
<n8n-select :value="values[COMPANY_INDUSTRY_KEY]" multiple :placeholder="$i18n2.baseText('personalizationModal.select')" @change="(value) => onInput(COMPANY_INDUSTRY_KEY, value)">
|
||||
<n8n-input-label :label="$i.baseText('personalizationModal.whichIndustriesIsYourCompanyIn')">
|
||||
<n8n-select :value="values[COMPANY_INDUSTRY_KEY]" multiple :placeholder="$i.baseText('personalizationModal.select')" @change="(value) => onInput(COMPANY_INDUSTRY_KEY, value)">
|
||||
<n8n-option
|
||||
:value="E_COMMERCE_INDUSTRY"
|
||||
:label="$i18n2.baseText('personalizationModal.eCommerce')"
|
||||
:label="$i.baseText('personalizationModal.eCommerce')"
|
||||
/>
|
||||
<n8n-option
|
||||
:value="AUTOMATION_CONSULTING_INDUSTRY"
|
||||
:label="$i18n2.baseText('personalizationModal.automationConsulting')"
|
||||
:label="$i.baseText('personalizationModal.automationConsulting')"
|
||||
/>
|
||||
<n8n-option
|
||||
:value="SYSTEM_INTEGRATION_INDUSTRY"
|
||||
:label="$i18n2.baseText('personalizationModal.systemsIntegration')"
|
||||
:label="$i.baseText('personalizationModal.systemsIntegration')"
|
||||
/>
|
||||
<n8n-option
|
||||
:value="GOVERNMENT_INDUSTRY"
|
||||
:label="$i18n2.baseText('personalizationModal.government')"
|
||||
:label="$i.baseText('personalizationModal.government')"
|
||||
/>
|
||||
<n8n-option
|
||||
:value="LEGAL_INDUSTRY"
|
||||
:label="$i18n2.baseText('personalizationModal.legal')"
|
||||
:label="$i.baseText('personalizationModal.legal')"
|
||||
/>
|
||||
<n8n-option
|
||||
:value="HEALTHCARE_INDUSTRY"
|
||||
:label="$i18n2.baseText('personalizationModal.healthcare')"
|
||||
:label="$i.baseText('personalizationModal.healthcare')"
|
||||
/>
|
||||
<n8n-option
|
||||
:value="FINANCE_INDUSTRY"
|
||||
:label="$i18n2.baseText('personalizationModal.finance')"
|
||||
:label="$i.baseText('personalizationModal.finance')"
|
||||
/>
|
||||
<n8n-option
|
||||
:value="SECURITY_INDUSTRY"
|
||||
:label="$i18n2.baseText('personalizationModal.security')"
|
||||
:label="$i.baseText('personalizationModal.security')"
|
||||
/>
|
||||
<n8n-option
|
||||
:value="SAAS_INDUSTRY"
|
||||
:label="$i18n2.baseText('personalizationModal.saas')"
|
||||
:label="$i.baseText('personalizationModal.saas')"
|
||||
/>
|
||||
<n8n-option
|
||||
:value="OTHER_INDUSTRY_OPTION"
|
||||
:label="$i18n2.baseText('personalizationModal.otherPleaseSpecify')"
|
||||
:label="$i.baseText('personalizationModal.otherPleaseSpecify')"
|
||||
/>
|
||||
</n8n-select>
|
||||
</n8n-input-label>
|
||||
<n8n-input
|
||||
v-if="otherCompanyIndustryFieldVisible"
|
||||
:value="values[OTHER_COMPANY_INDUSTRY_KEY]"
|
||||
:placeholder="$i18n2.baseText('personalizationModal.specifyYourCompanysIndustry')"
|
||||
:placeholder="$i.baseText('personalizationModal.specifyYourCompanysIndustry')"
|
||||
@input="(value) => onInput(OTHER_COMPANY_INDUSTRY_KEY, value)"
|
||||
/>
|
||||
|
||||
<n8n-input-label :label="$i18n2.baseText('personalizationModal.howBigIsYourCompany')">
|
||||
<n8n-select :value="values[COMPANY_SIZE_KEY]" :placeholder="$i18n2.baseText('personalizationModal.select')" @change="(value) => onInput(COMPANY_SIZE_KEY, value)">
|
||||
<n8n-input-label :label="$i.baseText('personalizationModal.howBigIsYourCompany')">
|
||||
<n8n-select :value="values[COMPANY_SIZE_KEY]" :placeholder="$i.baseText('personalizationModal.select')" @change="(value) => onInput(COMPANY_SIZE_KEY, value)">
|
||||
<n8n-option
|
||||
:label="$i18n2.baseText('personalizationModal.lessThan20People')"
|
||||
:label="$i.baseText('personalizationModal.lessThan20People')"
|
||||
:value="COMPANY_SIZE_20_OR_LESS"
|
||||
/>
|
||||
<n8n-option
|
||||
:label="`20-99 ${$i18n2.baseText('personalizationModal.people')}`"
|
||||
:label="`20-99 ${$i.baseText('personalizationModal.people')}`"
|
||||
:value="COMPANY_SIZE_20_99"
|
||||
/>
|
||||
<n8n-option
|
||||
:label="`100-499 ${$i18n2.baseText('personalizationModal.people')}`"
|
||||
:label="`100-499 ${$i.baseText('personalizationModal.people')}`"
|
||||
:value="COMPANY_SIZE_100_499"
|
||||
/>
|
||||
<n8n-option
|
||||
:label="`500-999 ${$i18n2.baseText('personalizationModal.people')}`"
|
||||
:label="`500-999 ${$i.baseText('personalizationModal.people')}`"
|
||||
:value="COMPANY_SIZE_500_999"
|
||||
/>
|
||||
<n8n-option
|
||||
:label="`1000+ ${$i18n2.baseText('personalizationModal.people')}`"
|
||||
:label="`1000+ ${$i.baseText('personalizationModal.people')}`"
|
||||
:value="COMPANY_SIZE_1000_OR_MORE"
|
||||
/>
|
||||
<n8n-option
|
||||
:label="$i18n2.baseText('personalizationModal.imNotUsingN8nForWork')"
|
||||
:label="$i.baseText('personalizationModal.imNotUsingN8nForWork')"
|
||||
:value="COMPANY_SIZE_PERSONAL_USE"
|
||||
/>
|
||||
</n8n-select>
|
||||
|
@ -197,8 +197,8 @@
|
|||
</template>
|
||||
<template v-slot:footer>
|
||||
<div>
|
||||
<n8n-button v-if="submitted" @click="closeDialog" :label="$i18n2.baseText('personalizationModal.getStarted')" float="right" />
|
||||
<n8n-button v-else @click="save" :loading="isSaving" :label="$i18n2.baseText('personalizationModal.continue')" float="right" />
|
||||
<n8n-button v-if="submitted" @click="closeDialog" :label="$i.baseText('personalizationModal.getStarted')" float="right" />
|
||||
<n8n-button v-else @click="save" :loading="isSaving" :label="$i.baseText('personalizationModal.continue')" float="right" />
|
||||
</div>
|
||||
</template>
|
||||
</Modal>
|
||||
|
@ -353,7 +353,7 @@ export default mixins(showMessage, workflowHelpers).extend({
|
|||
|
||||
this.submitted = true;
|
||||
} catch (e) {
|
||||
this.$showError(e, this.$i18n2.baseText('personalizationModal.errorWhileSubmittingResults'));
|
||||
this.$showError(e, this.$i.baseText('personalizationModal.errorWhileSubmittingResults'));
|
||||
}
|
||||
|
||||
this.$data.isSaving = false;
|
||||
|
|
|
@ -3,10 +3,10 @@
|
|||
<div class="push-connection-lost primary-color" v-if="!pushConnectionActive">
|
||||
<n8n-tooltip placement="bottom-end" >
|
||||
<div slot="content">
|
||||
{{ $i18n2.baseText('pushConnectionTracker.cannotConnectToServer') }}
|
||||
{{ $i.baseText('pushConnectionTracker.cannotConnectToServer') }}
|
||||
</div>
|
||||
<span>
|
||||
<font-awesome-icon icon="exclamation-triangle" /> {{ $i18n2.baseText('pushConnectionTracker.connectionLost') }}
|
||||
<font-awesome-icon icon="exclamation-triangle" /> {{ $i.baseText('pushConnectionTracker.connectionLost') }}
|
||||
</span>
|
||||
</n8n-tooltip>
|
||||
</div>
|
||||
|
|
|
@ -7,10 +7,10 @@
|
|||
class="execute-node-button"
|
||||
>
|
||||
<n8n-button
|
||||
:title="$i18n2.baseText('runData.executesThisNodeAfterExecuting', { interpolate: { nodeName: node.name } })"
|
||||
:title="$i.baseText('runData.executesThisNodeAfterExecuting', { interpolate: { nodeName: node.name } })"
|
||||
:loading="workflowRunning"
|
||||
icon="play-circle"
|
||||
:label="$i18n2.baseText('runData.executeNode')"
|
||||
:label="$i.baseText('runData.executeNode')"
|
||||
@click.stop="runWorkflow(node.name, 'RunData.ExecuteNodeButton')"
|
||||
/>
|
||||
</div>
|
||||
|
@ -18,10 +18,10 @@
|
|||
<div class="header">
|
||||
<div class="title-text">
|
||||
<n8n-text :bold="true" v-if="dataCount < maxDisplayItems">
|
||||
{{ $i18n2.baseText('runData.items') }}: {{ dataCount }}
|
||||
{{ $i.baseText('runData.items') }}: {{ dataCount }}
|
||||
</n8n-text>
|
||||
<div v-else class="title-text">
|
||||
<n8n-text :bold="true">{{ $i18n2.baseText('runData.items') }}:</n8n-text>
|
||||
<n8n-text :bold="true">{{ $i.baseText('runData.items') }}:</n8n-text>
|
||||
<span class="opts">
|
||||
<n8n-select size="mini" v-model="maxDisplayItems" @click.stop>
|
||||
<n8n-option v-for="option in maxDisplayItemsOptions" :label="option" :value="option" :key="option" />
|
||||
|
@ -34,13 +34,13 @@
|
|||
placement="right"
|
||||
>
|
||||
<div slot="content">
|
||||
<n8n-text :bold="true" size="small">{{ $i18n2.baseText('runData.startTime') + ':' }}</n8n-text> {{runMetadata.startTime}}<br/>
|
||||
<n8n-text :bold="true" size="small">{{ $i18n2.baseText('runData.executionTime') + ':' }}</n8n-text> {{runMetadata.executionTime}} {{ $i18n2.baseText('runData.ms') }}
|
||||
<n8n-text :bold="true" size="small">{{ $i.baseText('runData.startTime') + ':' }}</n8n-text> {{runMetadata.startTime}}<br/>
|
||||
<n8n-text :bold="true" size="small">{{ $i.baseText('runData.executionTime') + ':' }}</n8n-text> {{runMetadata.executionTime}} {{ $i.baseText('runData.ms') }}
|
||||
</div>
|
||||
<font-awesome-icon icon="info-circle" class="primary-color" />
|
||||
</n8n-tooltip>
|
||||
<n8n-text :bold="true" v-if="maxOutputIndex > 0">
|
||||
| {{ $i18n2.baseText('runData.output') }}:
|
||||
| {{ $i.baseText('runData.output') }}:
|
||||
</n8n-text>
|
||||
<span class="opts" v-if="maxOutputIndex > 0" >
|
||||
<n8n-select size="mini" v-model="outputIndex" @click.stop>
|
||||
|
@ -50,7 +50,7 @@
|
|||
</span>
|
||||
|
||||
<n8n-text :bold="true" v-if="maxRunIndex > 0">
|
||||
| {{ $i18n2.baseText('runData.dataOfExecution') }}:
|
||||
| {{ $i.baseText('runData.dataOfExecution') }}:
|
||||
</n8n-text>
|
||||
<span class="opts">
|
||||
<n8n-select v-if="maxRunIndex > 0" size="mini" v-model="runIndex" @click.stop>
|
||||
|
@ -62,25 +62,25 @@
|
|||
</div>
|
||||
<div v-if="hasNodeRun && !hasRunError" class="title-data-display-selector" @click.stop>
|
||||
<el-radio-group v-model="displayMode" size="mini">
|
||||
<el-radio-button :label="$i18n2.baseText('runData.json')" :disabled="showData === false"></el-radio-button>
|
||||
<el-radio-button :label="$i18n2.baseText('runData.table')"></el-radio-button>
|
||||
<el-radio-button :label="$i18n2.baseText('runData.binary')" v-if="binaryData.length !== 0"></el-radio-button>
|
||||
<el-radio-button :label="$i.baseText('runData.json')" :disabled="showData === false"></el-radio-button>
|
||||
<el-radio-button :label="$i.baseText('runData.table')"></el-radio-button>
|
||||
<el-radio-button :label="$i.baseText('runData.binary')" v-if="binaryData.length !== 0"></el-radio-button>
|
||||
</el-radio-group>
|
||||
</div>
|
||||
<div v-if="hasNodeRun && !hasRunError && displayMode === 'JSON' && state.path !== deselectedPlaceholder" class="select-button">
|
||||
<el-dropdown trigger="click" @command="handleCopyClick">
|
||||
<span class="el-dropdown-link">
|
||||
<n8n-icon-button :title="$i18n2.baseText('runData.copyToClipboard')" icon="copy" />
|
||||
<n8n-icon-button :title="$i.baseText('runData.copyToClipboard')" icon="copy" />
|
||||
</span>
|
||||
<el-dropdown-menu slot="dropdown">
|
||||
<el-dropdown-item :command="{command: 'itemPath'}">
|
||||
{{ $i18n2.baseText('runData.copyItemPath') }}
|
||||
{{ $i.baseText('runData.copyItemPath') }}
|
||||
</el-dropdown-item>
|
||||
<el-dropdown-item :command="{command: 'parameterPath'}">
|
||||
{{ $i18n2.baseText('runData.copyParameterPath') }}
|
||||
{{ $i.baseText('runData.copyParameterPath') }}
|
||||
</el-dropdown-item>
|
||||
<el-dropdown-item :command="{command: 'value'}">
|
||||
{{ $i18n2.baseText('runData.copyValue') }}
|
||||
{{ $i.baseText('runData.copyValue') }}
|
||||
</el-dropdown-item>
|
||||
</el-dropdown-menu>
|
||||
</el-dropdown>
|
||||
|
@ -94,7 +94,7 @@
|
|||
<span v-else>
|
||||
<div v-if="showData === false" class="too-much-data">
|
||||
<h3>
|
||||
{{ $i18n2.baseText('runData.nodeReturnedALargeAmountOfData') }}
|
||||
{{ $i.baseText('runData.nodeReturnedALargeAmountOfData') }}
|
||||
</h3>
|
||||
|
||||
<div class="text">
|
||||
|
@ -110,17 +110,17 @@
|
|||
|
||||
<n8n-button
|
||||
icon="eye"
|
||||
:label="$i18n2.baseText('runData.displayDataAnyway')"
|
||||
:label="$i.baseText('runData.displayDataAnyway')"
|
||||
@click="displayMode = 'Table';showData = true;"
|
||||
/>
|
||||
</div>
|
||||
<div v-else-if="['JSON', 'Table'].includes(displayMode)">
|
||||
<div v-if="jsonData.length === 0" class="no-data">
|
||||
{{ $i18n2.baseText('runData.noTextDataFound') }}
|
||||
{{ $i.baseText('runData.noTextDataFound') }}
|
||||
</div>
|
||||
<div v-else-if="displayMode === 'Table'">
|
||||
<div v-if="tableData !== null && tableData.columns.length === 0" class="no-data">
|
||||
{{ $i18n2.baseText('runData.entriesExistButThey') }}
|
||||
{{ $i.baseText('runData.entriesExistButThey') }}
|
||||
</div>
|
||||
<table v-else-if="tableData !== null">
|
||||
<tr>
|
||||
|
@ -148,7 +148,7 @@
|
|||
</div>
|
||||
<div v-else-if="displayMode === 'Binary'">
|
||||
<div v-if="binaryData.length === 0" class="no-data">
|
||||
{{ $i18n2.baseText('runData.noBinaryDataFound') }}
|
||||
{{ $i.baseText('runData.noBinaryDataFound') }}
|
||||
</div>
|
||||
|
||||
<div v-else>
|
||||
|
@ -166,24 +166,24 @@
|
|||
{{key}}
|
||||
</div>
|
||||
<div v-if="binaryData.fileName">
|
||||
<div class="label">{{ $i18n2.baseText('runData.fileName') }}: </div>
|
||||
<div class="label">{{ $i.baseText('runData.fileName') }}: </div>
|
||||
<div class="value">{{binaryData.fileName}}</div>
|
||||
</div>
|
||||
<div v-if="binaryData.directory">
|
||||
<div class="label">{{ $i18n2.baseText('runData.directory') }}: </div>
|
||||
<div class="label">{{ $i.baseText('runData.directory') }}: </div>
|
||||
<div class="value">{{binaryData.directory}}</div>
|
||||
</div>
|
||||
<div v-if="binaryData.fileExtension">
|
||||
<div class="label">{{ $i18n2.baseText('runData.fileExtension') }}:</div>
|
||||
<div class="label">{{ $i.baseText('runData.fileExtension') }}:</div>
|
||||
<div class="value">{{binaryData.fileExtension}}</div>
|
||||
</div>
|
||||
<div v-if="binaryData.mimeType">
|
||||
<div class="label">{{ $i18n2.baseText('runData.mimeType') }}: </div>
|
||||
<div class="label">{{ $i.baseText('runData.mimeType') }}: </div>
|
||||
<div class="value">{{binaryData.mimeType}}</div>
|
||||
</div>
|
||||
|
||||
<div class="binary-data-show-data-button-wrapper">
|
||||
<n8n-button size="small" :label="$i18n2.baseText('runData.showBinaryData')" class="binary-data-show-data-button" @click="displayBinaryData(index, key)" />
|
||||
<n8n-button size="small" :label="$i.baseText('runData.showBinaryData')" class="binary-data-show-data-button" @click="displayBinaryData(index, key)" />
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
@ -196,9 +196,9 @@
|
|||
</span>
|
||||
<div v-else class="message">
|
||||
<div>
|
||||
<n8n-text :bold="true">{{ $i18n2.baseText('runData.noData') }}</n8n-text ><br />
|
||||
<n8n-text :bold="true">{{ $i.baseText('runData.noData') }}</n8n-text ><br />
|
||||
<br />
|
||||
{{ $i18n2.baseText('runData.dataReturnedByThisNodeWillDisplayHere') }}<br />
|
||||
{{ $i.baseText('runData.dataReturnedByThisNodeWillDisplayHere') }}<br />
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
<template>
|
||||
<span :class="$style.container">
|
||||
<span :class="$style.saved" v-if="saved">{{ $i18n2.baseText('saveButton.saved') }}</span>
|
||||
<span :class="$style.saved" v-if="saved">{{ $i.baseText('saveButton.saved') }}</span>
|
||||
<n8n-button
|
||||
v-else
|
||||
:label="saveButtonLabel"
|
||||
|
@ -39,8 +39,8 @@ export default Vue.extend({
|
|||
computed: {
|
||||
saveButtonLabel() {
|
||||
return this.isSaving
|
||||
? this.$i18n2.baseText('saveButton.saving')
|
||||
: this.$i18n2.baseText('saveButton.save');
|
||||
? this.$i.baseText('saveButton.saving')
|
||||
: this.$i.baseText('saveButton.save');
|
||||
},
|
||||
},
|
||||
});
|
||||
|
|
|
@ -25,13 +25,13 @@
|
|||
>
|
||||
<font-awesome-icon icon="plus-circle" />
|
||||
<span>
|
||||
{{ $i18n2.baseText('tagsDropdown.createTag', { interpolate: { filter } }) }}
|
||||
{{ $i.baseText('tagsDropdown.createTag', { interpolate: { filter } }) }}
|
||||
</span>
|
||||
</n8n-option>
|
||||
<n8n-option v-else-if="options.length === 0" value="message" disabled>
|
||||
<span v-if="createEnabled">{{ $i18n2.baseText('tagsDropdown.typeToCreateATag') }}</span>
|
||||
<span v-else-if="allTags.length > 0">{{ $i18n2.baseText('tagsDropdown.noMatchingTagsExist') }}</span>
|
||||
<span v-else>{{ $i18n2.baseText('tagsDropdown.noTagsExist') }}</span>
|
||||
<span v-if="createEnabled">{{ $i.baseText('tagsDropdown.typeToCreateATag') }}</span>
|
||||
<span v-else-if="allTags.length > 0">{{ $i.baseText('tagsDropdown.noMatchingTagsExist') }}</span>
|
||||
<span v-else>{{ $i.baseText('tagsDropdown.noTagsExist') }}</span>
|
||||
</n8n-option>
|
||||
|
||||
<!-- key is id+index for keyboard navigation to work well with filter -->
|
||||
|
@ -46,7 +46,7 @@
|
|||
|
||||
<n8n-option :key="MANAGE_KEY" :value="MANAGE_KEY" class="ops manage-tags">
|
||||
<font-awesome-icon icon="cog" />
|
||||
<span>{{ $i18n2.baseText('tagsDropdown.manageTags') }}</span>
|
||||
<span>{{ $i.baseText('tagsDropdown.manageTags') }}</span>
|
||||
</n8n-option>
|
||||
</n8n-select>
|
||||
</div>
|
||||
|
@ -141,8 +141,8 @@ export default mixins(showMessage).extend({
|
|||
} catch (error) {
|
||||
this.$showError(
|
||||
error,
|
||||
this.$i18n2.baseText('tagsDropdown.showError.title'),
|
||||
this.$i18n2.baseText(
|
||||
this.$i.baseText('tagsDropdown.showError.title'),
|
||||
this.$i.baseText(
|
||||
'tagsDropdown.showError.message',
|
||||
{ interpolate: { name } },
|
||||
),
|
||||
|
|
|
@ -3,9 +3,9 @@
|
|||
<el-col class="notags" :span="16">
|
||||
<div class="icon">🗄️</div>
|
||||
<div>
|
||||
<div class="headline">{{ $i18n2.baseText('noTagsView.readyToOrganizeYourWorkflows') }}</div>
|
||||
<div class="headline">{{ $i.baseText('noTagsView.readyToOrganizeYourWorkflows') }}</div>
|
||||
<div class="description">
|
||||
{{ $i18n2.baseText('noTagsView.withWorkflowTagsYouReFree') }}
|
||||
{{ $i.baseText('noTagsView.withWorkflowTagsYouReFree') }}
|
||||
</div>
|
||||
</div>
|
||||
<n8n-button label="Create a tag" size="large" @click="$emit('enableCreate')" />
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
<template>
|
||||
<Modal
|
||||
:title="$i18n2.baseText('tagsManager.manageTags')"
|
||||
:title="$i.baseText('tagsManager.manageTags')"
|
||||
:name="TAGS_MANAGER_MODAL_KEY"
|
||||
:eventBus="modalBus"
|
||||
@enter="onEnter"
|
||||
|
@ -25,7 +25,7 @@
|
|||
</el-row>
|
||||
</template>
|
||||
<template v-slot:footer="{ close }">
|
||||
<n8n-button :label="$i18n2.baseText('tagsManager.done')" @click="close" float="right" />
|
||||
<n8n-button :label="$i.baseText('tagsManager.done')" @click="close" float="right" />
|
||||
</template>
|
||||
</Modal>
|
||||
</template>
|
||||
|
@ -87,7 +87,7 @@ export default mixins(showMessage).extend({
|
|||
try {
|
||||
if (!name) {
|
||||
throw new Error(
|
||||
this.$i18n2.baseText('tagsManager.tagNameCannotBeEmpty'),
|
||||
this.$i.baseText('tagsManager.tagNameCannotBeEmpty'),
|
||||
);
|
||||
}
|
||||
|
||||
|
@ -98,8 +98,8 @@ export default mixins(showMessage).extend({
|
|||
const escapedName = escape(name);
|
||||
this.$showError(
|
||||
error,
|
||||
this.$i18n2.baseText('tagsManager.showError.onCreate.title'),
|
||||
this.$i18n2.baseText(
|
||||
this.$i.baseText('tagsManager.showError.onCreate.title'),
|
||||
this.$i.baseText(
|
||||
'tagsManager.showError.onCreate.message',
|
||||
{ interpolate: { escapedName } },
|
||||
) + ':',
|
||||
|
@ -115,7 +115,7 @@ export default mixins(showMessage).extend({
|
|||
try {
|
||||
if (!name) {
|
||||
throw new Error(
|
||||
this.$i18n2.baseText('tagsManager.tagNameCannotBeEmpty'),
|
||||
this.$i.baseText('tagsManager.tagNameCannotBeEmpty'),
|
||||
);
|
||||
}
|
||||
|
||||
|
@ -131,8 +131,8 @@ export default mixins(showMessage).extend({
|
|||
const escapedOldName = escape(oldName);
|
||||
|
||||
this.$showMessage({
|
||||
title: this.$i18n2.baseText('tagsManager.showMessage.onUpdate.title'),
|
||||
message: this.$i18n2.baseText(
|
||||
title: this.$i.baseText('tagsManager.showMessage.onUpdate.title'),
|
||||
message: this.$i.baseText(
|
||||
'tagsManager.showMessage.onUpdate.message',
|
||||
{ interpolate: { escapedName, escapedOldName } },
|
||||
),
|
||||
|
@ -142,8 +142,8 @@ export default mixins(showMessage).extend({
|
|||
const escapedName = escape(oldName);
|
||||
this.$showError(
|
||||
error,
|
||||
this.$i18n2.baseText('tagsManager.showError.onUpdate.title'),
|
||||
this.$i18n2.baseText(
|
||||
this.$i.baseText('tagsManager.showError.onUpdate.title'),
|
||||
this.$i.baseText(
|
||||
'tagsManager.showError.onUpdate.message',
|
||||
{ interpolate: { escapedName } },
|
||||
) + ':',
|
||||
|
@ -160,7 +160,7 @@ export default mixins(showMessage).extend({
|
|||
const deleted = await this.$store.dispatch("tags/delete", id);
|
||||
if (!deleted) {
|
||||
throw new Error(
|
||||
this.$i18n2.baseText('tagsManager.couldNotDeleteTag'),
|
||||
this.$i.baseText('tagsManager.couldNotDeleteTag'),
|
||||
);
|
||||
}
|
||||
|
||||
|
@ -170,8 +170,8 @@ export default mixins(showMessage).extend({
|
|||
|
||||
const escapedName = escape(name);
|
||||
this.$showMessage({
|
||||
title: this.$i18n2.baseText('tagsManager.showMessage.onDelete.title'),
|
||||
message: this.$i18n2.baseText(
|
||||
title: this.$i.baseText('tagsManager.showMessage.onDelete.title'),
|
||||
message: this.$i.baseText(
|
||||
'tagsManager.showMessage.onDelete.message',
|
||||
{ interpolate: { escapedName } },
|
||||
),
|
||||
|
@ -181,8 +181,8 @@ export default mixins(showMessage).extend({
|
|||
const escapedName = escape(name);
|
||||
this.$showError(
|
||||
error,
|
||||
this.$i18n2.baseText('tagsManager.showError.onDelete.title'),
|
||||
this.$i18n2.baseText(
|
||||
this.$i.baseText('tagsManager.showError.onDelete.title'),
|
||||
this.$i.baseText(
|
||||
'tagsManager.showError.onDelete.message',
|
||||
{ interpolate: { escapedName } },
|
||||
) + ':',
|
||||
|
|
|
@ -3,13 +3,13 @@
|
|||
stripe
|
||||
max-height="450"
|
||||
ref="table"
|
||||
:empty-text="$i18n2.baseText('tagsTable.noMatchingTagsExist')"
|
||||
:empty-text="$i.baseText('tagsTable.noMatchingTagsExist')"
|
||||
:data="rows"
|
||||
:span-method="getSpan"
|
||||
:row-class-name="getRowClasses"
|
||||
v-loading="isLoading"
|
||||
>
|
||||
<el-table-column :label="$i18n2.baseText('tagsTable.name')">
|
||||
<el-table-column :label="$i.baseText('tagsTable.name')">
|
||||
<template slot-scope="scope">
|
||||
<div class="name" :key="scope.row.id" @keydown.stop>
|
||||
<transition name="fade" mode="out-in">
|
||||
|
@ -21,7 +21,7 @@
|
|||
ref="nameInput"
|
||||
></n8n-input>
|
||||
<span v-else-if="scope.row.delete">
|
||||
<span>{{ $i18n2.baseText('tagsTable.areYouSureYouWantToDeleteThisTag') }}</span>
|
||||
<span>{{ $i.baseText('tagsTable.areYouSureYouWantToDeleteThisTag') }}</span>
|
||||
<input ref="deleteHiddenInput" class="hidden" />
|
||||
</span>
|
||||
<span v-else :class="{ disabled: scope.row.disable }">
|
||||
|
@ -31,7 +31,7 @@
|
|||
</div>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column :label="$i18n2.baseText('tagsTable.usage')" width="150">
|
||||
<el-table-column :label="$i.baseText('tagsTable.usage')" width="150">
|
||||
<template slot-scope="scope">
|
||||
<transition name="fade" mode="out-in">
|
||||
<div v-if="!scope.row.create && !scope.row.delete" :class="{ disabled: scope.row.disable }">
|
||||
|
@ -44,20 +44,20 @@
|
|||
<template slot-scope="scope">
|
||||
<transition name="fade" mode="out-in">
|
||||
<div class="ops" v-if="scope.row.create">
|
||||
<n8n-button :label="$i18n2.baseText('tagsTable.cancel')" @click.stop="cancel" type="outline" :disabled="isSaving" />
|
||||
<n8n-button :label="$i18n2.baseText('tagsTable.createTag')" @click.stop="apply" :loading="isSaving" />
|
||||
<n8n-button :label="$i.baseText('tagsTable.cancel')" @click.stop="cancel" type="outline" :disabled="isSaving" />
|
||||
<n8n-button :label="$i.baseText('tagsTable.createTag')" @click.stop="apply" :loading="isSaving" />
|
||||
</div>
|
||||
<div class="ops" v-else-if="scope.row.update">
|
||||
<n8n-button :label="$i18n2.baseText('tagsTable.cancel')" @click.stop="cancel" type="outline" :disabled="isSaving" />
|
||||
<n8n-button :label="$i18n2.baseText('tagsTable.saveChanges')" @click.stop="apply" :loading="isSaving" />
|
||||
<n8n-button :label="$i.baseText('tagsTable.cancel')" @click.stop="cancel" type="outline" :disabled="isSaving" />
|
||||
<n8n-button :label="$i.baseText('tagsTable.saveChanges')" @click.stop="apply" :loading="isSaving" />
|
||||
</div>
|
||||
<div class="ops" v-else-if="scope.row.delete">
|
||||
<n8n-button :label="$i18n2.baseText('tagsTable.cancel')" @click.stop="cancel" type="outline" :disabled="isSaving" />
|
||||
<n8n-button :label="$i18n2.baseText('tagsTable.deleteTag')" @click.stop="apply" :loading="isSaving" />
|
||||
<n8n-button :label="$i.baseText('tagsTable.cancel')" @click.stop="cancel" type="outline" :disabled="isSaving" />
|
||||
<n8n-button :label="$i.baseText('tagsTable.deleteTag')" @click.stop="apply" :loading="isSaving" />
|
||||
</div>
|
||||
<div class="ops main" v-else-if="!scope.row.disable">
|
||||
<n8n-icon-button :title="$i18n2.baseText('tagsTable.editTag')" @click.stop="enableUpdate(scope.row)" icon="pen" />
|
||||
<n8n-icon-button :title="$i18n2.baseText('tagsTable.deleteTag')" @click.stop="enableDelete(scope.row)" icon="trash" />
|
||||
<n8n-icon-button :title="$i.baseText('tagsTable.editTag')" @click.stop="enableUpdate(scope.row)" icon="pen" />
|
||||
<n8n-icon-button :title="$i.baseText('tagsTable.deleteTag')" @click.stop="enableDelete(scope.row)" icon="trash" />
|
||||
</div>
|
||||
</transition>
|
||||
</template>
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
<el-row class="tags-header">
|
||||
<el-col :span="10">
|
||||
<n8n-input
|
||||
:placeholder="$i18n2.baseText('tagsTableHeader.searchTags')"
|
||||
:placeholder="$i.baseText('tagsTableHeader.searchTags')"
|
||||
:value="search"
|
||||
@input="onSearchChange"
|
||||
:disabled="disabled"
|
||||
|
@ -13,7 +13,7 @@
|
|||
</n8n-input>
|
||||
</el-col>
|
||||
<el-col :span="14">
|
||||
<n8n-button @click="onAddNew" :disabled="disabled" icon="plus" :label="$i18n2.baseText('tagsTableHeader.addNew')" size="large" float="right" />
|
||||
<n8n-button @click="onAddNew" :disabled="disabled" icon="plus" :label="$i.baseText('tagsTableHeader.addNew')" size="large" float="right" />
|
||||
</el-col>
|
||||
</el-row>
|
||||
</template>
|
||||
|
|
|
@ -56,7 +56,7 @@ export default Vue.extend({
|
|||
},
|
||||
rows(): ITagRow[] {
|
||||
const getUsage = (count: number | undefined) => count && count > 0
|
||||
? this.$i18n2.baseText(
|
||||
? this.$i.baseText(
|
||||
count > 1 ?
|
||||
'tagsView.inUse.plural' : 'tagsView.inUse.singular',
|
||||
{
|
||||
|
@ -65,7 +65,7 @@ export default Vue.extend({
|
|||
},
|
||||
},
|
||||
)
|
||||
: this.$i18n2.baseText('tagsView.notBeingUsed');
|
||||
: this.$i.baseText('tagsView.notBeingUsed');
|
||||
|
||||
const disabled = this.isCreateEnabled || this.$data.updateId || this.$data.deleteId;
|
||||
const tagRows = (this.$props.tags || [])
|
||||
|
|
|
@ -1,11 +1,11 @@
|
|||
<template>
|
||||
<div v-if="dialogVisible">
|
||||
<el-dialog :visible="dialogVisible" append-to-body width="80%" :title="`${$i18n2.baseText('textEdit.edit')} ${$i18n2.nodeText().topParameterDisplayName(parameter)}`" :before-close="closeDialog">
|
||||
<el-dialog :visible="dialogVisible" append-to-body width="80%" :title="`${$i.baseText('textEdit.edit')} ${$i.nodeText().topParameterDisplayName(parameter)}`" :before-close="closeDialog">
|
||||
|
||||
<div class="ignore-key-press">
|
||||
<n8n-input-label :label="$i18n2.nodeText().topParameterDisplayName(parameter)">
|
||||
<n8n-input-label :label="$i.nodeText().topParameterDisplayName(parameter)">
|
||||
<div @keydown.stop @keydown.esc="closeDialog()">
|
||||
<n8n-input v-model="tempValue" type="textarea" ref="inputField" :value="value" :placeholder="$i18n2.nodeText().placeholder(parameter)" @change="valueChanged" @keydown.stop="noOp" :rows="15" />
|
||||
<n8n-input v-model="tempValue" type="textarea" ref="inputField" :value="value" :placeholder="$i.nodeText().placeholder(parameter)" @change="valueChanged" @keydown.stop="noOp" :rows="15" />
|
||||
</div>
|
||||
</n8n-input-label>
|
||||
</div>
|
||||
|
|
|
@ -30,20 +30,20 @@ export default Vue.extend({
|
|||
// index: the index of array below;
|
||||
// totalSec: total seconds between date to be formatted and today's date;
|
||||
return [
|
||||
[this.$i18n2.baseText('timeAgo.justNow'), this.$i18n2.baseText('timeAgo.rightNow')],
|
||||
[this.$i18n2.baseText('timeAgo.justNow'), this.$i18n2.baseText('timeAgo.rightNow')], // ['%s seconds ago', 'in %s seconds'],
|
||||
[this.$i18n2.baseText('timeAgo.oneMinuteAgo'), this.$i18n2.baseText('timeAgo.inOneMinute')],
|
||||
[this.$i18n2.baseText('timeAgo.minutesAgo'), this.$i18n2.baseText('timeAgo.inMinutes')],
|
||||
[this.$i18n2.baseText('timeAgo.oneHourAgo'), this.$i18n2.baseText('timeAgo.inOneHour')],
|
||||
[this.$i18n2.baseText('timeAgo.hoursAgo'), this.$i18n2.baseText('timeAgo.inHours')],
|
||||
[this.$i18n2.baseText('timeAgo.oneDayAgo'), this.$i18n2.baseText('timeAgo.inOneDay')],
|
||||
[this.$i18n2.baseText('timeAgo.daysAgo'), this.$i18n2.baseText('timeAgo.inDays')],
|
||||
[this.$i18n2.baseText('timeAgo.oneWeekAgo'), this.$i18n2.baseText('timeAgo.inOneWeek')],
|
||||
[this.$i18n2.baseText('timeAgo.weeksAgo'), this.$i18n2.baseText('timeAgo.inWeeks')],
|
||||
[this.$i18n2.baseText('timeAgo.oneMonthAgo'), this.$i18n2.baseText('timeAgo.inOneMonth')],
|
||||
[this.$i18n2.baseText('timeAgo.monthsAgo'), this.$i18n2.baseText('timeAgo.inMonths')],
|
||||
[this.$i18n2.baseText('timeAgo.oneYearAgo'), this.$i18n2.baseText('timeAgo.inOneYear')],
|
||||
[this.$i18n2.baseText('timeAgo.yearsAgo'), this.$i18n2.baseText('timeAgo.inYears')],
|
||||
[this.$i.baseText('timeAgo.justNow'), this.$i.baseText('timeAgo.rightNow')],
|
||||
[this.$i.baseText('timeAgo.justNow'), this.$i.baseText('timeAgo.rightNow')], // ['%s seconds ago', 'in %s seconds'],
|
||||
[this.$i.baseText('timeAgo.oneMinuteAgo'), this.$i.baseText('timeAgo.inOneMinute')],
|
||||
[this.$i.baseText('timeAgo.minutesAgo'), this.$i.baseText('timeAgo.inMinutes')],
|
||||
[this.$i.baseText('timeAgo.oneHourAgo'), this.$i.baseText('timeAgo.inOneHour')],
|
||||
[this.$i.baseText('timeAgo.hoursAgo'), this.$i.baseText('timeAgo.inHours')],
|
||||
[this.$i.baseText('timeAgo.oneDayAgo'), this.$i.baseText('timeAgo.inOneDay')],
|
||||
[this.$i.baseText('timeAgo.daysAgo'), this.$i.baseText('timeAgo.inDays')],
|
||||
[this.$i.baseText('timeAgo.oneWeekAgo'), this.$i.baseText('timeAgo.inOneWeek')],
|
||||
[this.$i.baseText('timeAgo.weeksAgo'), this.$i.baseText('timeAgo.inWeeks')],
|
||||
[this.$i.baseText('timeAgo.oneMonthAgo'), this.$i.baseText('timeAgo.inOneMonth')],
|
||||
[this.$i.baseText('timeAgo.monthsAgo'), this.$i.baseText('timeAgo.inMonths')],
|
||||
[this.$i.baseText('timeAgo.oneYearAgo'), this.$i.baseText('timeAgo.inOneYear')],
|
||||
[this.$i.baseText('timeAgo.yearsAgo'), this.$i.baseText('timeAgo.inYears')],
|
||||
][index] as [string, string];
|
||||
},
|
||||
},
|
||||
|
|
|
@ -6,17 +6,17 @@
|
|||
>
|
||||
<template slot="header">
|
||||
<span :class="$style.title">
|
||||
{{ $i18n2.baseText('updatesPanel.weVeBeenBusy') }}
|
||||
{{ $i.baseText('updatesPanel.weVeBeenBusy') }}
|
||||
</span>
|
||||
</template>
|
||||
<template slot="content">
|
||||
<section :class="$style['description']">
|
||||
<p v-if="currentVersion">
|
||||
{{ $i18n2.baseText(
|
||||
{{ $i.baseText(
|
||||
'updatesPanel.youReOnVersion',
|
||||
{ interpolate: { currentVersionName: currentVersion.name } }
|
||||
) }}
|
||||
<strong><TimeAgo :date="currentVersion.createdAt" /></strong>{{ $i18n2.baseText('updatesPanel.andIs') }} <strong>{{ $i18n2.baseText(
|
||||
<strong><TimeAgo :date="currentVersion.createdAt" /></strong>{{ $i.baseText('updatesPanel.andIs') }} <strong>{{ $i.baseText(
|
||||
'updatesPanel.version',
|
||||
{
|
||||
interpolate: {
|
||||
|
@ -24,7 +24,7 @@
|
|||
howManySuffix: nextVersions.length > 1 ? "s" : "",
|
||||
}
|
||||
}
|
||||
)}}</strong> {{ $i18n2.baseText('updatesPanel.behindTheLatest') }}
|
||||
)}}</strong> {{ $i.baseText('updatesPanel.behindTheLatest') }}
|
||||
</p>
|
||||
|
||||
<a
|
||||
|
@ -35,7 +35,7 @@
|
|||
>
|
||||
<font-awesome-icon icon="info-circle"></font-awesome-icon>
|
||||
<span>
|
||||
{{ $i18n2.baseText('updatesPanel.howToUpdateYourN8nVersion') }}
|
||||
{{ $i.baseText('updatesPanel.howToUpdateYourN8nVersion') }}
|
||||
</span>
|
||||
</a>
|
||||
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
<template>
|
||||
<div @keydown.stop class="variable-selector-wrapper">
|
||||
<div class="input-wrapper">
|
||||
<n8n-input :placeholder="$i18n2.baseText('variableSelector.variableFilter')" v-model="variableFilter" ref="inputField" size="small" type="text"></n8n-input>
|
||||
<n8n-input :placeholder="$i.baseText('variableSelector.variableFilter')" v-model="variableFilter" ref="inputField" size="small" type="text"></n8n-input>
|
||||
</div>
|
||||
|
||||
<div class="result-wrapper">
|
||||
|
@ -525,14 +525,14 @@ export default mixins(
|
|||
|
||||
currentNodeData.push(
|
||||
{
|
||||
name: this.$i18n2.baseText('variableSelector.parameters'),
|
||||
name: this.$i.baseText('variableSelector.parameters'),
|
||||
options: this.sortOptions(this.getNodeParameters(activeNode.name, initialPath, skipParameter, filterText) as IVariableSelectorOption[]),
|
||||
},
|
||||
);
|
||||
|
||||
returnData.push(
|
||||
{
|
||||
name: this.$i18n2.baseText('variableSelector.currentNode'),
|
||||
name: this.$i.baseText('variableSelector.currentNode'),
|
||||
options: this.sortOptions(currentNodeData),
|
||||
},
|
||||
);
|
||||
|
@ -557,7 +557,7 @@ export default mixins(
|
|||
|
||||
nodeOptions = [
|
||||
{
|
||||
name: this.$i18n2.baseText('variableSelector.parameters'),
|
||||
name: this.$i.baseText('variableSelector.parameters'),
|
||||
options: this.sortOptions(this.getNodeParameters(nodeName, `$node["${nodeName}"].parameter`, undefined, filterText)),
|
||||
} as IVariableSelectorOption,
|
||||
];
|
||||
|
@ -570,7 +570,7 @@ export default mixins(
|
|||
if (tempOptions.length) {
|
||||
nodeOptions = [
|
||||
{
|
||||
name: this.$i18n2.baseText('variableSelector.context'),
|
||||
name: this.$i.baseText('variableSelector.context'),
|
||||
options: this.sortOptions(tempOptions),
|
||||
} as IVariableSelectorOption,
|
||||
];
|
||||
|
@ -583,18 +583,18 @@ export default mixins(
|
|||
if (tempOutputData) {
|
||||
nodeOptions.push(
|
||||
{
|
||||
name: this.$i18n2.baseText('variableSelector.outputData'),
|
||||
name: this.$i.baseText('variableSelector.outputData'),
|
||||
options: this.sortOptions(tempOutputData),
|
||||
} as IVariableSelectorOption,
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
const shortNodeType = this.$i18n2.shortNodeType(node.type);
|
||||
const shortNodeType = this.$i.shortNodeType(node.type);
|
||||
|
||||
allNodesData.push(
|
||||
{
|
||||
name: this.$i18n2.headerText({
|
||||
name: this.$i.headerText({
|
||||
key: `headers.${shortNodeType}.displayName`,
|
||||
fallback: nodeName,
|
||||
}),
|
||||
|
@ -605,7 +605,7 @@ export default mixins(
|
|||
|
||||
returnData.push(
|
||||
{
|
||||
name: this.$i18n2.baseText('variableSelector.nodes'),
|
||||
name: this.$i.baseText('variableSelector.nodes'),
|
||||
options: this.sortOptions(allNodesData),
|
||||
},
|
||||
);
|
||||
|
|
|
@ -11,7 +11,7 @@
|
|||
|
||||
<el-dropdown trigger="click" @click.stop @command="optionSelected($event, item)" v-if="allowParentSelect === true">
|
||||
<span class="el-dropdown-link clickable" @click.stop>
|
||||
<font-awesome-icon icon="dot-circle" :title="$i18n2.baseText('variableSelectorItem.selectItem')" />
|
||||
<font-awesome-icon icon="dot-circle" :title="$i.baseText('variableSelectorItem.selectItem')" />
|
||||
</span>
|
||||
<el-dropdown-menu slot="dropdown">
|
||||
<el-dropdown-item :command="operation.command" v-for="operation in itemAddOperations" :key="operation.command">{{operation.displayName}}</el-dropdown-item>
|
||||
|
@ -29,7 +29,7 @@
|
|||
{{item.name}}:
|
||||
<font-awesome-icon icon="dot-circle" title="Select Item" />
|
||||
</div>
|
||||
<div class="item-value">{{ item.value !== undefined?item.value: $i18n2.baseText('variableSelectorItem.empty') }}</div>
|
||||
<div class="item-value">{{ item.value !== undefined?item.value: $i.baseText('variableSelectorItem.empty') }}</div>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
|
|
@ -4,26 +4,26 @@
|
|||
<div :class="$style.header">
|
||||
<div>
|
||||
<div :class="$style.name">
|
||||
{{ `${$i18n2.baseText('versionCard.version')} ${version.name}` }}
|
||||
{{ `${$i.baseText('versionCard.version')} ${version.name}` }}
|
||||
</div>
|
||||
<WarningTooltip v-if="version.hasSecurityIssue">
|
||||
<template>
|
||||
{{ $i18n2.baseText('versionCard.thisVersionHasASecurityIssue') }}
|
||||
{{ $i.baseText('versionCard.thisVersionHasASecurityIssue') }}
|
||||
</template>
|
||||
</WarningTooltip>
|
||||
<Badge
|
||||
v-if="version.hasSecurityFix"
|
||||
:text="$i18n2.baseText('versionCard.securityUpdate')"
|
||||
:text="$i.baseText('versionCard.securityUpdate')"
|
||||
type="danger"
|
||||
/>
|
||||
<Badge
|
||||
v-if="version.hasBreakingChange"
|
||||
:text="$i18n2.baseText('versionCard.breakingChanges')"
|
||||
:text="$i.baseText('versionCard.breakingChanges')"
|
||||
type="warning"
|
||||
/>
|
||||
</div>
|
||||
<div :class="$style['release-date']">
|
||||
{{ $i18n2.baseText('versionCard.released') }} <TimeAgo :date="version.createdAt" />
|
||||
{{ $i.baseText('versionCard.released') }} <TimeAgo :date="version.createdAt" />
|
||||
</div>
|
||||
</div>
|
||||
<div :class="$style.divider" v-if="version.description || (version.nodes && version.nodes.length)"></div>
|
||||
|
@ -60,7 +60,7 @@ export default Vue.extend({
|
|||
props: ['version'],
|
||||
// @ts-ignore
|
||||
nodeName (node: IVersionNode): string {
|
||||
return node !== null ? node.displayName : this.$i18n2.baseText('versionCard.unknown');
|
||||
return node !== null ? node.displayName : this.$i.baseText('versionCard.unknown');
|
||||
},
|
||||
});
|
||||
</script>
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
element-loading-spinner="el-icon-loading"
|
||||
:value="workflowActive"
|
||||
@change="activeChanged"
|
||||
:title="workflowActive ? $i18n2.baseText('workflowActivator.deactivateWorkflow') : $i18n2.baseText('workflowActivator.activateWorkflow')"
|
||||
:title="workflowActive ? $i.baseText('workflowActivator.deactivateWorkflow') : $i.baseText('workflowActivator.activateWorkflow')"
|
||||
:disabled="disabled || loading"
|
||||
:active-color="getActiveColor"
|
||||
inactive-color="#8899AA">
|
||||
|
@ -13,7 +13,7 @@
|
|||
|
||||
<div class="could-not-be-started" v-if="couldNotBeStarted">
|
||||
<n8n-tooltip placement="top">
|
||||
<div @click="displayActivationError" slot="content">{{ $i18n2.baseText('workflowActivator.theWorkflowIsSetToBeActiveBut') }}</div>
|
||||
<div @click="displayActivationError" slot="content">{{ $i.baseText('workflowActivator.theWorkflowIsSetToBeActiveBut') }}</div>
|
||||
<font-awesome-icon @click="displayActivationError" icon="exclamation-triangle" />
|
||||
</n8n-tooltip>
|
||||
</div>
|
||||
|
@ -79,8 +79,8 @@ export default mixins(
|
|||
async activeChanged (newActiveState: boolean) {
|
||||
if (this.workflowId === undefined) {
|
||||
this.$showMessage({
|
||||
title: this.$i18n2.baseText('workflowActivator.showMessage.activeChangedWorkflowIdUndefined.title'),
|
||||
message: this.$i18n2.baseText('workflowActivator.showMessage.activeChangedWorkflowIdUndefined.message'),
|
||||
title: this.$i.baseText('workflowActivator.showMessage.activeChangedWorkflowIdUndefined.title'),
|
||||
message: this.$i.baseText('workflowActivator.showMessage.activeChangedWorkflowIdUndefined.message'),
|
||||
type: 'error',
|
||||
});
|
||||
return;
|
||||
|
@ -88,8 +88,8 @@ export default mixins(
|
|||
|
||||
if (this.nodesIssuesExist === true) {
|
||||
this.$showMessage({
|
||||
title: this.$i18n2.baseText('workflowActivator.showMessage.activeChangedNodesIssuesExistTrue.title'),
|
||||
message: this.$i18n2.baseText('workflowActivator.showMessage.activeChangedNodesIssuesExistTrue.message'),
|
||||
title: this.$i.baseText('workflowActivator.showMessage.activeChangedNodesIssuesExistTrue.title'),
|
||||
message: this.$i.baseText('workflowActivator.showMessage.activeChangedNodesIssuesExistTrue.message'),
|
||||
type: 'error',
|
||||
});
|
||||
return;
|
||||
|
@ -106,11 +106,11 @@ export default mixins(
|
|||
// than the one they can currently see.
|
||||
if (this.dirtyState) {
|
||||
const importConfirm = await this.confirmMessage(
|
||||
this.$i18n2.baseText('workflowActivator.confirmMessage.message'),
|
||||
this.$i18n2.baseText('workflowActivator.confirmMessage.headline'),
|
||||
this.$i.baseText('workflowActivator.confirmMessage.message'),
|
||||
this.$i.baseText('workflowActivator.confirmMessage.headline'),
|
||||
'warning',
|
||||
this.$i18n2.baseText('workflowActivator.confirmMessage.confirmButtonText'),
|
||||
this.$i18n2.baseText('workflowActivator.confirmMessage.cancelButtonText'),
|
||||
this.$i.baseText('workflowActivator.confirmMessage.confirmButtonText'),
|
||||
this.$i.baseText('workflowActivator.confirmMessage.cancelButtonText'),
|
||||
);
|
||||
if (importConfirm === false) {
|
||||
return;
|
||||
|
@ -131,8 +131,8 @@ export default mixins(
|
|||
const newStateName = newActiveState === true ? 'activated' : 'deactivated';
|
||||
this.$showError(
|
||||
error,
|
||||
this.$i18n2.baseText('workflowActivator.showError.title'),
|
||||
this.$i18n2.baseText(
|
||||
this.$i.baseText('workflowActivator.showError.title'),
|
||||
this.$i.baseText(
|
||||
'workflowActivator.showError.message',
|
||||
{ interpolate: { newStateName } },
|
||||
) + ':',
|
||||
|
@ -168,19 +168,19 @@ export default mixins(
|
|||
const errorData = await this.restApi().getActivationError(this.workflowId);
|
||||
|
||||
if (errorData === undefined) {
|
||||
errorMessage = this.$i18n2.baseText('workflowActivator.showMessage.displayActivationError.message.errorDataUndefined');
|
||||
errorMessage = this.$i.baseText('workflowActivator.showMessage.displayActivationError.message.errorDataUndefined');
|
||||
} else {
|
||||
errorMessage = this.$i18n2.baseText(
|
||||
errorMessage = this.$i.baseText(
|
||||
'workflowActivator.showMessage.displayActivationError.message.errorDataNotUndefined',
|
||||
{ interpolate: { message: errorData.error.message } },
|
||||
);
|
||||
}
|
||||
} catch (error) {
|
||||
errorMessage = this.$i18n2.baseText('workflowActivator.showMessage.displayActivationError.message.catchBlock');
|
||||
errorMessage = this.$i.baseText('workflowActivator.showMessage.displayActivationError.message.catchBlock');
|
||||
}
|
||||
|
||||
this.$showMessage({
|
||||
title: this.$i18n2.baseText('workflowActivator.showMessage.displayActivationError.title'),
|
||||
title: this.$i.baseText('workflowActivator.showMessage.displayActivationError.title'),
|
||||
message: errorMessage,
|
||||
type: 'warning',
|
||||
duration: 0,
|
||||
|
|
|
@ -8,11 +8,11 @@
|
|||
<template v-slot:header>
|
||||
<div class="workflows-header">
|
||||
<n8n-heading tag="h1" size="xlarge" class="title">
|
||||
{{ $i18n2.baseText('workflowOpen.openWorkflow') }}
|
||||
{{ $i.baseText('workflowOpen.openWorkflow') }}
|
||||
</n8n-heading>
|
||||
<div class="tags-filter">
|
||||
<TagsDropdown
|
||||
:placeholder="$i18n2.baseText('workflowOpen.openWorkflow')"
|
||||
:placeholder="$i.baseText('workflowOpen.openWorkflow')"
|
||||
:currentTagIds="filterTagIds"
|
||||
:createEnabled="false"
|
||||
@update="updateTagsFilter"
|
||||
|
@ -21,7 +21,7 @@
|
|||
/>
|
||||
</div>
|
||||
<div class="search-filter">
|
||||
<n8n-input :placeholder="$i18n2.baseText('workflowOpen.searchWorkflows')" ref="inputFieldFilter" v-model="filterText">
|
||||
<n8n-input :placeholder="$i.baseText('workflowOpen.searchWorkflows')" ref="inputFieldFilter" v-model="filterText">
|
||||
<font-awesome-icon slot="prefix" icon="search"></font-awesome-icon>
|
||||
</n8n-input>
|
||||
</div>
|
||||
|
@ -30,7 +30,7 @@
|
|||
|
||||
<template v-slot:content>
|
||||
<el-table class="search-table" :data="filteredWorkflows" stripe @cell-click="openWorkflow" :default-sort = "{prop: 'updatedAt', order: 'descending'}" v-loading="isDataLoading">
|
||||
<el-table-column property="name" :label="$i18n2.baseText('workflowOpen.name')" class-name="clickable" sortable>
|
||||
<el-table-column property="name" :label="$i.baseText('workflowOpen.name')" class-name="clickable" sortable>
|
||||
<template slot-scope="scope">
|
||||
<div :key="scope.row.id">
|
||||
<span class="name">{{scope.row.name}}</span>
|
||||
|
@ -38,9 +38,9 @@
|
|||
</div>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column property="createdAt" :label="$i18n2.baseText('workflowOpen.created')" class-name="clickable" width="155" sortable></el-table-column>
|
||||
<el-table-column property="updatedAt" :label="$i18n2.baseText('workflowOpen.updated')" class-name="clickable" width="155" sortable></el-table-column>
|
||||
<el-table-column :label="$i18n2.baseText('workflowOpen.active')" width="75">
|
||||
<el-table-column property="createdAt" :label="$i.baseText('workflowOpen.created')" class-name="clickable" width="155" sortable></el-table-column>
|
||||
<el-table-column property="updatedAt" :label="$i.baseText('workflowOpen.updated')" class-name="clickable" width="155" sortable></el-table-column>
|
||||
<el-table-column :label="$i.baseText('workflowOpen.active')" width="75">
|
||||
<template slot-scope="scope">
|
||||
<workflow-activator :workflow-active="scope.row.active" :workflow-id="scope.row.id" @workflowActiveChanged="workflowActiveChanged" />
|
||||
</template>
|
||||
|
@ -148,8 +148,8 @@ export default mixins(
|
|||
|
||||
if (data.id === currentWorkflowId) {
|
||||
this.$showMessage({
|
||||
title: this.$i18n2.baseText('workflowOpen.showMessage.title'),
|
||||
message: this.$i18n2.baseText('workflowOpen.showMessage.message'),
|
||||
title: this.$i.baseText('workflowOpen.showMessage.title'),
|
||||
message: this.$i.baseText('workflowOpen.showMessage.message'),
|
||||
type: 'error',
|
||||
duration: 1500,
|
||||
});
|
||||
|
@ -160,11 +160,11 @@ export default mixins(
|
|||
const result = this.$store.getters.getStateIsDirty;
|
||||
if(result) {
|
||||
const importConfirm = await this.confirmMessage(
|
||||
this.$i18n2.baseText('workflowOpen.confirmMessage.message'),
|
||||
this.$i18n2.baseText('workflowOpen.confirmMessage.headline'),
|
||||
this.$i.baseText('workflowOpen.confirmMessage.message'),
|
||||
this.$i.baseText('workflowOpen.confirmMessage.headline'),
|
||||
'warning',
|
||||
this.$i18n2.baseText('workflowOpen.confirmMessage.confirmButtonText'),
|
||||
this.$i18n2.baseText('workflowOpen.confirmMessage.cancelButtonText'),
|
||||
this.$i.baseText('workflowOpen.confirmMessage.confirmButtonText'),
|
||||
this.$i.baseText('workflowOpen.confirmMessage.cancelButtonText'),
|
||||
);
|
||||
if (importConfirm === false) {
|
||||
return;
|
||||
|
@ -204,8 +204,8 @@ export default mixins(
|
|||
(error: Error) => {
|
||||
this.$showError(
|
||||
error,
|
||||
this.$i18n2.baseText('workflowOpen.showError.title'),
|
||||
this.$i18n2.baseText('workflowOpen.showError.message') + ':',
|
||||
this.$i.baseText('workflowOpen.showError.title'),
|
||||
this.$i.baseText('workflowOpen.showError.message') + ':',
|
||||
);
|
||||
this.isDataLoading = false;
|
||||
},
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
:name="WORKFLOW_SETTINGS_MODAL_KEY"
|
||||
width="65%"
|
||||
maxHeight="80%"
|
||||
:title="$i18n2.baseText('workflowSettings.settingsFor', { interpolate: { workflowName, workflowId } })"
|
||||
:title="$i.baseText('workflowSettings.settingsFor', { interpolate: { workflowName, workflowId } })"
|
||||
:eventBus="modalBus"
|
||||
:scrollable="true"
|
||||
>
|
||||
|
@ -11,7 +11,7 @@
|
|||
<div v-loading="isLoading" class="workflow-settings">
|
||||
<el-row>
|
||||
<el-col :span="10" class="setting-name">
|
||||
{{ $i18n2.baseText('workflowSettings.errorWorkflow') + ":" }}
|
||||
{{ $i.baseText('workflowSettings.errorWorkflow') + ":" }}
|
||||
<n8n-tooltip class="setting-info" placement="top" >
|
||||
<div slot="content" v-html="helpTexts.errorWorkflow"></div>
|
||||
<font-awesome-icon icon="question-circle" />
|
||||
|
@ -30,7 +30,7 @@
|
|||
</el-row>
|
||||
<el-row>
|
||||
<el-col :span="10" class="setting-name">
|
||||
{{ $i18n2.baseText('workflowSettings.timezone') + ":" }}
|
||||
{{ $i.baseText('workflowSettings.timezone') + ":" }}
|
||||
<n8n-tooltip class="setting-info" placement="top" >
|
||||
<div slot="content" v-html="helpTexts.timezone"></div>
|
||||
<font-awesome-icon icon="question-circle" />
|
||||
|
@ -49,14 +49,14 @@
|
|||
</el-row>
|
||||
<el-row>
|
||||
<el-col :span="10" class="setting-name">
|
||||
{{ $i18n2.baseText('workflowSettings.saveDataErrorExecution') + ":" }}
|
||||
{{ $i.baseText('workflowSettings.saveDataErrorExecution') + ":" }}
|
||||
<n8n-tooltip class="setting-info" placement="top" >
|
||||
<div slot="content" v-html="helpTexts.saveDataErrorExecution"></div>
|
||||
<font-awesome-icon icon="question-circle" />
|
||||
</n8n-tooltip>
|
||||
</el-col>
|
||||
<el-col :span="14" class="ignore-key-press">
|
||||
<n8n-select v-model="workflowSettings.saveDataErrorExecution" :placeholder="$i18n2.baseText('workflowSettings.selectOption')" size="medium" filterable :limit-popper-width="true">
|
||||
<n8n-select v-model="workflowSettings.saveDataErrorExecution" :placeholder="$i.baseText('workflowSettings.selectOption')" size="medium" filterable :limit-popper-width="true">
|
||||
<n8n-option
|
||||
v-for="option of saveDataErrorExecutionOptions"
|
||||
:key="option.key"
|
||||
|
@ -68,14 +68,14 @@
|
|||
</el-row>
|
||||
<el-row>
|
||||
<el-col :span="10" class="setting-name">
|
||||
{{ $i18n2.baseText('workflowSettings.saveDataSuccessExecution') + ":" }}
|
||||
{{ $i.baseText('workflowSettings.saveDataSuccessExecution') + ":" }}
|
||||
<n8n-tooltip class="setting-info" placement="top" >
|
||||
<div slot="content" v-html="helpTexts.saveDataSuccessExecution"></div>
|
||||
<font-awesome-icon icon="question-circle" />
|
||||
</n8n-tooltip>
|
||||
</el-col>
|
||||
<el-col :span="14" class="ignore-key-press">
|
||||
<n8n-select v-model="workflowSettings.saveDataSuccessExecution" :placeholder="$i18n2.baseText('workflowSettings.selectOption')" size="medium" filterable :limit-popper-width="true">
|
||||
<n8n-select v-model="workflowSettings.saveDataSuccessExecution" :placeholder="$i.baseText('workflowSettings.selectOption')" size="medium" filterable :limit-popper-width="true">
|
||||
<n8n-option
|
||||
v-for="option of saveDataSuccessExecutionOptions"
|
||||
:key="option.key"
|
||||
|
@ -87,14 +87,14 @@
|
|||
</el-row>
|
||||
<el-row>
|
||||
<el-col :span="10" class="setting-name">
|
||||
{{ $i18n2.baseText('workflowSettings.saveManualExecutions') + ":" }}
|
||||
{{ $i.baseText('workflowSettings.saveManualExecutions') + ":" }}
|
||||
<n8n-tooltip class="setting-info" placement="top" >
|
||||
<div slot="content" v-html="helpTexts.saveManualExecutions"></div>
|
||||
<font-awesome-icon icon="question-circle" />
|
||||
</n8n-tooltip>
|
||||
</el-col>
|
||||
<el-col :span="14" class="ignore-key-press">
|
||||
<n8n-select v-model="workflowSettings.saveManualExecutions" :placeholder="$i18n2.baseText('workflowSettings.selectOption')" size="medium" filterable :limit-popper-width="true">
|
||||
<n8n-select v-model="workflowSettings.saveManualExecutions" :placeholder="$i.baseText('workflowSettings.selectOption')" size="medium" filterable :limit-popper-width="true">
|
||||
<n8n-option
|
||||
v-for="option of saveManualOptions"
|
||||
:key="option.key"
|
||||
|
@ -106,14 +106,14 @@
|
|||
</el-row>
|
||||
<el-row>
|
||||
<el-col :span="10" class="setting-name">
|
||||
{{ $i18n2.baseText('workflowSettings.saveExecutionProgress') + ":" }}
|
||||
{{ $i.baseText('workflowSettings.saveExecutionProgress') + ":" }}
|
||||
<n8n-tooltip class="setting-info" placement="top" >
|
||||
<div slot="content" v-html="helpTexts.saveExecutionProgress"></div>
|
||||
<font-awesome-icon icon="question-circle" />
|
||||
</n8n-tooltip>
|
||||
</el-col>
|
||||
<el-col :span="14" class="ignore-key-press">
|
||||
<n8n-select v-model="workflowSettings.saveExecutionProgress" :placeholder="$i18n2.baseText('workflowSettings.selectOption')" size="medium" filterable :limit-popper-width="true">
|
||||
<n8n-select v-model="workflowSettings.saveExecutionProgress" :placeholder="$i.baseText('workflowSettings.selectOption')" size="medium" filterable :limit-popper-width="true">
|
||||
<n8n-option
|
||||
v-for="option of saveExecutionProgressOptions"
|
||||
:key="option.key"
|
||||
|
@ -125,7 +125,7 @@
|
|||
</el-row>
|
||||
<el-row>
|
||||
<el-col :span="10" class="setting-name">
|
||||
{{ $i18n2.baseText('workflowSettings.timeoutWorkflow') + ":" }}
|
||||
{{ $i.baseText('workflowSettings.timeoutWorkflow') + ":" }}
|
||||
<n8n-tooltip class="setting-info" placement="top" >
|
||||
<div slot="content" v-html="helpTexts.executionTimeoutToggle"></div>
|
||||
<font-awesome-icon icon="question-circle" />
|
||||
|
@ -140,7 +140,7 @@
|
|||
<div v-if="workflowSettings.executionTimeout > -1">
|
||||
<el-row>
|
||||
<el-col :span="10" class="setting-name">
|
||||
{{ $i18n2.baseText('workflowSettings.timeoutAfter') + ":" }}
|
||||
{{ $i.baseText('workflowSettings.timeoutAfter') + ":" }}
|
||||
<n8n-tooltip class="setting-info" placement="top" >
|
||||
<div slot="content" v-html="helpTexts.executionTimeout"></div>
|
||||
<font-awesome-icon icon="question-circle" />
|
||||
|
@ -148,17 +148,17 @@
|
|||
</el-col>
|
||||
<el-col :span="4">
|
||||
<n8n-input size="medium" :value="timeoutHMS.hours" @input="(value) => setTimeout('hours', value)" :min="0">
|
||||
<template slot="append">{{ $i18n2.baseText('workflowSettings.hours') }}</template>
|
||||
<template slot="append">{{ $i.baseText('workflowSettings.hours') }}</template>
|
||||
</n8n-input>
|
||||
</el-col>
|
||||
<el-col :span="4" class="timeout-input">
|
||||
<n8n-input size="medium" :value="timeoutHMS.minutes" @input="(value) => setTimeout('minutes', value)" :min="0" :max="60">
|
||||
<template slot="append">{{ $i18n2.baseText('workflowSettings.minutes') }}</template>
|
||||
<template slot="append">{{ $i.baseText('workflowSettings.minutes') }}</template>
|
||||
</n8n-input>
|
||||
</el-col>
|
||||
<el-col :span="4" class="timeout-input">
|
||||
<n8n-input size="medium" :value="timeoutHMS.seconds" @input="(value) => setTimeout('seconds', value)" :min="0" :max="60">
|
||||
<template slot="append">{{ $i18n2.baseText('workflowSettings.seconds') }}</template>
|
||||
<template slot="append">{{ $i.baseText('workflowSettings.seconds') }}</template>
|
||||
</n8n-input>
|
||||
</el-col>
|
||||
</el-row>
|
||||
|
@ -207,14 +207,14 @@ export default mixins(
|
|||
return {
|
||||
isLoading: true,
|
||||
helpTexts: {
|
||||
errorWorkflow: this.$i18n2.baseText('workflowSettings.helpTexts.errorWorkflow'),
|
||||
timezone: this.$i18n2.baseText('workflowSettings.helpTexts.timezone'),
|
||||
saveDataErrorExecution: this.$i18n2.baseText('workflowSettings.helpTexts.saveDataErrorExecution'),
|
||||
saveDataSuccessExecution: this.$i18n2.baseText('workflowSettings.helpTexts.saveDataSuccessExecution'),
|
||||
saveExecutionProgress: this.$i18n2.baseText('workflowSettings.helpTexts.saveExecutionProgress'),
|
||||
saveManualExecutions: this.$i18n2.baseText('workflowSettings.helpTexts.saveManualExecutions'),
|
||||
executionTimeoutToggle: this.$i18n2.baseText('workflowSettings.helpTexts.executionTimeoutToggle'),
|
||||
executionTimeout: this.$i18n2.baseText('workflowSettings.helpTexts.executionTimeout'),
|
||||
errorWorkflow: this.$i.baseText('workflowSettings.helpTexts.errorWorkflow'),
|
||||
timezone: this.$i.baseText('workflowSettings.helpTexts.timezone'),
|
||||
saveDataErrorExecution: this.$i.baseText('workflowSettings.helpTexts.saveDataErrorExecution'),
|
||||
saveDataSuccessExecution: this.$i.baseText('workflowSettings.helpTexts.saveDataSuccessExecution'),
|
||||
saveExecutionProgress: this.$i.baseText('workflowSettings.helpTexts.saveExecutionProgress'),
|
||||
saveManualExecutions: this.$i.baseText('workflowSettings.helpTexts.saveManualExecutions'),
|
||||
executionTimeoutToggle: this.$i.baseText('workflowSettings.helpTexts.executionTimeoutToggle'),
|
||||
executionTimeout: this.$i.baseText('workflowSettings.helpTexts.executionTimeout'),
|
||||
},
|
||||
defaultValues: {
|
||||
timezone: 'America/New_York',
|
||||
|
@ -324,24 +324,24 @@ export default mixins(
|
|||
this.saveDataErrorExecutionOptions, [
|
||||
{
|
||||
key: 'DEFAULT',
|
||||
value: this.$i18n2.baseText(
|
||||
value: this.$i.baseText(
|
||||
'workflowSettings.saveDataErrorExecutionOptions.defaultSave',
|
||||
{
|
||||
interpolate: {
|
||||
defaultValue: this.defaultValues.saveDataErrorExecution === 'all'
|
||||
? this.$i18n2.baseText('workflowSettings.saveDataErrorExecutionOptions.save')
|
||||
: this.$i18n2.baseText('workflowSettings.saveDataErrorExecutionOptions.doNotsave'),
|
||||
? this.$i.baseText('workflowSettings.saveDataErrorExecutionOptions.save')
|
||||
: this.$i.baseText('workflowSettings.saveDataErrorExecutionOptions.doNotsave'),
|
||||
},
|
||||
},
|
||||
),
|
||||
},
|
||||
{
|
||||
key: 'all',
|
||||
value: this.$i18n2.baseText('workflowSettings.saveDataErrorExecutionOptions.save'),
|
||||
value: this.$i.baseText('workflowSettings.saveDataErrorExecutionOptions.save'),
|
||||
},
|
||||
{
|
||||
key: 'none',
|
||||
value: this.$i18n2.baseText('workflowSettings.saveDataErrorExecutionOptions.doNotSave'),
|
||||
value: this.$i.baseText('workflowSettings.saveDataErrorExecutionOptions.doNotSave'),
|
||||
},
|
||||
],
|
||||
);
|
||||
|
@ -352,24 +352,24 @@ export default mixins(
|
|||
this.saveDataSuccessExecutionOptions, [
|
||||
{
|
||||
key: 'DEFAULT',
|
||||
value: this.$i18n2.baseText(
|
||||
value: this.$i.baseText(
|
||||
'workflowSettings.saveDataSuccessExecutionOptions.defaultSave',
|
||||
{
|
||||
interpolate: {
|
||||
defaultValue: this.defaultValues.saveDataSuccessExecution === 'all'
|
||||
? this.$i18n2.baseText('workflowSettings.saveDataSuccessExecutionOptions.save')
|
||||
: this.$i18n2.baseText('workflowSettings.saveDataSuccessExecutionOptions.doNotSave'),
|
||||
? this.$i.baseText('workflowSettings.saveDataSuccessExecutionOptions.save')
|
||||
: this.$i.baseText('workflowSettings.saveDataSuccessExecutionOptions.doNotSave'),
|
||||
},
|
||||
},
|
||||
),
|
||||
},
|
||||
{
|
||||
key: 'all',
|
||||
value: this.$i18n2.baseText('workflowSettings.saveDataSuccessExecutionOptions.save'),
|
||||
value: this.$i.baseText('workflowSettings.saveDataSuccessExecutionOptions.save'),
|
||||
},
|
||||
{
|
||||
key: 'none',
|
||||
value: this.$i18n2.baseText('workflowSettings.saveDataSuccessExecutionOptions.doNotSave'),
|
||||
value: this.$i.baseText('workflowSettings.saveDataSuccessExecutionOptions.doNotSave'),
|
||||
},
|
||||
],
|
||||
);
|
||||
|
@ -380,22 +380,22 @@ export default mixins(
|
|||
this.saveExecutionProgressOptions, [
|
||||
{
|
||||
key: 'DEFAULT',
|
||||
value: this.$i18n2.baseText(
|
||||
value: this.$i.baseText(
|
||||
'workflowSettings.saveExecutionProgressOptions.defaultSave',
|
||||
{
|
||||
interpolate: {
|
||||
defaultValue: this.defaultValues.saveExecutionProgress ? this.$i18n2.baseText('workflowSettings.saveExecutionProgressOptions.yes') : this.$i18n2.baseText('workflowSettings.saveExecutionProgressOptions.no'),
|
||||
defaultValue: this.defaultValues.saveExecutionProgress ? this.$i.baseText('workflowSettings.saveExecutionProgressOptions.yes') : this.$i.baseText('workflowSettings.saveExecutionProgressOptions.no'),
|
||||
},
|
||||
},
|
||||
),
|
||||
},
|
||||
{
|
||||
key: true,
|
||||
value: this.$i18n2.baseText('workflowSettings.saveExecutionProgressOptions.yes'),
|
||||
value: this.$i.baseText('workflowSettings.saveExecutionProgressOptions.yes'),
|
||||
},
|
||||
{
|
||||
key: false,
|
||||
value: this.$i18n2.baseText('workflowSettings.saveExecutionProgressOptions.no'),
|
||||
value: this.$i.baseText('workflowSettings.saveExecutionProgressOptions.no'),
|
||||
},
|
||||
],
|
||||
);
|
||||
|
@ -404,22 +404,22 @@ export default mixins(
|
|||
this.saveManualOptions.length = 0;
|
||||
this.saveManualOptions.push({
|
||||
key: 'DEFAULT',
|
||||
value: this.$i18n2.baseText(
|
||||
value: this.$i.baseText(
|
||||
'workflowSettings.saveManualOptions.defaultSave',
|
||||
{
|
||||
interpolate: {
|
||||
defaultValue: this.defaultValues.saveManualExecutions ? this.$i18n2.baseText('workflowSettings.saveManualOptions.yes') : this.$i18n2.baseText('workflowSettings.saveManualOptions.no'),
|
||||
defaultValue: this.defaultValues.saveManualExecutions ? this.$i.baseText('workflowSettings.saveManualOptions.yes') : this.$i.baseText('workflowSettings.saveManualOptions.no'),
|
||||
},
|
||||
},
|
||||
),
|
||||
});
|
||||
this.saveManualOptions.push({
|
||||
key: true,
|
||||
value: this.$i18n2.baseText('workflowSettings.saveManualOptions.yes'),
|
||||
value: this.$i.baseText('workflowSettings.saveManualOptions.yes'),
|
||||
});
|
||||
this.saveManualOptions.push({
|
||||
key: false,
|
||||
value: this.$i18n2.baseText('workflowSettings.saveManualOptions.no'),
|
||||
value: this.$i.baseText('workflowSettings.saveManualOptions.no'),
|
||||
});
|
||||
},
|
||||
|
||||
|
@ -433,12 +433,12 @@ export default mixins(
|
|||
|
||||
let defaultTimezoneValue = timezones[this.defaultValues.timezone] as string | undefined;
|
||||
if (defaultTimezoneValue === undefined) {
|
||||
defaultTimezoneValue = this.$i18n2.baseText('workflowSettings.defaultTimezoneNotValid');
|
||||
defaultTimezoneValue = this.$i.baseText('workflowSettings.defaultTimezoneNotValid');
|
||||
}
|
||||
|
||||
this.timezones.push({
|
||||
key: 'DEFAULT',
|
||||
value: this.$i18n2.baseText(
|
||||
value: this.$i.baseText(
|
||||
'workflowSettings.defaultTimezone',
|
||||
{ interpolate: { defaultTimezoneValue } },
|
||||
),
|
||||
|
@ -465,7 +465,7 @@ export default mixins(
|
|||
// @ts-ignore
|
||||
workflows.unshift({
|
||||
id: undefined as unknown as string,
|
||||
name: this.$i18n2.baseText('workflowSettings.noWorkflow'),
|
||||
name: this.$i.baseText('workflowSettings.noWorkflow'),
|
||||
});
|
||||
|
||||
Vue.set(this, 'workflows', workflows);
|
||||
|
@ -485,9 +485,9 @@ export default mixins(
|
|||
|
||||
if (data.settings!.executionTimeout === 0) {
|
||||
this.$showError(
|
||||
new Error(this.$i18n2.baseText('workflowSettings.showError.saveSettings1.errorMessage')),
|
||||
this.$i18n2.baseText('workflowSettings.showError.saveSettings1.title'),
|
||||
this.$i18n2.baseText('workflowSettings.showError.saveSettings1.message') + ':',
|
||||
new Error(this.$i.baseText('workflowSettings.showError.saveSettings1.errorMessage')),
|
||||
this.$i.baseText('workflowSettings.showError.saveSettings1.title'),
|
||||
this.$i.baseText('workflowSettings.showError.saveSettings1.message') + ':',
|
||||
);
|
||||
return;
|
||||
}
|
||||
|
@ -497,7 +497,7 @@ export default mixins(
|
|||
const { hours, minutes, seconds } = this.convertToHMS(this.workflowSettings.maxExecutionTimeout as number);
|
||||
this.$showError(
|
||||
new Error(
|
||||
this.$i18n2.baseText(
|
||||
this.$i.baseText(
|
||||
'workflowSettings.showError.saveSettings2.errorMessage',
|
||||
{
|
||||
interpolate: {
|
||||
|
@ -508,8 +508,8 @@ export default mixins(
|
|||
},
|
||||
),
|
||||
),
|
||||
this.$i18n2.baseText('workflowSettings.showError.saveSettings2.title'),
|
||||
this.$i18n2.baseText('workflowSettings.showError.saveSettings2.message') + ':',
|
||||
this.$i.baseText('workflowSettings.showError.saveSettings2.title'),
|
||||
this.$i.baseText('workflowSettings.showError.saveSettings2.message') + ':',
|
||||
);
|
||||
return;
|
||||
}
|
||||
|
@ -522,8 +522,8 @@ export default mixins(
|
|||
} catch (error) {
|
||||
this.$showError(
|
||||
error,
|
||||
this.$i18n2.baseText('workflowSettings.showError.saveSettings3.title'),
|
||||
this.$i18n2.baseText('workflowSettings.showError.saveSettings3.message') + ':',
|
||||
this.$i.baseText('workflowSettings.showError.saveSettings3.title'),
|
||||
this.$i.baseText('workflowSettings.showError.saveSettings3.message') + ':',
|
||||
);
|
||||
this.isLoading = false;
|
||||
return;
|
||||
|
@ -544,8 +544,8 @@ export default mixins(
|
|||
this.isLoading = false;
|
||||
|
||||
this.$showMessage({
|
||||
title: this.$i18n2.baseText('workflowSettings.showMessage.saveSettings.title'),
|
||||
message: this.$i18n2.baseText('workflowSettings.showMessage.saveSettings.message'),
|
||||
title: this.$i.baseText('workflowSettings.showMessage.saveSettings.title'),
|
||||
message: this.$i.baseText('workflowSettings.showMessage.saveSettings.message'),
|
||||
type: 'success',
|
||||
});
|
||||
|
||||
|
|
|
@ -22,23 +22,23 @@ export const genericHelpers = mixins(showMessage).extend({
|
|||
displayTimer (msPassed: number, showMs = false): string {
|
||||
if (msPassed < 60000) {
|
||||
if (showMs === false) {
|
||||
return `${this.$n(Math.floor(msPassed / 1000), 'decimal')} ${this.$i18n2.baseText('genericHelpers.sec')}`;
|
||||
return `${this.$n(Math.floor(msPassed / 1000), 'decimal')} ${this.$i.baseText('genericHelpers.sec')}`;
|
||||
}
|
||||
|
||||
return `${this.$i18n2.number(msPassed / 1000, 'decimal')} ${this.$i18n2.baseText('genericHelpers.sec')}`;
|
||||
return `${this.$i.number(msPassed / 1000, 'decimal')} ${this.$i.baseText('genericHelpers.sec')}`;
|
||||
}
|
||||
|
||||
const secondsPassed = Math.floor(msPassed / 1000);
|
||||
const minutesPassed = Math.floor(secondsPassed / 60);
|
||||
|
||||
return `${this.$i18n2.number(minutesPassed, 'decimal')}:${this.$i18n2.number(secondsPassed, 'decimal')} ${this.$i18n2.baseText('genericHelpers.min')}`;
|
||||
return `${this.$i.number(minutesPassed, 'decimal')}:${this.$i.number(secondsPassed, 'decimal')} ${this.$i.baseText('genericHelpers.min')}`;
|
||||
},
|
||||
editAllowedCheck (): boolean {
|
||||
if (this.isReadOnly) {
|
||||
this.$showMessage({
|
||||
// title: 'Workflow can not be changed!',
|
||||
title: this.$i18n2.baseText('genericHelpers.showMessage.title'),
|
||||
message: this.$i18n2.baseText('genericHelpers.showMessage.message'),
|
||||
title: this.$i.baseText('genericHelpers.showMessage.title'),
|
||||
message: this.$i.baseText('genericHelpers.showMessage.message'),
|
||||
type: 'error',
|
||||
duration: 0,
|
||||
});
|
||||
|
@ -57,7 +57,7 @@ export const genericHelpers = mixins(showMessage).extend({
|
|||
this.loadingService = this.$loading(
|
||||
{
|
||||
lock: true,
|
||||
text: text || this.$i18n2.baseText('genericHelpers.loading'),
|
||||
text: text || this.$i.baseText('genericHelpers.loading'),
|
||||
spinner: 'el-icon-loading',
|
||||
background: 'rgba(255, 255, 255, 0.8)',
|
||||
},
|
||||
|
|
|
@ -179,7 +179,7 @@ export const nodeBase = mixins(
|
|||
hover: false,
|
||||
showOutputLabel: nodeTypeData.outputs.length === 1,
|
||||
size: nodeTypeData.outputs.length >= 3 ? 'small' : 'medium',
|
||||
hoverMessage: this.$i18n2.baseText('nodeBase.clickToAddNodeOrDragToConnect'),
|
||||
hoverMessage: this.$i.baseText('nodeBase.clickToAddNodeOrDragToConnect'),
|
||||
},
|
||||
endpointHoverStyle: {
|
||||
fill: getStyleTokenValue('--color-primary'),
|
||||
|
|
|
@ -263,8 +263,8 @@ export const pushConnection = mixins(
|
|||
// Workflow did execute without a problem
|
||||
this.$titleSet(workflow.name as string, 'IDLE');
|
||||
this.$showMessage({
|
||||
title: this.$i18n2.baseText('pushConnection.showMessage.title'),
|
||||
message: this.$i18n2.baseText('pushConnection.showMessage.message'),
|
||||
title: this.$i.baseText('pushConnection.showMessage.title'),
|
||||
message: this.$i.baseText('pushConnection.showMessage.message'),
|
||||
type: 'success',
|
||||
});
|
||||
}
|
||||
|
|
|
@ -134,8 +134,8 @@ export const showMessage = mixins(externalHooks).extend({
|
|||
async confirmMessage (message: string, headline: string, type: MessageType | null = 'warning', confirmButtonText?: string, cancelButtonText?: string): Promise<boolean> {
|
||||
try {
|
||||
const options: ElMessageBoxOptions = {
|
||||
confirmButtonText: confirmButtonText || this.$i18n2.baseText('showMessage.ok'),
|
||||
cancelButtonText: cancelButtonText || this.$i18n2.baseText('showMessage.cancel'),
|
||||
confirmButtonText: confirmButtonText || this.$i.baseText('showMessage.ok'),
|
||||
cancelButtonText: cancelButtonText || this.$i.baseText('showMessage.cancel'),
|
||||
dangerouslyUseHTMLString: true,
|
||||
...(type && { type }),
|
||||
};
|
||||
|
@ -173,7 +173,7 @@ export const showMessage = mixins(externalHooks).extend({
|
|||
<summary
|
||||
style="color: #ff6d5a; font-weight: bold; cursor: pointer;"
|
||||
>
|
||||
${this.$i18n2.baseText('showMessage.showDetails')}
|
||||
${this.$i.baseText('showMessage.showDetails')}
|
||||
</summary>
|
||||
<p>${node.name}: ${errorDescription}</p>
|
||||
</details>
|
||||
|
|
|
@ -478,8 +478,8 @@ export const workflowHelpers = mixins(
|
|||
this.$store.commit('removeActiveAction', 'workflowSaving');
|
||||
|
||||
this.$showMessage({
|
||||
title: this.$i18n2.baseText('workflowHelpers.showMessage.title'),
|
||||
message: this.$i18n2.baseText('workflowHelpers.showMessage.message') + `: "${e.message}"`,
|
||||
title: this.$i.baseText('workflowHelpers.showMessage.title'),
|
||||
message: this.$i.baseText('workflowHelpers.showMessage.message') + `: "${e.message}"`,
|
||||
type: 'error',
|
||||
});
|
||||
|
||||
|
@ -552,8 +552,8 @@ export const workflowHelpers = mixins(
|
|||
this.$store.commit('removeActiveAction', 'workflowSaving');
|
||||
|
||||
this.$showMessage({
|
||||
title: this.$i18n2.baseText('workflowHelpers.showMessage.title'),
|
||||
message: this.$i18n2.baseText('workflowHelpers.showMessage.message') + `: "${e.message}"`,
|
||||
title: this.$i.baseText('workflowHelpers.showMessage.title'),
|
||||
message: this.$i.baseText('workflowHelpers.showMessage.message') + `: "${e.message}"`,
|
||||
type: 'error',
|
||||
});
|
||||
|
||||
|
|
|
@ -32,7 +32,7 @@ export const workflowRun = mixins(
|
|||
// Do not start if the connection to server is not active
|
||||
// because then it can not receive the data as it executes.
|
||||
throw new Error(
|
||||
this.$i18n2.baseText('workflowRun.noActiveConnectionToTheServer'),
|
||||
this.$i.baseText('workflowRun.noActiveConnectionToTheServer'),
|
||||
);
|
||||
}
|
||||
|
||||
|
@ -91,8 +91,8 @@ export const workflowRun = mixins(
|
|||
}
|
||||
|
||||
this.$showMessage({
|
||||
title: this.$i18n2.baseText('workflowRun.showMessage.title'),
|
||||
message: this.$i18n2.baseText('workflowRun.showMessage.message') + ':<br /> - ' + errorMessages.join('<br /> - '),
|
||||
title: this.$i.baseText('workflowRun.showMessage.title'),
|
||||
message: this.$i.baseText('workflowRun.showMessage.message') + ':<br /> - ' + errorMessages.join('<br /> - '),
|
||||
type: 'error',
|
||||
duration: 0,
|
||||
});
|
||||
|
@ -204,8 +204,8 @@ export const workflowRun = mixins(
|
|||
this.$titleSet(workflow.name as string, 'ERROR');
|
||||
this.$showError(
|
||||
error,
|
||||
this.$i18n2.baseText('workflowRun.showError.title'),
|
||||
this.$i18n2.baseText('workflowRun.showError.message') + ':',
|
||||
this.$i.baseText('workflowRun.showError.title'),
|
||||
this.$i.baseText('workflowRun.showError.message') + ':',
|
||||
);
|
||||
return undefined;
|
||||
}
|
||||
|
|
|
@ -11,15 +11,13 @@ const NODE_VIEW_KEY = 'nodeView';
|
|||
export function I18nPlugin(vue: typeof _Vue, store: Store<IRootState>): void {
|
||||
const i18n = new I18nClass(store);
|
||||
|
||||
if (!vue.prototype.hasOwnProperty('$i18n2')) {
|
||||
Object.defineProperty(vue, '$i18n2', {
|
||||
get() { return i18n; },
|
||||
});
|
||||
Object.defineProperty(vue, '$i', {
|
||||
get() { return i18n; },
|
||||
});
|
||||
|
||||
Object.defineProperty(vue.prototype, '$i18n2', {
|
||||
get() { return i18n; },
|
||||
});
|
||||
}
|
||||
Object.defineProperty(vue.prototype, '$i', {
|
||||
get() { return i18n; },
|
||||
});
|
||||
}
|
||||
|
||||
export class I18nClass {
|
||||
|
|
|
@ -2,6 +2,6 @@ import { i18nClass } from '.';
|
|||
|
||||
declare module 'vue/types/vue' {
|
||||
interface Vue {
|
||||
$i18n2: I18nClass;
|
||||
$i: I18nClass;
|
||||
}
|
||||
}
|
|
@ -34,7 +34,7 @@
|
|||
</div>
|
||||
</div>
|
||||
<DataDisplay @valueChanged="valueChanged"/>
|
||||
<div v-if="!createNodeActive && !isReadOnly" class="node-creator-button" :title="$i18n2.baseText('nodeView.addNode')" @click="() => openNodeCreator('add_node_button')">
|
||||
<div v-if="!createNodeActive && !isReadOnly" class="node-creator-button" :title="$i.baseText('nodeView.addNode')" @click="() => openNodeCreator('add_node_button')">
|
||||
<n8n-icon-button size="xlarge" icon="plus" />
|
||||
</div>
|
||||
<node-creator
|
||||
|
@ -43,22 +43,22 @@
|
|||
@closeNodeCreator="closeNodeCreator"
|
||||
></node-creator>
|
||||
<div :class="{ 'zoom-menu': true, expanded: !sidebarMenuCollapsed }">
|
||||
<button @click="zoomToFit" class="button-white" :title="$i18n2.baseText('nodeView.zoomToFit')">
|
||||
<button @click="zoomToFit" class="button-white" :title="$i.baseText('nodeView.zoomToFit')">
|
||||
<font-awesome-icon icon="expand"/>
|
||||
</button>
|
||||
<button @click="zoomIn()" class="button-white" :title="$i18n2.baseText('nodeView.zoomIn')">
|
||||
<button @click="zoomIn()" class="button-white" :title="$i.baseText('nodeView.zoomIn')">
|
||||
<font-awesome-icon icon="search-plus"/>
|
||||
</button>
|
||||
<button @click="zoomOut()" class="button-white" :title="$i18n2.baseText('nodeView.zoomOut')">
|
||||
<button @click="zoomOut()" class="button-white" :title="$i.baseText('nodeView.zoomOut')">
|
||||
<font-awesome-icon icon="search-minus"/>
|
||||
</button>
|
||||
<button
|
||||
v-if="nodeViewScale !== 1"
|
||||
@click="resetZoom()"
|
||||
class="button-white"
|
||||
:title="$i18n2.baseText('nodeView.resetZoom')"
|
||||
:title="$i.baseText('nodeView.resetZoom')"
|
||||
>
|
||||
<font-awesome-icon icon="undo" :title="$i18n2.baseText('nodeView.resetZoom')"/>
|
||||
<font-awesome-icon icon="undo" :title="$i.baseText('nodeView.resetZoom')"/>
|
||||
</button>
|
||||
</div>
|
||||
<div class="workflow-execute-wrapper" v-if="!isReadOnly">
|
||||
|
@ -68,7 +68,7 @@
|
|||
:label="runButtonText"
|
||||
size="large"
|
||||
icon="play-circle"
|
||||
:title="$i18n2.baseText('nodeView.executesTheWorkflowFromTheStartOrWebhookNode')"
|
||||
:title="$i.baseText('nodeView.executesTheWorkflowFromTheStartOrWebhookNode')"
|
||||
:type="workflowRunning ? 'light' : 'primary'"
|
||||
/>
|
||||
|
||||
|
@ -79,8 +79,8 @@
|
|||
class="stop-execution"
|
||||
type="light"
|
||||
:title="stopExecutionInProgress
|
||||
? $i18n2.baseText('nodeView.stoppingCurrentExecution')
|
||||
: $i18n2.baseText('nodeView.stopCurrentExecution')
|
||||
? $i.baseText('nodeView.stoppingCurrentExecution')
|
||||
: $i.baseText('nodeView.stopCurrentExecution')
|
||||
"
|
||||
:loading="stopExecutionInProgress"
|
||||
@click.stop="stopExecution()"
|
||||
|
@ -91,14 +91,14 @@
|
|||
class="stop-execution"
|
||||
icon="stop"
|
||||
size="large"
|
||||
:title="$i18n2.baseText('nodeView.stopWaitingForWebhookCall')"
|
||||
:title="$i.baseText('nodeView.stopWaitingForWebhookCall')"
|
||||
type="light"
|
||||
@click.stop="stopWaitingForWebhook()"
|
||||
/>
|
||||
|
||||
<n8n-icon-button
|
||||
v-if="!isReadOnly && workflowExecution && !workflowRunning"
|
||||
:title="$i18n2.baseText('nodeView.deletesTheCurrentExecutionData')"
|
||||
:title="$i.baseText('nodeView.deletesTheCurrentExecutionData')"
|
||||
icon="trash"
|
||||
size="large"
|
||||
@click.stop="clearExecutionData()"
|
||||
|
@ -243,11 +243,11 @@ export default mixins(
|
|||
const result = this.$store.getters.getStateIsDirty;
|
||||
if(result) {
|
||||
const importConfirm = await this.confirmMessage(
|
||||
this.$i18n2.baseText('nodeView.confirmMessage.beforeRouteLeave.message'),
|
||||
this.$i18n2.baseText('nodeView.confirmMessage.beforeRouteLeave.headline'),
|
||||
this.$i.baseText('nodeView.confirmMessage.beforeRouteLeave.message'),
|
||||
this.$i.baseText('nodeView.confirmMessage.beforeRouteLeave.headline'),
|
||||
'warning',
|
||||
this.$i18n2.baseText('nodeView.confirmMessage.beforeRouteLeave.confirmButtonText'),
|
||||
this.$i18n2.baseText('nodeView.confirmMessage.beforeRouteLeave.cancelButtonText'),
|
||||
this.$i.baseText('nodeView.confirmMessage.beforeRouteLeave.confirmButtonText'),
|
||||
this.$i.baseText('nodeView.confirmMessage.beforeRouteLeave.cancelButtonText'),
|
||||
);
|
||||
if (importConfirm === false) {
|
||||
next(false);
|
||||
|
@ -285,14 +285,14 @@ export default mixins(
|
|||
},
|
||||
runButtonText (): string {
|
||||
if (this.workflowRunning === false) {
|
||||
return this.$i18n2.baseText('nodeView.runButtonText.executeWorkflow');
|
||||
return this.$i.baseText('nodeView.runButtonText.executeWorkflow');
|
||||
}
|
||||
|
||||
if (this.executionWaitingForWebhook === true) {
|
||||
return this.$i18n2.baseText('nodeView.runButtonText.waitingForTriggerEvent');
|
||||
return this.$i.baseText('nodeView.runButtonText.waitingForTriggerEvent');
|
||||
}
|
||||
|
||||
return this.$i18n2.baseText('nodeView.runButtonText.executingWorkflow');
|
||||
return this.$i.baseText('nodeView.runButtonText.executingWorkflow');
|
||||
},
|
||||
workflowStyle (): object {
|
||||
const offsetPosition = this.$store.getters.getNodeViewOffsetPosition;
|
||||
|
@ -355,8 +355,8 @@ export default mixins(
|
|||
this.updateNodesExecutionIssues();
|
||||
},
|
||||
translateName(type: string, originalName: string) {
|
||||
return this.$i18n2.headerText({
|
||||
key: `headers.${this.$i18n2.shortNodeType(type)}.displayName`,
|
||||
return this.$i.headerText({
|
||||
key: `headers.${this.$i.shortNodeType(type)}.displayName`,
|
||||
fallback: originalName,
|
||||
});
|
||||
},
|
||||
|
@ -438,8 +438,8 @@ export default mixins(
|
|||
} catch (error) {
|
||||
this.$showError(
|
||||
error,
|
||||
this.$i18n2.baseText('nodeView.showError.openExecution.title'),
|
||||
this.$i18n2.baseText('nodeView.showError.openExecution.message') + ':',
|
||||
this.$i.baseText('nodeView.showError.openExecution.title'),
|
||||
this.$i.baseText('nodeView.showError.openExecution.message') + ':',
|
||||
);
|
||||
return;
|
||||
}
|
||||
|
@ -499,15 +499,15 @@ export default mixins(
|
|||
|
||||
if ((data as IExecutionsSummary).waitTill) {
|
||||
this.$showMessage({
|
||||
title: this.$i18n2.baseText('nodeView.thisExecutionHasntFinishedYet'),
|
||||
message: `<a onclick="window.location.reload(false);">${this.$i18n2.baseText('nodeView.refresh')}</a> ${this.$i18n2.baseText('nodeView.toSeeTheLatestStatus')}.<br/> <a href="https://docs.n8n.io/nodes/n8n-nodes-base.wait/" target="_blank">${this.$i18n2.baseText('nodeView.moreInfo')}</a>`,
|
||||
title: this.$i.baseText('nodeView.thisExecutionHasntFinishedYet'),
|
||||
message: `<a onclick="window.location.reload(false);">${this.$i.baseText('nodeView.refresh')}</a> ${this.$i.baseText('nodeView.toSeeTheLatestStatus')}.<br/> <a href="https://docs.n8n.io/nodes/n8n-nodes-base.wait/" target="_blank">${this.$i.baseText('nodeView.moreInfo')}</a>`,
|
||||
type: 'warning',
|
||||
duration: 0,
|
||||
});
|
||||
}
|
||||
},
|
||||
async openWorkflowTemplate (templateId: string) {
|
||||
this.setLoadingText(this.$i18n2.baseText('nodeView.loadingTemplate'));
|
||||
this.setLoadingText(this.$i.baseText('nodeView.loadingTemplate'));
|
||||
this.resetWorkspace();
|
||||
|
||||
let data: IWorkflowTemplate | undefined;
|
||||
|
@ -517,7 +517,7 @@ export default mixins(
|
|||
|
||||
if (!data) {
|
||||
throw new Error(
|
||||
this.$i18n2.baseText(
|
||||
this.$i.baseText(
|
||||
'nodeView.workflowTemplateWithIdCouldNotBeFound',
|
||||
{ interpolate: { templateId } },
|
||||
),
|
||||
|
@ -526,11 +526,11 @@ export default mixins(
|
|||
|
||||
data.workflow.nodes.forEach((node) => {
|
||||
if (!this.$store.getters.nodeType(node.type)) {
|
||||
throw new Error(`The ${this.$i18n2.shortNodeType(node.type)} node is not supported`);
|
||||
throw new Error(`The ${this.$i.shortNodeType(node.type)} node is not supported`);
|
||||
}
|
||||
});
|
||||
} catch (error) {
|
||||
this.$showError(error, this.$i18n2.baseText('nodeView.couldntImportWorkflow'));
|
||||
this.$showError(error, this.$i.baseText('nodeView.couldntImportWorkflow'));
|
||||
this.$router.push({ name: 'NodeViewNew' });
|
||||
return;
|
||||
}
|
||||
|
@ -573,15 +573,15 @@ export default mixins(
|
|||
} catch (error) {
|
||||
this.$showError(
|
||||
error,
|
||||
this.$i18n2.baseText('nodeView.showError.openWorkflow.title'),
|
||||
this.$i18n2.baseText('nodeView.showError.openWorkflow.message') + ':',
|
||||
this.$i.baseText('nodeView.showError.openWorkflow.title'),
|
||||
this.$i.baseText('nodeView.showError.openWorkflow.message') + ':',
|
||||
);
|
||||
return;
|
||||
}
|
||||
|
||||
if (data === undefined) {
|
||||
throw new Error(
|
||||
this.$i18n2.baseText(
|
||||
this.$i.baseText(
|
||||
'nodeView.workflowWithIdCouldNotBeFound',
|
||||
{ interpolate: { workflowId } },
|
||||
),
|
||||
|
@ -742,8 +742,8 @@ export default mixins(
|
|||
}
|
||||
|
||||
this.$showMessage({
|
||||
title: this.$i18n2.baseText('nodeView.showMessage.keyDown.title'),
|
||||
message: this.$i18n2.baseText('nodeView.showMessage.keyDown.message'),
|
||||
title: this.$i.baseText('nodeView.showMessage.keyDown.title'),
|
||||
message: this.$i.baseText('nodeView.showMessage.keyDown.message'),
|
||||
type: 'success',
|
||||
});
|
||||
} else if ((e.key === 's') && (this.isCtrlKeyPressed(e) === true)) {
|
||||
|
@ -1033,8 +1033,8 @@ export default mixins(
|
|||
this.stopExecutionInProgress = true;
|
||||
await this.restApi().stopCurrentExecution(executionId);
|
||||
this.$showMessage({
|
||||
title: this.$i18n2.baseText('nodeView.showMessage.stopExecutionTry.title'),
|
||||
message: this.$i18n2.baseText(
|
||||
title: this.$i.baseText('nodeView.showMessage.stopExecutionTry.title'),
|
||||
message: this.$i.baseText(
|
||||
'nodeView.showMessage.stopExecutionTry.message',
|
||||
{ interpolate: { executionId } },
|
||||
),
|
||||
|
@ -1062,15 +1062,15 @@ export default mixins(
|
|||
this.$store.commit('setWorkflowExecutionData', executedData);
|
||||
this.$store.commit('removeActiveAction', 'workflowRunning');
|
||||
this.$showMessage({
|
||||
title: this.$i18n2.baseText('nodeView.showMessage.stopExecutionCatch.title'),
|
||||
message: this.$i18n2.baseText('nodeView.showMessage.stopExecutionCatch.message'),
|
||||
title: this.$i.baseText('nodeView.showMessage.stopExecutionCatch.title'),
|
||||
message: this.$i.baseText('nodeView.showMessage.stopExecutionCatch.message'),
|
||||
type: 'success',
|
||||
});
|
||||
} else {
|
||||
this.$showError(
|
||||
error,
|
||||
this.$i18n2.baseText('nodeView.showError.stopExecution.title'),
|
||||
this.$i18n2.baseText('nodeView.showError.stopExecution.message') + ':',
|
||||
this.$i.baseText('nodeView.showError.stopExecution.title'),
|
||||
this.$i.baseText('nodeView.showError.stopExecution.message') + ':',
|
||||
);
|
||||
}
|
||||
}
|
||||
|
@ -1083,15 +1083,15 @@ export default mixins(
|
|||
} catch (error) {
|
||||
this.$showError(
|
||||
error,
|
||||
this.$i18n2.baseText('nodeView.showError.stopWaitingForWebhook.title'),
|
||||
this.$i18n2.baseText('nodeView.showError.stopWaitingForWebhook.message') + ':',
|
||||
this.$i.baseText('nodeView.showError.stopWaitingForWebhook.title'),
|
||||
this.$i.baseText('nodeView.showError.stopWaitingForWebhook.message') + ':',
|
||||
);
|
||||
return;
|
||||
}
|
||||
|
||||
this.$showMessage({
|
||||
title: this.$i18n2.baseText('nodeView.showMessage.stopWaitingForWebhook.title'),
|
||||
message: this.$i18n2.baseText('nodeView.showMessage.stopWaitingForWebhook.message'),
|
||||
title: this.$i.baseText('nodeView.showMessage.stopWaitingForWebhook.title'),
|
||||
message: this.$i.baseText('nodeView.showMessage.stopWaitingForWebhook.message'),
|
||||
type: 'success',
|
||||
});
|
||||
},
|
||||
|
@ -1111,14 +1111,14 @@ export default mixins(
|
|||
}
|
||||
|
||||
const importConfirm = await this.confirmMessage(
|
||||
this.$i18n2.baseText(
|
||||
this.$i.baseText(
|
||||
'nodeView.confirmMessage.receivedCopyPasteData.message',
|
||||
{ interpolate: { plainTextData } },
|
||||
),
|
||||
this.$i18n2.baseText('nodeView.confirmMessage.receivedCopyPasteData.headline'),
|
||||
this.$i.baseText('nodeView.confirmMessage.receivedCopyPasteData.headline'),
|
||||
'warning',
|
||||
this.$i18n2.baseText('nodeView.confirmMessage.receivedCopyPasteData.confirmButtonText'),
|
||||
this.$i18n2.baseText('nodeView.confirmMessage.receivedCopyPasteData.cancelButtonText'),
|
||||
this.$i.baseText('nodeView.confirmMessage.receivedCopyPasteData.confirmButtonText'),
|
||||
this.$i.baseText('nodeView.confirmMessage.receivedCopyPasteData.cancelButtonText'),
|
||||
);
|
||||
|
||||
if (importConfirm === false) {
|
||||
|
@ -1163,8 +1163,8 @@ export default mixins(
|
|||
this.stopLoading();
|
||||
this.$showError(
|
||||
error,
|
||||
this.$i18n2.baseText('nodeView.showError.getWorkflowDataFromUrl.title'),
|
||||
this.$i18n2.baseText('nodeView.showError.getWorkflowDataFromUrl.message') + ':',
|
||||
this.$i.baseText('nodeView.showError.getWorkflowDataFromUrl.title'),
|
||||
this.$i.baseText('nodeView.showError.getWorkflowDataFromUrl.message') + ':',
|
||||
);
|
||||
return;
|
||||
}
|
||||
|
@ -1205,8 +1205,8 @@ export default mixins(
|
|||
} catch (error) {
|
||||
this.$showError(
|
||||
error,
|
||||
this.$i18n2.baseText('nodeView.showError.importWorkflowData.title'),
|
||||
this.$i18n2.baseText('nodeView.showError.importWorkflowData.message') + ':',
|
||||
this.$i.baseText('nodeView.showError.importWorkflowData.title'),
|
||||
this.$i.baseText('nodeView.showError.importWorkflowData.message') + ':',
|
||||
);
|
||||
}
|
||||
},
|
||||
|
@ -1249,8 +1249,8 @@ export default mixins(
|
|||
showMaxNodeTypeError (nodeTypeData: INodeTypeDescription) {
|
||||
const maxNodes = nodeTypeData.maxNodes;
|
||||
this.$showMessage({
|
||||
title: this.$i18n2.baseText('nodeView.showMessage.showMaxNodeTypeError.title'),
|
||||
message: this.$i18n2.baseText(
|
||||
title: this.$i.baseText('nodeView.showMessage.showMaxNodeTypeError.title'),
|
||||
message: this.$i.baseText(
|
||||
maxNodes === 1
|
||||
? 'nodeView.showMessage.showMaxNodeTypeError.message.singular'
|
||||
: 'nodeView.showMessage.showMaxNodeTypeError.message.plural',
|
||||
|
@ -1270,8 +1270,8 @@ export default mixins(
|
|||
|
||||
if (nodeTypeData === null) {
|
||||
this.$showMessage({
|
||||
title: this.$i18n2.baseText('nodeView.showMessage.addNodeButton.title'),
|
||||
message: this.$i18n2.baseText(
|
||||
title: this.$i.baseText('nodeView.showMessage.addNodeButton.title'),
|
||||
message: this.$i.baseText(
|
||||
'nodeView.showMessage.addNodeButton.message',
|
||||
{ interpolate: { nodeTypeName } },
|
||||
),
|
||||
|
@ -1791,11 +1791,11 @@ export default mixins(
|
|||
const result = this.$store.getters.getStateIsDirty;
|
||||
if(result) {
|
||||
const importConfirm = await this.confirmMessage(
|
||||
this.$i18n2.baseText('nodeView.confirmMessage.initView.message'),
|
||||
this.$i18n2.baseText('nodeView.confirmMessage.initView.headline'),
|
||||
this.$i.baseText('nodeView.confirmMessage.initView.message'),
|
||||
this.$i.baseText('nodeView.confirmMessage.initView.headline'),
|
||||
'warning',
|
||||
this.$i18n2.baseText('nodeView.confirmMessage.initView.confirmButtonText'),
|
||||
this.$i18n2.baseText('nodeView.confirmMessage.initView.cancelButtonText'),
|
||||
this.$i.baseText('nodeView.confirmMessage.initView.confirmButtonText'),
|
||||
this.$i.baseText('nodeView.confirmMessage.initView.cancelButtonText'),
|
||||
);
|
||||
if (importConfirm === false) {
|
||||
return Promise.resolve();
|
||||
|
@ -1834,12 +1834,12 @@ export default mixins(
|
|||
|
||||
window.addEventListener("beforeunload", (e) => {
|
||||
if(this.$store.getters.getStateIsDirty === true) {
|
||||
const confirmationMessage = this.$i18n2.baseText('nodeView.itLooksLikeYouHaveBeenEditingSomething');
|
||||
const confirmationMessage = this.$i.baseText('nodeView.itLooksLikeYouHaveBeenEditingSomething');
|
||||
(e || window.event).returnValue = confirmationMessage; //Gecko + IE
|
||||
return confirmationMessage; //Gecko + Webkit, Safari, Chrome etc.
|
||||
} else {
|
||||
this.startLoading(
|
||||
this.$i18n2.baseText('nodeView.redirecting'),
|
||||
this.$i.baseText('nodeView.redirecting'),
|
||||
);
|
||||
|
||||
return;
|
||||
|
@ -2193,13 +2193,13 @@ export default mixins(
|
|||
async renameNodePrompt (currentName: string) {
|
||||
try {
|
||||
const promptResponsePromise = this.$prompt(
|
||||
this.$i18n2.baseText('nodeView.prompt.newName') + ':',
|
||||
this.$i18n2.baseText('nodeView.prompt.renameNode') + `: ${currentName}`,
|
||||
this.$i.baseText('nodeView.prompt.newName') + ':',
|
||||
this.$i.baseText('nodeView.prompt.renameNode') + `: ${currentName}`,
|
||||
{
|
||||
customClass: 'rename-prompt',
|
||||
confirmButtonText: this.$i18n2.baseText('nodeView.prompt.rename'),
|
||||
cancelButtonText: this.$i18n2.baseText('nodeView.prompt.cancel'),
|
||||
inputErrorMessage: this.$i18n2.baseText('nodeView.prompt.invalidName'),
|
||||
confirmButtonText: this.$i.baseText('nodeView.prompt.rename'),
|
||||
cancelButtonText: this.$i.baseText('nodeView.prompt.cancel'),
|
||||
inputErrorMessage: this.$i.baseText('nodeView.prompt.invalidName'),
|
||||
inputValue: currentName,
|
||||
},
|
||||
);
|
||||
|
@ -2337,7 +2337,7 @@ export default mixins(
|
|||
try {
|
||||
nodeParameters = NodeHelpers.getNodeParameters(nodeType.properties, node.parameters, true, false);
|
||||
} catch (e) {
|
||||
console.error(this.$i18n2.baseText('nodeView.thereWasAProblemLoadingTheNodeParametersOfNode') + `: "${node.name}"`); // eslint-disable-line no-console
|
||||
console.error(this.$i.baseText('nodeView.thereWasAProblemLoadingTheNodeParametersOfNode') + `: "${node.name}"`); // eslint-disable-line no-console
|
||||
console.error(e); // eslint-disable-line no-console
|
||||
}
|
||||
node.parameters = nodeParameters !== null ? nodeParameters : {};
|
||||
|
@ -2413,7 +2413,7 @@ export default mixins(
|
|||
if (!data.nodes) {
|
||||
// No nodes to add
|
||||
throw new Error(
|
||||
this.$i18n2.baseText('nodeView.noNodesGivenToAdd'),
|
||||
this.$i.baseText('nodeView.noNodesGivenToAdd'),
|
||||
);
|
||||
}
|
||||
|
||||
|
@ -2707,8 +2707,8 @@ export default mixins(
|
|||
} catch (error) {
|
||||
this.$showError(
|
||||
error,
|
||||
this.$i18n2.baseText('nodeView.showError.mounted1.title'),
|
||||
this.$i18n2.baseText('nodeView.showError.mounted1.message') + ':',
|
||||
this.$i.baseText('nodeView.showError.mounted1.title'),
|
||||
this.$i.baseText('nodeView.showError.mounted1.message') + ':',
|
||||
);
|
||||
return;
|
||||
}
|
||||
|
@ -2720,8 +2720,8 @@ export default mixins(
|
|||
} catch (error) {
|
||||
this.$showError(
|
||||
error,
|
||||
this.$i18n2.baseText('nodeView.showError.mounted2.title'),
|
||||
this.$i18n2.baseText('nodeView.showError.mounted2.message') + ':',
|
||||
this.$i.baseText('nodeView.showError.mounted2.title'),
|
||||
this.$i.baseText('nodeView.showError.mounted2.message') + ':',
|
||||
);
|
||||
}
|
||||
this.stopLoading();
|
||||
|
|
Loading…
Reference in a new issue