From 4ff8f28ebcd348a54486d7b1faebb6ed8b4b08b3 Mon Sep 17 00:00:00 2001 From: Jeremy <15975785+jw-foss@users.noreply.github.com> Date: Tue, 1 Nov 2022 00:27:47 +0800 Subject: [PATCH] refactor(components): [collapse] (#10289) * refactor(components): [collapse] * Extract logic code out of component file. * Extract DOM code out of component file. * Reorganize code for better readabilities. * chore: apply suggestions Co-authored-by: JeremyWuuuuu <15975785+JeremyWuuuuu@users.noreply.github.com> --- .../collapse/__tests__/collapse.test.tsx | 2 +- packages/components/collapse/index.ts | 1 + .../components/collapse/src/collapse-item.ts | 3 - .../components/collapse/src/collapse-item.vue | 83 +++++++----------- packages/components/collapse/src/collapse.ts | 3 - packages/components/collapse/src/collapse.vue | 51 +---------- packages/components/collapse/src/instance.ts | 5 ++ .../collapse/src/use-collapse-item.ts | 84 +++++++++++++++++++ .../components/collapse/src/use-collapse.ts | 66 +++++++++++++++ 9 files changed, 189 insertions(+), 109 deletions(-) create mode 100644 packages/components/collapse/src/instance.ts create mode 100644 packages/components/collapse/src/use-collapse-item.ts create mode 100644 packages/components/collapse/src/use-collapse.ts diff --git a/packages/components/collapse/__tests__/collapse.test.tsx b/packages/components/collapse/__tests__/collapse.test.tsx index 334ef6617d..e8e589fd15 100644 --- a/packages/components/collapse/__tests__/collapse.test.tsx +++ b/packages/components/collapse/__tests__/collapse.test.tsx @@ -4,7 +4,7 @@ import { describe, expect, test, vi } from 'vitest' import Collapse from '../src/collapse.vue' import CollapseItem from '../src/collapse-item.vue' import type { VueWrapper } from '@vue/test-utils' -import type { CollapseItemInstance } from '../src/collapse-item' +import type { CollapseItemInstance } from '../src/instance' describe('Collapse.vue', () => { test('create', async () => { diff --git a/packages/components/collapse/index.ts b/packages/components/collapse/index.ts index f39f3c9585..c8d2aa7ad0 100644 --- a/packages/components/collapse/index.ts +++ b/packages/components/collapse/index.ts @@ -11,3 +11,4 @@ export const ElCollapseItem = withNoopInstall(CollapseItem) export * from './src/collapse' export * from './src/collapse-item' +export type { CollapseInstance, CollapseItemInstance } from './src/instance' diff --git a/packages/components/collapse/src/collapse-item.ts b/packages/components/collapse/src/collapse-item.ts index 000339f87d..90c39f89b2 100644 --- a/packages/components/collapse/src/collapse-item.ts +++ b/packages/components/collapse/src/collapse-item.ts @@ -1,7 +1,6 @@ import { buildProps, definePropType, generateId } from '@element-plus/utils' import type { ExtractPropTypes } from 'vue' import type { CollapseActiveName } from './collapse' -import type CollapseItem from './collapse-item.vue' export const collapseItemProps = buildProps({ title: { @@ -15,5 +14,3 @@ export const collapseItemProps = buildProps({ disabled: Boolean, } as const) export type CollapseItemProps = ExtractPropTypes - -export type CollapseItemInstance = InstanceType diff --git a/packages/components/collapse/src/collapse-item.vue b/packages/components/collapse/src/collapse-item.vue index 6aa272c649..fac3f6048a 100644 --- a/packages/components/collapse/src/collapse-item.vue +++ b/packages/components/collapse/src/collapse-item.vue @@ -1,24 +1,14 @@