fastlion-amis
Version:
一种MIS页面生成工具
56 lines (55 loc) • 2.83 kB
JavaScript
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
;