UNPKG

fastlion-amis

Version:

一种MIS页面生成工具

56 lines (55 loc) 2.83 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.confirmWithThreeButtons = void 0; var tslib_1 = require("tslib"); var react_1 = tslib_1.__importStar(require("react")); var antd_1 = require("antd"); var react_dom_1 = (0, tslib_1.__importDefault)(require("react-dom")); var CustomConfirmModal = function (_a) { var onButton1Click = _a.onButton1Click, body = _a.body; var _b = (0, react_1.useState)(true), visible = _b[0], setVisible = _b[1]; var _c = (0, react_1.useState)(1), value = _c[0], setValue = _c[1]; var refValue = (0, react_1.useRef)(value); var env = body.env, __ = body.translate; var container = (env === null || env === void 0 ? void 0 : env.getModalContainer) ? env.getModalContainer() : document.body; var handleButton1Click = function () { onButton1Click(refValue.current); setVisible(false); }; (0, react_1.useEffect)(function () { document.body.addEventListener('keyup', handleKeyUp); return function () { return document.body.removeEventListener('keyup', handleKeyUp); }; }, []); var handleKeyUp = function (e) { if (e.key === 'Enter') { handleButton1Click(); } if (e.key === 'Tab') { setValue(function (state) { refValue.current = refValue.current == 1 ? 2 : 1; return state == 1 ? 2 : 1; }); } }; var onChange = function (e) { refValue.current = e.target.value; setValue(e.target.value); }; return visible ? react_dom_1.default.createPortal(react_1.default.createElement(antd_1.Modal, { title: __('CRUD.batch.processing.data'), maskClosable: false, visible: visible, okText: __('Flow.determine'), cancelText: __('Dialog.close'), onCancel: function () { return setVisible(false); }, onOk: handleButton1Click }, __('CRUD.please.confirm'), react_1.default.createElement("span", null, " : "), react_1.default.createElement(antd_1.Radio.Group, { onChange: onChange, value: value }, react_1.default.createElement(antd_1.Radio, { value: 1 }, __('CRUD.current.page.data')), react_1.default.createElement(antd_1.Radio, { value: 2 }, __('CRUD.alldata')))), container) : null; }; // 使用示例 var confirmWithThreeButtons = function (body) { return new Promise(function (resolve) { var handleButton1Click = function (body) { resolve(body); }; react_dom_1.default.render(react_1.default.createElement(CustomConfirmModal, { onButton1Click: handleButton1Click, body: body }), document.createElement('div')); }); }; exports.confirmWithThreeButtons = confirmWithThreeButtons; //# sourceMappingURL=./components/Lion/BatchOperation.js.map