tsp-component
Version:
提供多端和react版本的UI组件
46 lines (45 loc) • 2.17 kB
JavaScript
import * as React from 'react';
import classNames from 'classnames';
import Hammer from 'react-hammerjs';
var prefix = 'component-Modal';
var Modal = function (props) {
var cancleButton = null;
var onOk = function () {
if (props.onOk) {
props.onOk();
}
else {
props.onCancel();
}
};
var okButton = (React.createElement("button", { id: props.id, className: classNames((_a = {},
_a[prefix + "-box-action-btn"] = true,
_a[prefix + "-box-actioo-ok"] = true,
_a[prefix + "-box-action-onlyOk"] = props.onlyOk,
_a)), onClick: onOk, type: props.submit ? 'submit' : 'button' }, props.okLabel ? props.okLabel : '确定'));
if (!props.onlyOk) {
cancleButton = (React.createElement(Hammer, { onTap: props.onCancel },
React.createElement("div", { className: prefix + "-box-action-btn " + prefix + "-box-action-cancel" }, props.cancelLabel ? props.cancelLabel : '取消')));
}
if (props.visible) {
document.body.style.cssText = "height: " + document.documentElement.clientHeight + "px;overflow: hidden;";
}
else {
document.body.style.cssText = "height:auto;overflow: visible;";
}
return (React.createElement("div", { className: classNames((_b = {},
_b[prefix] = true,
_b[props.className] = props.className,
_b)), style: { display: props.visible ? 'block' : 'none' } },
React.createElement("div", { className: prefix + "-mask" }),
React.createElement("div", { className: prefix + "-box" },
React.createElement("div", { className: prefix + "-box-head" }, props.title),
React.createElement("div", { className: prefix + "-box-body" }, props.children),
React.createElement("div", { className: prefix + "-box-action" },
props.reverse ? okButton : null,
props.reverse ? cancleButton : null,
!props.reverse ? cancleButton : null,
!props.reverse ? okButton : null))));
var _a, _b;
};
export default Modal;