MenuItemGroup.js 2.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374
  1. 'use strict';
  2. Object.defineProperty(exports, "__esModule", {
  3. value: true
  4. });
  5. var _extends2 = require('babel-runtime/helpers/extends');
  6. var _extends3 = _interopRequireDefault(_extends2);
  7. var _vueTypes = require('../_util/vue-types');
  8. var _vueTypes2 = _interopRequireDefault(_vueTypes);
  9. var _propsUtil = require('../_util/props-util');
  10. function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
  11. // import { menuAllProps } from './util'
  12. var MenuItemGroup = {
  13. name: 'MenuItemGroup',
  14. props: {
  15. renderMenuItem: _vueTypes2['default'].func,
  16. index: _vueTypes2['default'].number,
  17. className: _vueTypes2['default'].string,
  18. subMenuKey: _vueTypes2['default'].string,
  19. rootPrefixCls: _vueTypes2['default'].string,
  20. disabled: _vueTypes2['default'].bool.def(true),
  21. title: _vueTypes2['default'].any
  22. },
  23. isMenuItemGroup: true,
  24. methods: {
  25. renderInnerMenuItem: function renderInnerMenuItem(item) {
  26. var _$props = this.$props,
  27. renderMenuItem = _$props.renderMenuItem,
  28. index = _$props.index,
  29. subMenuKey = _$props.subMenuKey;
  30. return renderMenuItem(item, index, subMenuKey);
  31. }
  32. },
  33. render: function render() {
  34. var h = arguments[0];
  35. var props = (0, _extends3['default'])({}, this.$props);
  36. var rootPrefixCls = props.rootPrefixCls,
  37. title = props.title;
  38. var titleClassName = rootPrefixCls + '-item-group-title';
  39. var listClassName = rootPrefixCls + '-item-group-list';
  40. // menuAllProps.props.forEach(key => delete props[key])
  41. var listeners = (0, _extends3['default'])({}, (0, _propsUtil.getListeners)(this));
  42. delete listeners.click;
  43. return h(
  44. 'li',
  45. { on: listeners, 'class': rootPrefixCls + '-item-group' },
  46. [h(
  47. 'div',
  48. { 'class': titleClassName, attrs: { title: typeof title === 'string' ? title : undefined }
  49. },
  50. [(0, _propsUtil.getComponentFromProp)(this, 'title')]
  51. ), h(
  52. 'ul',
  53. { 'class': listClassName },
  54. [this.$slots['default'] && this.$slots['default'].map(this.renderInnerMenuItem)]
  55. )]
  56. );
  57. }
  58. };
  59. exports['default'] = MenuItemGroup;