DialogWrap.js 2.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586
  1. 'use strict';
  2. Object.defineProperty(exports, "__esModule", {
  3. value: true
  4. });
  5. var _babelHelperVueJsxMergeProps = require('babel-helper-vue-jsx-merge-props');
  6. var _babelHelperVueJsxMergeProps2 = _interopRequireDefault(_babelHelperVueJsxMergeProps);
  7. var _extends2 = require('babel-runtime/helpers/extends');
  8. var _extends3 = _interopRequireDefault(_extends2);
  9. var _Dialog = require('./Dialog');
  10. var _Dialog2 = _interopRequireDefault(_Dialog);
  11. var _IDialogPropTypes = require('./IDialogPropTypes');
  12. var _IDialogPropTypes2 = _interopRequireDefault(_IDialogPropTypes);
  13. var _propsUtil = require('../_util/props-util');
  14. var _PortalWrapper = require('../_util/PortalWrapper');
  15. var _PortalWrapper2 = _interopRequireDefault(_PortalWrapper);
  16. function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
  17. var IDialogPropTypes = (0, _IDialogPropTypes2['default'])();
  18. var DialogWrap = {
  19. inheritAttrs: false,
  20. props: (0, _extends3['default'])({}, IDialogPropTypes, {
  21. visible: IDialogPropTypes.visible.def(false)
  22. }),
  23. render: function render() {
  24. var _this = this;
  25. var h = arguments[0];
  26. var _$props = this.$props,
  27. visible = _$props.visible,
  28. getContainer = _$props.getContainer,
  29. forceRender = _$props.forceRender;
  30. var dialogProps = {
  31. props: this.$props,
  32. attrs: this.$attrs,
  33. ref: '_component',
  34. key: 'dialog',
  35. on: (0, _propsUtil.getListeners)(this)
  36. };
  37. // 渲染在当前 dom 里;
  38. if (getContainer === false) {
  39. return h(
  40. _Dialog2['default'],
  41. (0, _babelHelperVueJsxMergeProps2['default'])([dialogProps, {
  42. attrs: {
  43. getOpenCount: function getOpenCount() {
  44. return 2;
  45. } // 不对 body 做任何操作。。
  46. }
  47. }]),
  48. [this.$slots['default']]
  49. );
  50. }
  51. return h(_PortalWrapper2['default'], {
  52. attrs: {
  53. visible: visible,
  54. forceRender: forceRender,
  55. getContainer: getContainer,
  56. children: function children(childProps) {
  57. dialogProps.props = (0, _extends3['default'])({}, dialogProps.props, childProps);
  58. return h(
  59. _Dialog2['default'],
  60. dialogProps,
  61. [_this.$slots['default']]
  62. );
  63. }
  64. }
  65. });
  66. }
  67. };
  68. exports['default'] = DialogWrap;