vue-ant-patterns
Version:
vue-ant-patterns
126 lines (99 loc) • 3.22 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
var _extends2 = require('babel-runtime/helpers/extends');
var _extends3 = _interopRequireDefault(_extends2);
var _defineProperty2 = require('babel-runtime/helpers/defineProperty');
var _defineProperty3 = _interopRequireDefault(_defineProperty2);
var _vueTypes = require('ant-design-vue/lib/_util/vue-types');
var _vueTypes2 = _interopRequireDefault(_vueTypes);
var _propsUtil = require('ant-design-vue/lib/_util/props-util');
var _classnames = require('classnames');
var _classnames2 = _interopRequireDefault(_classnames);
var _dContainer = require('../d-container');
var _dContainer2 = _interopRequireDefault(_dContainer);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
var Horizontal = _dContainer2['default'].Horizontal,
Vertical = _dContainer2['default'].Vertical;
var depotProps = {
flex: true,
justify: 'start',
align: 'center',
grow: true
};
var PaginationBox = {
name: 'DPaginationBox',
props: {
prefixCls: _vueTypes2['default'].string.def('depot-pagination-box'),
// 子组件是否自带滚动
subScroll: _vueTypes2['default'].bool,
// 自身滚动
scroll: _vueTypes2['default'].bool.def(true)
},
data: function data() {
var _$props = this.$props,
subScroll = _$props.subScroll,
scroll = _$props.scroll;
var vSubScroll = false;
var vScroll = scroll;
// 子组件自身支持滚动
if ((0, _propsUtil.hasProp)(this, 'subScroll')) {
vSubScroll = subScroll;
// 如果子组件支持滚动的话, 当前组件不在提供滚动
vScroll = !subScroll;
}
if (!scroll && !subScroll) {
vScroll = false;
}
return {
vSubScroll: vSubScroll,
vScroll: vScroll
};
},
render: function render() {
var _cx;
var h = arguments[0];
// adsad
var prefixCls = this.prefixCls,
$slots = this.$slots,
vSubScroll = this.vSubScroll,
vScroll = this.vScroll;
var wrapProps = {
'class': (0, _classnames2['default'])((_cx = {}, (0, _defineProperty3['default'])(_cx, prefixCls, 1), (0, _defineProperty3['default'])(_cx, prefixCls + '-scroll', vScroll), (0, _defineProperty3['default'])(_cx, prefixCls + '-scroll-sub', vSubScroll), _cx)),
props: (0, _extends3['default'])({}, depotProps, {
align: 'start'
})
};
var contentProps = {
props: {
grow: true,
flex: vSubScroll
},
'class': (0, _defineProperty3['default'])({}, prefixCls + '-content', 1)
};
var headerCls = prefixCls + '-headr';
var footerCls = prefixCls + '-footer';
return h(
Vertical,
wrapProps,
[$slots.header ? h(
'div',
{ 'class': headerCls },
[$slots.header]
) : null, h(
_dContainer2['default'],
contentProps,
[$slots['default']]
), $slots.footer ? h(
'div',
{ 'class': footerCls },
[$slots.footer]
) : null]
);
}
};
PaginationBox.install = function (Vue) {
Vue.component(PaginationBox.name, PaginationBox);
};
exports['default'] = PaginationBox;