mirror of
https://github.com/Abdulazizzn/n8n-enterprise-unlocked.git
synced 2025-12-17 18:12:04 +00:00
fix(editor): Hide execution buttons in readonly mode in new canvas (no-changelog) (#10603)
This commit is contained in:
@@ -96,6 +96,7 @@ import { createEventBus } from 'n8n-design-system';
|
|||||||
import type { PinDataSource } from '@/composables/usePinnedData';
|
import type { PinDataSource } from '@/composables/usePinnedData';
|
||||||
import { useClipboard } from '@/composables/useClipboard';
|
import { useClipboard } from '@/composables/useClipboard';
|
||||||
import { useBeforeUnload } from '@/composables/useBeforeUnload';
|
import { useBeforeUnload } from '@/composables/useBeforeUnload';
|
||||||
|
import { getResourcePermissions } from '@/permissions';
|
||||||
|
|
||||||
const LazyNodeCreation = defineAsyncComponent(
|
const LazyNodeCreation = defineAsyncComponent(
|
||||||
async () => await import('@/components/Node/NodeCreation.vue'),
|
async () => await import('@/components/Node/NodeCreation.vue'),
|
||||||
@@ -203,7 +204,11 @@ const isReadOnlyEnvironment = computed(() => {
|
|||||||
});
|
});
|
||||||
|
|
||||||
const isCanvasReadOnly = computed(() => {
|
const isCanvasReadOnly = computed(() => {
|
||||||
return isDemoRoute.value || isReadOnlyEnvironment.value;
|
return (
|
||||||
|
isDemoRoute.value ||
|
||||||
|
isReadOnlyEnvironment.value ||
|
||||||
|
!(workflowPermissions.value.update ?? projectPermissions.value.workflow.update)
|
||||||
|
);
|
||||||
});
|
});
|
||||||
|
|
||||||
const fallbackNodes = computed<INodeUi[]>(() =>
|
const fallbackNodes = computed<INodeUi[]>(() =>
|
||||||
@@ -885,6 +890,21 @@ function onClickConnectionAdd(connection: Connection) {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Permissions
|
||||||
|
*/
|
||||||
|
|
||||||
|
const workflowPermissions = computed(() => {
|
||||||
|
return getResourcePermissions(workflowsStore.getWorkflowById(workflowId.value)?.scopes).workflow;
|
||||||
|
});
|
||||||
|
|
||||||
|
const projectPermissions = computed(() => {
|
||||||
|
const project = route.query?.projectId
|
||||||
|
? projectsStore.myProjects.find((p) => p.id === route.query.projectId)
|
||||||
|
: projectsStore.currentProject ?? projectsStore.personalProject;
|
||||||
|
return getResourcePermissions(project?.scopes);
|
||||||
|
});
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Executions
|
* Executions
|
||||||
*/
|
*/
|
||||||
@@ -1516,7 +1536,7 @@ onDeactivated(() => {
|
|||||||
@create:workflow="onCreateWorkflow"
|
@create:workflow="onCreateWorkflow"
|
||||||
@viewport-change="onViewportChange"
|
@viewport-change="onViewportChange"
|
||||||
>
|
>
|
||||||
<div :class="$style.executionButtons">
|
<div v-if="!isCanvasReadOnly" :class="$style.executionButtons">
|
||||||
<CanvasRunWorkflowButton
|
<CanvasRunWorkflowButton
|
||||||
:waiting-for-webhook="isExecutionWaitingForWebhook"
|
:waiting-for-webhook="isExecutionWaitingForWebhook"
|
||||||
:disabled="isExecutionDisabled"
|
:disabled="isExecutionDisabled"
|
||||||
|
|||||||
Reference in New Issue
Block a user