🐛 Fix NodeViewNew navigation handling (#1853)

* 🐛 Fix NodeViewNew navigation handling

* Use event emitter pattern to fix duplicate navigation

* Apply review suggestions

* Remove unnecessary arrow function

*  Also fix for keyboard shortcut

Co-authored-by: Jan Oberhauser <jan.oberhauser@gmail.com>
This commit is contained in:
MedAliMarz 2021-06-04 23:13:42 +02:00 committed by GitHub
parent df88084928
commit 6ccb42156d
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 16 additions and 4 deletions

View file

@ -431,7 +431,11 @@ export default mixins(
const importConfirm = await this.confirmMessage(`When you switch workflows your current workflow changes will be lost.`, 'Save your Changes?', 'warning', 'Yes, switch workflows and forget changes');
if (importConfirm === true) {
this.$store.commit('setStateDirty', false);
this.$router.push({ name: 'NodeViewNew' });
if (this.$router.currentRoute.name === 'NodeViewNew') {
this.$root.$emit('newWorkflow');
} else {
this.$router.push({ name: 'NodeViewNew' });
}
this.$showMessage({
title: 'Workflow created',
@ -440,7 +444,9 @@ export default mixins(
});
}
} else {
this.$router.push({ name: 'NodeViewNew' });
if (this.$router.currentRoute.name !== 'NodeViewNew') {
this.$router.push({ name: 'NodeViewNew' });
}
this.$showMessage({
title: 'Workflow created',

View file

@ -495,10 +495,14 @@ export default mixins(
e.stopPropagation();
e.preventDefault();
this.$router.push({ name: 'NodeViewNew' });
if (this.$router.currentRoute.name === 'NodeViewNew') {
this.$root.$emit('newWorkflow');
} else {
this.$router.push({ name: 'NodeViewNew' });
}
this.$showMessage({
title: 'Created',
title: 'Workflow created',
message: 'A new workflow got created!',
type: 'success',
});
@ -2063,6 +2067,8 @@ export default mixins(
const resData = await this.importWorkflowData(data.data as IWorkflowDataUpdate);
});
this.$root.$on('newWorkflow', this.newWorkflow);
this.$root.$on('importWorkflowUrl', async (data: IDataObject) => {
const workflowData = await this.getWorkflowDataFromUrl(data.url as string);
if (workflowData !== undefined) {