ci: Upgrade eslint, prettier, typescript, and some other dev tooling (no-changelog) (#8895)

Co-authored-by: Iván Ovejero <ivov.src@gmail.com>
This commit is contained in:
कारतोफ्फेलस्क्रिप्ट™ 2024-03-26 14:22:57 +01:00 committed by GitHub
parent 117b57ccc5
commit 372d5c7d01
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
190 changed files with 1142 additions and 1198 deletions

View file

@ -83,12 +83,11 @@
"axios": "1.6.7", "axios": "1.6.7",
"chokidar": "3.5.2", "chokidar": "3.5.2",
"formidable": "3.5.1", "formidable": "3.5.1",
"ip": "2.0.1", "prettier": "^3.2.5",
"prettier": "^3.1.0",
"semver": "^7.5.4", "semver": "^7.5.4",
"tslib": "^2.6.1", "tslib": "^2.6.2",
"tsconfig-paths": "^4.2.0", "tsconfig-paths": "^4.2.0",
"typescript": "^5.3.0" "typescript": "^5.4.2"
}, },
"patchedDependencies": { "patchedDependencies": {
"typedi@0.10.0": "patches/typedi@0.10.0.patch", "typedi@0.10.0": "patches/typedi@0.10.0.patch",

View file

@ -250,7 +250,7 @@ export class LmChatOpenAi implements INodeType {
modelKwargs: options.responseFormat modelKwargs: options.responseFormat
? { ? {
response_format: { type: options.responseFormat }, response_format: { type: options.responseFormat },
} }
: undefined, : undefined,
}); });

View file

@ -3,23 +3,23 @@
"private": true, "private": true,
"version": "0.0.1", "version": "0.0.1",
"devDependencies": { "devDependencies": {
"@types/eslint": "^8.44.7", "@types/eslint": "^8.56.5",
"@typescript-eslint/eslint-plugin": "^6.12.0", "@typescript-eslint/eslint-plugin": "^7.2.0",
"@typescript-eslint/parser": "^6.12.0", "@typescript-eslint/parser": "^7.2.0",
"@vue/eslint-config-prettier": "^8.0.0", "@vue/eslint-config-prettier": "^9.0.0",
"@vue/eslint-config-typescript": "^12.0.0", "@vue/eslint-config-typescript": "^13.0.0",
"eslint": "^8.54.0", "eslint": "^8.57.0",
"eslint-config-airbnb-typescript": "^17.1.0", "eslint-config-airbnb-typescript": "^18.0.0",
"eslint-config-prettier": "^9.0.0", "eslint-config-prettier": "^9.1.0",
"eslint-import-resolver-typescript": "^3.6.1", "eslint-import-resolver-typescript": "^3.6.1",
"eslint-plugin-import": "^2.29.0", "eslint-plugin-import": "^2.29.1",
"eslint-plugin-lodash": "^7.4.0", "eslint-plugin-lodash": "^7.4.0",
"eslint-plugin-n8n-local-rules": "^1.0.0", "eslint-plugin-n8n-local-rules": "^1.0.0",
"eslint-plugin-prettier": "^5.0.1", "eslint-plugin-prettier": "^5.1.3",
"eslint-plugin-unicorn": "^49.0.0", "eslint-plugin-unicorn": "^51.0.1",
"eslint-plugin-unused-imports": "^3.0.0", "eslint-plugin-unused-imports": "^3.1.0",
"eslint-plugin-vue": "^9.18.1", "eslint-plugin-vue": "^9.23.0",
"vue-eslint-parser": "^9.3.2" "vue-eslint-parser": "^9.4.2"
}, },
"scripts": { "scripts": {
"clean": "rimraf .turbo", "clean": "rimraf .turbo",

View file

@ -488,7 +488,7 @@ export class InternalHooks {
? this.eventBus.sendWorkflowEvent({ ? this.eventBus.sendWorkflowEvent({
eventName: 'n8n.workflow.success', eventName: 'n8n.workflow.success',
payload: sharedEventPayload, payload: sharedEventPayload,
}) })
: this.eventBus.sendWorkflowEvent({ : this.eventBus.sendWorkflowEvent({
eventName: 'n8n.workflow.failed', eventName: 'n8n.workflow.failed',
payload: { payload: {
@ -498,7 +498,7 @@ export class InternalHooks {
errorNodeId: telemetryProperties.error_node_id?.toString(), errorNodeId: telemetryProperties.error_node_id?.toString(),
errorMessage: telemetryProperties.error_message?.toString(), errorMessage: telemetryProperties.error_message?.toString(),
}, },
}), }),
); );
void Promise.all([...promises, this.telemetry.trackWorkflowExecution(telemetryProperties)]); void Promise.all([...promises, this.telemetry.trackWorkflowExecution(telemetryProperties)]);

View file

@ -133,7 +133,7 @@ export class LoadNodesAndCredentials {
: [ : [
...(await glob('n8n-nodes-*', globOptions)), ...(await glob('n8n-nodes-*', globOptions)),
...(await glob('@*/n8n-nodes-*', { ...globOptions, deep: 2 })), ...(await glob('@*/n8n-nodes-*', { ...globOptions, deep: 2 })),
]; ];
for (const packagePath of installedPackagePaths) { for (const packagePath of installedPackagePaths) {
try { try {

View file

@ -108,7 +108,7 @@ export class TestWebhooks implements IWebhookManager {
const executionMode = 'manual'; const executionMode = 'manual';
const executionId = await WebhookHelpers.executeWebhook( const executionId = await WebhookHelpers.executeWebhook(
workflow, workflow,
webhook!, webhook,
workflowEntity, workflowEntity,
workflowStartNode, workflowStartNode,
executionMode, executionMode,

View file

@ -828,7 +828,7 @@ export async function executeWebhook(
: new ApplicationError('There was a problem executing the workflow', { : new ApplicationError('There was a problem executing the workflow', {
level: 'warning', level: 'warning',
cause: e, cause: e,
}); });
if (didSendResponse) throw error; if (didSendResponse) throw error;
responseCallback(error, {}); responseCallback(error, {});
return; return;

View file

@ -19,7 +19,7 @@ type GetPathSegments<Traversable, Filter> = Traversable extends Filter
? [] ? []
: { : {
[K in ValidKeys<Traversable>]: [K, ...GetPathSegments<Traversable[K], Filter>]; [K in ValidKeys<Traversable>]: [K, ...GetPathSegments<Traversable[K], Filter>];
}[ValidKeys<Traversable>]; }[ValidKeys<Traversable>];
/** /**
* Transform a union of string arrays (path segments) into a union of strings (dotted paths). * Transform a union of string arrays (path segments) into a union of strings (dotted paths).
@ -31,12 +31,12 @@ type GetPathSegments<Traversable, Filter> = Traversable extends Filter
type JoinByDotting<T extends string[]> = T extends [infer F] type JoinByDotting<T extends string[]> = T extends [infer F]
? F ? F
: T extends [infer F, ...infer R] : T extends [infer F, ...infer R]
? F extends string ? F extends string
? R extends string[] ? R extends string[]
? `${F}.${JoinByDotting<R>}` ? `${F}.${JoinByDotting<R>}`
: never : never
: never : never
: string; : string;
type ToDottedPath<T> = JoinByDotting<RemoveExcess<T>>; type ToDottedPath<T> = JoinByDotting<RemoveExcess<T>>;
@ -64,14 +64,14 @@ type ConfigOptionPath =
type ToReturnType<T extends ConfigOptionPath> = T extends NumericPath type ToReturnType<T extends ConfigOptionPath> = T extends NumericPath
? number ? number
: T extends BooleanPath : T extends BooleanPath
? boolean ? boolean
: T extends StringLiteralArrayPath : T extends StringLiteralArrayPath
? StringLiteralMap[T] ? StringLiteralMap[T]
: T extends keyof ExceptionPaths : T extends keyof ExceptionPaths
? ExceptionPaths[T] ? ExceptionPaths[T]
: T extends StringPath : T extends StringPath
? string ? string
: unknown; : unknown;
type ExceptionPaths = { type ExceptionPaths = {
'queue.bull.redis': object; 'queue.bull.redis': object;
@ -86,11 +86,12 @@ type ExceptionPaths = {
// string literals map // string literals map
// ----------------------------------- // -----------------------------------
type GetPathSegmentsWithUnions<T> = T extends ReadonlyArray<infer C> type GetPathSegmentsWithUnions<T> =
? [C] T extends ReadonlyArray<infer C>
: { ? [C]
[K in ValidKeys<T>]: [K, ...GetPathSegmentsWithUnions<T[K]>]; : {
}[ValidKeys<T>]; [K in ValidKeys<T>]: [K, ...GetPathSegmentsWithUnions<T[K]>];
}[ValidKeys<T>];
type ToPathUnionPair<T extends string[]> = T extends [...infer Path, infer Union] type ToPathUnionPair<T extends string[]> = T extends [...infer Path, infer Union]
? Path extends string[] ? Path extends string[]

View file

@ -358,7 +358,7 @@ export class CredentialsController {
); );
if (newShareeIds.length) { if (newShareeIds.length) {
await this.enterpriseCredentialsService.share(trx, credential!, newShareeIds); await this.enterpriseCredentialsService.share(trx, credential, newShareeIds);
} }
}); });

View file

@ -29,15 +29,15 @@ export class CreateLdapEntities1674509946020 implements ReversibleMigration {
dbType === 'sqlite' dbType === 'sqlite'
? 'INTEGER PRIMARY KEY AUTOINCREMENT' ? 'INTEGER PRIMARY KEY AUTOINCREMENT'
: dbType === 'postgresdb' : dbType === 'postgresdb'
? 'SERIAL NOT NULL PRIMARY KEY' ? 'SERIAL NOT NULL PRIMARY KEY'
: 'INTEGER NOT NULL AUTO_INCREMENT'; : 'INTEGER NOT NULL AUTO_INCREMENT';
const timestampColumn = const timestampColumn =
dbType === 'sqlite' dbType === 'sqlite'
? 'DATETIME NOT NULL' ? 'DATETIME NOT NULL'
: dbType === 'postgresdb' : dbType === 'postgresdb'
? 'TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP' ? 'TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP'
: 'DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP'; : 'DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP';
await runQuery( await runQuery(
`CREATE TABLE IF NOT EXISTS ${escape.tableName('auth_provider_sync_history')} ( `CREATE TABLE IF NOT EXISTS ${escape.tableName('auth_provider_sync_history')} (

View file

@ -31,7 +31,7 @@ export class InstalledPackagesRepository extends Repository<InstalledPackages> {
installedPackage.installedNodes = []; installedPackage.installedNodes = [];
return loadedNodes.map(async (loadedNode) => { for (const loadedNode of loadedNodes) {
const installedNode = this.installedNodesRepository.create({ const installedNode = this.installedNodesRepository.create({
name: nodeTypes[loadedNode.name].type.description.displayName, name: nodeTypes[loadedNode.name].type.description.displayName,
type: loadedNode.name, type: loadedNode.name,
@ -41,8 +41,8 @@ export class InstalledPackagesRepository extends Repository<InstalledPackages> {
installedPackage.installedNodes.push(installedNode); installedPackage.installedNodes.push(installedNode);
return await manager.save(installedNode); await manager.save(installedNode);
}); }
}); });
return installedPackage!; return installedPackage!;

View file

@ -136,7 +136,7 @@ export class WorkflowRepository extends Repository<WorkflowEntity> {
updatedAt: true, updatedAt: true,
versionId: true, versionId: true,
shared: { userId: true, role: true }, shared: { userId: true, role: true },
}; };
delete select?.ownedBy; // remove non-entity field, handled after query delete select?.ownedBy; // remove non-entity field, handled after query

View file

@ -26,7 +26,7 @@ export function getLabelsForEvent(event: EventMessageTypes): Record<string, stri
credential_type: getLabelValueForCredential( credential_type: getLabelValueForCredential(
event.payload.credentialType ?? 'unknown', event.payload.credentialType ?? 'unknown',
), ),
} }
: {}; : {};
} }

View file

@ -127,11 +127,11 @@ export class CredentialsTester {
? { ? {
status: 'OK', status: 'OK',
message: OAUTH2_CREDENTIAL_TEST_SUCCEEDED, message: OAUTH2_CREDENTIAL_TEST_SUCCEEDED,
} }
: { : {
status: 'Error', status: 'Error',
message: OAUTH2_CREDENTIAL_TEST_FAILED, message: OAUTH2_CREDENTIAL_TEST_FAILED,
}; };
}; };
} }

View file

@ -49,13 +49,12 @@ export function getWorkerCommandReceivedHandler(options: WorkerCommandReceivedHa
arch: os.arch(), arch: os.arch(),
platform: os.platform(), platform: os.platform(),
hostname: os.hostname(), hostname: os.hostname(),
interfaces: Object.values(os.networkInterfaces()).flatMap( interfaces: Object.values(os.networkInterfaces()).flatMap((interfaces) =>
(interfaces) => (interfaces ?? [])?.map((net) => ({
(interfaces ?? [])?.map((net) => ({ family: net.family,
family: net.family, address: net.address,
address: net.address, internal: net.internal,
internal: net.internal, })),
})),
), ),
version: N8N_VERSION, version: N8N_VERSION,
}, },

View file

@ -51,7 +51,7 @@ export class WorkflowService {
? { ? {
workflows: workflows.map((w) => this.ownershipService.addOwnedByAndSharedWith(w)), workflows: workflows.map((w) => this.ownershipService.addOwnedByAndSharedWith(w)),
count, count,
} }
: { workflows, count }; : { workflows, count };
} }

View file

@ -393,7 +393,7 @@ export class WorkflowsController {
if (newShareeIds.length) { if (newShareeIds.length) {
const users = await this.userRepository.getByIds(trx, newShareeIds); const users = await this.userRepository.getByIds(trx, newShareeIds);
await this.sharedWorkflowRepository.share(trx, workflow!, users); await this.sharedWorkflowRepository.share(trx, workflow, users);
} }
}); });

View file

@ -66,7 +66,7 @@ describe('GET /workflow-history/:workflowId', () => {
), ),
); );
const last = versions.sort((a, b) => b.createdAt.valueOf() - a.createdAt.valueOf())[0]! as any; const last = versions.sort((a, b) => b.createdAt.valueOf() - a.createdAt.valueOf())[0] as any;
delete last.nodes; delete last.nodes;
delete last.connections; delete last.connections;
@ -95,7 +95,7 @@ describe('GET /workflow-history/:workflowId', () => {
new Array(10).fill(undefined).map(async (_) => await createWorkflowHistoryItem(workflow2.id)), new Array(10).fill(undefined).map(async (_) => await createWorkflowHistoryItem(workflow2.id)),
); );
const last = versions.sort((a, b) => b.createdAt.valueOf() - a.createdAt.valueOf())[0]! as any; const last = versions.sort((a, b) => b.createdAt.valueOf() - a.createdAt.valueOf())[0] as any;
delete last.nodes; delete last.nodes;
delete last.connections; delete last.connections;
@ -119,7 +119,7 @@ describe('GET /workflow-history/:workflowId', () => {
), ),
); );
const last = versions.sort((a, b) => b.createdAt.valueOf() - a.createdAt.valueOf())[0]! as any; const last = versions.sort((a, b) => b.createdAt.valueOf() - a.createdAt.valueOf())[0] as any;
delete last.nodes; delete last.nodes;
delete last.connections; delete last.connections;
@ -143,7 +143,7 @@ describe('GET /workflow-history/:workflowId', () => {
), ),
); );
const last = versions.sort((a, b) => b.createdAt.valueOf() - a.createdAt.valueOf())[5]! as any; const last = versions.sort((a, b) => b.createdAt.valueOf() - a.createdAt.valueOf())[5] as any;
delete last.nodes; delete last.nodes;
delete last.connections; delete last.connections;

View file

@ -810,7 +810,7 @@ export async function proxyRequestToAxios(
statusCode: response.status, statusCode: response.status,
statusMessage: response.statusText, statusMessage: response.statusText,
request: response.request, request: response.request,
} }
: body; : body;
} catch (error) { } catch (error) {
const { config, response } = error; const { config, response } = error;
@ -1042,7 +1042,7 @@ export function assertBinaryData(
propertyName: string, propertyName: string,
inputIndex: number, inputIndex: number,
): IBinaryData { ): IBinaryData {
const binaryKeyData = inputData.main[inputIndex]![itemIndex]!.binary; const binaryKeyData = inputData.main[inputIndex]![itemIndex].binary;
if (binaryKeyData === undefined) { if (binaryKeyData === undefined) {
throw new NodeOperationError( throw new NodeOperationError(
node, node,
@ -1079,7 +1079,7 @@ export async function getBinaryDataBuffer(
propertyName: string, propertyName: string,
inputIndex: number, inputIndex: number,
): Promise<Buffer> { ): Promise<Buffer> {
const binaryData = inputData.main[inputIndex]![itemIndex]!.binary![propertyName]!; const binaryData = inputData.main[inputIndex]![itemIndex].binary![propertyName];
return await Container.get(BinaryDataService).getAsBuffer(binaryData); return await Container.get(BinaryDataService).getAsBuffer(binaryData);
} }
@ -1940,7 +1940,7 @@ export function getAdditionalKeys(
getAll(): Record<string, string> { getAll(): Record<string, string> {
return getAllWorkflowExecutionMetadata(runExecutionData); return getAllWorkflowExecutionMetadata(runExecutionData);
}, },
} }
: undefined, : undefined,
}, },
$vars: additionalData.variables, $vars: additionalData.variables,
@ -3204,7 +3204,7 @@ const getFileSystemHelperFunctions = (node: INode): FileSystemHelperFunctions =>
? new NodeOperationError(node, error, { ? new NodeOperationError(node, error, {
message: `The file "${String(filePath)}" could not be accessed.`, message: `The file "${String(filePath)}" could not be accessed.`,
level: 'warning', level: 'warning',
}) })
: error; : error;
} }
if (isFilePathBlocked(filePath as string)) { if (isFilePathBlocked(filePath as string)) {

View file

@ -1575,9 +1575,9 @@ export class WorkflowExecute {
// array as this shows that the parent nodes executed but they did not have any // array as this shows that the parent nodes executed but they did not have any
// data to pass on. // data to pass on.
const inputsWithData = this.runExecutionData const inputsWithData = this.runExecutionData
.executionData!.waitingExecution[nodeName][firstRunIndex].main.map((data, index) => .executionData!.waitingExecution[
data === null ? null : index, nodeName
) ][firstRunIndex].main.map((data, index) => (data === null ? null : index))
.filter((data) => data !== null); .filter((data) => data !== null);
if (requiredInputs !== undefined) { if (requiredInputs !== undefined) {

View file

@ -6,7 +6,7 @@
:disabled="disabled" :disabled="disabled"
:indeterminate="indeterminate" :indeterminate="indeterminate"
:model-value="modelValue" :model-value="modelValue"
@update:modelValue="onUpdateModelValue" @update:model-value="onUpdateModelValue"
> >
<slot></slot> <slot></slot>
<N8nInputLabel <N8nInputLabel

View file

@ -79,7 +79,7 @@ const onActiveChange = (value: string) => {
:model-value="color" :model-value="color"
:name="name" :name="name"
type="text" type="text"
@update:modelValue="onInput" @update:model-value="onInput"
/> />
</span> </span>
</template> </template>

View file

@ -36,7 +36,7 @@
layout="prev, pager, next" layout="prev, pager, next"
:total="totalRows" :total="totalRows"
:current-page="currentPage" :current-page="currentPage"
@update:currentPage="onUpdateCurrentPage" @update:current-page="onUpdateCurrentPage"
/> />
<div :class="$style.pageSizeSelector"> <div :class="$style.pageSizeSelector">
@ -44,7 +44,7 @@
size="mini" size="mini"
:model-value="rowsPerPage" :model-value="rowsPerPage"
teleported teleported
@update:modelValue="onRowsPerPageChange" @update:model-value="onRowsPerPageChange"
> >
<template #prepend>{{ t('datatable.pageSize') }}</template> <template #prepend>{{ t('datatable.pageSize') }}</template>
<N8nOption <N8nOption

View file

@ -3,7 +3,7 @@
v-if="type === 'checkbox'" v-if="type === 'checkbox'"
v-bind="$props" v-bind="$props"
ref="inputRef" ref="inputRef"
@update:modelValue="onUpdateModelValue" @update:model-value="onUpdateModelValue"
@focus="onFocus" @focus="onFocus"
/> />
<N8nInputLabel <N8nInputLabel
@ -20,7 +20,7 @@
:model-value="modelValue" :model-value="modelValue"
:active-color="activeColor" :active-color="activeColor"
:inactive-color="inactiveColor" :inactive-color="inactiveColor"
@update:modelValue="onUpdateModelValue" @update:model-value="onUpdateModelValue"
></ElSwitch> ></ElSwitch>
</N8nInputLabel> </N8nInputLabel>
<N8nInputLabel <N8nInputLabel
@ -42,7 +42,7 @@
:disabled="disabled" :disabled="disabled"
:name="name" :name="name"
:teleported="teleported" :teleported="teleported"
@update:modelValue="onUpdateModelValue" @update:model-value="onUpdateModelValue"
@focus="onFocus" @focus="onFocus"
@blur="onBlur" @blur="onBlur"
> >
@ -65,7 +65,7 @@
:maxlength="maxlength" :maxlength="maxlength"
:autocomplete="autocomplete" :autocomplete="autocomplete"
:disabled="disabled" :disabled="disabled"
@update:modelValue="onUpdateModelValue" @update:model-value="onUpdateModelValue"
@blur="onBlur" @blur="onBlur"
@focus="onFocus" @focus="onFocus"
/> />

View file

@ -27,7 +27,7 @@
:show-validation-warnings="showValidationWarnings" :show-validation-warnings="showValidationWarnings"
:teleported="teleported" :teleported="teleported"
:tag-size="tagSize" :tag-size="tagSize"
@update:modelValue="(value) => onUpdateModelValue(input.name, value)" @update:model-value="(value) => onUpdateModelValue(input.name, value)"
@validate="(value) => onValidate(input.name, value)" @validate="(value) => onValidate(input.name, value)"
@enter="onSubmit" @enter="onSubmit"
/> />

View file

@ -44,7 +44,7 @@
type="textarea" type="textarea"
:rows="5" :rows="5"
@blur="onInputBlur" @blur="onInputBlur"
@update:modelValue="onUpdateModelValue" @update:model-value="onUpdateModelValue"
@wheel="onInputScroll" @wheel="onInputScroll"
/> />
</div> </div>

View file

@ -81,6 +81,6 @@ export function createComponentRenderer(
...defaultOptions.global, ...defaultOptions.global,
...options.global, ...options.global,
}, },
}, },
); );
} }

View file

@ -25,7 +25,7 @@
<template #footer="{ close }"> <template #footer="{ close }">
<div :class="$style.footer"> <div :class="$style.footer">
<el-checkbox :model-value="checked" @update:modelValue="handleCheckboxChange">{{ <el-checkbox :model-value="checked" @update:model-value="handleCheckboxChange">{{
$locale.baseText('generic.dontShowAgain') $locale.baseText('generic.dontShowAgain')
}}</el-checkbox> }}</el-checkbox>
<n8n-button :label="$locale.baseText('activationModal.gotIt')" @click="close" /> <n8n-button :label="$locale.baseText('activationModal.gotIt')" @click="close" />

View file

@ -32,7 +32,7 @@
<AskAI <AskAI
:key="activeTab" :key="activeTab"
:has-changes="hasChanges" :has-changes="hasChanges"
@replaceCode="onReplaceCode" @replace-code="onReplaceCode"
@started-loading="isLoadingAIResponse = true" @started-loading="isLoadingAIResponse = true"
@finished-loading="isLoadingAIResponse = false" @finished-loading="isLoadingAIResponse = false"
/> />

View file

@ -161,7 +161,7 @@ export const codeNodeEditorTheme = ({
{ tag: [tags.processingInstruction, tags.string, tags.inserted], color: '#98c379' }, { tag: [tags.processingInstruction, tags.string, tags.inserted], color: '#98c379' },
{ tag: tags.invalid, color: 'red', 'font-weight': 'bold' }, { tag: tags.invalid, color: 'red', 'font-weight': 'bold' },
]), ]),
) )
: syntaxHighlighting( : syntaxHighlighting(
HighlightStyle.define([ HighlightStyle.define([
{ {
@ -204,5 +204,5 @@ export const codeNodeEditorTheme = ({
color: 'var(--color-code-tags-definition)', color: 'var(--color-code-tags-definition)',
}, },
]), ]),
), ),
]; ];

View file

@ -13,7 +13,7 @@
:hide-delete="hideDelete" :hide-delete="hideDelete"
:indent="true" :indent="true"
:is-read-only="isReadOnly" :is-read-only="isReadOnly"
@valueChanged="valueChanged" @value-changed="valueChanged"
/> />
</Suspense> </Suspense>
@ -31,7 +31,7 @@
:placeholder="getPlaceholderText" :placeholder="getPlaceholderText"
size="small" size="small"
filterable filterable
@update:modelValue="optionSelected" @update:model-value="optionSelected"
> >
<n8n-option <n8n-option
v-for="item in parameterOptions" v-for="item in parameterOptions"

View file

@ -61,7 +61,7 @@
:class="[$style.checkbox, checkboxWarning ? $style.error : '', 'mt-l']" :class="[$style.checkbox, checkboxWarning ? $style.error : '', 'mt-l']"
:disabled="loading" :disabled="loading"
data-test-id="user-agreement-checkbox" data-test-id="user-agreement-checkbox"
@update:modelValue="onCheckboxChecked" @update:model-value="onCheckboxChecked"
> >
<n8n-text> <n8n-text>
{{ $locale.baseText('settings.communityNodes.installModal.checkbox.label') }} </n8n-text {{ $locale.baseText('settings.communityNodes.installModal.checkbox.label') }} </n8n-text

View file

@ -50,7 +50,7 @@ function onVisibleChange(open: boolean) {
data-test-id="context-menu" data-test-id="context-menu"
:hide-arrow="target.source !== 'node-button'" :hide-arrow="target.source !== 'node-button'"
@select="onActionSelect" @select="onActionSelect"
@visibleChange="onVisibleChange" @visible-change="onVisibleChange"
> >
<template #activator> <template #activator>
<div :class="$style.activator"></div> <div :class="$style.activator"></div>

View file

@ -116,7 +116,7 @@ export default defineComponent({
label: this.$locale.baseText('credentials.item.delete'), label: this.$locale.baseText('credentials.item.delete'),
value: CREDENTIAL_LIST_ITEM_ACTIONS.DELETE, value: CREDENTIAL_LIST_ITEM_ACTIONS.DELETE,
}, },
] ]
: [], : [],
); );
}, },

View file

@ -140,7 +140,7 @@ defineExpose({
:label="prop.value" :label="prop.value"
:class="$style.authRadioButton" :class="$style.authRadioButton"
border border
@update:modelValue="onAuthTypeChange" @update:model-value="onAuthTypeChange"
>{{ prop.name }}</el-radio >{{ prop.name }}</el-radio
> >
</div> </div>

View file

@ -74,7 +74,7 @@
<AuthTypeSelector <AuthTypeSelector
v-if="showAuthTypeSelector && isNewCredential" v-if="showAuthTypeSelector && isNewCredential"
:credential-type="credentialType" :credential-type="credentialType"
@authTypeChanged="onAuthTypeChange" @auth-type-changed="onAuthTypeChange"
/> />
<CopyInput <CopyInput

View file

@ -20,7 +20,7 @@
:readonly="!credentialPermissions.update || !credentialType" :readonly="!credentialPermissions.update || !credentialType"
type="Credential" type="Credential"
data-test-id="credential-name" data-test-id="credential-name"
@update:modelValue="onNameEdit" @update:model-value="onNameEdit"
/> />
</div> </div>
<div :class="$style.credActions"> <div :class="$style.credActions">
@ -81,8 +81,8 @@
@update="onDataChange" @update="onDataChange"
@oauth="oAuthCredentialAuthorize" @oauth="oAuthCredentialAuthorize"
@retest="retestCredential" @retest="retestCredential"
@scrollToTop="scrollToTop" @scroll-to-top="scrollToTop"
@authTypeChanged="onAuthTypeChanged" @auth-type-changed="onAuthTypeChanged"
/> />
</div> </div>
<div v-else-if="activeTab === 'sharing' && credentialType" :class="$style.mainContent"> <div v-else-if="activeTab === 'sharing' && credentialType" :class="$style.mainContent">
@ -92,7 +92,7 @@
:credential-id="credentialId" :credential-id="credentialId"
:credential-permissions="credentialPermissions" :credential-permissions="credentialPermissions"
:modal-bus="modalBus" :modal-bus="modalBus"
@update:modelValue="onChangeSharedWith" @update:model-value="onChangeSharedWith"
/> />
</div> </div>
<div v-else-if="activeTab === 'details' && credentialType" :class="$style.mainContent"> <div v-else-if="activeTab === 'details' && credentialType" :class="$style.mainContent">

View file

@ -64,7 +64,7 @@
:current-user-id="usersStore.currentUser.id" :current-user-id="usersStore.currentUser.id"
:placeholder="$locale.baseText('credentialEdit.credentialSharing.select.placeholder')" :placeholder="$locale.baseText('credentialEdit.credentialSharing.select.placeholder')"
data-test-id="credential-sharing-modal-users-select" data-test-id="credential-sharing-modal-users-select"
@update:modelValue="onAddSharee" @update:model-value="onAddSharee"
> >
<template #prefix> <template #prefix>
<n8n-icon icon="search" /> <n8n-icon icon="search" />

View file

@ -41,7 +41,7 @@ const onCredentialSelected = (credentialId: string) => {
<n8n-select <n8n-select
size="small" size="small"
:model-value="props.selectedCredentialId" :model-value="props.selectedCredentialId"
@update:modelValue="onCredentialSelected" @update:model-value="onCredentialSelected"
> >
<n8n-option <n8n-option
v-for="item in props.credentialOptions" v-for="item in props.credentialOptions"

View file

@ -12,7 +12,7 @@
:title="displayTitle" :title="displayTitle"
:disabled="isReadOnly" :disabled="isReadOnly"
data-test-id="credential-select" data-test-id="credential-select"
@update:modelValue="(value) => $emit('update:modelValue', value)" @update:model-value="(value) => $emit('update:modelValue', value)"
@keydown.stop @keydown.stop
@focus="$emit('setFocus')" @focus="$emit('setFocus')"
@blur="$emit('onBlur')" @blur="$emit('onBlur')"
@ -48,7 +48,7 @@
<NodeCredentials <NodeCredentials
:node="node" :node="node"
:override-cred-type="node.parameters[parameter.name]" :override-cred-type="node.parameters[parameter.name]"
@credentialSelected="(updateInformation) => $emit('credentialSelected', updateInformation)" @credential-selected="(updateInformation) => $emit('credentialSelected', updateInformation)"
/> />
</div> </div>
</div> </div>

View file

@ -26,7 +26,7 @@
size="xlarge" size="xlarge"
:model-value="selected" :model-value="selected"
data-test-id="new-credential-type-select" data-test-id="new-credential-type-select"
@update:modelValue="onSelect" @update:model-value="onSelect"
> >
<template #prefix> <template #prefix>
<font-awesome-icon icon="search" /> <font-awesome-icon icon="search" />

View file

@ -23,7 +23,7 @@
<el-radio <el-radio
:model-value="operation" :model-value="operation"
label="transfer" label="transfer"
@update:modelValue="() => setOperation('transfer')" @update:model-value="() => setOperation('transfer')"
> >
<n8n-text color="text-dark">{{ <n8n-text color="text-dark">{{
$locale.baseText('settings.users.transferWorkflowsAndCredentials') $locale.baseText('settings.users.transferWorkflowsAndCredentials')
@ -36,14 +36,14 @@
:model-value="transferId" :model-value="transferId"
:ignore-ids="ignoreIds" :ignore-ids="ignoreIds"
:current-user-id="usersStore.currentUserId" :current-user-id="usersStore.currentUserId"
@update:modelValue="setTransferId" @update:model-value="setTransferId"
/> />
</n8n-input-label> </n8n-input-label>
</div> </div>
<el-radio <el-radio
:model-value="operation" :model-value="operation"
label="delete" label="delete"
@update:modelValue="() => setOperation('delete')" @update:model-value="() => setOperation('delete')"
> >
<n8n-text color="text-dark">{{ <n8n-text color="text-dark">{{
$locale.baseText('settings.users.deleteWorkflowsAndCredentials') $locale.baseText('settings.users.deleteWorkflowsAndCredentials')
@ -58,7 +58,7 @@
<n8n-input <n8n-input
:model-value="deleteConfirmText" :model-value="deleteConfirmText"
:placeholder="$locale.baseText('settings.users.deleteConfirmationText')" :placeholder="$locale.baseText('settings.users.deleteConfirmationText')"
@update:modelValue="setConfirmText" @update:model-value="setConfirmText"
/> />
</n8n-input-label> </n8n-input-label>
</div> </div>

View file

@ -198,7 +198,7 @@ onBeforeMount(() => {
:model-value="filter.tags" :model-value="filter.tags"
:create-enabled="false" :create-enabled="false"
data-test-id="executions-filter-tags-select" data-test-id="executions-filter-tags-select"
@update:modelValue="onTagsChange" @update:model-value="onTagsChange"
/> />
</div> </div>
<div :class="$style.group"> <div :class="$style.group">
@ -289,7 +289,7 @@ onBeforeMount(() => {
:placeholder="locale.baseText('executionsFilter.savedDataKeyPlaceholder')" :placeholder="locale.baseText('executionsFilter.savedDataKeyPlaceholder')"
:model-value="filter.metadata[0]?.key" :model-value="filter.metadata[0]?.key"
data-test-id="execution-filter-saved-data-key-input" data-test-id="execution-filter-saved-data-key-input"
@update:modelValue="onFilterMetaChange(0, 'key', $event)" @update:model-value="onFilterMetaChange(0, 'key', $event)"
/> />
</n8n-tooltip> </n8n-tooltip>
<label for="execution-filter-saved-data-value">{{ <label for="execution-filter-saved-data-value">{{
@ -313,7 +313,7 @@ onBeforeMount(() => {
:placeholder="locale.baseText('executionsFilter.savedDataValuePlaceholder')" :placeholder="locale.baseText('executionsFilter.savedDataValuePlaceholder')"
:model-value="filter.metadata[0]?.value" :model-value="filter.metadata[0]?.value"
data-test-id="execution-filter-saved-data-value-input" data-test-id="execution-filter-saved-data-value-input"
@update:modelValue="onFilterMetaChange(0, 'value', $event)" @update:model-value="onFilterMetaChange(0, 'value', $event)"
/> />
</n8n-tooltip> </n8n-tooltip>
</div> </div>

View file

@ -10,14 +10,14 @@
v-model="autoRefresh" v-model="autoRefresh"
class="mr-xl" class="mr-xl"
data-test-id="execution-auto-refresh-checkbox" data-test-id="execution-auto-refresh-checkbox"
@update:modelValue="handleAutoRefreshToggle" @update:model-value="handleAutoRefreshToggle"
> >
{{ i18n.baseText('executionsList.autoRefresh') }} {{ i18n.baseText('executionsList.autoRefresh') }}
</el-checkbox> </el-checkbox>
<ExecutionFilter <ExecutionFilter
v-show="!isMounting" v-show="!isMounting"
:workflows="workflows" :workflows="workflows"
@filterChanged="onFilterChanged" @filter-changed="onFilterChanged"
/> />
</div> </div>
</div> </div>
@ -33,7 +33,7 @@
" "
:model-value="allExistingSelected" :model-value="allExistingSelected"
data-test-id="select-all-executions-checkbox" data-test-id="select-all-executions-checkbox"
@update:modelValue="handleCheckAllExistingChange" @update:model-value="handleCheckAllExistingChange"
/> />
<div v-if="isMounting"> <div v-if="isMounting">
@ -50,7 +50,7 @@
:disabled="finishedExecutionsCount < 1" :disabled="finishedExecutionsCount < 1"
label="" label=""
data-test-id="select-visible-executions-checkbox" data-test-id="select-visible-executions-checkbox"
@update:modelValue="handleCheckAllVisibleChange" @update:model-value="handleCheckAllVisibleChange"
/> />
</th> </th>
<th>{{ i18n.baseText('executionsList.name') }}</th> <th>{{ i18n.baseText('executionsList.name') }}</th>
@ -75,7 +75,7 @@
:model-value="selectedItems[execution.id] || allExistingSelected" :model-value="selectedItems[execution.id] || allExistingSelected"
label="" label=""
data-test-id="select-execution-checkbox" data-test-id="select-execution-checkbox"
@update:modelValue="handleCheckboxChanged(execution.id)" @update:model-value="handleCheckboxChanged(execution.id)"
/> />
</td> </td>
<td> <td>

View file

@ -191,11 +191,11 @@ export default defineComponent({
? { ? {
text: this.$locale.baseText('executionsList.debug.button.copyToEditor'), text: this.$locale.baseText('executionsList.debug.button.copyToEditor'),
type: 'secondary', type: 'secondary',
} }
: { : {
text: this.$locale.baseText('executionsList.debug.button.debugInEditor'), text: this.$locale.baseText('executionsList.debug.button.debugInEditor'),
type: 'primary', type: 'primary',
}; };
}, },
}, },
methods: { methods: {

View file

@ -6,7 +6,7 @@
:initially-expanded="shouldExpandAccordion" :initially-expanded="shouldExpandAccordion"
:header-icon="accordionIcon" :header-icon="accordionIcon"
@click:body="onAccordionClick" @click:body="onAccordionClick"
@tooltipClick="onItemTooltipClick" @tooltip-click="onItemTooltipClick"
> >
<template #customContent> <template #customContent>
<footer class="mt-2xs"> <footer class="mt-2xs">
@ -110,7 +110,7 @@ export default defineComponent({
this.productionExecutionsStatus === 'unknown' this.productionExecutionsStatus === 'unknown'
? this.$locale.baseText( ? this.$locale.baseText(
'executionsLandingPage.emptyState.accordion.productionExecutionsWarningTooltip', 'executionsLandingPage.emptyState.accordion.productionExecutionsWarningTooltip',
) )
: null, : null,
}, },
{ {

View file

@ -6,18 +6,18 @@
:loading-more="loadingMore" :loading-more="loadingMore"
:temporary-execution="temporaryExecution" :temporary-execution="temporaryExecution"
:auto-refresh="autoRefresh" :auto-refresh="autoRefresh"
@update:autoRefresh="onAutoRefreshToggle" @update:auto-refresh="onAutoRefreshToggle"
@reloadExecutions="setExecutions" @reload-executions="setExecutions"
@filterUpdated="onFilterUpdated" @filter-updated="onFilterUpdated"
@loadMore="onLoadMore" @load-more="onLoadMore"
@retryExecution="onRetryExecution" @retry-execution="onRetryExecution"
/> />
<div v-if="!hidePreview" :class="$style.content"> <div v-if="!hidePreview" :class="$style.content">
<router-view <router-view
name="executionPreview" name="executionPreview"
@deleteCurrentExecution="onDeleteCurrentExecution" @delete-current-execution="onDeleteCurrentExecution"
@retryExecution="onRetryExecution" @retry-execution="onRetryExecution"
@stopExecution="onStopExecution" @stop-execution="onStopExecution"
/> />
</div> </div>
</div> </div>

View file

@ -13,11 +13,11 @@
<el-checkbox <el-checkbox
:model-value="autoRefresh" :model-value="autoRefresh"
data-test-id="auto-refresh-checkbox" data-test-id="auto-refresh-checkbox"
@update:modelValue="$emit('update:autoRefresh', $event)" @update:model-value="$emit('update:autoRefresh', $event)"
> >
{{ $locale.baseText('executionsList.autoRefresh') }} {{ $locale.baseText('executionsList.autoRefresh') }}
</el-checkbox> </el-checkbox>
<ExecutionFilter popover-placement="left-start" @filterChanged="onFilterChanged" /> <ExecutionFilter popover-placement="left-start" @filter-changed="onFilterChanged" />
</div> </div>
<div <div
ref="executionList" ref="executionList"
@ -39,7 +39,7 @@
:execution="temporaryExecution" :execution="temporaryExecution"
:data-test-id="`execution-details-${temporaryExecution.id}`" :data-test-id="`execution-details-${temporaryExecution.id}`"
:show-gap="true" :show-gap="true"
@retryExecution="onRetryExecution" @retry-execution="onRetryExecution"
/> />
<ExecutionCard <ExecutionCard
v-for="execution in executions" v-for="execution in executions"
@ -47,7 +47,7 @@
:ref="`execution-${execution.id}`" :ref="`execution-${execution.id}`"
:execution="execution" :execution="execution"
:data-test-id="`execution-details-${execution.id}`" :data-test-id="`execution-details-${execution.id}`"
@retryExecution="onRetryExecution" @retry-execution="onRetryExecution"
/> />
<div v-if="loadingMore" class="mr-m"> <div v-if="loadingMore" class="mr-m">
<n8n-loading variant="p" :rows="1" /> <n8n-loading variant="p" :rows="1" />

View file

@ -22,7 +22,7 @@
<VariableSelector <VariableSelector
:path="path" :path="path"
:redact-values="redactValues" :redact-values="redactValues"
@itemSelected="itemSelected" @item-selected="itemSelected"
></VariableSelector> ></VariableSelector>
</div> </div>
</el-col> </el-col>

View file

@ -48,8 +48,8 @@ export default defineComponent({
segment.kind === 'plaintext' segment.kind === 'plaintext'
? segment.plaintext.length ? segment.plaintext.length
: segment.resolved : segment.resolved
? segment.resolved.toString().length ? segment.resolved.toString().length
: 0; : 0;
segment.to = cursor; segment.to = cursor;

View file

@ -45,7 +45,7 @@ const actionDropdownOptions = computed(() => [
value: 'reload', value: 'reload',
label: i18n.baseText('settings.externalSecrets.card.actionDropdown.reload'), label: i18n.baseText('settings.externalSecrets.card.actionDropdown.reload'),
}, },
] ]
: []), : []),
]); ]);

View file

@ -95,7 +95,7 @@ async function onUpdateConnected(value: boolean) {
" "
:disabled="disabled" :disabled="disabled"
data-test-id="settings-external-secrets-connected-switch" data-test-id="settings-external-secrets-connected-switch"
@update:modelValue="onUpdateConnected" @update:model-value="onUpdateConnected"
> >
</el-switch> </el-switch>
</div> </div>

View file

@ -26,7 +26,12 @@ const onCombinatorChange = (combinator: FilterTypeCombinator): void => {
<div v-if="readOnly || options.length === 1"> <div v-if="readOnly || options.length === 1">
{{ i18n.baseText(`filter.combinator.${selected}`) }} {{ i18n.baseText(`filter.combinator.${selected}`) }}
</div> </div>
<n8n-select v-else size="small" :model-value="selected" @update:modelValue="onCombinatorChange"> <n8n-select
v-else
size="small"
:model-value="selected"
@update:model-value="onCombinatorChange"
>
<n8n-option <n8n-option
v-for="option in options" v-for="option in options"
:key="option" :key="option"

View file

@ -171,7 +171,7 @@ const onBlur = (): void => {
<OperatorSelect <OperatorSelect
:selected="`${operator.type}:${operator.operation}`" :selected="`${operator.type}:${operator.operation}`"
:read-only="readOnly" :read-only="readOnly"
@operatorChange="onOperatorChange" @operator-change="onOperatorChange"
></OperatorSelect> ></OperatorSelect>
</template> </template>
<template v-if="!operator.singleValue" #right="{ breakpoint }"> <template v-if="!operator.singleValue" #right="{ breakpoint }">

View file

@ -168,7 +168,7 @@ function getIssues(index: number): string[] {
:options="allowedCombinators" :options="allowedCombinators"
:selected="state.paramValue.combinator" :selected="state.paramValue.combinator"
:class="$style.combinator" :class="$style.combinator"
@combinatorChange="onCombinatorChange" @combinator-change="onCombinatorChange"
/> />
<Condition <Condition

View file

@ -60,7 +60,7 @@ function onGroupSelect(group: string) {
size="small" size="small"
:model-value="selected" :model-value="selected"
:disabled="readOnly" :disabled="readOnly"
@update:modelValue="onOperatorChange" @update:model-value="onOperatorChange"
@visible-change="onSelectVisibleChange" @visible-change="onSelectVisibleChange"
@mouseenter="shouldRenderItems = true" @mouseenter="shouldRenderItems = true"
> >

View file

@ -62,7 +62,7 @@
:path="getPropertyPath(property.name, index)" :path="getPropertyPath(property.name, index)"
:hide-delete="true" :hide-delete="true"
:is-read-only="isReadOnly" :is-read-only="isReadOnly"
@valueChanged="valueChanged" @value-changed="valueChanged"
/> />
</Suspense> </Suspense>
</div> </div>
@ -87,7 +87,7 @@
:is-read-only="isReadOnly" :is-read-only="isReadOnly"
class="parameter-item" class="parameter-item"
:hide-delete="true" :hide-delete="true"
@valueChanged="valueChanged" @value-changed="valueChanged"
/> />
</div> </div>
</div> </div>
@ -107,7 +107,7 @@
:placeholder="getPlaceholderText" :placeholder="getPlaceholderText"
size="small" size="small"
filterable filterable
@update:modelValue="optionSelected" @update:model-value="optionSelected"
> >
<n8n-option <n8n-option
v-for="item in parameterOptions" v-for="item in parameterOptions"

View file

@ -15,7 +15,7 @@
type="textarea" type="textarea"
:rows="5" :rows="5"
:placeholder="$locale.baseText('importCurlModal.input.placeholder')" :placeholder="$locale.baseText('importCurlModal.input.placeholder')"
@update:modelValue="onInput" @update:model-value="onInput"
@focus="$event.target.select()" @focus="$event.target.select()"
/> />
</n8n-input-label> </n8n-input-label>

View file

@ -78,8 +78,8 @@ const resolvedSegments = computed<Resolved[]>(() => {
segment.kind === 'plaintext' segment.kind === 'plaintext'
? segment.plaintext.length ? segment.plaintext.length
: segment.resolved : segment.resolved
? (segment.resolved as string | number | boolean).toString().length ? (segment.resolved as string | number | boolean).toString().length
: 0; : 0;
segment.to = cursor; segment.to = cursor;
return segment; return segment;
}) })

View file

@ -20,7 +20,7 @@
:model-value="modelValue" :model-value="modelValue"
size="xlarge" size="xlarge"
:maxlength="64" :maxlength="64"
@update:modelValue="onNameEdit" @update:model-value="onNameEdit"
@change="disableNameEdit" @change="disableNameEdit"
/> />
</div> </div>

View file

@ -7,7 +7,7 @@
:maxlength="maxLength" :maxlength="maxLength"
:autofocus="true" :autofocus="true"
:event-bus="inputBus" :event-bus="inputBus"
@update:modelValue="onInput" @update:model-value="onInput"
@esc="onEscape" @esc="onEscape"
@blur="onBlur" @blur="onBlur"
@enter="submit" @enter="submit"

View file

@ -16,12 +16,12 @@
:is-pane-active="isPaneActive" :is-pane-active="isPaneActive"
pane-type="input" pane-type="input"
data-test-id="ndv-input-panel" data-test-id="ndv-input-panel"
@activatePane="activatePane" @activate-pane="activatePane"
@itemHover="$emit('itemHover', $event)" @item-hover="$emit('itemHover', $event)"
@linkRun="onLinkRun" @link-run="onLinkRun"
@unlinkRun="onUnlinkRun" @unlink-run="onUnlinkRun"
@runChange="onRunIndexChange" @run-change="onRunIndexChange"
@tableMounted="$emit('tableMounted', $event)" @table-mounted="$emit('tableMounted', $event)"
@search="$emit('search', $event)" @search="$emit('search', $event)"
> >
<template #header> <template #header>
@ -35,7 +35,7 @@
:placeholder="$locale.baseText('ndv.input.parentNodes')" :placeholder="$locale.baseText('ndv.input.parentNodes')"
filterable filterable
data-test-id="ndv-input-select" data-test-id="ndv-input-select"
@update:modelValue="onInputNodeChange" @update:model-value="onInputNodeChange"
> >
<template #prepend> <template #prepend>
<span :class="$style.title">{{ $locale.baseText('ndv.input') }}</span> <span :class="$style.title">{{ $locale.baseText('ndv.input') }}</span>
@ -62,7 +62,7 @@
v-if="isActiveNodeConfig && !readOnly" v-if="isActiveNodeConfig && !readOnly"
:options="inputModes" :options="inputModes"
:model-value="inputMode" :model-value="inputMode"
@update:modelValue="onInputModeChange" @update:model-value="onInputModeChange"
/> />
</div> </div>
</template> </template>
@ -77,7 +77,7 @@
:model-value="mappedNode" :model-value="mappedNode"
size="small" size="small"
teleported teleported
@update:modelValue="onMappedNodeSelected" @update:model-value="onMappedNodeSelected"
@click.stop @click.stop
> >
<template #prepend>{{ $locale.baseText('ndv.input.previousNode') }}</template> <template #prepend>{{ $locale.baseText('ndv.input.previousNode') }}</template>

View file

@ -186,7 +186,7 @@ export default defineComponent({
return this.showInviteUrls return this.showInviteUrls
? this.usersStore.allUsers.filter((user) => ? this.usersStore.allUsers.filter((user) =>
this.showInviteUrls!.find((invite) => invite.user.id === user.id), this.showInviteUrls!.find((invite) => invite.user.id === user.id),
) )
: []; : [];
}, },
isAdvancedPermissionsEnabled(): boolean { isAdvancedPermissionsEnabled(): boolean {

View file

@ -162,11 +162,11 @@ export default defineComponent({
? { ? {
name: VIEWS.EXECUTION_PREVIEW, name: VIEWS.EXECUTION_PREVIEW,
params: { name: routeWorkflowId, executionId: this.activeExecution.id }, params: { name: routeWorkflowId, executionId: this.activeExecution.id },
} }
: { : {
name: VIEWS.EXECUTION_HOME, name: VIEWS.EXECUTION_HOME,
params: { name: routeWorkflowId }, params: { name: routeWorkflowId },
}; };
if (openInNewTab) { if (openInNewTab) {
const { href } = this.$router.resolve(routeToNavigateTo); const { href } = this.$router.resolve(routeToNavigateTo);

View file

@ -7,7 +7,7 @@
[$style.menuCollapsed]: mainSidebarCollapsed, [$style.menuCollapsed]: mainSidebarCollapsed,
}" }"
> >
<n8n-radio-buttons :model-value="activeTab" :options="items" @update:modelValue="onSelect" /> <n8n-radio-buttons :model-value="activeTab" :options="items" @update:model-value="onSelect" />
</div> </div>
</template> </template>

View file

@ -217,7 +217,7 @@ export default defineComponent({
tooltip: { tooltip: {
content: this.$locale.baseText('mainSidebar.workflows.readOnlyEnv.tooltip'), content: this.$locale.baseText('mainSidebar.workflows.readOnlyEnv.tooltip'),
}, },
} }
: undefined, : undefined,
}; };

View file

@ -45,7 +45,7 @@
:path="getPath(index)" :path="getPath(index)"
:hide-delete="hideDelete" :hide-delete="hideDelete"
:is-read-only="isReadOnly" :is-read-only="isReadOnly"
@valueChanged="valueChanged" @value-changed="valueChanged"
/> />
</div> </div>
<div v-else> <div v-else>

View file

@ -3,7 +3,7 @@
<NDVFloatingNodes <NDVFloatingNodes
v-if="activeNode" v-if="activeNode"
:root-node="activeNode" :root-node="activeNode"
@switchSelectedNode="onSwitchSelectedNode" @switch-selected-node="onSwitchSelectedNode"
/> />
<div v-if="!hideInputAndOutput" :class="$style.inputPanel" :style="inputPanelStyles"> <div v-if="!hideInputAndOutput" :class="$style.inputPanel" :style="inputPanelStyles">
<slot name="input"></slot> <slot name="input"></slot>

View file

@ -137,8 +137,8 @@ function nodeTypeSelected(nodeTypes: string[]) {
<Suspense> <Suspense>
<NodeCreator <NodeCreator
:active="createNodeActive" :active="createNodeActive"
@nodeTypeSelected="nodeTypeSelected" @node-type-selected="nodeTypeSelected"
@closeNodeCreator="closeNodeCreator" @close-node-creator="closeNodeCreator"
/> />
</Suspense> </Suspense>
</div> </div>

View file

@ -64,7 +64,7 @@ function onSelected(item: INodeCreateElement) {
icon: item.properties.icon, icon: item.properties.icon,
iconType: 'icon', iconType: 'icon',
}, },
} }
: {}), : {}),
...(item.properties.panelClass ? { panelClass: item.properties.panelClass } : {}), ...(item.properties.panelClass ? { panelClass: item.properties.panelClass } : {}),
rootView: activeViewStack.value.rootView, rootView: activeViewStack.value.rootView,
@ -218,8 +218,8 @@ registerKeyHook('MainViewArrowLeft', {
:root-view="activeViewStack.rootView" :root-view="activeViewStack.rootView"
show-icon show-icon
show-request show-request
@addWebhookNode="selectNodeType([WEBHOOK_NODE_TYPE])" @add-webhook-node="selectNodeType([WEBHOOK_NODE_TYPE])"
@addHttpNode="selectNodeType([HTTP_REQUEST_NODE_TYPE])" @add-http-node="selectNodeType([HTTP_REQUEST_NODE_TYPE])"
/> />
</template> </template>
</ItemsRenderer> </ItemsRenderer>

View file

@ -13,7 +13,7 @@
@mousedown="onMouseDown" @mousedown="onMouseDown"
@mouseup="onMouseUp" @mouseup="onMouseUp"
> >
<NodesListPanel @nodeTypeSelected="onNodeTypeSelected" /> <NodesListPanel @node-type-selected="onNodeTypeSelected" />
</div> </div>
</SlideTransition> </SlideTransition>
</div> </div>

View file

@ -33,7 +33,7 @@ const searchPlaceholder = computed(() =>
isActionsMode.value isActionsMode.value
? i18n.baseText('nodeCreator.actionsCategory.searchActions', { ? i18n.baseText('nodeCreator.actionsCategory.searchActions', {
interpolate: { node: activeViewStack.value.title as string }, interpolate: { node: activeViewStack.value.title as string },
}) })
: i18n.baseText('nodeCreator.searchBar.searchNodes'), : i18n.baseText('nodeCreator.searchBar.searchNodes'),
); );
@ -118,7 +118,7 @@ function onBackButton() {
<transition <transition
v-if="viewStacks.length > 0" v-if="viewStacks.length > 0"
:name="`panel-slide-${activeViewStack.transitionDirection}`" :name="`panel-slide-${activeViewStack.transitionDirection}`"
@afterLeave="onTransitionEnd" @after-leave="onTransitionEnd"
> >
<aside <aside
:key="`${activeViewStack.uuid}`" :key="`${activeViewStack.uuid}`"
@ -169,7 +169,7 @@ function onBackButton() {
: $locale.baseText('nodeCreator.searchBar.searchNodes') : $locale.baseText('nodeCreator.searchBar.searchNodes')
" "
:model-value="activeViewStack.search" :model-value="activeViewStack.search"
@update:modelValue="onSearch" @update:model-value="onSearch"
/> />
<div :class="$style.renderedItems"> <div :class="$style.renderedItems">
<n8n-notice <n8n-notice

View file

@ -116,7 +116,7 @@ function getAiNodesBySubcategory(nodes: INodeTypeDescription[], subcategory: str
type: 'file', type: 'file',
icon: 'openai', icon: 'openai',
fileBuffer: '/static/open-ai.svg', fileBuffer: '/static/open-ai.svg',
} }
: undefined, : undefined,
}, },
})) }))

View file

@ -32,7 +32,7 @@
:model-value="getSelectedId(credentialTypeDescription.name)" :model-value="getSelectedId(credentialTypeDescription.name)"
:placeholder="getSelectPlaceholder(credentialTypeDescription.name, issues)" :placeholder="getSelectPlaceholder(credentialTypeDescription.name, issues)"
size="small" size="small"
@update:modelValue=" @update:model-value="
(value) => (value) =>
onCredentialSelected( onCredentialSelected(
credentialTypeDescription.name, credentialTypeDescription.name,
@ -369,7 +369,7 @@ export default defineComponent({
return issues.length && this.getSelectedName(type) return issues.length && this.getSelectedName(type)
? this.$locale.baseText('nodeCredentials.selectedCredentialUnavailable', { ? this.$locale.baseText('nodeCredentials.selectedCredentialUnavailable', {
interpolate: { name: this.getSelectedName(type) }, interpolate: { name: this.getSelectedName(type) },
}) })
: this.$locale.baseText('nodeCredentials.selectCredential'); : this.$locale.baseText('nodeCredentials.selectCredential');
}, },
credentialInputWrapperStyle(credentialType: string) { credentialInputWrapperStyle(credentialType: string) {

View file

@ -44,8 +44,8 @@
:is-draggable="!isTriggerNode" :is-draggable="!isTriggerNode"
:has-double-width="activeNodeType?.parameterPane === 'wide'" :has-double-width="activeNodeType?.parameterPane === 'wide'"
:node-type="activeNodeType" :node-type="activeNodeType"
@switchSelectedNode="onSwitchSelectedNode" @switch-selected-node="onSwitchSelectedNode"
@openConnectionNodeCreator="onOpenConnectionNodeCreator" @open-connection-node-creator="onOpenConnectionNodeCreator"
@close="close" @close="close"
@init="onPanelsInit" @init="onPanelsInit"
@dragstart="onDragStart" @dragstart="onDragStart"
@ -70,15 +70,15 @@
:read-only="readOnly || hasForeignCredential" :read-only="readOnly || hasForeignCredential"
:is-production-execution-preview="isProductionExecutionPreview" :is-production-execution-preview="isProductionExecutionPreview"
:is-pane-active="isInputPaneActive" :is-pane-active="isInputPaneActive"
@activatePane="activateInputPane" @activate-pane="activateInputPane"
@linkRun="onLinkRunToInput" @link-run="onLinkRunToInput"
@unlinkRun="() => onUnlinkRun('input')" @unlink-run="() => onUnlinkRun('input')"
@runChange="onRunInputIndexChange" @run-change="onRunInputIndexChange"
@openSettings="openSettings" @open-settings="openSettings"
@changeInputNode="onInputNodeChange" @change-input-node="onInputNodeChange"
@execute="onNodeExecute" @execute="onNodeExecute"
@tableMounted="onInputTableMounted" @table-mounted="onInputTableMounted"
@itemHover="onInputItemHover" @item-hover="onInputItemHover"
@search="onSearch" @search="onSearch"
/> />
</template> </template>
@ -93,13 +93,13 @@
:block-u-i="blockUi && isTriggerNode && !isExecutableTriggerNode" :block-u-i="blockUi && isTriggerNode && !isExecutableTriggerNode"
:is-production-execution-preview="isProductionExecutionPreview" :is-production-execution-preview="isProductionExecutionPreview"
:is-pane-active="isOutputPaneActive" :is-pane-active="isOutputPaneActive"
@activatePane="activateOutputPane" @activate-pane="activateOutputPane"
@linkRun="onLinkRunToOutput" @link-run="onLinkRunToOutput"
@unlinkRun="() => onUnlinkRun('output')" @unlink-run="() => onUnlinkRun('output')"
@runChange="onRunOutputIndexChange" @run-change="onRunOutputIndexChange"
@openSettings="openSettings" @open-settings="openSettings"
@tableMounted="onOutputTableMounted" @table-mounted="onOutputTableMounted"
@itemHover="onOutputItemHover" @item-hover="onOutputItemHover"
@search="onSearch" @search="onSearch"
/> />
</template> </template>
@ -113,13 +113,13 @@
:read-only="readOnly" :read-only="readOnly"
:block-u-i="blockUi && showTriggerPanel" :block-u-i="blockUi && showTriggerPanel"
:executable="!readOnly" :executable="!readOnly"
@valueChanged="valueChanged" @value-changed="valueChanged"
@execute="onNodeExecute" @execute="onNodeExecute"
@stopExecution="onStopExecution" @stop-execution="onStopExecution"
@redrawRequired="redrawRequired = true" @redraw-required="redrawRequired = true"
@activate="onWorkflowActivate" @activate="onWorkflowActivate"
@switchSelectedNode="onSwitchSelectedNode" @switch-selected-node="onSwitchSelectedNode"
@openConnectionNodeCreator="onOpenConnectionNodeCreator" @open-connection-node-creator="onOpenConnectionNodeCreator"
/> />
<a <a
v-if="featureRequestUrl" v-if="featureRequestUrl"

View file

@ -14,7 +14,7 @@
:model-value="node.name" :model-value="node.name"
:node-type="nodeType" :node-type="nodeType"
:read-only="isReadOnly" :read-only="isReadOnly"
@update:modelValue="nameChanged" @update:model-value="nameChanged"
></NodeTitle> ></NodeTitle>
<div v-if="isExecutable"> <div v-if="isExecutable">
<NodeExecuteButton <NodeExecuteButton
@ -25,7 +25,7 @@
size="small" size="small"
telemetry-source="parameters" telemetry-source="parameters"
@execute="onNodeExecute" @execute="onNodeExecute"
@stopExecution="onStopExecution" @stop-execution="onStopExecution"
/> />
</div> </div>
</div> </div>
@ -98,17 +98,17 @@
:is-read-only="isReadOnly" :is-read-only="isReadOnly"
:hidden-issues-inputs="hiddenIssuesInputs" :hidden-issues-inputs="hiddenIssuesInputs"
path="parameters" path="parameters"
@valueChanged="valueChanged" @value-changed="valueChanged"
@activate="onWorkflowActivate" @activate="onWorkflowActivate"
@parameterBlur="onParameterBlur" @parameter-blur="onParameterBlur"
> >
<NodeCredentials <NodeCredentials
:node="node" :node="node"
:readonly="isReadOnly" :readonly="isReadOnly"
:show-all="true" :show-all="true"
:hide-issues="hiddenIssuesInputs.includes('credentials')" :hide-issues="hiddenIssuesInputs.includes('credentials')"
@credentialSelected="credentialSelected" @credential-selected="credentialSelected"
@valueChanged="valueChanged" @value-changed="valueChanged"
@blur="onParameterBlur" @blur="onParameterBlur"
/> />
</ParameterInputList> </ParameterInputList>
@ -139,8 +139,8 @@
:is-read-only="isReadOnly" :is-read-only="isReadOnly"
:hidden-issues-inputs="hiddenIssuesInputs" :hidden-issues-inputs="hiddenIssuesInputs"
path="parameters" path="parameters"
@valueChanged="valueChanged" @value-changed="valueChanged"
@parameterBlur="onParameterBlur" @parameter-blur="onParameterBlur"
/> />
<ParameterInputList <ParameterInputList
:parameters="nodeSettings" :parameters="nodeSettings"
@ -149,8 +149,8 @@
:is-read-only="isReadOnly" :is-read-only="isReadOnly"
:hidden-issues-inputs="hiddenIssuesInputs" :hidden-issues-inputs="hiddenIssuesInputs"
path="" path=""
@valueChanged="valueChanged" @value-changed="valueChanged"
@parameterBlur="onParameterBlur" @parameter-blur="onParameterBlur"
/> />
<div class="node-version" data-test-id="node-version"> <div class="node-version" data-test-id="node-version">
{{ {{
@ -169,8 +169,8 @@
v-if="node" v-if="node"
ref="subConnections" ref="subConnections"
:root-node="node" :root-node="node"
@switchSelectedNode="onSwitchSelectedNode" @switch-selected-node="onSwitchSelectedNode"
@openConnectionNodeCreator="onOpenConnectionNodeCreator" @open-connection-node-creator="onOpenConnectionNodeCreator"
/> />
<n8n-block-ui :show="blockUI" /> <n8n-block-ui :show="blockUI" />
</div> </div>
@ -376,7 +376,7 @@ export default defineComponent({
const credential = this.usedCredentials const credential = this.usedCredentials
? Object.values(this.usedCredentials).find((credential) => { ? Object.values(this.usedCredentials).find((credential) => {
return credential.id === this.foreignCredentials[0]; return credential.id === this.foreignCredentials[0];
}) })
: undefined; : undefined;
return this.credentialsStore.getCredentialOwnerName(credential); return this.credentialsStore.getCredentialOwnerName(credential);

View file

@ -2,8 +2,8 @@
<n8n-tabs <n8n-tabs
:options="options" :options="options"
:model-value="modelValue" :model-value="modelValue"
@update:modelValue="onTabSelect" @update:model-value="onTabSelect"
@tooltipClick="onTooltipClick" @tooltip-click="onTooltipClick"
/> />
</template> </template>

View file

@ -15,12 +15,12 @@
:is-pane-active="isPaneActive" :is-pane-active="isPaneActive"
pane-type="output" pane-type="output"
:data-output-type="outputMode" :data-output-type="outputMode"
@activatePane="activatePane" @activate-pane="activatePane"
@runChange="onRunIndexChange" @run-change="onRunIndexChange"
@linkRun="onLinkRun" @link-run="onLinkRun"
@unlinkRun="onUnlinkRun" @unlink-run="onUnlinkRun"
@tableMounted="$emit('tableMounted', $event)" @table-mounted="$emit('tableMounted', $event)"
@itemHover="$emit('itemHover', $event)" @item-hover="$emit('itemHover', $event)"
@search="$emit('search', $event)" @search="$emit('search', $event)"
> >
<template #header> <template #header>
@ -29,7 +29,7 @@
<n8n-radio-buttons <n8n-radio-buttons
v-model="outputMode" v-model="outputMode"
:options="outputTypes" :options="outputTypes"
@update:modelValue="onUpdateOutputMode" @update:model-value="onUpdateOutputMode"
/> />
</template> </template>
<span v-else :class="$style.title"> <span v-else :class="$style.title">

View file

@ -14,7 +14,7 @@
:event-source="eventSource || 'ndv'" :event-source="eventSource || 'ndv'"
:is-read-only="isReadOnly" :is-read-only="isReadOnly"
:redact-values="shouldRedactValue" :redact-values="shouldRedactValue"
@closeDialog="closeExpressionEditDialog" @close-dialog="closeExpressionEditDialog"
@update:model-value="expressionUpdated" @update:model-value="expressionUpdated"
></ExpressionEdit> ></ExpressionEdit>
<div class="parameter-input ignore-key-press" :style="parameterInputWrapperStyle"> <div class="parameter-input ignore-key-press" :style="parameterInputWrapperStyle">
@ -35,7 +35,7 @@
:path="path" :path="path"
:event-bus="eventBus" :event-bus="eventBus"
@update:model-value="valueChanged" @update:model-value="valueChanged"
@modalOpenerClick="openExpressionEditorModal" @modal-opener-click="openExpressionEditorModal"
@focus="setFocus" @focus="setFocus"
@blur="onBlur" @blur="onBlur"
@drop="onResourceLocatorDrop" @drop="onResourceLocatorDrop"
@ -53,7 +53,7 @@
:class="{ 'ph-no-capture': shouldRedactValue }" :class="{ 'ph-no-capture': shouldRedactValue }"
:event-bus="eventBus" :event-bus="eventBus"
@update:model-value="expressionUpdated" @update:model-value="expressionUpdated"
@modalOpenerClick="openExpressionEditorModal" @modal-opener-click="openExpressionEditorModal"
@focus="setFocus" @focus="setFocus"
@blur="onBlur" @blur="onBlur"
/> />
@ -128,7 +128,7 @@
:parameter="parameter" :parameter="parameter"
:path="path" :path="path"
:is-read-only="isReadOnly" :is-read-only="isReadOnly"
@closeDialog="closeTextEditDialog" @close-dialog="closeTextEditDialog"
@update:model-value="expressionUpdated" @update:model-value="expressionUpdated"
></TextEdit> ></TextEdit>
@ -360,10 +360,10 @@
:display-value="displayValue" :display-value="displayValue"
:is-read-only="isReadOnly" :is-read-only="isReadOnly"
:display-title="displayTitle" :display-title="displayTitle"
@credentialSelected="credentialSelected" @credential-selected="credentialSelected"
@update:model-value="valueChanged" @update:model-value="valueChanged"
@setFocus="setFocus" @set-focus="setFocus"
@onBlur="onBlur" @on-blur="onBlur"
> >
<template #issues-and-options> <template #issues-and-options>
<ParameterIssues :issues="getIssues" /> <ParameterIssues :issues="getIssues" />

View file

@ -15,7 +15,7 @@
:is-read-only="false" :is-read-only="false"
:show-options="true" :show-options="true"
:is-value-expression="isValueExpression" :is-value-expression="isValueExpression"
@update:modelValue="optionSelected" @update:model-value="optionSelected"
@menu-expanded="onMenuExpanded" @menu-expanded="onMenuExpanded"
/> />
</template> </template>
@ -34,7 +34,7 @@
:event-bus="eventBus" :event-bus="eventBus"
@focus="onFocus" @focus="onFocus"
@blur="onBlur" @blur="onBlur"
@textInput="valueChanged" @text-input="valueChanged"
@update="valueChanged" @update="valueChanged"
/> />
<div v-if="showRequiredErrors" :class="$style.errors"> <div v-if="showRequiredErrors" :class="$style.errors">

View file

@ -17,7 +17,7 @@
:is-read-only="isReadOnly" :is-read-only="isReadOnly"
:show-options="displayOptions" :show-options="displayOptions"
:show-expression-selector="showExpressionSelector" :show-expression-selector="showExpressionSelector"
@update:modelValue="optionSelected" @update:model-value="optionSelected"
@menu-expanded="onMenuExpanded" @menu-expanded="onMenuExpanded"
/> />
</template> </template>
@ -47,7 +47,7 @@
:event-bus="eventBus" :event-bus="eventBus"
input-size="small" input-size="small"
@update="valueChanged" @update="valueChanged"
@textInput="onTextInput" @text-input="onTextInput"
@focus="onFocus" @focus="onFocus"
@blur="onBlur" @blur="onBlur"
@drop="onDrop" @drop="onDrop"
@ -70,7 +70,7 @@
:is-read-only="isReadOnly" :is-read-only="isReadOnly"
:show-options="displayOptions" :show-options="displayOptions"
:show-expression-selector="showExpressionSelector" :show-expression-selector="showExpressionSelector"
@update:modelValue="optionSelected" @update:model-value="optionSelected"
@menu-expanded="onMenuExpanded" @menu-expanded="onMenuExpanded"
/> />
</div> </div>

View file

@ -18,14 +18,14 @@
:node-values="nodeValues" :node-values="nodeValues"
:path="getPath(parameter.name)" :path="getPath(parameter.name)"
:is-read-only="isReadOnly" :is-read-only="isReadOnly"
@valueChanged="valueChanged" @value-changed="valueChanged"
/> />
</div> </div>
<ImportParameter <ImportParameter
v-else-if="parameter.type === 'curlImport'" v-else-if="parameter.type === 'curlImport'"
:is-read-only="isReadOnly" :is-read-only="isReadOnly"
@valueChanged="valueChanged" @value-changed="valueChanged"
/> />
<n8n-notice <n8n-notice
@ -74,7 +74,7 @@
:node-values="nodeValues" :node-values="nodeValues"
:path="getPath(parameter.name)" :path="getPath(parameter.name)"
:is-read-only="isReadOnly" :is-read-only="isReadOnly"
@valueChanged="valueChanged" @value-changed="valueChanged"
/> />
<FixedCollectionParameter <FixedCollectionParameter
v-else-if="parameter.type === 'fixedCollection'" v-else-if="parameter.type === 'fixedCollection'"
@ -83,7 +83,7 @@
:node-values="nodeValues" :node-values="nodeValues"
:path="getPath(parameter.name)" :path="getPath(parameter.name)"
:is-read-only="isReadOnly" :is-read-only="isReadOnly"
@valueChanged="valueChanged" @value-changed="valueChanged"
/> />
</template> </template>
<template #fallback> <template #fallback>
@ -106,7 +106,7 @@
:dependent-parameters-values="getDependentParametersValues(parameter)" :dependent-parameters-values="getDependentParametersValues(parameter)"
input-size="small" input-size="small"
label-size="small" label-size="small"
@valueChanged="valueChanged" @value-changed="valueChanged"
/> />
<FilterConditions <FilterConditions
v-else-if="parameter.type === 'filter'" v-else-if="parameter.type === 'filter'"
@ -115,7 +115,7 @@
:path="getPath(parameter.name)" :path="getPath(parameter.name)"
:node="node" :node="node"
:read-only="isReadOnly" :read-only="isReadOnly"
@valueChanged="valueChanged" @value-changed="valueChanged"
/> />
<AssignmentCollection <AssignmentCollection
v-else-if="parameter.type === 'assignmentCollection'" v-else-if="parameter.type === 'assignmentCollection'"
@ -124,7 +124,7 @@
:path="getPath(parameter.name)" :path="getPath(parameter.name)"
:node="node" :node="node"
:is-read-only="isReadOnly" :is-read-only="isReadOnly"
@valueChanged="valueChanged" @value-changed="valueChanged"
/> />
<div <div
v-else-if="displayNodeParameter(parameter) && credentialsParameterIndex !== index" v-else-if="displayNodeParameter(parameter) && credentialsParameterIndex !== index"

View file

@ -25,7 +25,7 @@
@focus="onFocus" @focus="onFocus"
@blur="onBlur" @blur="onBlur"
@drop="onDrop" @drop="onDrop"
@textInput="onTextInput" @text-input="onTextInput"
@update="onValueChanged" @update="onValueChanged"
/> />
<div v-if="!hideHint && (expressionOutput || parameterHint)" :class="$style.hint"> <div v-if="!hideHint && (expressionOutput || parameterHint)" :class="$style.hint">

View file

@ -33,7 +33,7 @@
{ label: $locale.baseText('parameterInput.fixed'), value: 'fixed' }, { label: $locale.baseText('parameterInput.fixed'), value: 'fixed' },
{ label: $locale.baseText('parameterInput.expression'), value: 'expression' }, { label: $locale.baseText('parameterInput.expression'), value: 'expression' },
]" ]"
@update:modelValue="onViewSelected" @update:model-value="onViewSelected"
/> />
</div> </div>
</div> </div>

View file

@ -18,9 +18,9 @@
:error-view="currentQueryError" :error-view="currentQueryError"
:width="width" :width="width"
:event-bus="eventBus" :event-bus="eventBus"
@update:modelValue="onListItemSelected" @update:model-value="onListItemSelected"
@filter="onSearchFilter" @filter="onSearchFilter"
@loadMore="loadResourcesDebounced" @load-more="loadResourcesDebounced"
> >
<template #error> <template #error>
<div :class="$style.error" data-test-id="rlc-error-container"> <div :class="$style.error" data-test-id="rlc-error-container">
@ -52,7 +52,7 @@
:disabled="isReadOnly" :disabled="isReadOnly"
:placeholder="$locale.baseText('resourceLocator.modeSelector.placeholder')" :placeholder="$locale.baseText('resourceLocator.modeSelector.placeholder')"
data-test-id="rlc-mode-selector" data-test-id="rlc-mode-selector"
@update:modelValue="onModeSelected" @update:model-value="onModeSelected"
> >
<n8n-option <n8n-option
v-for="mode in parameter.modes" v-for="mode in parameter.modes"
@ -94,8 +94,8 @@
:model-value="expressionDisplayValue" :model-value="expressionDisplayValue"
:path="path" :path="path"
:rows="3" :rows="3"
@update:modelValue="onInputChange" @update:model-value="onInputChange"
@modalOpenerClick="$emit('modalOpenerClick')" @modal-opener-click="$emit('modalOpenerClick')"
/> />
<n8n-input <n8n-input
v-else v-else
@ -109,7 +109,7 @@
:placeholder="inputPlaceholder" :placeholder="inputPlaceholder"
type="text" type="text"
data-test-id="rlc-input" data-test-id="rlc-input"
@update:modelValue="onInputChange" @update:model-value="onInputChange"
@focus="onInputFocus" @focus="onInputFocus"
@blur="onInputBlur" @blur="onInputBlur"
> >

View file

@ -17,7 +17,7 @@
:clearable="true" :clearable="true"
:placeholder="$locale.baseText('resourceLocator.search.placeholder')" :placeholder="$locale.baseText('resourceLocator.search.placeholder')"
data-test-id="rlc-search" data-test-id="rlc-search"
@update:modelValue="onFilterInput" @update:model-value="onFilterInput"
> >
<template #prefix> <template #prefix>
<font-awesome-icon :class="$style.searchIcon" icon="search" /> <font-awesome-icon :class="$style.searchIcon" icon="search" />

View file

@ -300,7 +300,7 @@ defineExpose({
:custom-actions="parameterActions" :custom-actions="parameterActions"
:loading="props.refreshInProgress" :loading="props.refreshInProgress"
:loading-message="fetchingFieldsLabel" :loading-message="fetchingFieldsLabel"
@update:modelValue="onParameterActionSelected" @update:model-value="onParameterActionSelected"
/> />
</template> </template>
</n8n-input-label> </n8n-input-label>
@ -388,7 +388,7 @@ defineExpose({
size="small" size="small"
:teleported="teleported" :teleported="teleported"
:disabled="addFieldOptions.length == 0" :disabled="addFieldOptions.length == 0"
@update:modelValue="addField" @update:model-value="addField"
> >
<n8n-option <n8n-option
v-for="item in addFieldOptions" v-for="item in addFieldOptions"

View file

@ -115,7 +115,7 @@ defineExpose({
:model-value="selected" :model-value="selected"
:teleported="teleported" :teleported="teleported"
:size="props.inputSize" :size="props.inputSize"
@update:modelValue="onModeChanged" @update:model-value="onModeChanged"
> >
<n8n-option <n8n-option
v-for="option in mappingModeOptions" v-for="option in mappingModeOptions"

View file

@ -182,7 +182,7 @@ defineExpose({
:custom-actions="parameterActions" :custom-actions="parameterActions"
:loading="props.refreshInProgress" :loading="props.refreshInProgress"
:loading-message="fetchingFieldsLabel" :loading-message="fetchingFieldsLabel"
@update:modelValue="onParameterActionSelected" @update:model-value="onParameterActionSelected"
/> />
</template> </template>
<n8n-select <n8n-select
@ -191,7 +191,7 @@ defineExpose({
:size="props.inputSize" :size="props.inputSize"
:disabled="loading" :disabled="loading"
:teleported="teleported" :teleported="teleported"
@update:modelValue="onSelectionChange" @update:model-value="onSelectionChange"
> >
<n8n-option <n8n-option
v-for="field in availableMatchingFields" v-for="field in availableMatchingFields"

View file

@ -189,7 +189,7 @@ const defaultSelectedMatchingColumns = computed<string[]>(() => {
acc.push(field.id); acc.push(field.id);
} }
return acc; return acc;
}, [] as string[]); }, [] as string[]);
}); });
const pluralFieldWord = computed<string>(() => { const pluralFieldWord = computed<string>(() => {
@ -461,8 +461,8 @@ defineExpose({
:loading-error="state.loadingError" :loading-error="state.loadingError"
:fields-to-map="state.paramValue.schema" :fields-to-map="state.paramValue.schema"
:teleported="teleported" :teleported="teleported"
@modeChanged="onModeChanged" @mode-changed="onModeChanged"
@retryFetch="initFetching" @retry-fetch="initFetching"
/> />
<MatchingColumnsSelect <MatchingColumnsSelect
v-if="showMatchingColumnsSelector" v-if="showMatchingColumnsSelector"
@ -476,8 +476,8 @@ defineExpose({
:service-name="nodeType?.displayName || locale.baseText('generic.service')" :service-name="nodeType?.displayName || locale.baseText('generic.service')"
:teleported="teleported" :teleported="teleported"
:refresh-in-progress="state.refreshInProgress" :refresh-in-progress="state.refreshInProgress"
@matchingColumnsChanged="onMatchingColumnsChanged" @matching-columns-changed="onMatchingColumnsChanged"
@refreshFieldList="initFetching(true)" @refresh-field-list="initFetching(true)"
/> />
<n8n-text v-if="!showMappingModeSelect && state.loading" size="small"> <n8n-text v-if="!showMappingModeSelect && state.loading" size="small">
<n8n-icon icon="sync-alt" size="xsmall" :spin="true" /> <n8n-icon icon="sync-alt" size="xsmall" :spin="true" />
@ -502,10 +502,10 @@ defineExpose({
:loading="state.loading" :loading="state.loading"
:teleported="teleported" :teleported="teleported"
:refresh-in-progress="state.refreshInProgress" :refresh-in-progress="state.refreshInProgress"
@fieldValueChanged="fieldValueChanged" @field-value-changed="fieldValueChanged"
@removeField="removeField" @remove-field="removeField"
@addField="addField" @add-field="addField"
@refreshFieldList="initFetching(true)" @refresh-field-list="initFetching(true)"
/> />
<n8n-notice <n8n-notice
v-if="state.paramValue.mappingMode === 'autoMapInputData' && hasAvailableMatchingColumns" v-if="state.paramValue.mappingMode === 'autoMapInputData' && hasAvailableMatchingColumns"

View file

@ -56,7 +56,7 @@
:model-value="displayMode" :model-value="displayMode"
:options="buttons" :options="buttons"
data-test-id="ndv-run-data-display-mode" data-test-id="ndv-run-data-display-mode"
@update:modelValue="onDisplayModeChange" @update:model-value="onDisplayModeChange"
/> />
<n8n-icon-button <n8n-icon-button
v-if="canPinData && !isReadOnlyRoute && !readOnlyEnv" v-if="canPinData && !isReadOnlyRoute && !readOnlyEnv"
@ -116,7 +116,7 @@
size="small" size="small"
:model-value="runIndex" :model-value="runIndex"
teleported teleported
@update:modelValue="onRunIndexChange" @update:model-value="onRunIndexChange"
@click.stop @click.stop
> >
<template #prepend>{{ $locale.baseText('ndv.output.run') }}</template> <template #prepend>{{ $locale.baseText('ndv.output.run') }}</template>
@ -160,7 +160,7 @@
<n8n-tabs <n8n-tabs
:model-value="currentOutputIndex" :model-value="currentOutputIndex"
:options="branches" :options="branches"
@update:modelValue="onBranchChange" @update:model-value="onBranchChange"
/> />
<RunDataSearch <RunDataSearch
v-if="showIOSearch" v-if="showIOSearch"
@ -217,7 +217,7 @@
<div :class="[$style.editModeBody, 'ignore-key-press']"> <div :class="[$style.editModeBody, 'ignore-key-press']">
<JsonEditor <JsonEditor
:model-value="editMode.value" :model-value="editMode.value"
@update:modelValue="ndvStore.setOutputPanelEditModeValue($event)" @update:model-value="ndvStore.setOutputPanelEditModeValue($event)"
/> />
</div> </div>
<div :class="$style.editModeFooter"> <div :class="$style.editModeFooter">
@ -372,8 +372,8 @@
:has-default-hover-state="paneType === 'input' && !search" :has-default-hover-state="paneType === 'input' && !search"
:search="search" :search="search"
@mounted="$emit('tableMounted', $event)" @mounted="$emit('tableMounted', $event)"
@activeRowChanged="onItemHover" @active-row-changed="onItemHover"
@displayModeChange="onDisplayModeChange" @display-mode-change="onDisplayModeChange"
/> />
</Suspense> </Suspense>
@ -527,7 +527,7 @@
size="mini" size="mini"
:model-value="pageSize" :model-value="pageSize"
teleported teleported
@update:modelValue="onPageSizeChange" @update:model-value="onPageSizeChange"
> >
<template #prepend>{{ $locale.baseText('ndv.output.pageSize') }}</template> <template #prepend>{{ $locale.baseText('ndv.output.pageSize') }}</template>
<n8n-option v-for="size in pageSizes" :key="size" :label="size" :value="size"> <n8n-option v-for="size in pageSizes" :key="size" :label="size" :value="size">
@ -986,11 +986,11 @@ export default defineComponent({
? this.$locale.baseText('ndv.search.items', { ? this.$locale.baseText('ndv.search.items', {
adjustToNumber: totalItemsCount, adjustToNumber: totalItemsCount,
interpolate: { matched: itemsCount, total: totalItemsCount }, interpolate: { matched: itemsCount, total: totalItemsCount },
}) })
: this.$locale.baseText('ndv.output.items', { : this.$locale.baseText('ndv.output.items', {
adjustToNumber: itemsCount, adjustToNumber: itemsCount,
interpolate: { count: itemsCount }, interpolate: { count: itemsCount },
}); });
let outputName = this.getOutputName(i); let outputName = this.getOutputName(i);
if (`${outputName}` === `${i}`) { if (`${outputName}` === `${i}`) {
@ -1327,12 +1327,12 @@ export default defineComponent({
return Array.isArray(this.pinnedData.data.value) return Array.isArray(this.pinnedData.data.value)
? this.pinnedData.data.value.map((value) => ({ ? this.pinnedData.data.value.map((value) => ({
json: value, json: value,
})) }))
: [ : [
{ {
json: this.pinnedData.data.value, json: this.pinnedData.data.value,
}, },
]; ];
} }
return inputData; return inputData;
}, },

View file

@ -30,7 +30,7 @@
root-path="" root-path=""
selectable-type="single" selectable-type="single"
class="json-data" class="json-data"
@update:selectedValue="selectedJsonPath = $event" @update:selected-value="selectedJsonPath = $event"
> >
<template #renderNodeKey="{ node }"> <template #renderNodeKey="{ node }">
<TextWithHighlights <TextWithHighlights

View file

@ -80,7 +80,7 @@ onUnmounted(() => {
:model-value="modelValue" :model-value="modelValue"
:placeholder="placeholder" :placeholder="placeholder"
size="small" size="small"
@update:modelValue="onSearchUpdate" @update:model-value="onSearchUpdate"
@focus="onFocus" @focus="onFocus"
@blur="onBlur" @blur="onBlur"
> >

View file

@ -35,7 +35,7 @@
active-color="#13ce66" active-color="#13ce66"
inactive-color="#8899AA" inactive-color="#8899AA"
data-test-id="workflow-activate-switch" data-test-id="workflow-activate-switch"
@update:modelValue="onEnabledSwitched($event, destination.id)" @update:model-value="onEnabledSwitched($event, destination.id)"
> >
</el-switch> </el-switch>

View file

@ -27,7 +27,7 @@
:readonly="isTypeAbstract" :readonly="isTypeAbstract"
type="Credential" type="Credential"
data-test-id="subtitle-showing-type" data-test-id="subtitle-showing-type"
@update:modelValue="onLabelChange" @update:model-value="onLabelChange"
/> />
</div> </div>
<div :class="$style.destinationActions"> <div :class="$style.destinationActions">
@ -86,7 +86,7 @@
:placeholder="typeSelectPlaceholder" :placeholder="typeSelectPlaceholder"
data-test-id="select-destination-type" data-test-id="select-destination-type"
name="name" name="name"
@update:modelValue="onTypeSelectInput" @update:model-value="onTypeSelectInput"
> >
<n8n-option <n8n-option
v-for="option in typeSelectOptions || []" v-for="option in typeSelectOptions || []"
@ -119,7 +119,7 @@
:node-values="nodeParameters" :node-values="nodeParameters"
:is-read-only="!canManageLogStreaming" :is-read-only="!canManageLogStreaming"
path="" path=""
@valueChanged="valueChanged" @value-changed="valueChanged"
/> />
</template> </template>
<template v-else-if="isTypeSyslog"> <template v-else-if="isTypeSyslog">
@ -129,7 +129,7 @@
:node-values="nodeParameters" :node-values="nodeParameters"
:is-read-only="!canManageLogStreaming" :is-read-only="!canManageLogStreaming"
path="" path=""
@valueChanged="valueChanged" @value-changed="valueChanged"
/> />
</template> </template>
<template v-else-if="isTypeSentry"> <template v-else-if="isTypeSentry">
@ -139,7 +139,7 @@
:node-values="nodeParameters" :node-values="nodeParameters"
:is-read-only="!canManageLogStreaming" :is-read-only="!canManageLogStreaming"
path="" path=""
@valueChanged="valueChanged" @value-changed="valueChanged"
/> />
</template> </template>
</div> </div>

View file

@ -10,7 +10,7 @@
:model-value="group.selected" :model-value="group.selected"
:indeterminate="!group.selected && group.indeterminate" :indeterminate="!group.selected && group.indeterminate"
:disabled="readonly" :disabled="readonly"
@update:modelValue="onInput" @update:model-value="onInput"
@change="onCheckboxChecked(group.name, $event)" @change="onCheckboxChecked(group.name, $event)"
> >
<strong>{{ groupLabelName(group.name) }}</strong> <strong>{{ groupLabelName(group.name) }}</strong>
@ -30,7 +30,7 @@
v-if="group.name === 'n8n.audit'" v-if="group.name === 'n8n.audit'"
:model-value="logStreamingStore.items[destinationId]?.destination.anonymizeAuditMessages" :model-value="logStreamingStore.items[destinationId]?.destination.anonymizeAuditMessages"
:disabled="readonly" :disabled="readonly"
@update:modelValue="onInput" @update:model-value="onInput"
@change="anonymizeAuditMessagesChanged" @change="anonymizeAuditMessagesChanged"
> >
{{ $locale.baseText('settings.log-streaming.tab.events.anonymize') }} {{ $locale.baseText('settings.log-streaming.tab.events.anonymize') }}
@ -52,7 +52,7 @@
:model-value="event.selected || group.selected" :model-value="event.selected || group.selected"
:indeterminate="event.indeterminate" :indeterminate="event.indeterminate"
:disabled="group.selected || readonly" :disabled="group.selected || readonly"
@update:modelValue="onInput" @update:model-value="onInput"
@change="onCheckboxChecked(event.name, $event)" @change="onCheckboxChecked(event.name, $event)"
> >
{{ event.label }} {{ event.label }}

View file

@ -252,7 +252,7 @@ async function commitAndPush() {
<n8n-checkbox <n8n-checkbox
:indeterminate="selectAllIndeterminate" :indeterminate="selectAllIndeterminate"
:model-value="selectAll" :model-value="selectAll"
@update:modelValue="onToggleSelectAll" @update:model-value="onToggleSelectAll"
> >
<n8n-text bold tag="strong"> <n8n-text bold tag="strong">
{{ i18n.baseText('settings.sourceControl.modals.push.workflowsToCommit') }} {{ i18n.baseText('settings.sourceControl.modals.push.workflowsToCommit') }}
@ -273,7 +273,7 @@ async function commitAndPush() {
<n8n-checkbox <n8n-checkbox
:model-value="staged[file.file]" :model-value="staged[file.file]"
:class="$style.listItemCheckbox" :class="$style.listItemCheckbox"
@update:modelValue="setStagedStatus(file, !staged[file.file])" @update:model-value="setStagedStatus(file, !staged[file.file])"
/> />
<div> <div>
<n8n-text v-if="file.status === 'deleted'" color="text-light"> <n8n-text v-if="file.status === 'deleted'" color="text-light">

View file

@ -40,7 +40,7 @@
@resize="onResize" @resize="onResize"
@resizeend="onResizeEnd" @resizeend="onResizeEnd"
@markdown-click="onMarkdownClick" @markdown-click="onMarkdownClick"
@update:modelValue="onInputChange" @update:model-value="onInputChange"
/> />
</div> </div>
@ -257,8 +257,8 @@ export default defineComponent({
isOnboardingNote && isWelcomeVideo isOnboardingNote && isWelcomeVideo
? 'welcome_video' ? 'welcome_video'
: isOnboardingNote && link.getAttribute('href') === '/templates' : isOnboardingNote && link.getAttribute('href') === '/templates'
? 'templates' ? 'templates'
: 'other'; : 'other';
this.$telemetry.track('User clicked note link', { type }); this.$telemetry.track('User clicked note link', { type });
} }

View file

@ -67,7 +67,7 @@ function onOpenCollection({ id }: { event: Event; id: number }) {
:show-item-count="false" :show-item-count="false"
:show-navigation="false" :show-navigation="false"
cards-width="24%" cards-width="24%"
@openCollection="onOpenCollection" @open-collection="onOpenCollection"
/> />
</div> </div>
</div> </div>

View file

@ -18,7 +18,7 @@
loading-text="..." loading-text="..."
popper-class="tags-dropdown" popper-class="tags-dropdown"
data-test-id="tags-dropdown" data-test-id="tags-dropdown"
@update:modelValue="onTagsUpdated" @update:model-value="onTagsUpdated"
@visible-change="onVisibleChange" @visible-change="onVisibleChange"
@remove-tag="onRemoveTag" @remove-tag="onRemoveTag"
> >

Some files were not shown because too many files have changed in this diff Show more