vue-ant-patterns
Version:
vue-ant-patterns
112 lines (91 loc) • 2.89 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 _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 depotProps = {
flex: true,
justify: 'start',
align: 'center'
};
var TitleBar = {
name: 'DTitleBar',
props: {
prefixCls: _vueTypes2['default'].string.def('depot-title-bar'),
title: String,
tagName: _vueTypes2['default'].oneOf(['h2', 'h3', 'h4', 'h5']).def('h3'),
bold: _vueTypes2['default'].bool.def(true),
margin: _vueTypes2['default'].string.def('0 0 0px 0'),
padding: _vueTypes2['default'].string.def('0'),
height: _vueTypes2['default'].string
},
methods: {
renderTitle: function renderTitle(h) {
var tagName = this.tagName,
title = this.title,
$slots = this.$slots;
return $slots.title ? $slots.title : h(tagName, title);
}
},
render: function render(h) {
var _cx;
var prefixCls = this.prefixCls,
$slots = this.$slots,
bold = this.bold,
margin = this.margin,
padding = this.padding,
height = this.height;
var main = $slots.main,
second = $slots.second;
var wrapProps = {
'class': (0, _classnames2['default'])((_cx = {}, (0, _defineProperty3['default'])(_cx, prefixCls, 1), (0, _defineProperty3['default'])(_cx, prefixCls + '-bold', bold), _cx)),
props: (0, _extends3['default'])({}, depotProps, {
justify: 'between',
margin: margin,
padding: padding,
height: height
})
// style: {
// margin,
// padding,
// },
};
var mainProps = {
'class': prefixCls + '-main',
props: (0, _extends3['default'])({}, depotProps)
};
var secondProps = {
'class': prefixCls + '-second',
props: (0, _extends3['default'])({}, depotProps, {
justify: 'end'
})
};
return h(
_dContainer2['default'],
wrapProps,
[h(
_dContainer2['default'],
mainProps,
[this.renderTitle(h), main ? main : null]
), second ? h(
_dContainer2['default'],
secondProps,
[second]
) : null]
);
}
};
TitleBar.install = function (Vue) {
Vue.component(TitleBar.name, TitleBar);
};
exports['default'] = TitleBar;