初始化 antd-pro
This commit is contained in:
18
admin-web/src/components/PageHeaderWrapper/GridContent.js
Normal file
18
admin-web/src/components/PageHeaderWrapper/GridContent.js
Normal file
@@ -0,0 +1,18 @@
|
||||
import React, { PureComponent } from 'react';
|
||||
import { connect } from 'dva';
|
||||
import styles from './GridContent.less';
|
||||
|
||||
class GridContent extends PureComponent {
|
||||
render() {
|
||||
const { contentWidth, children } = this.props;
|
||||
let className = `${styles.main}`;
|
||||
if (contentWidth === 'Fixed') {
|
||||
className = `${styles.main} ${styles.wide}`;
|
||||
}
|
||||
return <div className={className}>{children}</div>;
|
||||
}
|
||||
}
|
||||
|
||||
export default connect(({ setting }) => ({
|
||||
contentWidth: setting.contentWidth,
|
||||
}))(GridContent);
|
||||
10
admin-web/src/components/PageHeaderWrapper/GridContent.less
Normal file
10
admin-web/src/components/PageHeaderWrapper/GridContent.less
Normal file
@@ -0,0 +1,10 @@
|
||||
.main {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
min-height: 100%;
|
||||
transition: 0.3s;
|
||||
&.wide {
|
||||
max-width: 1200px;
|
||||
margin: 0 auto;
|
||||
}
|
||||
}
|
||||
41
admin-web/src/components/PageHeaderWrapper/index.js
Normal file
41
admin-web/src/components/PageHeaderWrapper/index.js
Normal file
@@ -0,0 +1,41 @@
|
||||
import React from 'react';
|
||||
import { FormattedMessage } from 'umi/locale';
|
||||
import Link from 'umi/link';
|
||||
import PageHeader from '@/components/PageHeader';
|
||||
import { connect } from 'dva';
|
||||
import GridContent from './GridContent';
|
||||
import styles from './index.less';
|
||||
import MenuContext from '@/layouts/MenuContext';
|
||||
|
||||
const PageHeaderWrapper = ({ children, contentWidth, wrapperClassName, top, ...restProps }) => (
|
||||
<div style={{ margin: '-24px -24px 0' }} className={wrapperClassName}>
|
||||
{top}
|
||||
<MenuContext.Consumer>
|
||||
{value => (
|
||||
<PageHeader
|
||||
wide={contentWidth === 'Fixed'}
|
||||
home={<FormattedMessage id="menu.home" defaultMessage="Home" />}
|
||||
{...value}
|
||||
key="pageheader"
|
||||
{...restProps}
|
||||
linkElement={Link}
|
||||
itemRender={item => {
|
||||
if (item.locale) {
|
||||
return <FormattedMessage id={item.locale} defaultMessage={item.title} />;
|
||||
}
|
||||
return item.title;
|
||||
}}
|
||||
/>
|
||||
)}
|
||||
</MenuContext.Consumer>
|
||||
{children ? (
|
||||
<div className={styles.content}>
|
||||
<GridContent>{children}</GridContent>
|
||||
</div>
|
||||
) : null}
|
||||
</div>
|
||||
);
|
||||
|
||||
export default connect(({ setting }) => ({
|
||||
contentWidth: setting.contentWidth,
|
||||
}))(PageHeaderWrapper);
|
||||
11
admin-web/src/components/PageHeaderWrapper/index.less
Normal file
11
admin-web/src/components/PageHeaderWrapper/index.less
Normal file
@@ -0,0 +1,11 @@
|
||||
@import '~antd/lib/style/themes/default.less';
|
||||
|
||||
.content {
|
||||
margin: 24px 24px 0;
|
||||
}
|
||||
|
||||
@media screen and (max-width: @screen-sm) {
|
||||
.content {
|
||||
margin: 24px 0 0;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user