UNPKG

29.5 kBJavaScriptView Raw
1"use strict";
2
3var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard");
4
5var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
6
7Object.defineProperty(exports, "__esModule", {
8 value: true
9});
10exports["default"] = void 0;
11
12var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
13
14var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
15
16var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
17
18var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
19
20var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
21
22var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
23
24var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
25
26var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
27
28var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));
29
30var _get2 = _interopRequireDefault(require("@babel/runtime/helpers/get"));
31
32var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
33
34var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
35
36var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
37
38var _tslib = require("tslib");
39
40var _react = _interopRequireWildcard(require("react"));
41
42var _propTypes = _interopRequireDefault(require("prop-types"));
43
44var _isEqual = _interopRequireDefault(require("lodash/isEqual"));
45
46var _defer = _interopRequireDefault(require("lodash/defer"));
47
48var _noop = _interopRequireDefault(require("lodash/noop"));
49
50var _isNil = _interopRequireDefault(require("lodash/isNil"));
51
52var _isNumber = _interopRequireDefault(require("lodash/isNumber"));
53
54var _classnames = _interopRequireDefault(require("classnames"));
55
56var _componentClasses = _interopRequireDefault(require("component-classes"));
57
58var _UnitConvertor = require("../../../lib/_util/UnitConvertor");
59
60var _KeyCode = _interopRequireDefault(require("../../../lib/_util/KeyCode"));
61
62var _configure = require("../../../lib/configure");
63
64var _ViewComponent2 = _interopRequireDefault(require("../core/ViewComponent"));
65
66var _icon = _interopRequireDefault(require("../icon"));
67
68var _autobind = _interopRequireDefault(require("../_util/autobind"));
69
70var _Button = _interopRequireDefault(require("../button/Button"));
71
72var _EventManager = _interopRequireDefault(require("../_util/EventManager"));
73
74var _isEmpty = _interopRequireDefault(require("../_util/isEmpty"));
75
76var _enum = require("../button/enum");
77
78var _AsyncComponent = _interopRequireDefault(require("../_util/AsyncComponent"));
79
80var _message = _interopRequireDefault(require("../message"));
81
82var _exception = _interopRequireDefault(require("../_util/exception"));
83
84var _localeContext = require("../locale-context");
85
86var _DataSetRequestError = _interopRequireDefault(require("../data-set/DataSetRequestError"));
87
88var _utils = require("./utils");
89
90var _DocumentUtils = require("../_util/DocumentUtils");
91
92function _createSuper(Derived) {
93 function isNativeReflectConstruct() {
94 if (typeof Reflect === "undefined" || !Reflect.construct) return false;
95 if (Reflect.construct.sham) return false;
96 if (typeof Proxy === "function") return true;
97
98 try {
99 Date.prototype.toString.call(Reflect.construct(Date, [], function () {}));
100 return true;
101 } catch (e) {
102 return false;
103 }
104 }
105
106 return function () {
107 var Super = (0, _getPrototypeOf2["default"])(Derived),
108 result;
109
110 if (isNativeReflectConstruct()) {
111 var NewTarget = (0, _getPrototypeOf2["default"])(this).constructor;
112 result = Reflect.construct(Super, arguments, NewTarget);
113 } else {
114 result = Super.apply(this, arguments);
115 }
116
117 return (0, _possibleConstructorReturn2["default"])(this, result);
118 };
119}
120
121function fixUnit(n) {
122 if ((0, _isNumber["default"])(n)) {
123 return "".concat(n, "px");
124 }
125
126 return n;
127}
128
129function getTransformOrigin(position, style) {
130 var _ref = typeof window === 'undefined' ? {} : (0, _DocumentUtils.getDocument)(window).documentElement,
131 _ref$offsetWidth = _ref.offsetWidth,
132 offsetWidth = _ref$offsetWidth === void 0 ? 0 : _ref$offsetWidth,
133 _ref$scrollTop = _ref.scrollTop,
134 scrollTop = _ref$scrollTop === void 0 ? 0 : _ref$scrollTop,
135 _ref$scrollLeft = _ref.scrollLeft,
136 scrollLeft = _ref$scrollLeft === void 0 ? 0 : _ref$scrollLeft;
137
138 var _style$width = style.width,
139 width = _style$width === void 0 ? 520 : _style$width,
140 left = style.left,
141 _style$top = style.top,
142 top = _style$top === void 0 ? 100 : _style$top;
143 var x = position.x,
144 y = position.y;
145 var originX = "calc(".concat(x, "px - ").concat((0, _isNil["default"])(left) ? "(".concat(offsetWidth, "px - ").concat(fixUnit(width), ") / 2") : "".concat(fixUnit(left)), " - ").concat(scrollLeft, "px)"); // const originX = isNil(left) ? `calc(${x}px - (${offsetWidth}px - ${width}px) / 2)` : `${x - (toPx(left) || 0)}px`;
146
147 var originY = "calc(".concat(y, "px - ").concat(fixUnit(top), " - ").concat(scrollTop, "px)"); // const originY = `${y - (toPx(top) || 0) - scrollTop}px`;
148
149 return "".concat(originX, " ").concat(originY);
150}
151
152var Modal =
153/*#__PURE__*/
154function (_ViewComponent) {
155 (0, _inherits2["default"])(Modal, _ViewComponent);
156
157 var _super = _createSuper(Modal);
158
159 function Modal(props, context) {
160 var _this;
161
162 (0, _classCallCheck2["default"])(this, Modal);
163 _this = _super.call(this, props, context);
164 _this.moveEvent = new _EventManager["default"](typeof window === 'undefined' ? undefined : (0, _DocumentUtils.getDocument)(window));
165 _this.okCancelEvent = new _EventManager["default"]();
166
167 _this.getDefaultHeader = function (title, closeButton, _okBtn, _cancelBtn) {
168 var _assertThisInitialize = (0, _assertThisInitialized2["default"])(_this),
169 prefixCls = _assertThisInitialize.prefixCls;
170
171 if (title || closeButton) {
172 return _react["default"].createElement(_react["default"].Fragment, null, _react["default"].createElement("div", {
173 className: "".concat(prefixCls, "-title")
174 }, title), _react["default"].createElement("div", {
175 className: "".concat(prefixCls, "-header-buttons")
176 }, closeButton));
177 }
178 };
179
180 _this.getDefaultFooter = function (okBtn, cancelBtn, _modalChildrenProps) {
181 var _this$props = _this.props,
182 okCancel = _this$props.okCancel,
183 okButton = _this$props.okButton,
184 _this$props$cancelBut = _this$props.cancelButton,
185 cancelButton = _this$props$cancelBut === void 0 ? okCancel !== false : _this$props$cancelBut,
186 _this$props$okFirst = _this$props.okFirst,
187 okFirst = _this$props$okFirst === void 0 ? (0, _configure.getConfig)('modalOkFirst') : _this$props$okFirst,
188 drawer = _this$props.drawer;
189 var buttons = [];
190
191 if (okButton !== false) {
192 buttons.push(okBtn);
193 }
194
195 if (cancelButton !== false) {
196 var drawerOkFirst = (0, _configure.getConfig)('drawerOkFirst');
197
198 if (drawer && !(0, _isNil["default"])(drawerOkFirst)) {
199 if (drawerOkFirst) {
200 buttons.push(cancelBtn);
201 } else {
202 buttons.unshift(cancelBtn);
203 }
204 } else if (okFirst) {
205 buttons.push(cancelBtn);
206 } else {
207 buttons.unshift(cancelBtn);
208 }
209 }
210
211 return _react["default"].createElement("div", null, buttons);
212 };
213
214 _this.registerOk = function (ok) {
215 _this.okCancelEvent.removeEventListener('ok');
216
217 _this.okCancelEvent.addEventListener('ok', ok);
218 };
219
220 _this.registerCancel = function (cancel) {
221 _this.okCancelEvent.removeEventListener('cancel');
222
223 _this.okCancelEvent.addEventListener('cancel', cancel);
224 };
225
226 var _props$close = props.close,
227 close = _props$close === void 0 ? _noop["default"] : _props$close,
228 _props$update = props.update,
229 update = _props$update === void 0 ? _noop["default"] : _props$update;
230 _this.childrenProps = {
231 close: close,
232 update: update,
233 props: props,
234 handleOk: _this.registerOk,
235 handleCancel: _this.registerCancel
236 };
237 return _this;
238 }
239
240 (0, _createClass2["default"])(Modal, [{
241 key: "componentWillReceiveProps",
242 value: function componentWillReceiveProps(nextProps, nextContext) {
243 (0, _get2["default"])((0, _getPrototypeOf2["default"])(Modal.prototype), "componentWillReceiveProps", this).call(this, nextProps, nextContext);
244
245 if (!(0, _isEqual["default"])(this.props, nextProps)) {
246 var _nextProps$close = nextProps.close,
247 close = _nextProps$close === void 0 ? _noop["default"] : _nextProps$close,
248 _nextProps$update = nextProps.update,
249 update = _nextProps$update === void 0 ? _noop["default"] : _nextProps$update;
250 (0, _extends2["default"])(this.childrenProps, {
251 close: close,
252 update: update,
253 props: nextProps
254 });
255 }
256 }
257 }, {
258 key: "saveCancelRef",
259 value: function saveCancelRef(node) {
260 this.cancelButton = node;
261 }
262 }, {
263 key: "handleKeyDown",
264 value: function handleKeyDown(e) {
265 if (e.keyCode === _KeyCode["default"].ESC) {
266 var cancelButton = this.cancelButton;
267
268 if (cancelButton && !cancelButton.disabled) {
269 cancelButton.handleClickWait(e);
270 } else {
271 this.handleCancel();
272 }
273 }
274 }
275 }, {
276 key: "getOmitPropsKeys",
277 value: function getOmitPropsKeys() {
278 return (0, _get2["default"])((0, _getPrototypeOf2["default"])(Modal.prototype), "getOmitPropsKeys", this).call(this).concat(['__deprecate__', 'closable', 'movable', 'maskClosable', 'maskStyle', 'mask', 'maskClassName', 'keyboardClosable', 'fullScreen', 'title', 'header', 'footer', 'close', 'update', 'okText', 'cancelText', 'okButton', 'cancelButton', 'okCancel', 'onClose', 'onOk', 'onCancel', 'destroyOnClose', 'drawer', 'drawerOffset', 'drawerTransitionName', 'transitionAppear', 'afterClose', 'okProps', 'cancelProps', 'border', 'drawerBorder', 'okFirst', 'autoCenter', 'mousePosition', 'active', 'contentStyle', 'bodyStyle', 'closeOnLocationChange']);
279 }
280 }, {
281 key: "getOtherProps",
282 value: function getOtherProps() {
283 var otherProps = (0, _get2["default"])((0, _getPrototypeOf2["default"])(Modal.prototype), "getOtherProps", this).call(this);
284 var _this$props2 = this.props,
285 hidden = _this$props2.hidden,
286 mousePosition = _this$props2.mousePosition,
287 _this$props2$keyboard = _this$props2.keyboardClosable,
288 keyboardClosable = _this$props2$keyboard === void 0 ? (0, _configure.getConfig)('modalKeyboard') : _this$props2$keyboard,
289 _this$props2$style = _this$props2.style,
290 style = _this$props2$style === void 0 ? {} : _this$props2$style,
291 drawer = _this$props2.drawer;
292
293 if (keyboardClosable) {
294 otherProps.autoFocus = true;
295 otherProps.tabIndex = -1;
296 otherProps.onKeyDown = this.handleKeyDown;
297 }
298
299 if (!drawer) {
300 var position = this.mousePosition || mousePosition;
301
302 if (position) {
303 this.mousePosition = position;
304 otherProps.style = (0, _objectSpread2["default"])({}, style, {
305 transformOrigin: getTransformOrigin(position, style)
306 });
307 }
308
309 if (hidden) {
310 this.mousePosition = null;
311 }
312 }
313
314 return otherProps;
315 }
316 }, {
317 key: "contentReference",
318 value: function contentReference(node) {
319 this.contentNode = node;
320 }
321 }, {
322 key: "getClassName",
323 value: function getClassName() {
324 var _get$call;
325
326 var prefixCls = this.prefixCls,
327 _this$props3 = this.props,
328 _this$props3$style = _this$props3.style,
329 style = _this$props3$style === void 0 ? {} : _this$props3$style,
330 fullScreen = _this$props3.fullScreen,
331 drawer = _this$props3.drawer,
332 _this$props3$drawerTr = _this$props3.drawerTransitionName,
333 drawerTransitionName = _this$props3$drawerTr === void 0 ? (0, _configure.getConfig)('drawerTransitionName') : _this$props3$drawerTr,
334 size = _this$props3.size,
335 active = _this$props3.active,
336 _this$props3$border = _this$props3.border,
337 border = _this$props3$border === void 0 ? (0, _configure.getConfig)('modalSectionBorder') : _this$props3$border,
338 _this$props3$drawerBo = _this$props3.drawerBorder,
339 drawerBorder = _this$props3$drawerBo === void 0 ? (0, _configure.getConfig)('drawerSectionBorder') : _this$props3$drawerBo,
340 _this$props3$autoCent = _this$props3.autoCenter,
341 autoCenter = _this$props3$autoCent === void 0 ? (0, _configure.getConfig)('modalAutoCenter') : _this$props3$autoCent;
342 return (0, _get2["default"])((0, _getPrototypeOf2["default"])(Modal.prototype), "getClassName", this).call(this, (_get$call = {}, (0, _defineProperty2["default"])(_get$call, "".concat(prefixCls, "-center"), !drawer && !('left' in style || 'right' in style) && !this.offset), (0, _defineProperty2["default"])(_get$call, "".concat(prefixCls, "-fullscreen"), fullScreen), (0, _defineProperty2["default"])(_get$call, "".concat(prefixCls, "-drawer"), drawer), (0, _defineProperty2["default"])(_get$call, "".concat(prefixCls, "-border"), drawer ? drawerBorder : border), (0, _defineProperty2["default"])(_get$call, "".concat(prefixCls, "-drawer-").concat(drawerTransitionName), drawer), (0, _defineProperty2["default"])(_get$call, "".concat(prefixCls, "-auto-center"), autoCenter && !drawer && !fullScreen), (0, _defineProperty2["default"])(_get$call, "".concat(prefixCls, "-").concat(size), size), (0, _defineProperty2["default"])(_get$call, "".concat(prefixCls, "-active"), active), _get$call));
343 }
344 }, {
345 key: "render",
346 value: function render() {
347 var prefixCls = this.prefixCls,
348 _this$props4 = this.props,
349 contentStyle = _this$props4.contentStyle,
350 drawer = _this$props4.drawer;
351 var header = this.getHeader();
352 var body = this.getBody();
353 var footer = this.getFooter();
354 return _react["default"].createElement("div", (0, _extends2["default"])({}, this.getMergedProps()), _react["default"].createElement("div", {
355 ref: this.contentReference,
356 className: (0, _classnames["default"])("".concat(prefixCls, "-content"), (0, _defineProperty2["default"])({}, "".concat(prefixCls, "-drawer-content"), drawer)),
357 style: contentStyle
358 }, header, body, footer));
359 }
360 }, {
361 key: "componentWillUpdate",
362 value: function componentWillUpdate(_ref2) {
363 var _this2 = this;
364
365 var hidden = _ref2.hidden;
366
367 if (hidden === false && hidden !== this.props.hidden) {
368 (0, _defer["default"])(function () {
369 return _this2.focus();
370 });
371 }
372 }
373 }, {
374 key: "componentWillUnmount",
375 value: function componentWillUnmount() {
376 this.moveEvent.clear();
377 this.okCancelEvent.clear();
378 }
379 }, {
380 key: "handleHeaderMouseDown",
381 value: function handleHeaderMouseDown(downEvent) {
382 var _this3 = this;
383
384 var element = this.element,
385 contentNode = this.contentNode,
386 _this$props$autoCente = this.props.autoCenter,
387 autoCenter = _this$props$autoCente === void 0 ? (0, _configure.getConfig)('modalAutoCenter') : _this$props$autoCente;
388
389 if (element && contentNode) {
390 var prefixCls = this.prefixCls;
391 var clientX = downEvent.clientX,
392 clientY = downEvent.clientY;
393 var offsetLeft = element.offsetLeft,
394 offsetTop = element.offsetTop;
395 var heightW = window.innerHeight || document.documentElement.clientHeight || document.body.clientHeight;
396 var autoMove = 0;
397 this.moveEvent.addEventListener('mousemove', function (moveEvent) {
398 var moveX = moveEvent.clientX,
399 moveY = moveEvent.clientY;
400 (0, _componentClasses["default"])(element).remove("".concat(prefixCls, "-center"));
401 var left = (0, _UnitConvertor.pxToRem)(Math.max(offsetLeft + moveX - clientX, 0));
402 var top = (0, _UnitConvertor.pxToRem)(Math.max(offsetTop + autoMove + moveY - clientY, 0));
403 _this3.offset = [left, top];
404
405 if (autoCenter && (0, _componentClasses["default"])(element).has("".concat(prefixCls, "-auto-center"))) {
406 (0, _componentClasses["default"])(element).remove("".concat(prefixCls, "-auto-center"));
407 autoMove = Math.max((heightW - contentNode.clientHeight) / 2, 0);
408 (0, _extends2["default"])(element.style, {
409 left: left,
410 top: (0, _UnitConvertor.pxToRem)(autoMove)
411 });
412 } else {
413 (0, _extends2["default"])(element.style, {
414 left: left,
415 top: top
416 });
417 }
418 }).addEventListener('mouseup', function () {
419 _this3.moveEvent.clear();
420 });
421 }
422 }
423 }, {
424 key: "handleOk",
425 value: function () {
426 var _handleOk = (0, _asyncToGenerator2["default"])(
427 /*#__PURE__*/
428 _regenerator["default"].mark(function _callee() {
429 var _this$props$onOk, onOk, promise, _ref3, _ref4, ret1, ret2;
430
431 return _regenerator["default"].wrap(function _callee$(_context) {
432 while (1) {
433 switch (_context.prev = _context.next) {
434 case 0:
435 _this$props$onOk = this.props.onOk, onOk = _this$props$onOk === void 0 ? _noop["default"] : _this$props$onOk;
436 promise = Promise.all([onOk(), this.okCancelEvent.fireEvent('ok')]);
437 _context.prev = 2;
438 _context.next = 5;
439 return promise;
440
441 case 5:
442 _ref3 = _context.sent;
443 _ref4 = (0, _slicedToArray2["default"])(_ref3, 2);
444 ret1 = _ref4[0];
445 ret2 = _ref4[1];
446
447 if (ret1 !== false && ret2) {
448 this.close();
449 }
450
451 _context.next = 16;
452 break;
453
454 case 12:
455 _context.prev = 12;
456 _context.t0 = _context["catch"](2);
457
458 if (!(_context.t0 instanceof _DataSetRequestError["default"])) {
459 _message["default"].error((0, _exception["default"])(_context.t0));
460 }
461
462 throw _context.t0;
463
464 case 16:
465 case "end":
466 return _context.stop();
467 }
468 }
469 }, _callee, this, [[2, 12]]);
470 }));
471
472 function handleOk() {
473 return _handleOk.apply(this, arguments);
474 }
475
476 return handleOk;
477 }()
478 }, {
479 key: "handleCancel",
480 value: function () {
481 var _handleCancel = (0, _asyncToGenerator2["default"])(
482 /*#__PURE__*/
483 _regenerator["default"].mark(function _callee2() {
484 var _this$props$onCancel, onCancel, promise, _ref5, _ref6, ret1, ret2;
485
486 return _regenerator["default"].wrap(function _callee2$(_context2) {
487 while (1) {
488 switch (_context2.prev = _context2.next) {
489 case 0:
490 _this$props$onCancel = this.props.onCancel, onCancel = _this$props$onCancel === void 0 ? _noop["default"] : _this$props$onCancel;
491 promise = Promise.all([onCancel(), this.okCancelEvent.fireEvent('cancel')]);
492 _context2.prev = 2;
493 _context2.next = 5;
494 return promise;
495
496 case 5:
497 _ref5 = _context2.sent;
498 _ref6 = (0, _slicedToArray2["default"])(_ref5, 2);
499 ret1 = _ref6[0];
500 ret2 = _ref6[1];
501
502 if (ret1 !== false && ret2) {
503 this.close();
504 }
505
506 _context2.next = 16;
507 break;
508
509 case 12:
510 _context2.prev = 12;
511 _context2.t0 = _context2["catch"](2);
512
513 if (!(_context2.t0 instanceof _DataSetRequestError["default"])) {
514 _message["default"].error((0, _exception["default"])(_context2.t0));
515 }
516
517 throw _context2.t0;
518
519 case 16:
520 case "end":
521 return _context2.stop();
522 }
523 }
524 }, _callee2, this, [[2, 12]]);
525 }));
526
527 function handleCancel() {
528 return _handleCancel.apply(this, arguments);
529 }
530
531 return handleCancel;
532 }()
533 }, {
534 key: "getHeader",
535 value: function getHeader() {
536 var _this$props5 = this.props,
537 _this$props5$header = _this$props5.header,
538 header = _this$props5$header === void 0 ? this.getDefaultHeader : _this$props5$header,
539 title = _this$props5.title;
540
541 if (typeof header === 'function') {
542 var closeButton = this.getCloseButton();
543 return this.getWrappedHeader(header(title, closeButton, this.okBtn, this.cancelBtn));
544 }
545
546 if (!(0, _isEmpty["default"])(header, true)) {
547 return this.getWrappedHeader(header);
548 }
549 }
550 }, {
551 key: "getWrappedHeader",
552 value: function getWrappedHeader(header) {
553 var prefixCls = this.prefixCls,
554 _this$props6 = this.props,
555 title = _this$props6.title,
556 closable = _this$props6.closable,
557 movable = _this$props6.movable,
558 fullScreen = _this$props6.fullScreen,
559 drawer = _this$props6.drawer;
560
561 if (title || closable || movable || header) {
562 var _classNames2;
563
564 var headerProps = {
565 className: (0, _classnames["default"])("".concat(prefixCls, "-header"), (_classNames2 = {}, (0, _defineProperty2["default"])(_classNames2, "".concat(prefixCls, "-movable"), movable && !fullScreen && !drawer), (0, _defineProperty2["default"])(_classNames2, "".concat(prefixCls, "-title-none"), !title), (0, _defineProperty2["default"])(_classNames2, "".concat(prefixCls, "-drawer-header"), drawer), _classNames2))
566 };
567
568 if (movable && !fullScreen && !drawer) {
569 headerProps.onMouseDown = this.handleHeaderMouseDown;
570 }
571
572 return _react["default"].createElement("div", (0, _extends2["default"])({}, headerProps), header);
573 }
574 }
575 }, {
576 key: "getCloseButton",
577 value: function getCloseButton() {
578 var prefixCls = this.prefixCls,
579 closable = this.props.closable;
580
581 if (closable) {
582 return _react["default"].createElement("button", {
583 type: "button",
584 className: "".concat(prefixCls, "-header-button"),
585 onClick: this.handleCancel
586 }, _react["default"].createElement(_icon["default"], {
587 type: "close"
588 }));
589 }
590 }
591 }, {
592 key: "getBody",
593 value: function getBody() {
594 var children = this.props.children;
595 return this.renderChildren(typeof children === 'function' ? (0, _AsyncComponent["default"])(children) : children);
596 }
597 }, {
598 key: "getFooter",
599 value: function getFooter() {
600 var _this$props$footer = this.props.footer,
601 footer = _this$props$footer === void 0 ? this.getDefaultFooter : _this$props$footer;
602
603 if (typeof footer === 'function') {
604 return this.getWrappedFooter(footer(this.okBtn, this.cancelBtn, this.childrenProps));
605 }
606
607 if (!(0, _isEmpty["default"])(footer, true)) {
608 return this.getWrappedFooter(footer);
609 }
610 }
611 }, {
612 key: "getWrappedFooter",
613 value: function getWrappedFooter(footer) {
614 var _classNames3;
615
616 var prefixCls = this.prefixCls;
617 var drawer = this.props.drawer;
618 var className = (0, _classnames["default"])("".concat(prefixCls, "-footer"), (_classNames3 = {}, (0, _defineProperty2["default"])(_classNames3, "".concat(prefixCls, "-footer-drawer"), drawer), (0, _defineProperty2["default"])(_classNames3, "".concat(prefixCls, "-drawer-footer"), drawer), _classNames3));
619 return _react["default"].createElement("div", {
620 className: className
621 }, footer);
622 }
623 }, {
624 key: "renderChildren",
625 value: function renderChildren(children) {
626 if (children) {
627 var prefixCls = this.prefixCls,
628 props = this.props;
629 var bodyStyle = props.bodyStyle,
630 drawer = props.drawer;
631 return _react["default"].createElement("div", {
632 className: (0, _classnames["default"])("".concat(prefixCls, "-body"), (0, _defineProperty2["default"])({}, "".concat(prefixCls, "-drawer-body"), drawer)),
633 style: bodyStyle
634 }, (0, _react.isValidElement)(children) ? (0, _react.cloneElement)(children, {
635 modal: this.childrenProps
636 }) : children);
637 }
638 }
639 }, {
640 key: "close",
641 value: function close() {
642 var _this$props$close = this.props.close,
643 close = _this$props$close === void 0 ? _noop["default"] : _this$props$close;
644 close();
645 }
646 }, {
647 key: "okBtn",
648 get: function get() {
649 var _this$props7 = this.props,
650 okProps = _this$props7.okProps,
651 _this$props7$okText = _this$props7.okText,
652 okText = _this$props7$okText === void 0 ? (0, _localeContext.$l)('Modal', 'ok') : _this$props7$okText,
653 drawer = _this$props7.drawer;
654 var modalButtonProps = (0, _configure.getConfig)('modalButtonProps');
655 var funcType = drawer ? _enum.FuncType.raised : (0, _configure.getConfig)('buttonFuncType');
656 return _react["default"].createElement(_Button["default"], (0, _extends2["default"])({
657 key: "ok",
658 funcType: funcType,
659 color: _enum.ButtonColor.primary,
660 onClick: this.handleOk
661 }, modalButtonProps, okProps), okText);
662 }
663 }, {
664 key: "cancelBtn",
665 get: function get() {
666 var _this$props8 = this.props,
667 cancelProps = _this$props8.cancelProps,
668 _this$props8$cancelTe = _this$props8.cancelText,
669 cancelText = _this$props8$cancelTe === void 0 ? (0, _localeContext.$l)('Modal', 'cancel') : _this$props8$cancelTe,
670 drawer = _this$props8.drawer;
671 var modalButtonProps = (0, _configure.getConfig)('modalButtonProps');
672 var funcType = drawer ? _enum.FuncType.raised : (0, _configure.getConfig)('buttonFuncType');
673 return _react["default"].createElement(_Button["default"], (0, _extends2["default"])({
674 key: "cancel",
675 ref: this.saveCancelRef,
676 funcType: funcType,
677 onClick: this.handleCancel
678 }, modalButtonProps, cancelProps), cancelText);
679 }
680 }]);
681 return Modal;
682}(_ViewComponent2["default"]);
683
684exports["default"] = Modal;
685Modal.displayName = 'Modal';
686Modal.propTypes = (0, _objectSpread2["default"])({}, _ViewComponent2["default"].propTypes, {
687 closable: _propTypes["default"].bool,
688 movable: _propTypes["default"].bool,
689 fullScreen: _propTypes["default"].bool,
690 maskClosable: _propTypes["default"].oneOfType([_propTypes["default"].bool, _propTypes["default"].string]),
691 maskStyle: _propTypes["default"].object,
692 mask: _propTypes["default"].bool,
693 maskClassName: _propTypes["default"].string,
694 keyboardClosable: _propTypes["default"].bool,
695 footer: _propTypes["default"].oneOfType([_propTypes["default"].func, _propTypes["default"].node, _propTypes["default"].bool]),
696 destroyOnClose: _propTypes["default"].bool,
697 okText: _propTypes["default"].node,
698 cancelText: _propTypes["default"].node,
699 okProps: _propTypes["default"].object,
700 autoCenter: _propTypes["default"].bool,
701 cancelProps: _propTypes["default"].object,
702 onClose: _propTypes["default"].func,
703 onOk: _propTypes["default"].func,
704 onCancel: _propTypes["default"].func,
705 afterClose: _propTypes["default"].func,
706 okButton: _propTypes["default"].bool,
707 cancelButton: _propTypes["default"].bool,
708 okCancel: _propTypes["default"].bool,
709 drawer: _propTypes["default"].bool,
710 drawerOffset: _propTypes["default"].number,
711 drawerTransitionName: _propTypes["default"].oneOf(['slide-up', 'slide-right', 'slide-down', 'slide-up', 'slide-left']),
712 okFirst: _propTypes["default"].bool,
713 mousePosition: _propTypes["default"].shape({
714 x: _propTypes["default"].number,
715 y: _propTypes["default"].number
716 }),
717 contentStyle: _propTypes["default"].object,
718 bodyStyle: _propTypes["default"].object,
719 closeOnLocationChange: _propTypes["default"].bool
720});
721Modal.defaultProps = {
722 suffixCls: _utils.suffixCls,
723 closable: false,
724 movable: true,
725 mask: true,
726 okButton: true,
727 okCancel: true,
728 destroyOnClose: true,
729 fullScreen: false,
730 drawer: false,
731 drawerOffset: 150,
732 autoFocus: true,
733 closeOnLocationChange: true
734};
735(0, _tslib.__decorate)([_autobind["default"]], Modal.prototype, "saveCancelRef", null);
736(0, _tslib.__decorate)([_autobind["default"]], Modal.prototype, "handleKeyDown", null);
737(0, _tslib.__decorate)([_autobind["default"]], Modal.prototype, "contentReference", null);
738(0, _tslib.__decorate)([_autobind["default"]], Modal.prototype, "handleHeaderMouseDown", null);
739(0, _tslib.__decorate)([_autobind["default"]], Modal.prototype, "handleOk", null);
740(0, _tslib.__decorate)([_autobind["default"]], Modal.prototype, "handleCancel", null);
741(0, _tslib.__decorate)([_autobind["default"]], Modal.prototype, "close", null);
742//# sourceMappingURL=Modal.js.map