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
190 changed files with 1142 additions and 1198 deletions

View File

@@ -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",

View File

@@ -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",

View File

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

View File

@@ -86,7 +86,8 @@ type ExceptionPaths = {
// string literals map
// -----------------------------------
type GetPathSegmentsWithUnions<T> = T extends ReadonlyArray<infer C>
type GetPathSegmentsWithUnions<T> =
T extends ReadonlyArray<infer C>
? [C]
: {
[K in ValidKeys<T>]: [K, ...GetPathSegmentsWithUnions<T[K]>];

View File

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

View File

@@ -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!;

View File

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

View File

@@ -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);
}
});

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.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;

View File

@@ -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);
}

View File

@@ -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) {

View File

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

View File

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

View File

@@ -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

View File

@@ -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"
/>

View File

@@ -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"
/>

View File

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

View File

@@ -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" />

View File

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

View File

@@ -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"

View File

@@ -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

View File

@@ -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>

View File

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

View File

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

View File

@@ -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">

View File

@@ -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" />

View File

@@ -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"

View File

@@ -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>

View File

@@ -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" />

View File

@@ -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>

View File

@@ -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>

View File

@@ -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>

View File

@@ -6,7 +6,7 @@
:initially-expanded="shouldExpandAccordion"
:header-icon="accordionIcon"
@click:body="onAccordionClick"
@tooltipClick="onItemTooltipClick"
@tooltip-click="onItemTooltipClick"
>
<template #customContent>
<footer class="mt-2xs">

View File

@@ -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>

View File

@@ -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" />

View File

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

View File

@@ -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>

View File

@@ -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"

View File

@@ -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 }">

View File

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

View File

@@ -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"
>

View File

@@ -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"

View File

@@ -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>

View File

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

View File

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

View File

@@ -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>

View File

@@ -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>

View File

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

View File

@@ -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>

View File

@@ -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>

View File

@@ -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>

View File

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

View File

@@ -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

View File

@@ -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,

View File

@@ -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"

View File

@@ -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>

View File

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

View File

@@ -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">

View File

@@ -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" />

View File

@@ -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">

View File

@@ -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>

View File

@@ -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"

View File

@@ -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">

View File

@@ -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>

View File

@@ -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"
>

View File

@@ -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" />

View File

@@ -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"

View File

@@ -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"

View File

@@ -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"

View File

@@ -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"

View File

@@ -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">

View File

@@ -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

View File

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

View File

@@ -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>

View File

@@ -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>

View File

@@ -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 }}

View File

@@ -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">

View File

@@ -40,7 +40,7 @@
@resize="onResize"
@resizeend="onResizeEnd"
@markdown-click="onMarkdownClick"
@update:modelValue="onInputChange"
@update:model-value="onInputChange"
/>
</div>

View File

@@ -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>

View File

@@ -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"
>

View File

@@ -17,9 +17,9 @@
@create="onCreate"
@update="onUpdate"
@delete="onDelete"
@disableCreate="onDisableCreate"
@disable-create="onDisableCreate"
/>
<NoTagsView v-else @enableCreate="onEnableCreate" />
<NoTagsView v-else @enable-create="onEnableCreate" />
</el-row>
</template>
<template #footer="{ close }">

View File

@@ -19,7 +19,7 @@
ref="nameInput"
:model-value="newName"
:maxlength="maxLength"
@update:modelValue="onNewNameChange"
@update:model-value="onNewNameChange"
></n8n-input>
<span v-else-if="scope.row.delete">
<span>{{ $locale.baseText('tagsTable.areYouSureYouWantToDeleteThisTag') }}</span>

View File

@@ -7,7 +7,7 @@
:disabled="disabled"
:maxlength="maxLength"
clearable
@update:modelValue="onSearchChange"
@update:model-value="onSearchChange"
>
<template #prefix>
<font-awesome-icon icon="search" />

View File

@@ -3,8 +3,8 @@
<TagsTableHeader
:search="search"
:disabled="isHeaderDisabled()"
@searchChange="onSearchChange"
@createEnable="onCreateEnable"
@search-change="onSearchChange"
@create-enable="onCreateEnable"
/>
<TagsTable
ref="tagsTable"
@@ -13,11 +13,11 @@
:is-saving="isSaving"
:new-name="newName"
data-test-id="tags-table"
@newNameChange="onNewNameChange"
@updateEnable="onUpdateEnable"
@deleteEnable="onDeleteEnable"
@cancelOperation="cancelOperation"
@applyOperation="applyOperation"
@new-name-change="onNewNameChange"
@update-enable="onUpdateEnable"
@delete-enable="onDeleteEnable"
@cancel-operation="cancelOperation"
@apply-operation="applyOperation"
/>
</div>
</template>

View File

@@ -17,7 +17,7 @@
:last-item="index === workflows.length - 1 && !loading"
:use-workflow-button="useWorkflowButton"
@click="(e) => onCardClick(e, workflow.id)"
@useWorkflow="(e) => onUseWorkflow(e, workflow.id)"
@use-workflow="(e) => onUseWorkflow(e, workflow.id)"
/>
<div v-if="infiniteScrollEnabled" ref="loader" />
<div v-if="loading" data-test-id="templates-loading-container">

View File

@@ -19,7 +19,7 @@
:placeholder="$locale.nodeText().placeholder(parameter, path)"
:read-only="isReadOnly"
:rows="15"
@update:modelValue="valueChanged"
@update:model-value="valueChanged"
/>
</div>
</n8n-input-label>

View File

@@ -37,7 +37,7 @@
<n8n-input
v-model="form.email"
placeholder="Your email address"
@update:modelValue="onInputChange"
@update:model-value="onInputChange"
/>
<div :class="$style.button">
<n8n-button label="Send" float="right" :disabled="!isEmailValid" @click="send" />

View File

@@ -17,7 +17,7 @@
:item="option"
:extend-all="extendAll"
:redact-values="redactValues"
@itemSelected="forwardItemSelected"
@item-selected="forwardItemSelected"
></VariableSelectorItem>
</div>
</div>

View File

@@ -43,7 +43,7 @@
:allow-parent-select="option.allowParentSelect"
:redact-values="redactValues"
class="sub-level"
@itemSelected="forwardItemSelected"
@item-selected="forwardItemSelected"
></variable-selector-item>
</div>
</div>

View File

@@ -31,7 +31,7 @@
:active-color="getActiveColor"
inactive-color="#8899AA"
data-test-id="workflow-activate-switch"
@update:modelValue="activeChanged"
@update:model-value="activeChanged"
>
</el-switch>
</n8n-tooltip>

View File

@@ -114,7 +114,7 @@
:placeholder="$locale.baseText('workflowSettings.callerIds.placeholder')"
type="text"
data-test-id="workflow-caller-policy-workflow-ids"
@update:modelValue="onCallerIdsInput"
@update:model-value="onCallerIdsInput"
/>
</el-col>
</el-row>
@@ -282,7 +282,7 @@
:model-value="workflowSettings.executionTimeout > -1"
active-color="#13ce66"
data-test-id="workflow-settings-timeout-workflow"
@update:modelValue="toggleTimeout"
@update:model-value="toggleTimeout"
></el-switch>
</div>
</el-col>
@@ -306,7 +306,7 @@
:disabled="readOnlyEnv"
:model-value="timeoutHMS.hours"
:min="0"
@update:modelValue="(value) => setTimeout('hours', value)"
@update:model-value="(value) => setTimeout('hours', value)"
>
<template #append>{{ $locale.baseText('workflowSettings.hours') }}</template>
</n8n-input>
@@ -317,7 +317,7 @@
:model-value="timeoutHMS.minutes"
:min="0"
:max="60"
@update:modelValue="(value) => setTimeout('minutes', value)"
@update:model-value="(value) => setTimeout('minutes', value)"
>
<template #append>{{ $locale.baseText('workflowSettings.minutes') }}</template>
</n8n-input>
@@ -328,7 +328,7 @@
:model-value="timeoutHMS.seconds"
:min="0"
:max="60"
@update:modelValue="(value) => setTimeout('seconds', value)"
@update:model-value="(value) => setTimeout('seconds', value)"
>
<template #append>{{ $locale.baseText('workflowSettings.seconds') }}</template>
</n8n-input>

View File

@@ -39,7 +39,7 @@
:current-user-id="currentUser.id"
:placeholder="$locale.baseText('workflows.shareModal.select.placeholder')"
data-test-id="workflow-sharing-modal-users-select"
@update:modelValue="onAddSharee"
@update:model-value="onAddSharee"
>
<template #prefix>
<n8n-icon icon="search" />
@@ -57,7 +57,7 @@
:class="$style.roleSelect"
model-value="editor"
size="small"
@update:modelValue="onRoleAction(user, $event)"
@update:model-value="onRoleAction(user, $event)"
>
<n8n-option :label="$locale.baseText('workflows.roles.editor')" value="editor" />
<n8n-option :class="$style.roleSelectRemoveOption" value="remove">

View File

@@ -74,7 +74,7 @@ describe('PersonalizationModal.vue', () => {
);
for (const index of [3, 4, 5, 6]) {
const select = wrapper.container.querySelectorAll('.n8n-select')[1]!;
const select = wrapper.container.querySelectorAll('.n8n-select')[1];
await fireEvent.click(select);
@@ -96,7 +96,7 @@ describe('PersonalizationModal.vue', () => {
expect(wrapper.container.querySelector('.modal-content')).toBeInTheDocument(),
);
const select = wrapper.container.querySelectorAll('.n8n-select')[3]!;
const select = wrapper.container.querySelectorAll('.n8n-select')[3];
await fireEvent.click(select);
const item = select.querySelectorAll('.el-select-dropdown__item')[3];
@@ -120,7 +120,7 @@ describe('PersonalizationModal.vue', () => {
expect(wrapper.container.querySelector('.modal-content')).toBeInTheDocument(),
);
const select = wrapper.container.querySelectorAll('.n8n-select')[3]!;
const select = wrapper.container.querySelectorAll('.n8n-select')[3];
await fireEvent.click(select);
const item = select.querySelectorAll('.el-select-dropdown__item')[3];
@@ -129,7 +129,7 @@ describe('PersonalizationModal.vue', () => {
const agreeCheckbox = wrapper.container.querySelector('.n8n-checkbox')!;
await fireEvent.click(agreeCheckbox);
const submitButton = wrapper.getByRole('button')!;
const submitButton = wrapper.getByRole('button');
await userEvent.click(submitButton);
await retry(() => expect(spyLicenseTrial).toHaveBeenCalled());

View File

@@ -33,7 +33,7 @@
:current-user-id="usersStore.currentUser.id"
:model-value="modelValue.ownedBy"
size="medium"
@update:modelValue="setKeyValue('ownedBy', $event)"
@update:model-value="setKeyValue('ownedBy', $event)"
/>
</enterprise-edition>
<enterprise-edition v-if="shareable" :features="[EnterpriseEditionFeature.Sharing]">
@@ -49,7 +49,7 @@
:current-user-id="usersStore.currentUser.id"
:model-value="modelValue.sharedWith"
size="medium"
@update:modelValue="setKeyValue('sharedWith', $event)"
@update:model-value="setKeyValue('sharedWith', $event)"
/>
</enterprise-edition>
<div v-if="hasFilters" :class="[$style['filters-dropdown-footer'], 'mt-s']">

View File

@@ -4,7 +4,7 @@
:items="menuItems"
mode="tabs"
:model-value="value ? 'owner' : 'all'"
@update:modelValue="onSelectOwner"
@update:model-value="onSelectOwner"
/>
</div>
</template>

View File

@@ -69,7 +69,7 @@
:placeholder="i18n.baseText(`${resourceKey}.search.placeholder`)"
clearable
data-test-id="resources-list-search"
@update:modelValue="onSearch"
@update:model-value="onSearch"
>
<template #prefix>
<n8n-icon icon="search" />
@@ -91,8 +91,8 @@
:reset="resetFilters"
:model-value="filtersModel"
:shareable="shareable"
@update:modelValue="$emit('update:filters', $event)"
@update:filtersLength="onUpdateFiltersLength"
@update:model-value="$emit('update:filters', $event)"
@update:filters-length="onUpdateFiltersLength"
>
<template #default="resourceFiltersSlotProps">
<slot name="filters" v-bind="resourceFiltersSlotProps" />
@@ -146,8 +146,8 @@
:rows="filteredAndSortedSubviewResources"
:current-page="currentPage"
:rows-per-page="rowsPerPage"
@update:currentPage="setCurrentPage"
@update:rowsPerPage="setRowsPerPage"
@update:current-page="setCurrentPage"
@update:rows-per-page="setRowsPerPage"
>
<template #row="{ columns, row }">
<slot :data="row" :columns="columns" />

View File

@@ -175,7 +175,7 @@ export function useToast() {
function showNotificationForViews(views: VIEWS[]) {
const notifications: NotificationOptions[] = [];
views.forEach((view) => {
notifications.push(...(uiStore.getNotificationsForView(view) as NotificationOptions[]));
notifications.push(...uiStore.getNotificationsForView(view));
});
if (notifications.length) {
notifications.forEach(async (notification) => {

View File

@@ -77,13 +77,12 @@ import { dataPinningEventBus } from '@/event-bus';
import { isObject } from '@/utils/objectUtils';
import { getPairedItemsMapping } from '@/utils/pairedItemUtils';
import { isJsonKeyObject, isEmpty, stringSizeInBytes } from '@/utils/typesUtils';
import { makeRestApiRequest, unflattenExecutionData } from '@/utils/apiUtils';
import { makeRestApiRequest, unflattenExecutionData, ResponseError } from '@/utils/apiUtils';
import { useNDVStore } from '@/stores/ndv.store';
import { useNodeTypesStore } from '@/stores/nodeTypes.store';
import { useUsersStore } from '@/stores/users.store';
import { useSettingsStore } from '@/stores/settings.store';
import { getCredentialOnlyNodeTypeName } from '@/utils/credentialOnlyNodes';
import { ResponseError } from '@/utils/apiUtils';
import { i18n } from '@/plugins/i18n';
const defaults: Omit<IWorkflowDb, 'id'> & { settings: NonNullable<IWorkflowDb['settings']> } = {

View File

@@ -277,10 +277,8 @@ export type ExternalHooksKey = {
[K in keyof ExternalHooks]: `${K}.${Extract<keyof ExternalHooks[K], string>}`;
}[keyof ExternalHooks];
type ExtractHookMethodArray<
P extends keyof ExternalHooks,
S extends keyof ExternalHooks[P],
> = ExternalHooks[P][S] extends Array<infer U> ? U : never;
type ExtractHookMethodArray<P extends keyof ExternalHooks, S extends keyof ExternalHooks[P]> =
ExternalHooks[P][S] extends Array<infer U> ? U : never;
type ExtractHookMethodFunction<T> = T extends ExternalHooksMethod ? T : never;

View File

@@ -11,7 +11,7 @@
v-bind="form"
data-test-id="auth-form"
:button-loading="formLoading"
@secondaryClick="onSecondaryClick"
@secondary-click="onSecondaryClick"
@submit="onSubmit"
@update="onUpdate"
>

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