mirror of
https://github.com/Abdulazizzn/n8n-enterprise-unlocked.git
synced 2025-12-21 03:42:16 +00:00
77 lines
1.7 KiB
Vue
77 lines
1.7 KiB
Vue
<script setup lang="ts">
|
|
import type { IUpdateInformation } from '@/Interface';
|
|
import type { INodeTypeDescription } from 'n8n-workflow';
|
|
import NodeSettingsTabs from './NodeSettingsTabs.vue';
|
|
import NodeExecuteButton from './NodeExecuteButton.vue';
|
|
import type { NodeSettingsTab } from '@/types/nodeSettings';
|
|
|
|
type Props = {
|
|
nodeName: string;
|
|
hideExecute: boolean;
|
|
hideTabs: boolean;
|
|
disableExecute: boolean;
|
|
executeButtonTooltip: string;
|
|
selectedTab: NodeSettingsTab;
|
|
nodeType?: INodeTypeDescription | null;
|
|
pushRef: string;
|
|
};
|
|
|
|
defineProps<Props>();
|
|
|
|
const emit = defineEmits<{
|
|
execute: [];
|
|
'stop-execution': [];
|
|
'value-changed': [update: IUpdateInformation];
|
|
'tab-changed': [tab: NodeSettingsTab];
|
|
}>();
|
|
</script>
|
|
|
|
<template>
|
|
<div :class="$style.header">
|
|
<NodeSettingsTabs
|
|
v-if="!hideTabs"
|
|
hide-docs
|
|
:model-value="selectedTab"
|
|
:node-type="nodeType"
|
|
:push-ref="pushRef"
|
|
:class="$style.tabs"
|
|
tabs-variant="modern"
|
|
@update:model-value="emit('tab-changed', $event)"
|
|
/>
|
|
<NodeExecuteButton
|
|
v-if="!hideExecute"
|
|
data-test-id="node-execute-button"
|
|
:node-name="nodeName"
|
|
:disabled="disableExecute"
|
|
:tooltip="executeButtonTooltip"
|
|
:class="$style.execute"
|
|
size="small"
|
|
telemetry-source="parameters"
|
|
@execute="emit('execute')"
|
|
@stop-execution="emit('stop-execution')"
|
|
@value-changed="emit('value-changed', $event)"
|
|
/>
|
|
</div>
|
|
</template>
|
|
|
|
<style lang="scss" module>
|
|
.header {
|
|
--color-tabs-arrow-buttons: var(--color-background-xlight);
|
|
|
|
display: flex;
|
|
align-items: center;
|
|
min-height: 40px;
|
|
padding-right: var(--spacing-s);
|
|
|
|
border-bottom: var(--border-base);
|
|
}
|
|
|
|
.tabs {
|
|
align-self: flex-end;
|
|
}
|
|
|
|
.tabs :global(#communityNode) {
|
|
padding-right: var(--spacing-2xs);
|
|
}
|
|
</style>
|