1 | "use strict";
|
2 |
|
3 | var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard");
|
4 |
|
5 | var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
6 |
|
7 | Object.defineProperty(exports, "__esModule", {
|
8 | value: true
|
9 | });
|
10 | exports["default"] = void 0;
|
11 |
|
12 | var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
|
13 |
|
14 | var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
15 |
|
16 | var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
|
17 |
|
18 | var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
19 |
|
20 | var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
|
21 |
|
22 | var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
23 |
|
24 | var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
25 |
|
26 | var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
27 |
|
28 | var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));
|
29 |
|
30 | var _get2 = _interopRequireDefault(require("@babel/runtime/helpers/get"));
|
31 |
|
32 | var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
|
33 |
|
34 | var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
|
35 |
|
36 | var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
|
37 |
|
38 | var _tslib = require("tslib");
|
39 |
|
40 | var _react = _interopRequireWildcard(require("react"));
|
41 |
|
42 | var _propTypes = _interopRequireDefault(require("prop-types"));
|
43 |
|
44 | var _isEqual = _interopRequireDefault(require("lodash/isEqual"));
|
45 |
|
46 | var _defer = _interopRequireDefault(require("lodash/defer"));
|
47 |
|
48 | var _noop = _interopRequireDefault(require("lodash/noop"));
|
49 |
|
50 | var _isNil = _interopRequireDefault(require("lodash/isNil"));
|
51 |
|
52 | var _isNumber = _interopRequireDefault(require("lodash/isNumber"));
|
53 |
|
54 | var _classnames = _interopRequireDefault(require("classnames"));
|
55 |
|
56 | var _componentClasses = _interopRequireDefault(require("component-classes"));
|
57 |
|
58 | var _UnitConvertor = require("../../../lib/_util/UnitConvertor");
|
59 |
|
60 | var _KeyCode = _interopRequireDefault(require("../../../lib/_util/KeyCode"));
|
61 |
|
62 | var _configure = require("../../../lib/configure");
|
63 |
|
64 | var _ViewComponent2 = _interopRequireDefault(require("../core/ViewComponent"));
|
65 |
|
66 | var _icon = _interopRequireDefault(require("../icon"));
|
67 |
|
68 | var _autobind = _interopRequireDefault(require("../_util/autobind"));
|
69 |
|
70 | var _Button = _interopRequireDefault(require("../button/Button"));
|
71 |
|
72 | var _EventManager = _interopRequireDefault(require("../_util/EventManager"));
|
73 |
|
74 | var _isEmpty = _interopRequireDefault(require("../_util/isEmpty"));
|
75 |
|
76 | var _enum = require("../button/enum");
|
77 |
|
78 | var _AsyncComponent = _interopRequireDefault(require("../_util/AsyncComponent"));
|
79 |
|
80 | var _message = _interopRequireDefault(require("../message"));
|
81 |
|
82 | var _exception = _interopRequireDefault(require("../_util/exception"));
|
83 |
|
84 | var _localeContext = require("../locale-context");
|
85 |
|
86 | var _DataSetRequestError = _interopRequireDefault(require("../data-set/DataSetRequestError"));
|
87 |
|
88 | var _utils = require("./utils");
|
89 |
|
90 | var _DocumentUtils = require("../_util/DocumentUtils");
|
91 |
|
92 | function _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 |
|
121 | function fixUnit(n) {
|
122 | if ((0, _isNumber["default"])(n)) {
|
123 | return "".concat(n, "px");
|
124 | }
|
125 |
|
126 | return n;
|
127 | }
|
128 |
|
129 | function 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)");
|
146 |
|
147 | var originY = "calc(".concat(y, "px - ").concat(fixUnit(top), " - ").concat(scrollTop, "px)");
|
148 |
|
149 | return "".concat(originX, " ").concat(originY);
|
150 | }
|
151 |
|
152 | var Modal =
|
153 |
|
154 | function (_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 |
|
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 |
|
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 |
|
684 | exports["default"] = Modal;
|
685 | Modal.displayName = 'Modal';
|
686 | Modal.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 | });
|
721 | Modal.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 |
|