Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: Pageheader new style and props #19100

Merged
merged 14 commits into from Oct 15, 2019
Expand Up @@ -8430,6 +8430,60 @@ exports[`ConfigProvider components Modal prefixCls 1`] = `
</div>
`;

exports[`ConfigProvider components PageHeader configProvider 1`] = `
<div>
<div
class="config-page-header"
>
<div
class="config-page-header-heading"
>
<span
class="config-page-header-heading-title"
>
pageHeader
</span>
</div>
</div>
</div>
`;

exports[`ConfigProvider components PageHeader normal 1`] = `
<div>
<div
class="ant-page-header ant-page-header-ghost"
>
<div
class="ant-page-header-heading"
>
<span
class="ant-page-header-heading-title"
>
pageHeader
</span>
</div>
</div>
</div>
`;

exports[`ConfigProvider components PageHeader prefixCls 1`] = `
<div>
<div
class="prefix-PageHeader prefix-PageHeader-ghost"
>
<div
class="prefix-PageHeader-heading"
>
<span
class="prefix-PageHeader-heading-title"
>
pageHeader
</span>
</div>
</div>
</div>
`;

exports[`ConfigProvider components Pagination configProvider 1`] = `
<div>
<ul
Expand Down
14 changes: 13 additions & 1 deletion components/config-provider/__tests__/components.test.js
Expand Up @@ -31,6 +31,7 @@ import Mention from '../../mention';
import Menu from '../../menu';
import Modal from '../../modal';
import Pagination from '../../pagination';
import PageHeader from '../../page-header';
import Popconfirm from '../../popconfirm';
import Popover from '../../popover';
import Progress from '../../progress';
Expand Down Expand Up @@ -74,7 +75,11 @@ describe('ConfigProvider', () => {
// configProvider
it('configProvider', () => {
expect(
render(<ConfigProvider prefixCls="config">{renderComponent({})}</ConfigProvider>),
render(
<ConfigProvider pageHeader={{ ghost: false }} prefixCls="config">
{renderComponent({})}
</ConfigProvider>,
),
).toMatchSnapshot();
});
});
Expand Down Expand Up @@ -368,6 +373,13 @@ describe('ConfigProvider', () => {
</div>
));

// PageHeader
testPair('PageHeader', props => (
<div>
<PageHeader title="pageHeader" {...props} />
</div>
));

// Popconfirm
testPair('Popconfirm', props => (
<div>
Expand Down
3 changes: 3 additions & 0 deletions components/config-provider/context.ts
Expand Up @@ -14,6 +14,9 @@ export interface ConfigConsumerProps {
csp?: CSPConfig;
autoInsertSpaceInButton?: boolean;
locale?: Locale;
pageHeader?: {
ghost: boolean;
};
}

export const ConfigContext = createReactContext<ConfigConsumerProps>({
Expand Down
1 change: 1 addition & 0 deletions components/config-provider/index.en-US.md
Expand Up @@ -43,3 +43,4 @@ Some component use dynamic style to support wave effect. You can config `csp` pr
| getPopupContainer | to set the container of the popup element. The default is to create a `div` element in `body`. | Function(triggerNode) | `() => document.body` | 3.11.0 |
| locale | language package setting, you can find the packages in [antd/es/locale](http://unpkg.com/antd/es/locale/) | object | 3.21.0 |
| prefixCls | set prefix class | string | ant | 3.12.0 |
| pageHeader | Unify the ghost of pageHeader ,Ref [pageHeader](<(/components/page-header)> | { ghost:boolean } | 'true' | 3.24.0 |
10 changes: 10 additions & 0 deletions components/config-provider/index.tsx
Expand Up @@ -18,6 +18,7 @@ export const configConsumerProps = [
'csp',
'autoInsertSpaceInButton',
'locale',
'pageHeader',
];

export interface ConfigProviderProps {
Expand All @@ -28,6 +29,9 @@ export interface ConfigProviderProps {
csp?: CSPConfig;
autoInsertSpaceInButton?: boolean;
locale?: Locale;
pageHeader?: {
ghost: boolean;
};
}

class ConfigProvider extends React.Component<ConfigProviderProps> {
Expand All @@ -47,6 +51,7 @@ class ConfigProvider extends React.Component<ConfigProviderProps> {
csp,
autoInsertSpaceInButton,
locale,
pageHeader,
} = this.props;

const config: ConfigConsumerProps = {
Expand All @@ -59,10 +64,15 @@ class ConfigProvider extends React.Component<ConfigProviderProps> {
if (getPopupContainer) {
config.getPopupContainer = getPopupContainer;
}

if (renderEmpty) {
config.renderEmpty = renderEmpty;
}

if (pageHeader) {
config.pageHeader = pageHeader;
}

return (
<ConfigContext.Provider value={config}>
<LocaleProvider locale={locale || legacyLocale} _ANT_MARK__={ANT_MARK}>
Expand Down
1 change: 1 addition & 0 deletions components/config-provider/index.zh-CN.md
Expand Up @@ -44,3 +44,4 @@ return (
| getPopupContainer | 弹出框(Select, Tooltip, Menu 等等)渲染父节点,默认渲染到 body 上。 | Function(triggerNode) | () => document.body | 3.11.0 |
| locale | 语言包配置,语言包可到 [antd/es/locale](http://unpkg.com/antd/es/locale/) 目录下寻找 | object | - | 3.21.0 |
| prefixCls | 设置统一样式前缀 | string | ant | 3.12.0 |
| pageHeader | 统一设置 pageHeader 的 type,参考 [pageHeader](<(/components/page-header)>) | { ghost: boolean } | 'true' | 3.24.0 |
1 change: 1 addition & 0 deletions components/drawer/index.tsx
Expand Up @@ -257,6 +257,7 @@ class Drawer extends React.Component<DrawerProps & ConfigConsumerProps, IDrawerS
'getPrefixCls',
'renderEmpty',
'csp',
'pageHeader',
'autoInsertSpaceInButton',
])}
{...offsetStyle}
Expand Down