feat(editor): Chat Trigger tweaks (#9618)
Signed-off-by: Oleg Ivaniv <me@olegivaniv.com>
This commit is contained in:
@@ -156,6 +156,7 @@ import { useRouter } from 'vue-router';
|
||||
import { useNodeTypesStore } from '@/stores/nodeTypes.store';
|
||||
import { useRunWorkflow } from '@/composables/useRunWorkflow';
|
||||
import { usePinnedData } from '@/composables/usePinnedData';
|
||||
import { isEmpty } from '@/utils/typesUtils';
|
||||
|
||||
const RunDataAi = defineAsyncComponent(
|
||||
async () => await import('@/components/RunDataAi/RunDataAi.vue'),
|
||||
@@ -495,7 +496,9 @@ export default defineComponent({
|
||||
this.waitForExecution(response.executionId);
|
||||
},
|
||||
extractResponseMessage(responseData?: IDataObject) {
|
||||
if (!responseData) return '<NO RESPONSE FOUND>';
|
||||
if (!responseData || isEmpty(responseData)) {
|
||||
return this.$locale.baseText('chat.window.chat.response.empty');
|
||||
}
|
||||
|
||||
// Paths where the response message might be located
|
||||
const paths = ['output', 'text', 'response.text'];
|
||||
|
||||
@@ -170,6 +170,7 @@
|
||||
"chat.window.chat.unpinAndExecute.title": "Unpin chat output data?",
|
||||
"chat.window.chat.unpinAndExecute.confirm": "Unpin and send",
|
||||
"chat.window.chat.unpinAndExecute.cancel": "Cancel",
|
||||
"chat.window.chat.response.empty": "[No response. Make sure the last executed node outputs the content to display here]",
|
||||
"chatEmbed.infoTip.description": "Add chat to external applications using the n8n chat package.",
|
||||
"chatEmbed.infoTip.link": "More info",
|
||||
"chatEmbed.title": "Embed Chat in your website",
|
||||
|
||||
@@ -725,12 +725,23 @@ export default defineComponent({
|
||||
);
|
||||
},
|
||||
isManualChatOnly(): boolean {
|
||||
return this.containsChatNodes && this.triggerNodes.length === 1;
|
||||
if (!this.canvasChatNode) return false;
|
||||
|
||||
return this.containsChatNodes && this.triggerNodes.length === 1 && !this.pinnedChatNodeData;
|
||||
},
|
||||
canvasChatNode() {
|
||||
return this.nodes.find((node) => node.type === CHAT_TRIGGER_NODE_TYPE);
|
||||
},
|
||||
pinnedChatNodeData() {
|
||||
if (!this.canvasChatNode) return null;
|
||||
|
||||
return this.workflowsStore.pinDataByNodeName(this.canvasChatNode.name);
|
||||
},
|
||||
isExecutionDisabled(): boolean {
|
||||
if (
|
||||
this.containsChatNodes &&
|
||||
this.triggerNodes.every((node) => node.disabled || node.type === CHAT_TRIGGER_NODE_TYPE)
|
||||
this.triggerNodes.every((node) => node.disabled || node.type === CHAT_TRIGGER_NODE_TYPE) &&
|
||||
!this.pinnedChatNodeData
|
||||
) {
|
||||
return true;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user