Commit e5402180 authored by liangliangyin's avatar liangliangyin

style: vue-props check

parent 3242cbda
import './Header.less'
import { Layout } from 'ant-design-vue'
import PropTypes from 'ant-design-vue/es/_util/vue-types'
import BaseMenu from './components/RouteMenu/BaseMenu'
import { defaultRenderLogoAntTitle, SiderMenuProps } from './components/SiderMenu/SiderMenu'
import GlobalHeader, { GlobalHeaderProps } from './components/GlobalHeader'
......@@ -12,44 +13,18 @@ const { Header } = Layout
export const HeaderViewProps = {
...GlobalHeaderProps,
...SiderMenuProps,
isMobile: {
type: Boolean,
default: () => false
},
collapsed: {
type: Boolean,
required: true
},
logo: {
type: [Function, Object],
required: false
},
hasSiderMenu: {
type: Boolean,
default: false
},
autoHideHeader: {
type: Boolean,
default: false
},
menuRender: {
type: null,
required: false
},
headerRender: {
type: null,
required: false
},
rightContentRender: {
type: null,
required: false
},
visible: {
type: Boolean,
default: true
}
isMobile: PropTypes.bool.def(false),
collapsed: PropTypes.bool,
logo: PropTypes.any,
hasSiderMenu: PropTypes.bool,
autoHideHeader: PropTypes.bool,
menuRender: PropTypes.any,
headerRender: PropTypes.any,
rightContentRender: PropTypes.any,
visible: PropTypes.bool.def(true),
}
const renderContent = (h, props) => {
const isTop = props.layout === 'topmenu'
const maxWidth = 1200 - 280 - 120
......
import { getComponentFromProp, hasProp } from 'ant-design-vue/lib/_util/props-util'
import './index.less'
import PropTypes from 'ant-design-vue/es/_util/vue-types'
import { getComponentFromProp, hasProp } from 'ant-design-vue/lib/_util/props-util'
const GlobalFooterProps = {
links: {
type: Array,
required: false
},
copyright: {
type: null,
required: false
}
links: PropTypes.array,
copyright: PropTypes.any,
}
const GlobalFooter = {
name: 'GlobalFooter',
props: GlobalFooterProps,
render () {
render() {
const copyright = getComponentFromProp(this, 'copyright')
const links = getComponentFromProp(this, 'links')
const linksType = hasProp(links)
......@@ -41,7 +37,7 @@ const GlobalFooter = {
)}
</footer>
)
}
},
}
export default GlobalFooter
import './index.less'
import debounce from 'lodash/debounce'
import PropTypes from 'ant-design-vue/es/_util/vue-types'
import { triggerEvent, inBrowser, isFun } from '../../utils/util'
import { Icon } from 'ant-design-vue'
import { defaultRenderLogo } from '../SiderMenu/SiderMenu'
export const GlobalHeaderProps = {
collapsed: {
type: Boolean,
required: true
},
handleCollapse: {
type: Function,
default: () => undefined
},
isMobile: {
type: Boolean,
default: () => false
},
fixedHeader: {
type: Boolean,
default: false
},
logo: {
type: [Function, Object, String],
default: () => null
},
menuRender: {
type: null,
required: false
},
collapsedButtonRender: {
type: null,
required: false
},
rightContentRender: {
type: null,
required: false
}
collapsed: PropTypes.bool,
handleCollapse: PropTypes.func,
isMobile: PropTypes.bool.def(false),
fixedHeader: PropTypes.bool.def(false),
logo: PropTypes.any,
menuRender: PropTypes.any,
collapsedButtonRender: PropTypes.any,
rightContentRender: PropTypes.any,
}
const defaultRenderCollapsedButton = (h, collapsed) => (
......
import './index.less'
import PropTypes from 'ant-design-vue/es/_util/vue-types'
const GridContent = {
name: 'GridContent',
functional: true,
props: {
children: {
type: null,
default: null
},
contentWidth: {
type: Boolean,
default: false
}
children: PropTypes.any,
contentWidth: PropTypes.bool,
},
render (h, content) {
const { contentWidth: propsContentWidth } = content.props
......
import PropTypes from 'ant-design-vue/es/_util/vue-types'
import { Menu, Icon } from 'ant-design-vue'
const {
Item: MenuItem,
SubMenu
} = Menu
export const RouteMenuProps = {
menus: {
type: Array,
required: true
},
theme: {
type: String,
required: false,
default: 'dark'
},
mode: {
type: String,
required: false,
default: 'inline'
},
collapsed: {
type: Boolean,
required: false,
default: false
},
i18nRender: {
type: Function,
default: () => undefined
}
menus: PropTypes.array,
theme: PropTypes.string.def('dark'),
mode: PropTypes.string.def('inline'),
collapsed: PropTypes.bool.def(false),
i18nRender: PropTypes.func,
}
const defaultI18nRender = (context) => context
......
import PropTypes from 'ant-design-vue/es/_util/vue-types'
import { Tooltip, Icon } from 'ant-design-vue'
import { defaultI18nRender } from './index'
const BlockCheckboxProps = {
value: {
type: String,
default: null
},
value: PropTypes.string,
// Item: { key, url, title }
list: {
type: Array,
default: null
}
list: PropTypes.array,
}
const baseClassName = 'ant-pro-setting-drawer-block-checbox'
......
......@@ -14,10 +14,7 @@ import CopyToClipboard from 'vue-copy-to-clipboard'
const baseClassName = 'ant-pro-setting-drawer'
const BodyProps = {
title: {
type: String,
default: ''
}
title: PropTypes.string.def('')
}
const Body = {
......
import './index.less'
import PropTypes from 'ant-design-vue/es/_util/vue-types'
import { Layout } from 'ant-design-vue'
import BaseMenu from '../RouteMenu'
......@@ -10,66 +11,20 @@ export const SiderMenuProps = {
type: Function,
default: () => undefined
},
mode: {
type: String,
required: false,
default: 'inline'
},
theme: {
type: String,
required: false,
default: 'dark'
},
contentWidth: {
type: Boolean,
default: false
},
collapsible: {
type: Boolean,
required: false,
default: false
},
collapsed: {
type: Boolean,
required: false,
default: false
},
handleCollapse: {
type: Function,
default: () => undefined
},
menus: {
type: Array,
required: true
},
siderWidth: {
type: Number,
default: 256
},
isMobile: {
type: Boolean,
default: false
},
layout: {
type: String,
default: 'inline'
},
fixSiderbar: {
type: Boolean,
default: false
},
logo: {
type: null,
default: ''
},
title: {
type: String,
default: ''
},
menuHeaderRender: {
type: Function,
default: null
}
mode: PropTypes.string.def('inline'),
theme: PropTypes.string.def('dark'),
contentWidth: PropTypes.bool,
collapsible: PropTypes.bool,
collapsed: PropTypes.bool,
handleCollapse: PropTypes.func,
menus: PropTypes.array,
siderWidth: PropTypes.number.def(256),
isMobile: PropTypes.bool,
layout: PropTypes.string.def('inline'),
fixSiderbar: PropTypes.bool,
logo: PropTypes.any,
title: PropTypes.string.def(''),
menuHeaderRender: PropTypes.func,
}
export const defaultRenderLogo = (h, logo) => {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment