feat: migrate several components

This commit is contained in:
Alex Grozav 2023-06-19 15:20:30 +03:00
parent edefe06282
commit b6e2b6943e
9 changed files with 43 additions and 35 deletions

View file

@ -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',

View file

@ -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() {

View file

@ -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);

View file

@ -7,6 +7,7 @@ export default {
};
export const Default: StoryFn = (args, { argTypes }) => ({
setup: () => ({ args }),
props: Object.keys(argTypes),
components: {
N8nTree,

View file

@ -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>

View file

@ -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';

View file

@ -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);

View file

@ -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) {

View file

@ -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