mirror of
https://github.com/n8n-io/n8n.git
synced 2024-08-16 16:40:30 +03:00
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:
parent
117b57ccc5
commit
372d5c7d01
@ -83,12 +83,11 @@
|
||||
"axios": "1.6.7",
|
||||
"chokidar": "3.5.2",
|
||||
"formidable": "3.5.1",
|
||||
"ip": "2.0.1",
|
||||
"prettier": "^3.1.0",
|
||||
"prettier": "^3.2.5",
|
||||
"semver": "^7.5.4",
|
||||
"tslib": "^2.6.1",
|
||||
"tslib": "^2.6.2",
|
||||
"tsconfig-paths": "^4.2.0",
|
||||
"typescript": "^5.3.0"
|
||||
"typescript": "^5.4.2"
|
||||
},
|
||||
"patchedDependencies": {
|
||||
"typedi@0.10.0": "patches/typedi@0.10.0.patch",
|
||||
|
@ -250,7 +250,7 @@ export class LmChatOpenAi implements INodeType {
|
||||
modelKwargs: options.responseFormat
|
||||
? {
|
||||
response_format: { type: options.responseFormat },
|
||||
}
|
||||
}
|
||||
: undefined,
|
||||
});
|
||||
|
||||
|
@ -3,23 +3,23 @@
|
||||
"private": true,
|
||||
"version": "0.0.1",
|
||||
"devDependencies": {
|
||||
"@types/eslint": "^8.44.7",
|
||||
"@typescript-eslint/eslint-plugin": "^6.12.0",
|
||||
"@typescript-eslint/parser": "^6.12.0",
|
||||
"@vue/eslint-config-prettier": "^8.0.0",
|
||||
"@vue/eslint-config-typescript": "^12.0.0",
|
||||
"eslint": "^8.54.0",
|
||||
"eslint-config-airbnb-typescript": "^17.1.0",
|
||||
"eslint-config-prettier": "^9.0.0",
|
||||
"@types/eslint": "^8.56.5",
|
||||
"@typescript-eslint/eslint-plugin": "^7.2.0",
|
||||
"@typescript-eslint/parser": "^7.2.0",
|
||||
"@vue/eslint-config-prettier": "^9.0.0",
|
||||
"@vue/eslint-config-typescript": "^13.0.0",
|
||||
"eslint": "^8.57.0",
|
||||
"eslint-config-airbnb-typescript": "^18.0.0",
|
||||
"eslint-config-prettier": "^9.1.0",
|
||||
"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-n8n-local-rules": "^1.0.0",
|
||||
"eslint-plugin-prettier": "^5.0.1",
|
||||
"eslint-plugin-unicorn": "^49.0.0",
|
||||
"eslint-plugin-unused-imports": "^3.0.0",
|
||||
"eslint-plugin-vue": "^9.18.1",
|
||||
"vue-eslint-parser": "^9.3.2"
|
||||
"eslint-plugin-prettier": "^5.1.3",
|
||||
"eslint-plugin-unicorn": "^51.0.1",
|
||||
"eslint-plugin-unused-imports": "^3.1.0",
|
||||
"eslint-plugin-vue": "^9.23.0",
|
||||
"vue-eslint-parser": "^9.4.2"
|
||||
},
|
||||
"scripts": {
|
||||
"clean": "rimraf .turbo",
|
||||
|
@ -488,7 +488,7 @@ export class InternalHooks {
|
||||
? this.eventBus.sendWorkflowEvent({
|
||||
eventName: 'n8n.workflow.success',
|
||||
payload: sharedEventPayload,
|
||||
})
|
||||
})
|
||||
: this.eventBus.sendWorkflowEvent({
|
||||
eventName: 'n8n.workflow.failed',
|
||||
payload: {
|
||||
@ -498,7 +498,7 @@ export class InternalHooks {
|
||||
errorNodeId: telemetryProperties.error_node_id?.toString(),
|
||||
errorMessage: telemetryProperties.error_message?.toString(),
|
||||
},
|
||||
}),
|
||||
}),
|
||||
);
|
||||
|
||||
void Promise.all([...promises, this.telemetry.trackWorkflowExecution(telemetryProperties)]);
|
||||
|
@ -133,7 +133,7 @@ export class LoadNodesAndCredentials {
|
||||
: [
|
||||
...(await glob('n8n-nodes-*', globOptions)),
|
||||
...(await glob('@*/n8n-nodes-*', { ...globOptions, deep: 2 })),
|
||||
];
|
||||
];
|
||||
|
||||
for (const packagePath of installedPackagePaths) {
|
||||
try {
|
||||
|
@ -108,7 +108,7 @@ export class TestWebhooks implements IWebhookManager {
|
||||
const executionMode = 'manual';
|
||||
const executionId = await WebhookHelpers.executeWebhook(
|
||||
workflow,
|
||||
webhook!,
|
||||
webhook,
|
||||
workflowEntity,
|
||||
workflowStartNode,
|
||||
executionMode,
|
||||
|
@ -828,7 +828,7 @@ export async function executeWebhook(
|
||||
: new ApplicationError('There was a problem executing the workflow', {
|
||||
level: 'warning',
|
||||
cause: e,
|
||||
});
|
||||
});
|
||||
if (didSendResponse) throw error;
|
||||
responseCallback(error, {});
|
||||
return;
|
||||
|
@ -19,7 +19,7 @@ type GetPathSegments<Traversable, Filter> = Traversable extends 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).
|
||||
@ -31,12 +31,12 @@ type GetPathSegments<Traversable, Filter> = Traversable extends Filter
|
||||
type JoinByDotting<T extends string[]> = T extends [infer F]
|
||||
? F
|
||||
: T extends [infer F, ...infer R]
|
||||
? F extends string
|
||||
? F extends string
|
||||
? R extends string[]
|
||||
? `${F}.${JoinByDotting<R>}`
|
||||
: never
|
||||
: never
|
||||
: string;
|
||||
: string;
|
||||
|
||||
type ToDottedPath<T> = JoinByDotting<RemoveExcess<T>>;
|
||||
|
||||
@ -64,14 +64,14 @@ type ConfigOptionPath =
|
||||
type ToReturnType<T extends ConfigOptionPath> = T extends NumericPath
|
||||
? number
|
||||
: T extends BooleanPath
|
||||
? boolean
|
||||
: T extends StringLiteralArrayPath
|
||||
? StringLiteralMap[T]
|
||||
: T extends keyof ExceptionPaths
|
||||
? ExceptionPaths[T]
|
||||
: T extends StringPath
|
||||
? string
|
||||
: unknown;
|
||||
? boolean
|
||||
: T extends StringLiteralArrayPath
|
||||
? StringLiteralMap[T]
|
||||
: T extends keyof ExceptionPaths
|
||||
? ExceptionPaths[T]
|
||||
: T extends StringPath
|
||||
? string
|
||||
: unknown;
|
||||
|
||||
type ExceptionPaths = {
|
||||
'queue.bull.redis': object;
|
||||
@ -86,11 +86,12 @@ type ExceptionPaths = {
|
||||
// string literals map
|
||||
// -----------------------------------
|
||||
|
||||
type GetPathSegmentsWithUnions<T> = T extends ReadonlyArray<infer C>
|
||||
? [C]
|
||||
: {
|
||||
[K in ValidKeys<T>]: [K, ...GetPathSegmentsWithUnions<T[K]>];
|
||||
}[ValidKeys<T>];
|
||||
type GetPathSegmentsWithUnions<T> =
|
||||
T extends ReadonlyArray<infer C>
|
||||
? [C]
|
||||
: {
|
||||
[K in ValidKeys<T>]: [K, ...GetPathSegmentsWithUnions<T[K]>];
|
||||
}[ValidKeys<T>];
|
||||
|
||||
type ToPathUnionPair<T extends string[]> = T extends [...infer Path, infer Union]
|
||||
? Path extends string[]
|
||||
|
@ -358,7 +358,7 @@ export class CredentialsController {
|
||||
);
|
||||
|
||||
if (newShareeIds.length) {
|
||||
await this.enterpriseCredentialsService.share(trx, credential!, newShareeIds);
|
||||
await this.enterpriseCredentialsService.share(trx, credential, newShareeIds);
|
||||
}
|
||||
});
|
||||
|
||||
|
@ -29,15 +29,15 @@ export class CreateLdapEntities1674509946020 implements ReversibleMigration {
|
||||
dbType === 'sqlite'
|
||||
? 'INTEGER PRIMARY KEY AUTOINCREMENT'
|
||||
: dbType === 'postgresdb'
|
||||
? 'SERIAL NOT NULL PRIMARY KEY'
|
||||
: 'INTEGER NOT NULL AUTO_INCREMENT';
|
||||
? 'SERIAL NOT NULL PRIMARY KEY'
|
||||
: 'INTEGER NOT NULL AUTO_INCREMENT';
|
||||
|
||||
const timestampColumn =
|
||||
dbType === 'sqlite'
|
||||
? 'DATETIME NOT NULL'
|
||||
: dbType === 'postgresdb'
|
||||
? 'TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP'
|
||||
: 'DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP';
|
||||
? 'TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP'
|
||||
: 'DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP';
|
||||
|
||||
await runQuery(
|
||||
`CREATE TABLE IF NOT EXISTS ${escape.tableName('auth_provider_sync_history')} (
|
||||
|
@ -31,7 +31,7 @@ export class InstalledPackagesRepository extends Repository<InstalledPackages> {
|
||||
|
||||
installedPackage.installedNodes = [];
|
||||
|
||||
return loadedNodes.map(async (loadedNode) => {
|
||||
for (const loadedNode of loadedNodes) {
|
||||
const installedNode = this.installedNodesRepository.create({
|
||||
name: nodeTypes[loadedNode.name].type.description.displayName,
|
||||
type: loadedNode.name,
|
||||
@ -41,8 +41,8 @@ export class InstalledPackagesRepository extends Repository<InstalledPackages> {
|
||||
|
||||
installedPackage.installedNodes.push(installedNode);
|
||||
|
||||
return await manager.save(installedNode);
|
||||
});
|
||||
await manager.save(installedNode);
|
||||
}
|
||||
});
|
||||
|
||||
return installedPackage!;
|
||||
|
@ -136,7 +136,7 @@ export class WorkflowRepository extends Repository<WorkflowEntity> {
|
||||
updatedAt: true,
|
||||
versionId: true,
|
||||
shared: { userId: true, role: true },
|
||||
};
|
||||
};
|
||||
|
||||
delete select?.ownedBy; // remove non-entity field, handled after query
|
||||
|
||||
|
@ -26,7 +26,7 @@ export function getLabelsForEvent(event: EventMessageTypes): Record<string, stri
|
||||
credential_type: getLabelValueForCredential(
|
||||
event.payload.credentialType ?? 'unknown',
|
||||
),
|
||||
}
|
||||
}
|
||||
: {};
|
||||
}
|
||||
|
||||
|
@ -127,11 +127,11 @@ export class CredentialsTester {
|
||||
? {
|
||||
status: 'OK',
|
||||
message: OAUTH2_CREDENTIAL_TEST_SUCCEEDED,
|
||||
}
|
||||
}
|
||||
: {
|
||||
status: 'Error',
|
||||
message: OAUTH2_CREDENTIAL_TEST_FAILED,
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
|
||||
|
@ -49,13 +49,12 @@ export function getWorkerCommandReceivedHandler(options: WorkerCommandReceivedHa
|
||||
arch: os.arch(),
|
||||
platform: os.platform(),
|
||||
hostname: os.hostname(),
|
||||
interfaces: Object.values(os.networkInterfaces()).flatMap(
|
||||
(interfaces) =>
|
||||
(interfaces ?? [])?.map((net) => ({
|
||||
family: net.family,
|
||||
address: net.address,
|
||||
internal: net.internal,
|
||||
})),
|
||||
interfaces: Object.values(os.networkInterfaces()).flatMap((interfaces) =>
|
||||
(interfaces ?? [])?.map((net) => ({
|
||||
family: net.family,
|
||||
address: net.address,
|
||||
internal: net.internal,
|
||||
})),
|
||||
),
|
||||
version: N8N_VERSION,
|
||||
},
|
||||
|
@ -51,7 +51,7 @@ export class WorkflowService {
|
||||
? {
|
||||
workflows: workflows.map((w) => this.ownershipService.addOwnedByAndSharedWith(w)),
|
||||
count,
|
||||
}
|
||||
}
|
||||
: { workflows, count };
|
||||
}
|
||||
|
||||
|
@ -393,7 +393,7 @@ export class WorkflowsController {
|
||||
|
||||
if (newShareeIds.length) {
|
||||
const users = await this.userRepository.getByIds(trx, newShareeIds);
|
||||
await this.sharedWorkflowRepository.share(trx, workflow!, users);
|
||||
await this.sharedWorkflowRepository.share(trx, workflow, users);
|
||||
}
|
||||
});
|
||||
|
||||
|
@ -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.connections;
|
||||
|
||||
@ -95,7 +95,7 @@ describe('GET /workflow-history/:workflowId', () => {
|
||||
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.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.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.connections;
|
||||
|
||||
|
@ -810,7 +810,7 @@ export async function proxyRequestToAxios(
|
||||
statusCode: response.status,
|
||||
statusMessage: response.statusText,
|
||||
request: response.request,
|
||||
}
|
||||
}
|
||||
: body;
|
||||
} catch (error) {
|
||||
const { config, response } = error;
|
||||
@ -1042,7 +1042,7 @@ export function assertBinaryData(
|
||||
propertyName: string,
|
||||
inputIndex: number,
|
||||
): IBinaryData {
|
||||
const binaryKeyData = inputData.main[inputIndex]![itemIndex]!.binary;
|
||||
const binaryKeyData = inputData.main[inputIndex]![itemIndex].binary;
|
||||
if (binaryKeyData === undefined) {
|
||||
throw new NodeOperationError(
|
||||
node,
|
||||
@ -1079,7 +1079,7 @@ export async function getBinaryDataBuffer(
|
||||
propertyName: string,
|
||||
inputIndex: number,
|
||||
): 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);
|
||||
}
|
||||
|
||||
@ -1940,7 +1940,7 @@ export function getAdditionalKeys(
|
||||
getAll(): Record<string, string> {
|
||||
return getAllWorkflowExecutionMetadata(runExecutionData);
|
||||
},
|
||||
}
|
||||
}
|
||||
: undefined,
|
||||
},
|
||||
$vars: additionalData.variables,
|
||||
@ -3204,7 +3204,7 @@ const getFileSystemHelperFunctions = (node: INode): FileSystemHelperFunctions =>
|
||||
? new NodeOperationError(node, error, {
|
||||
message: `The file "${String(filePath)}" could not be accessed.`,
|
||||
level: 'warning',
|
||||
})
|
||||
})
|
||||
: error;
|
||||
}
|
||||
if (isFilePathBlocked(filePath as string)) {
|
||||
|
@ -1575,9 +1575,9 @@ export class WorkflowExecute {
|
||||
// array as this shows that the parent nodes executed but they did not have any
|
||||
// data to pass on.
|
||||
const inputsWithData = this.runExecutionData
|
||||
.executionData!.waitingExecution[nodeName][firstRunIndex].main.map((data, index) =>
|
||||
data === null ? null : index,
|
||||
)
|
||||
.executionData!.waitingExecution[
|
||||
nodeName
|
||||
][firstRunIndex].main.map((data, index) => (data === null ? null : index))
|
||||
.filter((data) => data !== null);
|
||||
|
||||
if (requiredInputs !== undefined) {
|
||||
|
@ -6,7 +6,7 @@
|
||||
:disabled="disabled"
|
||||
:indeterminate="indeterminate"
|
||||
:model-value="modelValue"
|
||||
@update:modelValue="onUpdateModelValue"
|
||||
@update:model-value="onUpdateModelValue"
|
||||
>
|
||||
<slot></slot>
|
||||
<N8nInputLabel
|
||||
|
@ -79,7 +79,7 @@ const onActiveChange = (value: string) => {
|
||||
:model-value="color"
|
||||
:name="name"
|
||||
type="text"
|
||||
@update:modelValue="onInput"
|
||||
@update:model-value="onInput"
|
||||
/>
|
||||
</span>
|
||||
</template>
|
||||
|
@ -36,7 +36,7 @@
|
||||
layout="prev, pager, next"
|
||||
:total="totalRows"
|
||||
:current-page="currentPage"
|
||||
@update:currentPage="onUpdateCurrentPage"
|
||||
@update:current-page="onUpdateCurrentPage"
|
||||
/>
|
||||
|
||||
<div :class="$style.pageSizeSelector">
|
||||
@ -44,7 +44,7 @@
|
||||
size="mini"
|
||||
:model-value="rowsPerPage"
|
||||
teleported
|
||||
@update:modelValue="onRowsPerPageChange"
|
||||
@update:model-value="onRowsPerPageChange"
|
||||
>
|
||||
<template #prepend>{{ t('datatable.pageSize') }}</template>
|
||||
<N8nOption
|
||||
|
@ -3,7 +3,7 @@
|
||||
v-if="type === 'checkbox'"
|
||||
v-bind="$props"
|
||||
ref="inputRef"
|
||||
@update:modelValue="onUpdateModelValue"
|
||||
@update:model-value="onUpdateModelValue"
|
||||
@focus="onFocus"
|
||||
/>
|
||||
<N8nInputLabel
|
||||
@ -20,7 +20,7 @@
|
||||
:model-value="modelValue"
|
||||
:active-color="activeColor"
|
||||
:inactive-color="inactiveColor"
|
||||
@update:modelValue="onUpdateModelValue"
|
||||
@update:model-value="onUpdateModelValue"
|
||||
></ElSwitch>
|
||||
</N8nInputLabel>
|
||||
<N8nInputLabel
|
||||
@ -42,7 +42,7 @@
|
||||
:disabled="disabled"
|
||||
:name="name"
|
||||
:teleported="teleported"
|
||||
@update:modelValue="onUpdateModelValue"
|
||||
@update:model-value="onUpdateModelValue"
|
||||
@focus="onFocus"
|
||||
@blur="onBlur"
|
||||
>
|
||||
@ -65,7 +65,7 @@
|
||||
:maxlength="maxlength"
|
||||
:autocomplete="autocomplete"
|
||||
:disabled="disabled"
|
||||
@update:modelValue="onUpdateModelValue"
|
||||
@update:model-value="onUpdateModelValue"
|
||||
@blur="onBlur"
|
||||
@focus="onFocus"
|
||||
/>
|
||||
|
@ -27,7 +27,7 @@
|
||||
:show-validation-warnings="showValidationWarnings"
|
||||
:teleported="teleported"
|
||||
:tag-size="tagSize"
|
||||
@update:modelValue="(value) => onUpdateModelValue(input.name, value)"
|
||||
@update:model-value="(value) => onUpdateModelValue(input.name, value)"
|
||||
@validate="(value) => onValidate(input.name, value)"
|
||||
@enter="onSubmit"
|
||||
/>
|
||||
|
@ -44,7 +44,7 @@
|
||||
type="textarea"
|
||||
:rows="5"
|
||||
@blur="onInputBlur"
|
||||
@update:modelValue="onUpdateModelValue"
|
||||
@update:model-value="onUpdateModelValue"
|
||||
@wheel="onInputScroll"
|
||||
/>
|
||||
</div>
|
||||
|
@ -81,6 +81,6 @@ export function createComponentRenderer(
|
||||
...defaultOptions.global,
|
||||
...options.global,
|
||||
},
|
||||
},
|
||||
},
|
||||
);
|
||||
}
|
||||
|
@ -25,7 +25,7 @@
|
||||
|
||||
<template #footer="{ close }">
|
||||
<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')
|
||||
}}</el-checkbox>
|
||||
<n8n-button :label="$locale.baseText('activationModal.gotIt')" @click="close" />
|
||||
|
@ -32,7 +32,7 @@
|
||||
<AskAI
|
||||
:key="activeTab"
|
||||
:has-changes="hasChanges"
|
||||
@replaceCode="onReplaceCode"
|
||||
@replace-code="onReplaceCode"
|
||||
@started-loading="isLoadingAIResponse = true"
|
||||
@finished-loading="isLoadingAIResponse = false"
|
||||
/>
|
||||
|
@ -161,7 +161,7 @@ export const codeNodeEditorTheme = ({
|
||||
{ tag: [tags.processingInstruction, tags.string, tags.inserted], color: '#98c379' },
|
||||
{ tag: tags.invalid, color: 'red', 'font-weight': 'bold' },
|
||||
]),
|
||||
)
|
||||
)
|
||||
: syntaxHighlighting(
|
||||
HighlightStyle.define([
|
||||
{
|
||||
@ -204,5 +204,5 @@ export const codeNodeEditorTheme = ({
|
||||
color: 'var(--color-code-tags-definition)',
|
||||
},
|
||||
]),
|
||||
),
|
||||
),
|
||||
];
|
||||
|
@ -13,7 +13,7 @@
|
||||
:hide-delete="hideDelete"
|
||||
:indent="true"
|
||||
:is-read-only="isReadOnly"
|
||||
@valueChanged="valueChanged"
|
||||
@value-changed="valueChanged"
|
||||
/>
|
||||
</Suspense>
|
||||
|
||||
@ -31,7 +31,7 @@
|
||||
:placeholder="getPlaceholderText"
|
||||
size="small"
|
||||
filterable
|
||||
@update:modelValue="optionSelected"
|
||||
@update:model-value="optionSelected"
|
||||
>
|
||||
<n8n-option
|
||||
v-for="item in parameterOptions"
|
||||
|
@ -61,7 +61,7 @@
|
||||
:class="[$style.checkbox, checkboxWarning ? $style.error : '', 'mt-l']"
|
||||
:disabled="loading"
|
||||
data-test-id="user-agreement-checkbox"
|
||||
@update:modelValue="onCheckboxChecked"
|
||||
@update:model-value="onCheckboxChecked"
|
||||
>
|
||||
<n8n-text>
|
||||
{{ $locale.baseText('settings.communityNodes.installModal.checkbox.label') }} </n8n-text
|
||||
|
@ -50,7 +50,7 @@ function onVisibleChange(open: boolean) {
|
||||
data-test-id="context-menu"
|
||||
:hide-arrow="target.source !== 'node-button'"
|
||||
@select="onActionSelect"
|
||||
@visibleChange="onVisibleChange"
|
||||
@visible-change="onVisibleChange"
|
||||
>
|
||||
<template #activator>
|
||||
<div :class="$style.activator"></div>
|
||||
|
@ -116,7 +116,7 @@ export default defineComponent({
|
||||
label: this.$locale.baseText('credentials.item.delete'),
|
||||
value: CREDENTIAL_LIST_ITEM_ACTIONS.DELETE,
|
||||
},
|
||||
]
|
||||
]
|
||||
: [],
|
||||
);
|
||||
},
|
||||
|
@ -140,7 +140,7 @@ defineExpose({
|
||||
:label="prop.value"
|
||||
:class="$style.authRadioButton"
|
||||
border
|
||||
@update:modelValue="onAuthTypeChange"
|
||||
@update:model-value="onAuthTypeChange"
|
||||
>{{ prop.name }}</el-radio
|
||||
>
|
||||
</div>
|
||||
|
@ -74,7 +74,7 @@
|
||||
<AuthTypeSelector
|
||||
v-if="showAuthTypeSelector && isNewCredential"
|
||||
:credential-type="credentialType"
|
||||
@authTypeChanged="onAuthTypeChange"
|
||||
@auth-type-changed="onAuthTypeChange"
|
||||
/>
|
||||
|
||||
<CopyInput
|
||||
|
@ -20,7 +20,7 @@
|
||||
:readonly="!credentialPermissions.update || !credentialType"
|
||||
type="Credential"
|
||||
data-test-id="credential-name"
|
||||
@update:modelValue="onNameEdit"
|
||||
@update:model-value="onNameEdit"
|
||||
/>
|
||||
</div>
|
||||
<div :class="$style.credActions">
|
||||
@ -81,8 +81,8 @@
|
||||
@update="onDataChange"
|
||||
@oauth="oAuthCredentialAuthorize"
|
||||
@retest="retestCredential"
|
||||
@scrollToTop="scrollToTop"
|
||||
@authTypeChanged="onAuthTypeChanged"
|
||||
@scroll-to-top="scrollToTop"
|
||||
@auth-type-changed="onAuthTypeChanged"
|
||||
/>
|
||||
</div>
|
||||
<div v-else-if="activeTab === 'sharing' && credentialType" :class="$style.mainContent">
|
||||
@ -92,7 +92,7 @@
|
||||
:credential-id="credentialId"
|
||||
:credential-permissions="credentialPermissions"
|
||||
:modal-bus="modalBus"
|
||||
@update:modelValue="onChangeSharedWith"
|
||||
@update:model-value="onChangeSharedWith"
|
||||
/>
|
||||
</div>
|
||||
<div v-else-if="activeTab === 'details' && credentialType" :class="$style.mainContent">
|
||||
|
@ -64,7 +64,7 @@
|
||||
:current-user-id="usersStore.currentUser.id"
|
||||
:placeholder="$locale.baseText('credentialEdit.credentialSharing.select.placeholder')"
|
||||
data-test-id="credential-sharing-modal-users-select"
|
||||
@update:modelValue="onAddSharee"
|
||||
@update:model-value="onAddSharee"
|
||||
>
|
||||
<template #prefix>
|
||||
<n8n-icon icon="search" />
|
||||
|
@ -41,7 +41,7 @@ const onCredentialSelected = (credentialId: string) => {
|
||||
<n8n-select
|
||||
size="small"
|
||||
:model-value="props.selectedCredentialId"
|
||||
@update:modelValue="onCredentialSelected"
|
||||
@update:model-value="onCredentialSelected"
|
||||
>
|
||||
<n8n-option
|
||||
v-for="item in props.credentialOptions"
|
||||
|
@ -12,7 +12,7 @@
|
||||
:title="displayTitle"
|
||||
:disabled="isReadOnly"
|
||||
data-test-id="credential-select"
|
||||
@update:modelValue="(value) => $emit('update:modelValue', value)"
|
||||
@update:model-value="(value) => $emit('update:modelValue', value)"
|
||||
@keydown.stop
|
||||
@focus="$emit('setFocus')"
|
||||
@blur="$emit('onBlur')"
|
||||
@ -48,7 +48,7 @@
|
||||
<NodeCredentials
|
||||
:node="node"
|
||||
:override-cred-type="node.parameters[parameter.name]"
|
||||
@credentialSelected="(updateInformation) => $emit('credentialSelected', updateInformation)"
|
||||
@credential-selected="(updateInformation) => $emit('credentialSelected', updateInformation)"
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
|
@ -26,7 +26,7 @@
|
||||
size="xlarge"
|
||||
:model-value="selected"
|
||||
data-test-id="new-credential-type-select"
|
||||
@update:modelValue="onSelect"
|
||||
@update:model-value="onSelect"
|
||||
>
|
||||
<template #prefix>
|
||||
<font-awesome-icon icon="search" />
|
||||
|
@ -23,7 +23,7 @@
|
||||
<el-radio
|
||||
:model-value="operation"
|
||||
label="transfer"
|
||||
@update:modelValue="() => setOperation('transfer')"
|
||||
@update:model-value="() => setOperation('transfer')"
|
||||
>
|
||||
<n8n-text color="text-dark">{{
|
||||
$locale.baseText('settings.users.transferWorkflowsAndCredentials')
|
||||
@ -36,14 +36,14 @@
|
||||
:model-value="transferId"
|
||||
:ignore-ids="ignoreIds"
|
||||
:current-user-id="usersStore.currentUserId"
|
||||
@update:modelValue="setTransferId"
|
||||
@update:model-value="setTransferId"
|
||||
/>
|
||||
</n8n-input-label>
|
||||
</div>
|
||||
<el-radio
|
||||
:model-value="operation"
|
||||
label="delete"
|
||||
@update:modelValue="() => setOperation('delete')"
|
||||
@update:model-value="() => setOperation('delete')"
|
||||
>
|
||||
<n8n-text color="text-dark">{{
|
||||
$locale.baseText('settings.users.deleteWorkflowsAndCredentials')
|
||||
@ -58,7 +58,7 @@
|
||||
<n8n-input
|
||||
:model-value="deleteConfirmText"
|
||||
:placeholder="$locale.baseText('settings.users.deleteConfirmationText')"
|
||||
@update:modelValue="setConfirmText"
|
||||
@update:model-value="setConfirmText"
|
||||
/>
|
||||
</n8n-input-label>
|
||||
</div>
|
||||
|
@ -198,7 +198,7 @@ onBeforeMount(() => {
|
||||
:model-value="filter.tags"
|
||||
:create-enabled="false"
|
||||
data-test-id="executions-filter-tags-select"
|
||||
@update:modelValue="onTagsChange"
|
||||
@update:model-value="onTagsChange"
|
||||
/>
|
||||
</div>
|
||||
<div :class="$style.group">
|
||||
@ -289,7 +289,7 @@ onBeforeMount(() => {
|
||||
:placeholder="locale.baseText('executionsFilter.savedDataKeyPlaceholder')"
|
||||
:model-value="filter.metadata[0]?.key"
|
||||
data-test-id="execution-filter-saved-data-key-input"
|
||||
@update:modelValue="onFilterMetaChange(0, 'key', $event)"
|
||||
@update:model-value="onFilterMetaChange(0, 'key', $event)"
|
||||
/>
|
||||
</n8n-tooltip>
|
||||
<label for="execution-filter-saved-data-value">{{
|
||||
@ -313,7 +313,7 @@ onBeforeMount(() => {
|
||||
:placeholder="locale.baseText('executionsFilter.savedDataValuePlaceholder')"
|
||||
:model-value="filter.metadata[0]?.value"
|
||||
data-test-id="execution-filter-saved-data-value-input"
|
||||
@update:modelValue="onFilterMetaChange(0, 'value', $event)"
|
||||
@update:model-value="onFilterMetaChange(0, 'value', $event)"
|
||||
/>
|
||||
</n8n-tooltip>
|
||||
</div>
|
||||
|
@ -10,14 +10,14 @@
|
||||
v-model="autoRefresh"
|
||||
class="mr-xl"
|
||||
data-test-id="execution-auto-refresh-checkbox"
|
||||
@update:modelValue="handleAutoRefreshToggle"
|
||||
@update:model-value="handleAutoRefreshToggle"
|
||||
>
|
||||
{{ i18n.baseText('executionsList.autoRefresh') }}
|
||||
</el-checkbox>
|
||||
<ExecutionFilter
|
||||
v-show="!isMounting"
|
||||
:workflows="workflows"
|
||||
@filterChanged="onFilterChanged"
|
||||
@filter-changed="onFilterChanged"
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
@ -33,7 +33,7 @@
|
||||
"
|
||||
:model-value="allExistingSelected"
|
||||
data-test-id="select-all-executions-checkbox"
|
||||
@update:modelValue="handleCheckAllExistingChange"
|
||||
@update:model-value="handleCheckAllExistingChange"
|
||||
/>
|
||||
|
||||
<div v-if="isMounting">
|
||||
@ -50,7 +50,7 @@
|
||||
:disabled="finishedExecutionsCount < 1"
|
||||
label=""
|
||||
data-test-id="select-visible-executions-checkbox"
|
||||
@update:modelValue="handleCheckAllVisibleChange"
|
||||
@update:model-value="handleCheckAllVisibleChange"
|
||||
/>
|
||||
</th>
|
||||
<th>{{ i18n.baseText('executionsList.name') }}</th>
|
||||
@ -75,7 +75,7 @@
|
||||
:model-value="selectedItems[execution.id] || allExistingSelected"
|
||||
label=""
|
||||
data-test-id="select-execution-checkbox"
|
||||
@update:modelValue="handleCheckboxChanged(execution.id)"
|
||||
@update:model-value="handleCheckboxChanged(execution.id)"
|
||||
/>
|
||||
</td>
|
||||
<td>
|
||||
|
@ -191,11 +191,11 @@ export default defineComponent({
|
||||
? {
|
||||
text: this.$locale.baseText('executionsList.debug.button.copyToEditor'),
|
||||
type: 'secondary',
|
||||
}
|
||||
}
|
||||
: {
|
||||
text: this.$locale.baseText('executionsList.debug.button.debugInEditor'),
|
||||
type: 'primary',
|
||||
};
|
||||
};
|
||||
},
|
||||
},
|
||||
methods: {
|
||||
|
@ -6,7 +6,7 @@
|
||||
:initially-expanded="shouldExpandAccordion"
|
||||
:header-icon="accordionIcon"
|
||||
@click:body="onAccordionClick"
|
||||
@tooltipClick="onItemTooltipClick"
|
||||
@tooltip-click="onItemTooltipClick"
|
||||
>
|
||||
<template #customContent>
|
||||
<footer class="mt-2xs">
|
||||
@ -110,7 +110,7 @@ export default defineComponent({
|
||||
this.productionExecutionsStatus === 'unknown'
|
||||
? this.$locale.baseText(
|
||||
'executionsLandingPage.emptyState.accordion.productionExecutionsWarningTooltip',
|
||||
)
|
||||
)
|
||||
: null,
|
||||
},
|
||||
{
|
||||
|
@ -6,18 +6,18 @@
|
||||
:loading-more="loadingMore"
|
||||
:temporary-execution="temporaryExecution"
|
||||
:auto-refresh="autoRefresh"
|
||||
@update:autoRefresh="onAutoRefreshToggle"
|
||||
@reloadExecutions="setExecutions"
|
||||
@filterUpdated="onFilterUpdated"
|
||||
@loadMore="onLoadMore"
|
||||
@retryExecution="onRetryExecution"
|
||||
@update:auto-refresh="onAutoRefreshToggle"
|
||||
@reload-executions="setExecutions"
|
||||
@filter-updated="onFilterUpdated"
|
||||
@load-more="onLoadMore"
|
||||
@retry-execution="onRetryExecution"
|
||||
/>
|
||||
<div v-if="!hidePreview" :class="$style.content">
|
||||
<router-view
|
||||
name="executionPreview"
|
||||
@deleteCurrentExecution="onDeleteCurrentExecution"
|
||||
@retryExecution="onRetryExecution"
|
||||
@stopExecution="onStopExecution"
|
||||
@delete-current-execution="onDeleteCurrentExecution"
|
||||
@retry-execution="onRetryExecution"
|
||||
@stop-execution="onStopExecution"
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
|
@ -13,11 +13,11 @@
|
||||
<el-checkbox
|
||||
:model-value="autoRefresh"
|
||||
data-test-id="auto-refresh-checkbox"
|
||||
@update:modelValue="$emit('update:autoRefresh', $event)"
|
||||
@update:model-value="$emit('update:autoRefresh', $event)"
|
||||
>
|
||||
{{ $locale.baseText('executionsList.autoRefresh') }}
|
||||
</el-checkbox>
|
||||
<ExecutionFilter popover-placement="left-start" @filterChanged="onFilterChanged" />
|
||||
<ExecutionFilter popover-placement="left-start" @filter-changed="onFilterChanged" />
|
||||
</div>
|
||||
<div
|
||||
ref="executionList"
|
||||
@ -39,7 +39,7 @@
|
||||
:execution="temporaryExecution"
|
||||
:data-test-id="`execution-details-${temporaryExecution.id}`"
|
||||
:show-gap="true"
|
||||
@retryExecution="onRetryExecution"
|
||||
@retry-execution="onRetryExecution"
|
||||
/>
|
||||
<ExecutionCard
|
||||
v-for="execution in executions"
|
||||
@ -47,7 +47,7 @@
|
||||
:ref="`execution-${execution.id}`"
|
||||
:execution="execution"
|
||||
:data-test-id="`execution-details-${execution.id}`"
|
||||
@retryExecution="onRetryExecution"
|
||||
@retry-execution="onRetryExecution"
|
||||
/>
|
||||
<div v-if="loadingMore" class="mr-m">
|
||||
<n8n-loading variant="p" :rows="1" />
|
||||
|
@ -22,7 +22,7 @@
|
||||
<VariableSelector
|
||||
:path="path"
|
||||
:redact-values="redactValues"
|
||||
@itemSelected="itemSelected"
|
||||
@item-selected="itemSelected"
|
||||
></VariableSelector>
|
||||
</div>
|
||||
</el-col>
|
||||
|
@ -48,8 +48,8 @@ export default defineComponent({
|
||||
segment.kind === 'plaintext'
|
||||
? segment.plaintext.length
|
||||
: segment.resolved
|
||||
? segment.resolved.toString().length
|
||||
: 0;
|
||||
? segment.resolved.toString().length
|
||||
: 0;
|
||||
|
||||
segment.to = cursor;
|
||||
|
||||
|
@ -45,7 +45,7 @@ const actionDropdownOptions = computed(() => [
|
||||
value: 'reload',
|
||||
label: i18n.baseText('settings.externalSecrets.card.actionDropdown.reload'),
|
||||
},
|
||||
]
|
||||
]
|
||||
: []),
|
||||
]);
|
||||
|
||||
|
@ -95,7 +95,7 @@ async function onUpdateConnected(value: boolean) {
|
||||
"
|
||||
:disabled="disabled"
|
||||
data-test-id="settings-external-secrets-connected-switch"
|
||||
@update:modelValue="onUpdateConnected"
|
||||
@update:model-value="onUpdateConnected"
|
||||
>
|
||||
</el-switch>
|
||||
</div>
|
||||
|
@ -26,7 +26,12 @@ const onCombinatorChange = (combinator: FilterTypeCombinator): void => {
|
||||
<div v-if="readOnly || options.length === 1">
|
||||
{{ i18n.baseText(`filter.combinator.${selected}`) }}
|
||||
</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
|
||||
v-for="option in options"
|
||||
:key="option"
|
||||
|
@ -171,7 +171,7 @@ const onBlur = (): void => {
|
||||
<OperatorSelect
|
||||
:selected="`${operator.type}:${operator.operation}`"
|
||||
:read-only="readOnly"
|
||||
@operatorChange="onOperatorChange"
|
||||
@operator-change="onOperatorChange"
|
||||
></OperatorSelect>
|
||||
</template>
|
||||
<template v-if="!operator.singleValue" #right="{ breakpoint }">
|
||||
|
@ -168,7 +168,7 @@ function getIssues(index: number): string[] {
|
||||
:options="allowedCombinators"
|
||||
:selected="state.paramValue.combinator"
|
||||
:class="$style.combinator"
|
||||
@combinatorChange="onCombinatorChange"
|
||||
@combinator-change="onCombinatorChange"
|
||||
/>
|
||||
|
||||
<Condition
|
||||
|
@ -60,7 +60,7 @@ function onGroupSelect(group: string) {
|
||||
size="small"
|
||||
:model-value="selected"
|
||||
:disabled="readOnly"
|
||||
@update:modelValue="onOperatorChange"
|
||||
@update:model-value="onOperatorChange"
|
||||
@visible-change="onSelectVisibleChange"
|
||||
@mouseenter="shouldRenderItems = true"
|
||||
>
|
||||
|
@ -62,7 +62,7 @@
|
||||
:path="getPropertyPath(property.name, index)"
|
||||
:hide-delete="true"
|
||||
:is-read-only="isReadOnly"
|
||||
@valueChanged="valueChanged"
|
||||
@value-changed="valueChanged"
|
||||
/>
|
||||
</Suspense>
|
||||
</div>
|
||||
@ -87,7 +87,7 @@
|
||||
:is-read-only="isReadOnly"
|
||||
class="parameter-item"
|
||||
:hide-delete="true"
|
||||
@valueChanged="valueChanged"
|
||||
@value-changed="valueChanged"
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
@ -107,7 +107,7 @@
|
||||
:placeholder="getPlaceholderText"
|
||||
size="small"
|
||||
filterable
|
||||
@update:modelValue="optionSelected"
|
||||
@update:model-value="optionSelected"
|
||||
>
|
||||
<n8n-option
|
||||
v-for="item in parameterOptions"
|
||||
|
@ -15,7 +15,7 @@
|
||||
type="textarea"
|
||||
:rows="5"
|
||||
:placeholder="$locale.baseText('importCurlModal.input.placeholder')"
|
||||
@update:modelValue="onInput"
|
||||
@update:model-value="onInput"
|
||||
@focus="$event.target.select()"
|
||||
/>
|
||||
</n8n-input-label>
|
||||
|
@ -78,8 +78,8 @@ const resolvedSegments = computed<Resolved[]>(() => {
|
||||
segment.kind === 'plaintext'
|
||||
? segment.plaintext.length
|
||||
: segment.resolved
|
||||
? (segment.resolved as string | number | boolean).toString().length
|
||||
: 0;
|
||||
? (segment.resolved as string | number | boolean).toString().length
|
||||
: 0;
|
||||
segment.to = cursor;
|
||||
return segment;
|
||||
})
|
||||
|
@ -20,7 +20,7 @@
|
||||
:model-value="modelValue"
|
||||
size="xlarge"
|
||||
:maxlength="64"
|
||||
@update:modelValue="onNameEdit"
|
||||
@update:model-value="onNameEdit"
|
||||
@change="disableNameEdit"
|
||||
/>
|
||||
</div>
|
||||
|
@ -7,7 +7,7 @@
|
||||
:maxlength="maxLength"
|
||||
:autofocus="true"
|
||||
:event-bus="inputBus"
|
||||
@update:modelValue="onInput"
|
||||
@update:model-value="onInput"
|
||||
@esc="onEscape"
|
||||
@blur="onBlur"
|
||||
@enter="submit"
|
||||
|
@ -16,12 +16,12 @@
|
||||
:is-pane-active="isPaneActive"
|
||||
pane-type="input"
|
||||
data-test-id="ndv-input-panel"
|
||||
@activatePane="activatePane"
|
||||
@itemHover="$emit('itemHover', $event)"
|
||||
@linkRun="onLinkRun"
|
||||
@unlinkRun="onUnlinkRun"
|
||||
@runChange="onRunIndexChange"
|
||||
@tableMounted="$emit('tableMounted', $event)"
|
||||
@activate-pane="activatePane"
|
||||
@item-hover="$emit('itemHover', $event)"
|
||||
@link-run="onLinkRun"
|
||||
@unlink-run="onUnlinkRun"
|
||||
@run-change="onRunIndexChange"
|
||||
@table-mounted="$emit('tableMounted', $event)"
|
||||
@search="$emit('search', $event)"
|
||||
>
|
||||
<template #header>
|
||||
@ -35,7 +35,7 @@
|
||||
:placeholder="$locale.baseText('ndv.input.parentNodes')"
|
||||
filterable
|
||||
data-test-id="ndv-input-select"
|
||||
@update:modelValue="onInputNodeChange"
|
||||
@update:model-value="onInputNodeChange"
|
||||
>
|
||||
<template #prepend>
|
||||
<span :class="$style.title">{{ $locale.baseText('ndv.input') }}</span>
|
||||
@ -62,7 +62,7 @@
|
||||
v-if="isActiveNodeConfig && !readOnly"
|
||||
:options="inputModes"
|
||||
:model-value="inputMode"
|
||||
@update:modelValue="onInputModeChange"
|
||||
@update:model-value="onInputModeChange"
|
||||
/>
|
||||
</div>
|
||||
</template>
|
||||
@ -77,7 +77,7 @@
|
||||
:model-value="mappedNode"
|
||||
size="small"
|
||||
teleported
|
||||
@update:modelValue="onMappedNodeSelected"
|
||||
@update:model-value="onMappedNodeSelected"
|
||||
@click.stop
|
||||
>
|
||||
<template #prepend>{{ $locale.baseText('ndv.input.previousNode') }}</template>
|
||||
|
@ -186,7 +186,7 @@ export default defineComponent({
|
||||
return this.showInviteUrls
|
||||
? this.usersStore.allUsers.filter((user) =>
|
||||
this.showInviteUrls!.find((invite) => invite.user.id === user.id),
|
||||
)
|
||||
)
|
||||
: [];
|
||||
},
|
||||
isAdvancedPermissionsEnabled(): boolean {
|
||||
|
@ -162,11 +162,11 @@ export default defineComponent({
|
||||
? {
|
||||
name: VIEWS.EXECUTION_PREVIEW,
|
||||
params: { name: routeWorkflowId, executionId: this.activeExecution.id },
|
||||
}
|
||||
}
|
||||
: {
|
||||
name: VIEWS.EXECUTION_HOME,
|
||||
params: { name: routeWorkflowId },
|
||||
};
|
||||
};
|
||||
|
||||
if (openInNewTab) {
|
||||
const { href } = this.$router.resolve(routeToNavigateTo);
|
||||
|
@ -7,7 +7,7 @@
|
||||
[$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>
|
||||
</template>
|
||||
|
||||
|
@ -217,7 +217,7 @@ export default defineComponent({
|
||||
tooltip: {
|
||||
content: this.$locale.baseText('mainSidebar.workflows.readOnlyEnv.tooltip'),
|
||||
},
|
||||
}
|
||||
}
|
||||
: undefined,
|
||||
};
|
||||
|
||||
|
@ -45,7 +45,7 @@
|
||||
:path="getPath(index)"
|
||||
:hide-delete="hideDelete"
|
||||
:is-read-only="isReadOnly"
|
||||
@valueChanged="valueChanged"
|
||||
@value-changed="valueChanged"
|
||||
/>
|
||||
</div>
|
||||
<div v-else>
|
||||
|
@ -3,7 +3,7 @@
|
||||
<NDVFloatingNodes
|
||||
v-if="activeNode"
|
||||
:root-node="activeNode"
|
||||
@switchSelectedNode="onSwitchSelectedNode"
|
||||
@switch-selected-node="onSwitchSelectedNode"
|
||||
/>
|
||||
<div v-if="!hideInputAndOutput" :class="$style.inputPanel" :style="inputPanelStyles">
|
||||
<slot name="input"></slot>
|
||||
|
@ -137,8 +137,8 @@ function nodeTypeSelected(nodeTypes: string[]) {
|
||||
<Suspense>
|
||||
<NodeCreator
|
||||
:active="createNodeActive"
|
||||
@nodeTypeSelected="nodeTypeSelected"
|
||||
@closeNodeCreator="closeNodeCreator"
|
||||
@node-type-selected="nodeTypeSelected"
|
||||
@close-node-creator="closeNodeCreator"
|
||||
/>
|
||||
</Suspense>
|
||||
</div>
|
||||
|
@ -64,7 +64,7 @@ function onSelected(item: INodeCreateElement) {
|
||||
icon: item.properties.icon,
|
||||
iconType: 'icon',
|
||||
},
|
||||
}
|
||||
}
|
||||
: {}),
|
||||
...(item.properties.panelClass ? { panelClass: item.properties.panelClass } : {}),
|
||||
rootView: activeViewStack.value.rootView,
|
||||
@ -218,8 +218,8 @@ registerKeyHook('MainViewArrowLeft', {
|
||||
:root-view="activeViewStack.rootView"
|
||||
show-icon
|
||||
show-request
|
||||
@addWebhookNode="selectNodeType([WEBHOOK_NODE_TYPE])"
|
||||
@addHttpNode="selectNodeType([HTTP_REQUEST_NODE_TYPE])"
|
||||
@add-webhook-node="selectNodeType([WEBHOOK_NODE_TYPE])"
|
||||
@add-http-node="selectNodeType([HTTP_REQUEST_NODE_TYPE])"
|
||||
/>
|
||||
</template>
|
||||
</ItemsRenderer>
|
||||
|
@ -13,7 +13,7 @@
|
||||
@mousedown="onMouseDown"
|
||||
@mouseup="onMouseUp"
|
||||
>
|
||||
<NodesListPanel @nodeTypeSelected="onNodeTypeSelected" />
|
||||
<NodesListPanel @node-type-selected="onNodeTypeSelected" />
|
||||
</div>
|
||||
</SlideTransition>
|
||||
</div>
|
||||
|
@ -33,7 +33,7 @@ const searchPlaceholder = computed(() =>
|
||||
isActionsMode.value
|
||||
? i18n.baseText('nodeCreator.actionsCategory.searchActions', {
|
||||
interpolate: { node: activeViewStack.value.title as string },
|
||||
})
|
||||
})
|
||||
: i18n.baseText('nodeCreator.searchBar.searchNodes'),
|
||||
);
|
||||
|
||||
@ -118,7 +118,7 @@ function onBackButton() {
|
||||
<transition
|
||||
v-if="viewStacks.length > 0"
|
||||
:name="`panel-slide-${activeViewStack.transitionDirection}`"
|
||||
@afterLeave="onTransitionEnd"
|
||||
@after-leave="onTransitionEnd"
|
||||
>
|
||||
<aside
|
||||
:key="`${activeViewStack.uuid}`"
|
||||
@ -169,7 +169,7 @@ function onBackButton() {
|
||||
: $locale.baseText('nodeCreator.searchBar.searchNodes')
|
||||
"
|
||||
:model-value="activeViewStack.search"
|
||||
@update:modelValue="onSearch"
|
||||
@update:model-value="onSearch"
|
||||
/>
|
||||
<div :class="$style.renderedItems">
|
||||
<n8n-notice
|
||||
|
@ -116,7 +116,7 @@ function getAiNodesBySubcategory(nodes: INodeTypeDescription[], subcategory: str
|
||||
type: 'file',
|
||||
icon: 'openai',
|
||||
fileBuffer: '/static/open-ai.svg',
|
||||
}
|
||||
}
|
||||
: undefined,
|
||||
},
|
||||
}))
|
||||
|
@ -32,7 +32,7 @@
|
||||
:model-value="getSelectedId(credentialTypeDescription.name)"
|
||||
:placeholder="getSelectPlaceholder(credentialTypeDescription.name, issues)"
|
||||
size="small"
|
||||
@update:modelValue="
|
||||
@update:model-value="
|
||||
(value) =>
|
||||
onCredentialSelected(
|
||||
credentialTypeDescription.name,
|
||||
@ -369,7 +369,7 @@ export default defineComponent({
|
||||
return issues.length && this.getSelectedName(type)
|
||||
? this.$locale.baseText('nodeCredentials.selectedCredentialUnavailable', {
|
||||
interpolate: { name: this.getSelectedName(type) },
|
||||
})
|
||||
})
|
||||
: this.$locale.baseText('nodeCredentials.selectCredential');
|
||||
},
|
||||
credentialInputWrapperStyle(credentialType: string) {
|
||||
|
@ -44,8 +44,8 @@
|
||||
:is-draggable="!isTriggerNode"
|
||||
:has-double-width="activeNodeType?.parameterPane === 'wide'"
|
||||
:node-type="activeNodeType"
|
||||
@switchSelectedNode="onSwitchSelectedNode"
|
||||
@openConnectionNodeCreator="onOpenConnectionNodeCreator"
|
||||
@switch-selected-node="onSwitchSelectedNode"
|
||||
@open-connection-node-creator="onOpenConnectionNodeCreator"
|
||||
@close="close"
|
||||
@init="onPanelsInit"
|
||||
@dragstart="onDragStart"
|
||||
@ -70,15 +70,15 @@
|
||||
:read-only="readOnly || hasForeignCredential"
|
||||
:is-production-execution-preview="isProductionExecutionPreview"
|
||||
:is-pane-active="isInputPaneActive"
|
||||
@activatePane="activateInputPane"
|
||||
@linkRun="onLinkRunToInput"
|
||||
@unlinkRun="() => onUnlinkRun('input')"
|
||||
@runChange="onRunInputIndexChange"
|
||||
@openSettings="openSettings"
|
||||
@changeInputNode="onInputNodeChange"
|
||||
@activate-pane="activateInputPane"
|
||||
@link-run="onLinkRunToInput"
|
||||
@unlink-run="() => onUnlinkRun('input')"
|
||||
@run-change="onRunInputIndexChange"
|
||||
@open-settings="openSettings"
|
||||
@change-input-node="onInputNodeChange"
|
||||
@execute="onNodeExecute"
|
||||
@tableMounted="onInputTableMounted"
|
||||
@itemHover="onInputItemHover"
|
||||
@table-mounted="onInputTableMounted"
|
||||
@item-hover="onInputItemHover"
|
||||
@search="onSearch"
|
||||
/>
|
||||
</template>
|
||||
@ -93,13 +93,13 @@
|
||||
:block-u-i="blockUi && isTriggerNode && !isExecutableTriggerNode"
|
||||
:is-production-execution-preview="isProductionExecutionPreview"
|
||||
:is-pane-active="isOutputPaneActive"
|
||||
@activatePane="activateOutputPane"
|
||||
@linkRun="onLinkRunToOutput"
|
||||
@unlinkRun="() => onUnlinkRun('output')"
|
||||
@runChange="onRunOutputIndexChange"
|
||||
@openSettings="openSettings"
|
||||
@tableMounted="onOutputTableMounted"
|
||||
@itemHover="onOutputItemHover"
|
||||
@activate-pane="activateOutputPane"
|
||||
@link-run="onLinkRunToOutput"
|
||||
@unlink-run="() => onUnlinkRun('output')"
|
||||
@run-change="onRunOutputIndexChange"
|
||||
@open-settings="openSettings"
|
||||
@table-mounted="onOutputTableMounted"
|
||||
@item-hover="onOutputItemHover"
|
||||
@search="onSearch"
|
||||
/>
|
||||
</template>
|
||||
@ -113,13 +113,13 @@
|
||||
:read-only="readOnly"
|
||||
:block-u-i="blockUi && showTriggerPanel"
|
||||
:executable="!readOnly"
|
||||
@valueChanged="valueChanged"
|
||||
@value-changed="valueChanged"
|
||||
@execute="onNodeExecute"
|
||||
@stopExecution="onStopExecution"
|
||||
@redrawRequired="redrawRequired = true"
|
||||
@stop-execution="onStopExecution"
|
||||
@redraw-required="redrawRequired = true"
|
||||
@activate="onWorkflowActivate"
|
||||
@switchSelectedNode="onSwitchSelectedNode"
|
||||
@openConnectionNodeCreator="onOpenConnectionNodeCreator"
|
||||
@switch-selected-node="onSwitchSelectedNode"
|
||||
@open-connection-node-creator="onOpenConnectionNodeCreator"
|
||||
/>
|
||||
<a
|
||||
v-if="featureRequestUrl"
|
||||
|
@ -14,7 +14,7 @@
|
||||
:model-value="node.name"
|
||||
:node-type="nodeType"
|
||||
:read-only="isReadOnly"
|
||||
@update:modelValue="nameChanged"
|
||||
@update:model-value="nameChanged"
|
||||
></NodeTitle>
|
||||
<div v-if="isExecutable">
|
||||
<NodeExecuteButton
|
||||
@ -25,7 +25,7 @@
|
||||
size="small"
|
||||
telemetry-source="parameters"
|
||||
@execute="onNodeExecute"
|
||||
@stopExecution="onStopExecution"
|
||||
@stop-execution="onStopExecution"
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
@ -98,17 +98,17 @@
|
||||
:is-read-only="isReadOnly"
|
||||
:hidden-issues-inputs="hiddenIssuesInputs"
|
||||
path="parameters"
|
||||
@valueChanged="valueChanged"
|
||||
@value-changed="valueChanged"
|
||||
@activate="onWorkflowActivate"
|
||||
@parameterBlur="onParameterBlur"
|
||||
@parameter-blur="onParameterBlur"
|
||||
>
|
||||
<NodeCredentials
|
||||
:node="node"
|
||||
:readonly="isReadOnly"
|
||||
:show-all="true"
|
||||
:hide-issues="hiddenIssuesInputs.includes('credentials')"
|
||||
@credentialSelected="credentialSelected"
|
||||
@valueChanged="valueChanged"
|
||||
@credential-selected="credentialSelected"
|
||||
@value-changed="valueChanged"
|
||||
@blur="onParameterBlur"
|
||||
/>
|
||||
</ParameterInputList>
|
||||
@ -139,8 +139,8 @@
|
||||
:is-read-only="isReadOnly"
|
||||
:hidden-issues-inputs="hiddenIssuesInputs"
|
||||
path="parameters"
|
||||
@valueChanged="valueChanged"
|
||||
@parameterBlur="onParameterBlur"
|
||||
@value-changed="valueChanged"
|
||||
@parameter-blur="onParameterBlur"
|
||||
/>
|
||||
<ParameterInputList
|
||||
:parameters="nodeSettings"
|
||||
@ -149,8 +149,8 @@
|
||||
:is-read-only="isReadOnly"
|
||||
:hidden-issues-inputs="hiddenIssuesInputs"
|
||||
path=""
|
||||
@valueChanged="valueChanged"
|
||||
@parameterBlur="onParameterBlur"
|
||||
@value-changed="valueChanged"
|
||||
@parameter-blur="onParameterBlur"
|
||||
/>
|
||||
<div class="node-version" data-test-id="node-version">
|
||||
{{
|
||||
@ -169,8 +169,8 @@
|
||||
v-if="node"
|
||||
ref="subConnections"
|
||||
:root-node="node"
|
||||
@switchSelectedNode="onSwitchSelectedNode"
|
||||
@openConnectionNodeCreator="onOpenConnectionNodeCreator"
|
||||
@switch-selected-node="onSwitchSelectedNode"
|
||||
@open-connection-node-creator="onOpenConnectionNodeCreator"
|
||||
/>
|
||||
<n8n-block-ui :show="blockUI" />
|
||||
</div>
|
||||
@ -376,7 +376,7 @@ export default defineComponent({
|
||||
const credential = this.usedCredentials
|
||||
? Object.values(this.usedCredentials).find((credential) => {
|
||||
return credential.id === this.foreignCredentials[0];
|
||||
})
|
||||
})
|
||||
: undefined;
|
||||
|
||||
return this.credentialsStore.getCredentialOwnerName(credential);
|
||||
|
@ -2,8 +2,8 @@
|
||||
<n8n-tabs
|
||||
:options="options"
|
||||
:model-value="modelValue"
|
||||
@update:modelValue="onTabSelect"
|
||||
@tooltipClick="onTooltipClick"
|
||||
@update:model-value="onTabSelect"
|
||||
@tooltip-click="onTooltipClick"
|
||||
/>
|
||||
</template>
|
||||
|
||||
|
@ -15,12 +15,12 @@
|
||||
:is-pane-active="isPaneActive"
|
||||
pane-type="output"
|
||||
:data-output-type="outputMode"
|
||||
@activatePane="activatePane"
|
||||
@runChange="onRunIndexChange"
|
||||
@linkRun="onLinkRun"
|
||||
@unlinkRun="onUnlinkRun"
|
||||
@tableMounted="$emit('tableMounted', $event)"
|
||||
@itemHover="$emit('itemHover', $event)"
|
||||
@activate-pane="activatePane"
|
||||
@run-change="onRunIndexChange"
|
||||
@link-run="onLinkRun"
|
||||
@unlink-run="onUnlinkRun"
|
||||
@table-mounted="$emit('tableMounted', $event)"
|
||||
@item-hover="$emit('itemHover', $event)"
|
||||
@search="$emit('search', $event)"
|
||||
>
|
||||
<template #header>
|
||||
@ -29,7 +29,7 @@
|
||||
<n8n-radio-buttons
|
||||
v-model="outputMode"
|
||||
:options="outputTypes"
|
||||
@update:modelValue="onUpdateOutputMode"
|
||||
@update:model-value="onUpdateOutputMode"
|
||||
/>
|
||||
</template>
|
||||
<span v-else :class="$style.title">
|
||||
|
@ -14,7 +14,7 @@
|
||||
:event-source="eventSource || 'ndv'"
|
||||
:is-read-only="isReadOnly"
|
||||
:redact-values="shouldRedactValue"
|
||||
@closeDialog="closeExpressionEditDialog"
|
||||
@close-dialog="closeExpressionEditDialog"
|
||||
@update:model-value="expressionUpdated"
|
||||
></ExpressionEdit>
|
||||
<div class="parameter-input ignore-key-press" :style="parameterInputWrapperStyle">
|
||||
@ -35,7 +35,7 @@
|
||||
:path="path"
|
||||
:event-bus="eventBus"
|
||||
@update:model-value="valueChanged"
|
||||
@modalOpenerClick="openExpressionEditorModal"
|
||||
@modal-opener-click="openExpressionEditorModal"
|
||||
@focus="setFocus"
|
||||
@blur="onBlur"
|
||||
@drop="onResourceLocatorDrop"
|
||||
@ -53,7 +53,7 @@
|
||||
:class="{ 'ph-no-capture': shouldRedactValue }"
|
||||
:event-bus="eventBus"
|
||||
@update:model-value="expressionUpdated"
|
||||
@modalOpenerClick="openExpressionEditorModal"
|
||||
@modal-opener-click="openExpressionEditorModal"
|
||||
@focus="setFocus"
|
||||
@blur="onBlur"
|
||||
/>
|
||||
@ -128,7 +128,7 @@
|
||||
:parameter="parameter"
|
||||
:path="path"
|
||||
:is-read-only="isReadOnly"
|
||||
@closeDialog="closeTextEditDialog"
|
||||
@close-dialog="closeTextEditDialog"
|
||||
@update:model-value="expressionUpdated"
|
||||
></TextEdit>
|
||||
|
||||
@ -360,10 +360,10 @@
|
||||
:display-value="displayValue"
|
||||
:is-read-only="isReadOnly"
|
||||
:display-title="displayTitle"
|
||||
@credentialSelected="credentialSelected"
|
||||
@credential-selected="credentialSelected"
|
||||
@update:model-value="valueChanged"
|
||||
@setFocus="setFocus"
|
||||
@onBlur="onBlur"
|
||||
@set-focus="setFocus"
|
||||
@on-blur="onBlur"
|
||||
>
|
||||
<template #issues-and-options>
|
||||
<ParameterIssues :issues="getIssues" />
|
||||
|
@ -15,7 +15,7 @@
|
||||
:is-read-only="false"
|
||||
:show-options="true"
|
||||
:is-value-expression="isValueExpression"
|
||||
@update:modelValue="optionSelected"
|
||||
@update:model-value="optionSelected"
|
||||
@menu-expanded="onMenuExpanded"
|
||||
/>
|
||||
</template>
|
||||
@ -34,7 +34,7 @@
|
||||
:event-bus="eventBus"
|
||||
@focus="onFocus"
|
||||
@blur="onBlur"
|
||||
@textInput="valueChanged"
|
||||
@text-input="valueChanged"
|
||||
@update="valueChanged"
|
||||
/>
|
||||
<div v-if="showRequiredErrors" :class="$style.errors">
|
||||
|
@ -17,7 +17,7 @@
|
||||
:is-read-only="isReadOnly"
|
||||
:show-options="displayOptions"
|
||||
:show-expression-selector="showExpressionSelector"
|
||||
@update:modelValue="optionSelected"
|
||||
@update:model-value="optionSelected"
|
||||
@menu-expanded="onMenuExpanded"
|
||||
/>
|
||||
</template>
|
||||
@ -47,7 +47,7 @@
|
||||
:event-bus="eventBus"
|
||||
input-size="small"
|
||||
@update="valueChanged"
|
||||
@textInput="onTextInput"
|
||||
@text-input="onTextInput"
|
||||
@focus="onFocus"
|
||||
@blur="onBlur"
|
||||
@drop="onDrop"
|
||||
@ -70,7 +70,7 @@
|
||||
:is-read-only="isReadOnly"
|
||||
:show-options="displayOptions"
|
||||
:show-expression-selector="showExpressionSelector"
|
||||
@update:modelValue="optionSelected"
|
||||
@update:model-value="optionSelected"
|
||||
@menu-expanded="onMenuExpanded"
|
||||
/>
|
||||
</div>
|
||||
|
@ -18,14 +18,14 @@
|
||||
:node-values="nodeValues"
|
||||
:path="getPath(parameter.name)"
|
||||
:is-read-only="isReadOnly"
|
||||
@valueChanged="valueChanged"
|
||||
@value-changed="valueChanged"
|
||||
/>
|
||||
</div>
|
||||
|
||||
<ImportParameter
|
||||
v-else-if="parameter.type === 'curlImport'"
|
||||
:is-read-only="isReadOnly"
|
||||
@valueChanged="valueChanged"
|
||||
@value-changed="valueChanged"
|
||||
/>
|
||||
|
||||
<n8n-notice
|
||||
@ -74,7 +74,7 @@
|
||||
:node-values="nodeValues"
|
||||
:path="getPath(parameter.name)"
|
||||
:is-read-only="isReadOnly"
|
||||
@valueChanged="valueChanged"
|
||||
@value-changed="valueChanged"
|
||||
/>
|
||||
<FixedCollectionParameter
|
||||
v-else-if="parameter.type === 'fixedCollection'"
|
||||
@ -83,7 +83,7 @@
|
||||
:node-values="nodeValues"
|
||||
:path="getPath(parameter.name)"
|
||||
:is-read-only="isReadOnly"
|
||||
@valueChanged="valueChanged"
|
||||
@value-changed="valueChanged"
|
||||
/>
|
||||
</template>
|
||||
<template #fallback>
|
||||
@ -106,7 +106,7 @@
|
||||
:dependent-parameters-values="getDependentParametersValues(parameter)"
|
||||
input-size="small"
|
||||
label-size="small"
|
||||
@valueChanged="valueChanged"
|
||||
@value-changed="valueChanged"
|
||||
/>
|
||||
<FilterConditions
|
||||
v-else-if="parameter.type === 'filter'"
|
||||
@ -115,7 +115,7 @@
|
||||
:path="getPath(parameter.name)"
|
||||
:node="node"
|
||||
:read-only="isReadOnly"
|
||||
@valueChanged="valueChanged"
|
||||
@value-changed="valueChanged"
|
||||
/>
|
||||
<AssignmentCollection
|
||||
v-else-if="parameter.type === 'assignmentCollection'"
|
||||
@ -124,7 +124,7 @@
|
||||
:path="getPath(parameter.name)"
|
||||
:node="node"
|
||||
:is-read-only="isReadOnly"
|
||||
@valueChanged="valueChanged"
|
||||
@value-changed="valueChanged"
|
||||
/>
|
||||
<div
|
||||
v-else-if="displayNodeParameter(parameter) && credentialsParameterIndex !== index"
|
||||
|
@ -25,7 +25,7 @@
|
||||
@focus="onFocus"
|
||||
@blur="onBlur"
|
||||
@drop="onDrop"
|
||||
@textInput="onTextInput"
|
||||
@text-input="onTextInput"
|
||||
@update="onValueChanged"
|
||||
/>
|
||||
<div v-if="!hideHint && (expressionOutput || parameterHint)" :class="$style.hint">
|
||||
|
@ -33,7 +33,7 @@
|
||||
{ label: $locale.baseText('parameterInput.fixed'), value: 'fixed' },
|
||||
{ label: $locale.baseText('parameterInput.expression'), value: 'expression' },
|
||||
]"
|
||||
@update:modelValue="onViewSelected"
|
||||
@update:model-value="onViewSelected"
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
|
@ -18,9 +18,9 @@
|
||||
:error-view="currentQueryError"
|
||||
:width="width"
|
||||
:event-bus="eventBus"
|
||||
@update:modelValue="onListItemSelected"
|
||||
@update:model-value="onListItemSelected"
|
||||
@filter="onSearchFilter"
|
||||
@loadMore="loadResourcesDebounced"
|
||||
@load-more="loadResourcesDebounced"
|
||||
>
|
||||
<template #error>
|
||||
<div :class="$style.error" data-test-id="rlc-error-container">
|
||||
@ -52,7 +52,7 @@
|
||||
:disabled="isReadOnly"
|
||||
:placeholder="$locale.baseText('resourceLocator.modeSelector.placeholder')"
|
||||
data-test-id="rlc-mode-selector"
|
||||
@update:modelValue="onModeSelected"
|
||||
@update:model-value="onModeSelected"
|
||||
>
|
||||
<n8n-option
|
||||
v-for="mode in parameter.modes"
|
||||
@ -94,8 +94,8 @@
|
||||
:model-value="expressionDisplayValue"
|
||||
:path="path"
|
||||
:rows="3"
|
||||
@update:modelValue="onInputChange"
|
||||
@modalOpenerClick="$emit('modalOpenerClick')"
|
||||
@update:model-value="onInputChange"
|
||||
@modal-opener-click="$emit('modalOpenerClick')"
|
||||
/>
|
||||
<n8n-input
|
||||
v-else
|
||||
@ -109,7 +109,7 @@
|
||||
:placeholder="inputPlaceholder"
|
||||
type="text"
|
||||
data-test-id="rlc-input"
|
||||
@update:modelValue="onInputChange"
|
||||
@update:model-value="onInputChange"
|
||||
@focus="onInputFocus"
|
||||
@blur="onInputBlur"
|
||||
>
|
||||
|
@ -17,7 +17,7 @@
|
||||
:clearable="true"
|
||||
:placeholder="$locale.baseText('resourceLocator.search.placeholder')"
|
||||
data-test-id="rlc-search"
|
||||
@update:modelValue="onFilterInput"
|
||||
@update:model-value="onFilterInput"
|
||||
>
|
||||
<template #prefix>
|
||||
<font-awesome-icon :class="$style.searchIcon" icon="search" />
|
||||
|
@ -300,7 +300,7 @@ defineExpose({
|
||||
:custom-actions="parameterActions"
|
||||
:loading="props.refreshInProgress"
|
||||
:loading-message="fetchingFieldsLabel"
|
||||
@update:modelValue="onParameterActionSelected"
|
||||
@update:model-value="onParameterActionSelected"
|
||||
/>
|
||||
</template>
|
||||
</n8n-input-label>
|
||||
@ -388,7 +388,7 @@ defineExpose({
|
||||
size="small"
|
||||
:teleported="teleported"
|
||||
:disabled="addFieldOptions.length == 0"
|
||||
@update:modelValue="addField"
|
||||
@update:model-value="addField"
|
||||
>
|
||||
<n8n-option
|
||||
v-for="item in addFieldOptions"
|
||||
|
@ -115,7 +115,7 @@ defineExpose({
|
||||
:model-value="selected"
|
||||
:teleported="teleported"
|
||||
:size="props.inputSize"
|
||||
@update:modelValue="onModeChanged"
|
||||
@update:model-value="onModeChanged"
|
||||
>
|
||||
<n8n-option
|
||||
v-for="option in mappingModeOptions"
|
||||
|
@ -182,7 +182,7 @@ defineExpose({
|
||||
:custom-actions="parameterActions"
|
||||
:loading="props.refreshInProgress"
|
||||
:loading-message="fetchingFieldsLabel"
|
||||
@update:modelValue="onParameterActionSelected"
|
||||
@update:model-value="onParameterActionSelected"
|
||||
/>
|
||||
</template>
|
||||
<n8n-select
|
||||
@ -191,7 +191,7 @@ defineExpose({
|
||||
:size="props.inputSize"
|
||||
:disabled="loading"
|
||||
:teleported="teleported"
|
||||
@update:modelValue="onSelectionChange"
|
||||
@update:model-value="onSelectionChange"
|
||||
>
|
||||
<n8n-option
|
||||
v-for="field in availableMatchingFields"
|
||||
|
@ -189,7 +189,7 @@ const defaultSelectedMatchingColumns = computed<string[]>(() => {
|
||||
acc.push(field.id);
|
||||
}
|
||||
return acc;
|
||||
}, [] as string[]);
|
||||
}, [] as string[]);
|
||||
});
|
||||
|
||||
const pluralFieldWord = computed<string>(() => {
|
||||
@ -461,8 +461,8 @@ defineExpose({
|
||||
:loading-error="state.loadingError"
|
||||
:fields-to-map="state.paramValue.schema"
|
||||
:teleported="teleported"
|
||||
@modeChanged="onModeChanged"
|
||||
@retryFetch="initFetching"
|
||||
@mode-changed="onModeChanged"
|
||||
@retry-fetch="initFetching"
|
||||
/>
|
||||
<MatchingColumnsSelect
|
||||
v-if="showMatchingColumnsSelector"
|
||||
@ -476,8 +476,8 @@ defineExpose({
|
||||
:service-name="nodeType?.displayName || locale.baseText('generic.service')"
|
||||
:teleported="teleported"
|
||||
:refresh-in-progress="state.refreshInProgress"
|
||||
@matchingColumnsChanged="onMatchingColumnsChanged"
|
||||
@refreshFieldList="initFetching(true)"
|
||||
@matching-columns-changed="onMatchingColumnsChanged"
|
||||
@refresh-field-list="initFetching(true)"
|
||||
/>
|
||||
<n8n-text v-if="!showMappingModeSelect && state.loading" size="small">
|
||||
<n8n-icon icon="sync-alt" size="xsmall" :spin="true" />
|
||||
@ -502,10 +502,10 @@ defineExpose({
|
||||
:loading="state.loading"
|
||||
:teleported="teleported"
|
||||
:refresh-in-progress="state.refreshInProgress"
|
||||
@fieldValueChanged="fieldValueChanged"
|
||||
@removeField="removeField"
|
||||
@addField="addField"
|
||||
@refreshFieldList="initFetching(true)"
|
||||
@field-value-changed="fieldValueChanged"
|
||||
@remove-field="removeField"
|
||||
@add-field="addField"
|
||||
@refresh-field-list="initFetching(true)"
|
||||
/>
|
||||
<n8n-notice
|
||||
v-if="state.paramValue.mappingMode === 'autoMapInputData' && hasAvailableMatchingColumns"
|
||||
|
@ -56,7 +56,7 @@
|
||||
:model-value="displayMode"
|
||||
:options="buttons"
|
||||
data-test-id="ndv-run-data-display-mode"
|
||||
@update:modelValue="onDisplayModeChange"
|
||||
@update:model-value="onDisplayModeChange"
|
||||
/>
|
||||
<n8n-icon-button
|
||||
v-if="canPinData && !isReadOnlyRoute && !readOnlyEnv"
|
||||
@ -116,7 +116,7 @@
|
||||
size="small"
|
||||
:model-value="runIndex"
|
||||
teleported
|
||||
@update:modelValue="onRunIndexChange"
|
||||
@update:model-value="onRunIndexChange"
|
||||
@click.stop
|
||||
>
|
||||
<template #prepend>{{ $locale.baseText('ndv.output.run') }}</template>
|
||||
@ -160,7 +160,7 @@
|
||||
<n8n-tabs
|
||||
:model-value="currentOutputIndex"
|
||||
:options="branches"
|
||||
@update:modelValue="onBranchChange"
|
||||
@update:model-value="onBranchChange"
|
||||
/>
|
||||
<RunDataSearch
|
||||
v-if="showIOSearch"
|
||||
@ -217,7 +217,7 @@
|
||||
<div :class="[$style.editModeBody, 'ignore-key-press']">
|
||||
<JsonEditor
|
||||
:model-value="editMode.value"
|
||||
@update:modelValue="ndvStore.setOutputPanelEditModeValue($event)"
|
||||
@update:model-value="ndvStore.setOutputPanelEditModeValue($event)"
|
||||
/>
|
||||
</div>
|
||||
<div :class="$style.editModeFooter">
|
||||
@ -372,8 +372,8 @@
|
||||
:has-default-hover-state="paneType === 'input' && !search"
|
||||
:search="search"
|
||||
@mounted="$emit('tableMounted', $event)"
|
||||
@activeRowChanged="onItemHover"
|
||||
@displayModeChange="onDisplayModeChange"
|
||||
@active-row-changed="onItemHover"
|
||||
@display-mode-change="onDisplayModeChange"
|
||||
/>
|
||||
</Suspense>
|
||||
|
||||
@ -527,7 +527,7 @@
|
||||
size="mini"
|
||||
:model-value="pageSize"
|
||||
teleported
|
||||
@update:modelValue="onPageSizeChange"
|
||||
@update:model-value="onPageSizeChange"
|
||||
>
|
||||
<template #prepend>{{ $locale.baseText('ndv.output.pageSize') }}</template>
|
||||
<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', {
|
||||
adjustToNumber: totalItemsCount,
|
||||
interpolate: { matched: itemsCount, total: totalItemsCount },
|
||||
})
|
||||
})
|
||||
: this.$locale.baseText('ndv.output.items', {
|
||||
adjustToNumber: itemsCount,
|
||||
interpolate: { count: itemsCount },
|
||||
});
|
||||
});
|
||||
let outputName = this.getOutputName(i);
|
||||
|
||||
if (`${outputName}` === `${i}`) {
|
||||
@ -1327,12 +1327,12 @@ export default defineComponent({
|
||||
return Array.isArray(this.pinnedData.data.value)
|
||||
? this.pinnedData.data.value.map((value) => ({
|
||||
json: value,
|
||||
}))
|
||||
}))
|
||||
: [
|
||||
{
|
||||
json: this.pinnedData.data.value,
|
||||
},
|
||||
];
|
||||
];
|
||||
}
|
||||
return inputData;
|
||||
},
|
||||
|
@ -30,7 +30,7 @@
|
||||
root-path=""
|
||||
selectable-type="single"
|
||||
class="json-data"
|
||||
@update:selectedValue="selectedJsonPath = $event"
|
||||
@update:selected-value="selectedJsonPath = $event"
|
||||
>
|
||||
<template #renderNodeKey="{ node }">
|
||||
<TextWithHighlights
|
||||
|
@ -80,7 +80,7 @@ onUnmounted(() => {
|
||||
:model-value="modelValue"
|
||||
:placeholder="placeholder"
|
||||
size="small"
|
||||
@update:modelValue="onSearchUpdate"
|
||||
@update:model-value="onSearchUpdate"
|
||||
@focus="onFocus"
|
||||
@blur="onBlur"
|
||||
>
|
||||
|
@ -35,7 +35,7 @@
|
||||
active-color="#13ce66"
|
||||
inactive-color="#8899AA"
|
||||
data-test-id="workflow-activate-switch"
|
||||
@update:modelValue="onEnabledSwitched($event, destination.id)"
|
||||
@update:model-value="onEnabledSwitched($event, destination.id)"
|
||||
>
|
||||
</el-switch>
|
||||
|
||||
|
@ -27,7 +27,7 @@
|
||||
:readonly="isTypeAbstract"
|
||||
type="Credential"
|
||||
data-test-id="subtitle-showing-type"
|
||||
@update:modelValue="onLabelChange"
|
||||
@update:model-value="onLabelChange"
|
||||
/>
|
||||
</div>
|
||||
<div :class="$style.destinationActions">
|
||||
@ -86,7 +86,7 @@
|
||||
:placeholder="typeSelectPlaceholder"
|
||||
data-test-id="select-destination-type"
|
||||
name="name"
|
||||
@update:modelValue="onTypeSelectInput"
|
||||
@update:model-value="onTypeSelectInput"
|
||||
>
|
||||
<n8n-option
|
||||
v-for="option in typeSelectOptions || []"
|
||||
@ -119,7 +119,7 @@
|
||||
:node-values="nodeParameters"
|
||||
:is-read-only="!canManageLogStreaming"
|
||||
path=""
|
||||
@valueChanged="valueChanged"
|
||||
@value-changed="valueChanged"
|
||||
/>
|
||||
</template>
|
||||
<template v-else-if="isTypeSyslog">
|
||||
@ -129,7 +129,7 @@
|
||||
:node-values="nodeParameters"
|
||||
:is-read-only="!canManageLogStreaming"
|
||||
path=""
|
||||
@valueChanged="valueChanged"
|
||||
@value-changed="valueChanged"
|
||||
/>
|
||||
</template>
|
||||
<template v-else-if="isTypeSentry">
|
||||
@ -139,7 +139,7 @@
|
||||
:node-values="nodeParameters"
|
||||
:is-read-only="!canManageLogStreaming"
|
||||
path=""
|
||||
@valueChanged="valueChanged"
|
||||
@value-changed="valueChanged"
|
||||
/>
|
||||
</template>
|
||||
</div>
|
||||
|
@ -10,7 +10,7 @@
|
||||
:model-value="group.selected"
|
||||
:indeterminate="!group.selected && group.indeterminate"
|
||||
:disabled="readonly"
|
||||
@update:modelValue="onInput"
|
||||
@update:model-value="onInput"
|
||||
@change="onCheckboxChecked(group.name, $event)"
|
||||
>
|
||||
<strong>{{ groupLabelName(group.name) }}</strong>
|
||||
@ -30,7 +30,7 @@
|
||||
v-if="group.name === 'n8n.audit'"
|
||||
:model-value="logStreamingStore.items[destinationId]?.destination.anonymizeAuditMessages"
|
||||
:disabled="readonly"
|
||||
@update:modelValue="onInput"
|
||||
@update:model-value="onInput"
|
||||
@change="anonymizeAuditMessagesChanged"
|
||||
>
|
||||
{{ $locale.baseText('settings.log-streaming.tab.events.anonymize') }}
|
||||
@ -52,7 +52,7 @@
|
||||
:model-value="event.selected || group.selected"
|
||||
:indeterminate="event.indeterminate"
|
||||
:disabled="group.selected || readonly"
|
||||
@update:modelValue="onInput"
|
||||
@update:model-value="onInput"
|
||||
@change="onCheckboxChecked(event.name, $event)"
|
||||
>
|
||||
{{ event.label }}
|
||||
|
@ -252,7 +252,7 @@ async function commitAndPush() {
|
||||
<n8n-checkbox
|
||||
:indeterminate="selectAllIndeterminate"
|
||||
:model-value="selectAll"
|
||||
@update:modelValue="onToggleSelectAll"
|
||||
@update:model-value="onToggleSelectAll"
|
||||
>
|
||||
<n8n-text bold tag="strong">
|
||||
{{ i18n.baseText('settings.sourceControl.modals.push.workflowsToCommit') }}
|
||||
@ -273,7 +273,7 @@ async function commitAndPush() {
|
||||
<n8n-checkbox
|
||||
:model-value="staged[file.file]"
|
||||
:class="$style.listItemCheckbox"
|
||||
@update:modelValue="setStagedStatus(file, !staged[file.file])"
|
||||
@update:model-value="setStagedStatus(file, !staged[file.file])"
|
||||
/>
|
||||
<div>
|
||||
<n8n-text v-if="file.status === 'deleted'" color="text-light">
|
||||
|
@ -40,7 +40,7 @@
|
||||
@resize="onResize"
|
||||
@resizeend="onResizeEnd"
|
||||
@markdown-click="onMarkdownClick"
|
||||
@update:modelValue="onInputChange"
|
||||
@update:model-value="onInputChange"
|
||||
/>
|
||||
</div>
|
||||
|
||||
@ -257,8 +257,8 @@ export default defineComponent({
|
||||
isOnboardingNote && isWelcomeVideo
|
||||
? 'welcome_video'
|
||||
: isOnboardingNote && link.getAttribute('href') === '/templates'
|
||||
? 'templates'
|
||||
: 'other';
|
||||
? 'templates'
|
||||
: 'other';
|
||||
|
||||
this.$telemetry.track('User clicked note link', { type });
|
||||
}
|
||||
|
@ -67,7 +67,7 @@ function onOpenCollection({ id }: { event: Event; id: number }) {
|
||||
:show-item-count="false"
|
||||
:show-navigation="false"
|
||||
cards-width="24%"
|
||||
@openCollection="onOpenCollection"
|
||||
@open-collection="onOpenCollection"
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
|
@ -18,7 +18,7 @@
|
||||
loading-text="..."
|
||||
popper-class="tags-dropdown"
|
||||
data-test-id="tags-dropdown"
|
||||
@update:modelValue="onTagsUpdated"
|
||||
@update:model-value="onTagsUpdated"
|
||||
@visible-change="onVisibleChange"
|
||||
@remove-tag="onRemoveTag"
|
||||
>
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user