Skip to content

Commit f98dd6b

Browse files
feat: develop BlockHeader doc (#298)
* feat: develop BlockHeader doc * feat: supplementary BlockHeader unit test * docs: optimized blockerHeader customIcon and size demos * refactor: blockHeader api and className * test: fix unit test
1 parent 8738c61 commit f98dd6b

File tree

13 files changed

+129
-78
lines changed

13 files changed

+129
-78
lines changed

src/blockHeader/__tests__/__snapshots__/blockHeader.test.tsx.snap

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ exports[`test BlockHeader render should render BlockHeader success render 1`] =
99
class="dtc-block-header"
1010
>
1111
<div
12-
class="dtc-block-header-title-row default background "
12+
class="dtc-block-header-title-row dtc-block-header-title-row-middle dtc-block-header-title-row-background"
1313
>
1414
<div
1515
class="dtc-block-header-title-box"
@@ -18,7 +18,7 @@ exports[`test BlockHeader render should render BlockHeader success render 1`] =
1818
class="dtc-block-header-before-title"
1919
>
2020
<div
21-
class="default "
21+
class="dtc-block-header__beforeTitle-middle"
2222
/>
2323
</div>
2424
<div
@@ -39,7 +39,7 @@ exports[`test BlockHeader render should render BlockHeader success render 1`] =
3939
class="dtc-block-header"
4040
>
4141
<div
42-
class="dtc-block-header-title-row default background "
42+
class="dtc-block-header-title-row dtc-block-header-title-row-middle dtc-block-header-title-row-background"
4343
>
4444
<div
4545
class="dtc-block-header-title-box"
@@ -48,7 +48,7 @@ exports[`test BlockHeader render should render BlockHeader success render 1`] =
4848
class="dtc-block-header-before-title"
4949
>
5050
<div
51-
class="default "
51+
class="dtc-block-header__beforeTitle-middle"
5252
/>
5353
</div>
5454
<div

src/blockHeader/__tests__/blockHeader.test.tsx

Lines changed: 13 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ import React from 'react';
22
import { render, cleanup, fireEvent } from '@testing-library/react';
33
import BlockHeader from '../index';
44
import '@testing-library/jest-dom/extend-expect';
5+
import { SizeType } from 'dt-react-component/esm/blockHeader';
56

67
const props = {
78
title: '标题1',
@@ -11,7 +12,7 @@ const props2 = {
1112
beforeTitle: <span>Icon</span>,
1213
afterTitle: '说明文字',
1314
addonAfter: <div className="test-button-after">新增按钮</div>,
14-
isSmall: true,
15+
size: 'small' as SizeType,
1516
titleRowClassName: 'test-row-className',
1617
titleClassName: 'test-title-className',
1718
};
@@ -41,10 +42,9 @@ describe('test BlockHeader render', () => {
4142
expect(getByText('标题2')).toBeTruthy();
4243
});
4344
test('should render BlockHeader props default in BlockHeader', () => {
44-
const { container } = render(<BlockHeader title="测试" isSmall showBackground />);
45+
const { container } = render(<BlockHeader title="测试" showBackground />);
4546
const wrap = container.firstChild;
4647
expect(wrap!.firstChild!.firstChild!.firstChild).toHaveClass(`${prefixCls}-before-title`);
47-
expect(wrap!.firstChild!.firstChild!.firstChild!.firstChild).toHaveClass('small');
4848
fireEvent.click(document.getElementsByClassName(`${prefixCls}-title-row`)[0]);
4949
});
5050
test('should render BlockHeader with different props', () => {
@@ -70,6 +70,16 @@ describe('test BlockHeader render', () => {
7070
expect(getByText('展开')).toBeTruthy();
7171
expect(onChange).toHaveBeenCalledTimes(1);
7272
});
73+
test('should render expanded and collapsed BlockHeader normally if the onChange event is not set', () => {
74+
const { getByText } = render(
75+
<BlockHeader title="测试">
76+
<div>Hello World!</div>
77+
</BlockHeader>
78+
);
79+
expect(getByText('收起')).toBeTruthy();
80+
fireEvent.click(document.getElementsByClassName(`${prefixCls}-title-row`)[0]);
81+
expect(getByText('展开')).toBeTruthy();
82+
});
7383
test('should render BlockHeader with different props', () => {
7484
const { container, getByText } = render(<BlockHeader {...props2} />);
7585
const wrap = container.firstChild;

src/blockHeader/demos/background.tsx

Lines changed: 0 additions & 6 deletions
This file was deleted.

src/blockHeader/demos/basic.tsx

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,16 @@
1-
import React from 'react';
1+
import React, { useState } from 'react';
22
import { BlockHeader } from 'dt-react-component';
3+
import { Switch } from 'antd';
34

45
export default () => {
5-
return <BlockHeader title="分类标题" />;
6+
const [showBackground, setShowBackground] = useState(true);
7+
return (
8+
<>
9+
背景:
10+
<Switch defaultChecked onChange={setShowBackground} />
11+
<br />
12+
<br />
13+
<BlockHeader title="分类标题" showBackground={showBackground} />
14+
</>
15+
);
616
};
Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,21 @@
11
import React from 'react';
2-
import { PieChartOutlined } from '@ant-design/icons';
2+
import { PieChartOutlined, PauseCircleOutlined } from '@ant-design/icons';
33
import { BlockHeader } from 'dt-react-component';
4-
import { Divider } from 'antd';
54

65
export default () => {
76
return (
87
<>
8+
<BlockHeader title="分类标题" />
9+
<br />
910
<BlockHeader
1011
title="分类标题"
1112
beforeTitle={<PieChartOutlined style={{ fontSize: '14px' }} />}
1213
/>
13-
<Divider />
14-
<BlockHeader title="分类标题" beforeTitle="" />
14+
<br />
15+
<BlockHeader
16+
title="分类标题"
17+
beforeTitle={<PauseCircleOutlined style={{ fontSize: '14px' }} />}
18+
/>
1519
</>
1620
);
1721
};

src/blockHeader/demos/description.tsx

Lines changed: 0 additions & 6 deletions
This file was deleted.
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
import React from 'react';
2+
import { BlockHeader } from 'dt-react-component';
3+
4+
export default () => {
5+
return (
6+
<>
7+
<BlockHeader title="分类标题" afterTitle="说明文字" />
8+
<br />
9+
<BlockHeader title="分类标题" tooltip="hover展示更多" />
10+
</>
11+
);
12+
};

src/blockHeader/demos/size.tsx

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
import React, { useState } from 'react';
2+
import { Radio } from 'antd';
3+
import { BlockHeader } from 'dt-react-component';
4+
import { SizeType } from 'dt-react-component/esm/blockHeader';
5+
6+
export default () => {
7+
const [size, setSize] = useState<SizeType>('middle');
8+
return (
9+
<>
10+
<Radio.Group value={size} onChange={(e) => setSize(e.target.value)}>
11+
<Radio.Button value="middle">Default</Radio.Button>
12+
<Radio.Button value="small">Small</Radio.Button>
13+
</Radio.Group>
14+
<br />
15+
<br />
16+
<BlockHeader title="分类标题" size={size} />
17+
</>
18+
);
19+
};

src/blockHeader/demos/small.tsx

Lines changed: 0 additions & 6 deletions
This file was deleted.

src/blockHeader/demos/tooltip.tsx

Lines changed: 0 additions & 6 deletions
This file was deleted.

0 commit comments

Comments
 (0)