UNPKG

fastlion-amis

Version:

一种MIS页面生成工具

121 lines (120 loc) 6.28 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.PickerContainer = void 0; var tslib_1 = require("tslib"); var react_1 = (0, tslib_1.__importDefault)(require("react")); var helper_1 = require("../utils/helper"); var Modal_1 = (0, tslib_1.__importDefault)(require("./Modal")); var antd_1 = require("antd"); var theme_1 = require("../theme"); var locale_1 = require("../locale"); var Button_1 = (0, tslib_1.__importDefault)(require("./Button")); var utils_1 = require("../utils/utils"); var PickerContainer = /** @class */ (function (_super) { (0, tslib_1.__extends)(PickerContainer, _super); function PickerContainer() { var _this = _super !== null && _super.apply(this, arguments) || this; _this.state = { isOpened: false, value: _this.props.value }; return _this; } PickerContainer.prototype.componentDidUpdate = function (prevProps) { var props = this.props; if (props.value !== prevProps.value) { this.setState({ value: props.value }); } }; PickerContainer.prototype.handleClick = function () { this.setState({ isOpened: true }); }; PickerContainer.prototype.close = function (e, callback) { var _this = this; this.setState({ isOpened: false }, callback || (function () { var _a, _b; return (_b = (_a = _this.props).onCancel) === null || _b === void 0 ? void 0 : _b.call(_a); })); }; PickerContainer.prototype.handleChange = function (value) { this.setState({ value: value }); }; PickerContainer.prototype.confirm = function () { var _this = this; var _a = this.props, onConfirm = _a.onConfirm, maxSelected = _a.maxSelected, minSelected = _a.minSelected; if (maxSelected !== undefined || minSelected !== undefined) { var dat = (0, utils_1.handlelimitSize)(maxSelected, minSelected, this.state.value, this.showModal.bind(this)); if (!dat) return; } this.close(undefined, function () { return onConfirm === null || onConfirm === void 0 ? void 0 : onConfirm(_this.state.value); }); }; PickerContainer.prototype.showModal = function (val) { var _a = this.props, env = _a.env, __ = _a.translate; antd_1.Modal.warning({ title: '提示', content: val !== null && val !== void 0 ? val : '当前', getContainer: env === null || env === void 0 ? void 0 : env.getModalContainer, zIndex: 1020, okText: __('confirm') }); }; PickerContainer.prototype.updateState = function (state) { if (state === void 0) { state = {}; } var isOpened = state.isOpened, rest = (0, tslib_1.__rest)(state, ["isOpened"]); this.setState((0, tslib_1.__assign)((0, tslib_1.__assign)({}, this.state), rest)); }; PickerContainer.prototype.render = function () { var _a = this.props, children = _a.children, popOverRender = _a.bodyRender, title = _a.title, showTitle = _a.showTitle, headerClassName = _a.headerClassName, __ = _a.translate, size = _a.size, env = _a.env; return (react_1.default.createElement(react_1.default.Fragment, null, children({ isOpened: this.state.isOpened, onClick: this.handleClick }), react_1.default.createElement(Modal_1.default, { size: size, closeOnEsc: true, show: this.state.isOpened, onHide: this.close, container: this.props.dialogContainer || (env === null || env === void 0 ? void 0 : env.getModalContainer) }, showTitle !== false ? (react_1.default.createElement(Modal_1.default.Header, { onClose: this.close, className: headerClassName }, __(title || 'Select.placeholder'))) : null, react_1.default.createElement(Modal_1.default.Body, null, popOverRender((0, tslib_1.__assign)((0, tslib_1.__assign)({}, this.state), { setState: this.updateState, onClose: this.close, onChange: this.handleChange }))), react_1.default.createElement(Modal_1.default.Footer, null, react_1.default.createElement(Button_1.default, { onClick: this.close }, __('cancel')), react_1.default.createElement(Button_1.default, { onClick: this.confirm, level: "primary" }, __('confirm')))))); }; (0, tslib_1.__decorate)([ helper_1.autobind, (0, tslib_1.__metadata)("design:type", Function), (0, tslib_1.__metadata)("design:paramtypes", []), (0, tslib_1.__metadata)("design:returntype", void 0) ], PickerContainer.prototype, "handleClick", null); (0, tslib_1.__decorate)([ helper_1.autobind, (0, tslib_1.__metadata)("design:type", Function), (0, tslib_1.__metadata)("design:paramtypes", [Object, Function]), (0, tslib_1.__metadata)("design:returntype", void 0) ], PickerContainer.prototype, "close", null); (0, tslib_1.__decorate)([ helper_1.autobind, (0, tslib_1.__metadata)("design:type", Function), (0, tslib_1.__metadata)("design:paramtypes", [Object]), (0, tslib_1.__metadata)("design:returntype", void 0) ], PickerContainer.prototype, "handleChange", null); (0, tslib_1.__decorate)([ helper_1.autobind, (0, tslib_1.__metadata)("design:type", Function), (0, tslib_1.__metadata)("design:paramtypes", []), (0, tslib_1.__metadata)("design:returntype", void 0) ], PickerContainer.prototype, "confirm", null); (0, tslib_1.__decorate)([ helper_1.autobind, (0, tslib_1.__metadata)("design:type", Function), (0, tslib_1.__metadata)("design:paramtypes", [Object]), (0, tslib_1.__metadata)("design:returntype", void 0) ], PickerContainer.prototype, "updateState", null); return PickerContainer; }(react_1.default.Component)); exports.PickerContainer = PickerContainer; exports.default = (0, theme_1.themeable)((0, locale_1.localeable)(PickerContainer)); //# sourceMappingURL=./components/PickerContainer.js.map