mirror of
https://github.com/Abdulazizzn/n8n-enterprise-unlocked.git
synced 2025-12-16 17:46:45 +00:00
feat: Append item index suffix to an error message, if provided, and node has many input items (#9070)
This commit is contained in:
@@ -84,6 +84,10 @@ const n8nVersion = computed(() => {
|
|||||||
return rootStore.versionCli + ` (${instanceType})`;
|
return rootStore.versionCli + ` (${instanceType})`;
|
||||||
});
|
});
|
||||||
|
|
||||||
|
const hasManyInputItems = computed(() => {
|
||||||
|
return ndvStore.ndvInputData.length > 1;
|
||||||
|
});
|
||||||
|
|
||||||
const nodeDefaultName = computed(() => {
|
const nodeDefaultName = computed(() => {
|
||||||
const node = props.error?.node;
|
const node = props.error?.node;
|
||||||
if (!node) {
|
if (!node) {
|
||||||
@@ -214,33 +218,48 @@ function getErrorDescription(): string {
|
|||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function addItemIndexSuffix(message: string): string {
|
||||||
|
let itemIndexSuffix = '';
|
||||||
|
|
||||||
|
const ITEM_INDEX_SUFFIX_TEXT = '[item ';
|
||||||
|
|
||||||
|
if (
|
||||||
|
hasManyInputItems.value &&
|
||||||
|
!message.includes(ITEM_INDEX_SUFFIX_TEXT) &&
|
||||||
|
props.error?.context?.itemIndex !== undefined
|
||||||
|
) {
|
||||||
|
itemIndexSuffix = ` [item ${props.error.context.itemIndex}]`;
|
||||||
|
}
|
||||||
|
|
||||||
|
return message + itemIndexSuffix;
|
||||||
|
}
|
||||||
|
|
||||||
function getErrorMessage(): string {
|
function getErrorMessage(): string {
|
||||||
const baseErrorMessage = '';
|
const baseErrorMessage = '';
|
||||||
|
let message = '';
|
||||||
|
|
||||||
const isSubNodeError =
|
const isSubNodeError =
|
||||||
props.error.name === 'NodeOperationError' &&
|
props.error.name === 'NodeOperationError' &&
|
||||||
(props.error as NodeOperationError).functionality === 'configuration-node';
|
(props.error as NodeOperationError).functionality === 'configuration-node';
|
||||||
|
|
||||||
if (isSubNodeError) {
|
if (isSubNodeError) {
|
||||||
const baseErrorMessageSubNode = i18n.baseText('nodeErrorView.errorSubNode', {
|
message = i18n.baseText('nodeErrorView.errorSubNode', {
|
||||||
interpolate: { node: props.error.node.name },
|
interpolate: { node: props.error.node.name },
|
||||||
});
|
});
|
||||||
return baseErrorMessageSubNode;
|
} else if (
|
||||||
|
props.error.message === props.error.description ||
|
||||||
|
!props.error.context?.messageTemplate
|
||||||
|
) {
|
||||||
|
message = baseErrorMessage + props.error.message;
|
||||||
|
} else {
|
||||||
|
const parameterName = parameterDisplayName(props.error.context.parameter as string);
|
||||||
|
|
||||||
|
message =
|
||||||
|
baseErrorMessage +
|
||||||
|
(props.error.context.messageTemplate as string).replace(/%%PARAMETER%%/g, parameterName);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (props.error.message === props.error.description) {
|
return addItemIndexSuffix(message);
|
||||||
return baseErrorMessage;
|
|
||||||
}
|
|
||||||
if (!props.error.context?.messageTemplate) {
|
|
||||||
return baseErrorMessage + props.error.message;
|
|
||||||
}
|
|
||||||
|
|
||||||
const parameterName = parameterDisplayName(props.error.context.parameter as string);
|
|
||||||
|
|
||||||
return (
|
|
||||||
baseErrorMessage +
|
|
||||||
(props.error.context.messageTemplate as string).replace(/%%PARAMETER%%/g, parameterName)
|
|
||||||
);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
function parameterDisplayName(path: string, fullPath = true) {
|
function parameterDisplayName(path: string, fullPath = true) {
|
||||||
|
|||||||
Reference in New Issue
Block a user