mirror of
https://github.com/n8n-io/n8n.git
synced 2025-03-05 20:50:17 -08:00
feat: migrate several components
This commit is contained in:
parent
edefe06282
commit
b6e2b6943e
|
@ -38,9 +38,13 @@ module.exports = {
|
|||
'../src/components/N8nSelect/*.stories.@(js|jsx|ts|tsx)',
|
||||
'../src/components/N8nSpinner/*.stories.@(js|jsx|ts|tsx)',
|
||||
'../src/components/N8nSticky/*.stories.@(js|jsx|ts|tsx)',
|
||||
'../src/components/N8nTabs/*.stories.@(js|jsx|ts|tsx)',
|
||||
'../src/components/N8nTag/*.stories.@(js|jsx|ts|tsx)',
|
||||
'../src/components/N8nTags/*.stories.@(js|jsx|ts|tsx)',
|
||||
'../src/components/N8nText/*.stories.@(js|jsx|ts|tsx)',
|
||||
'../src/components/N8nTooltip/*.stories.@(js|jsx|ts|tsx)',
|
||||
'../src/components/N8nTree/*.stories.@(js|jsx|ts|tsx)',
|
||||
'../src/components/N8nUserInfo/*.stories.@(js|jsx|ts|tsx)',
|
||||
],
|
||||
addons: [
|
||||
'@storybook/addon-styling',
|
||||
|
|
|
@ -13,7 +13,7 @@ export default {
|
|||
};
|
||||
|
||||
const methods = {
|
||||
onInput: action('input'),
|
||||
onUpdateModelValue: action('update:modelValue'),
|
||||
};
|
||||
|
||||
const Template: StoryFn = (args, { argTypes }) => ({
|
||||
|
@ -22,7 +22,7 @@ const Template: StoryFn = (args, { argTypes }) => ({
|
|||
components: {
|
||||
N8nTabs,
|
||||
},
|
||||
template: `<n8n-tabs v-model="val" v-bind="args" @input="onInput">
|
||||
template: `<n8n-tabs v-model="val" v-bind="args" @update:modelValue="onUpdateModelValue">
|
||||
</n8n-tabs>`,
|
||||
methods,
|
||||
data() {
|
||||
|
|
|
@ -34,7 +34,7 @@
|
|||
|
||||
<div
|
||||
v-else
|
||||
:class="{ [$style.tab]: true, [$style.activeTab]: value === option.value }"
|
||||
:class="{ [$style.tab]: true, [$style.activeTab]: modelValue === option.value }"
|
||||
@click="() => handleTabClick(option.value)"
|
||||
>
|
||||
<n8n-icon v-if="option.icon" :icon="option.icon" size="medium" />
|
||||
|
@ -101,7 +101,10 @@ export default defineComponent({
|
|||
};
|
||||
},
|
||||
props: {
|
||||
value: {},
|
||||
modelValue: {
|
||||
type: String,
|
||||
default: '',
|
||||
},
|
||||
options: {
|
||||
type: Array as PropType<N8nTabOptions[]>,
|
||||
default: (): N8nTabOptions[] => [],
|
||||
|
@ -112,7 +115,7 @@ export default defineComponent({
|
|||
this.$emit('tooltipClick', tab, event);
|
||||
},
|
||||
handleTabClick(tab: string) {
|
||||
this.$emit('input', tab);
|
||||
this.$emit('update:modelValue', tab);
|
||||
},
|
||||
scrollLeft() {
|
||||
this.scroll(-50);
|
||||
|
|
|
@ -7,6 +7,7 @@ export default {
|
|||
};
|
||||
|
||||
export const Default: StoryFn = (args, { argTypes }) => ({
|
||||
setup: () => ({ args }),
|
||||
props: Object.keys(argTypes),
|
||||
components: {
|
||||
N8nTree,
|
||||
|
|
|
@ -2,24 +2,14 @@
|
|||
<div class="n8n-tree">
|
||||
<div v-for="(label, i) in Object.keys(value)" :key="i" :class="classes">
|
||||
<div :class="$style.simple" v-if="isSimple(value[label])">
|
||||
<slot
|
||||
v-if="$scopedSlots.label"
|
||||
name="label"
|
||||
v-bind:label="label"
|
||||
v-bind:path="getPath(label)"
|
||||
/>
|
||||
<slot v-if="$slots.label" name="label" v-bind:label="label" v-bind:path="getPath(label)" />
|
||||
<span v-else>{{ label }}</span>
|
||||
<span>:</span>
|
||||
<slot v-if="$scopedSlots.value" name="value" v-bind:value="value[label]" />
|
||||
<slot v-if="$slots.value" name="value" v-bind:value="value[label]" />
|
||||
<span v-else>{{ value[label] }}</span>
|
||||
</div>
|
||||
<div v-else>
|
||||
<slot
|
||||
v-if="$scopedSlots.label"
|
||||
name="label"
|
||||
v-bind:label="label"
|
||||
v-bind:path="getPath(label)"
|
||||
/>
|
||||
<slot v-if="$slots.label" name="label" v-bind:label="label" v-bind:path="getPath(label)" />
|
||||
<span v-else>{{ label }}</span>
|
||||
<n8n-tree
|
||||
:path="getPath(label)"
|
||||
|
@ -27,7 +17,7 @@
|
|||
:value="value[label]"
|
||||
:nodeClass="nodeClass"
|
||||
>
|
||||
<template v-for="(index, name) in $scopedSlots" #[name]="data">
|
||||
<template v-for="(index, name) in $slots" #[name]="data">
|
||||
<slot :name="name" v-bind="data"></slot>
|
||||
</template>
|
||||
</n8n-tree>
|
||||
|
|
|
@ -36,13 +36,13 @@ export { default as N8nRadioButtons } from './N8nRadioButtons';
|
|||
export { default as N8nSelect } from './N8nSelect';
|
||||
export { default as N8nSpinner } from './N8nSpinner';
|
||||
export { default as N8nSticky } from './N8nSticky';
|
||||
export { default as N8nTabs } from './N8nTabs';
|
||||
export { default as N8nTag } from './N8nTag';
|
||||
export { default as N8nTags } from './N8nTags';
|
||||
// export { default as N8nTabs } from './N8nTabs';
|
||||
// export { default as N8nTag } from './N8nTag';
|
||||
export { default as N8nText } from './N8nText';
|
||||
export { default as N8nTooltip } from './N8nTooltip';
|
||||
// export { default as N8nTree } from './N8nTree';
|
||||
// export { default as N8nUserInfo } from './N8nUserInfo';
|
||||
export { default as N8nTree } from './N8nTree';
|
||||
export { default as N8nUserInfo } from './N8nUserInfo';
|
||||
// export { default as N8nUserSelect } from './N8nUserSelect';
|
||||
// export { default as N8nUsersList } from './N8nUsersList';
|
||||
// export { default as N8nResizeWrapper } from './N8nResizeWrapper';
|
||||
|
|
|
@ -39,13 +39,13 @@ import {
|
|||
N8nSelect,
|
||||
N8nSpinner,
|
||||
N8nSticky,
|
||||
N8nTabs,
|
||||
N8nTag,
|
||||
N8nTags,
|
||||
// N8nTabs,
|
||||
// N8nTag,
|
||||
N8nText,
|
||||
N8nTooltip,
|
||||
// N8nTree,
|
||||
// N8nUserInfo,
|
||||
N8nTree,
|
||||
N8nUserInfo,
|
||||
// N8nUserSelect,
|
||||
// N8nUsersList,
|
||||
// N8nResizeWrapper,
|
||||
|
@ -94,13 +94,13 @@ export const N8nPlugin: Plugin<{}> = {
|
|||
app.component('n8n-select', N8nSelect);
|
||||
app.component('n8n-spinner', N8nSpinner);
|
||||
app.component('n8n-sticky', N8nSticky);
|
||||
app.component('n8n-tabs', N8nTabs);
|
||||
app.component('n8n-tag', N8nTag);
|
||||
app.component('n8n-tags', N8nTags);
|
||||
// app.component('n8n-tabs', N8nTabs);
|
||||
// app.component('n8n-tag', N8nTag);
|
||||
app.component('n8n-text', N8nText);
|
||||
app.component('n8n-tooltip', N8nTooltip);
|
||||
// app.component('n8n-user-info', N8nUserInfo);
|
||||
// app.component('n8n-tree', N8nTree);
|
||||
app.component('n8n-tree', N8nTree);
|
||||
app.component('n8n-user-info', N8nUserInfo);
|
||||
// app.component('n8n-users-list', N8nUsersList);
|
||||
// app.component('n8n-user-select', N8nUserSelect);
|
||||
// app.component('n8n-resize-wrapper', N8nResizeWrapper);
|
||||
|
|
|
@ -1,5 +1,10 @@
|
|||
<template>
|
||||
<n8n-tabs :options="options" :value="value" @input="onTabSelect" @tooltipClick="onTooltipClick" />
|
||||
<n8n-tabs
|
||||
:options="options"
|
||||
:modelValue="modelValue"
|
||||
@update:modelValue="onTabSelect"
|
||||
@tooltipClick="onTooltipClick"
|
||||
/>
|
||||
</template>
|
||||
|
||||
<script lang="ts">
|
||||
|
@ -22,8 +27,9 @@ export default defineComponent({
|
|||
name: 'NodeSettingsTabs',
|
||||
mixins: [externalHooks],
|
||||
props: {
|
||||
value: {
|
||||
modelValue: {
|
||||
type: String,
|
||||
default: '',
|
||||
},
|
||||
nodeType: {},
|
||||
sessionId: {
|
||||
|
@ -137,7 +143,7 @@ export default defineComponent({
|
|||
}
|
||||
|
||||
if (tab === 'settings' || tab === 'params') {
|
||||
this.$emit('input', tab);
|
||||
this.$emit('update:modelValue', tab);
|
||||
}
|
||||
},
|
||||
onTooltipClick(tab: string, event: MouseEvent) {
|
||||
|
|
|
@ -167,7 +167,11 @@
|
|||
:class="$style.tabs"
|
||||
data-test-id="branches"
|
||||
>
|
||||
<n8n-tabs :value="currentOutputIndex" @input="onBranchChange" :options="branches" />
|
||||
<n8n-tabs
|
||||
:modelValue="currentOutputIndex"
|
||||
:options="branches"
|
||||
@update:modelValue="onBranchChange"
|
||||
/>
|
||||
</div>
|
||||
|
||||
<div
|
||||
|
|
Loading…
Reference in a new issue