vue-ant-patterns
Version:
vue-ant-patterns
106 lines (84 loc) • 2.84 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
var _defineProperty2 = require('babel-runtime/helpers/defineProperty');
var _defineProperty3 = _interopRequireDefault(_defineProperty2);
var _toConsumableArray2 = require('babel-runtime/helpers/toConsumableArray');
var _toConsumableArray3 = _interopRequireDefault(_toConsumableArray2);
var _extends2 = require('babel-runtime/helpers/extends');
var _extends3 = _interopRequireDefault(_extends2);
var _classnames = require('classnames');
var _classnames2 = _interopRequireDefault(_classnames);
var _generator = require('../_utils/generator');
var _generator2 = _interopRequireDefault(_generator);
var _Basic = require('./Basic');
var _Basic2 = _interopRequireDefault(_Basic);
var _BasicProps = require('./BasicProps');
var _BasicProps2 = _interopRequireDefault(_BasicProps);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
/*
* @Description:
* @Autor: w.pengfei
* @Date: 2019-09-11 20:00:51
* @LastEditors: w.pengfei
* @LastEditTime: 2019-12-12 15:23:06
*/
var BasicLayout = {
props: (0, _extends3['default'])({}, _BasicProps2['default'], {
padding: String,
tagName: {
type: String,
'default': function _default() {
return 'div';
}
}
}),
data: function data() {
return {
siders: []
};
},
provide: function provide() {
var _this = this;
return {
siderHook: {
addSider: function addSider(id) {
_this.siders = [].concat((0, _toConsumableArray3['default'])(_this.siders), [id]);
},
removeSider: function removeSider(id) {
_this.siders = _this.siders.filter(function (currentId) {
return currentId !== id;
});
}
}
};
},
render: function render(h) {
var prefixCls = this.prefixCls,
$slots = this.$slots,
$attrs = this.$attrs,
hasSider = this.hasSider,
$listeners = this.$listeners,
padding = this.padding,
tagName = this.tagName;
var divCls = (0, _classnames2['default'])(prefixCls, (0, _defineProperty3['default'])({}, prefixCls + '-has-sider', hasSider || this.siders.length > 0));
var divProps = {
'class': divCls,
on: $listeners,
style: padding ? { padding: padding } : null
};
return h(tagName, (0, _extends3['default'])({}, divProps, $attrs), $slots['default']);
// return <div {...divProps}>{$slots.default}</div>;
}
};
var Layout = (0, _generator2['default'])({
prefixCls: 'depot-layout',
padding: ''
}, 'DLayout')(BasicLayout);
var Content = (0, _generator2['default'])({
prefixCls: 'depot-layout-content',
padding: ''
}, 'DLayoutContent')(_Basic2['default']);
Layout.Content = Content;
exports['default'] = Layout;