choerodon-ui
Version:
An enterprise-class UI design language and React-based implementation
174 lines (139 loc) • 5.81 kB
JavaScript
"use strict";
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault")["default"];
Object.defineProperty(exports, "__esModule", {
value: true
});
exports["default"] = void 0;
var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
var _get2 = _interopRequireDefault(require("@babel/runtime/helpers/get"));
var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
var _createSuper2 = _interopRequireDefault(require("@babel/runtime/helpers/createSuper"));
var _tslib = require("tslib");
var _react = _interopRequireDefault(require("react"));
var _mobxReact = require("mobx-react");
var _KeyCode = _interopRequireDefault(require("../../../lib/_util/KeyCode"));
var _enum = require("../../../lib/progress/enum");
var _CheckBox2 = require("../check-box/CheckBox");
var _progress = _interopRequireDefault(require("../progress"));
var _enum2 = require("../core/enum");
var _autobind = _interopRequireDefault(require("../_util/autobind"));
var _util = _interopRequireDefault(require("../overflow-tip/util"));
var _singleton = require("../tooltip/singleton");
var Switch = /*#__PURE__*/function (_CheckBox) {
(0, _inherits2["default"])(Switch, _CheckBox);
var _super = (0, _createSuper2["default"])(Switch);
function Switch() {
(0, _classCallCheck2["default"])(this, Switch);
return _super.apply(this, arguments);
}
(0, _createClass2["default"])(Switch, [{
key: "handleKeyDown",
value: function handleKeyDown(e) {
if (e.keyCode === _KeyCode["default"].LEFT) {
this.setChecked(false);
} else if (e.keyCode === _KeyCode["default"].RIGHT) {
this.setChecked(true);
}
(0, _get2["default"])((0, _getPrototypeOf2["default"])(Switch.prototype), "handleKeyDown", this).call(this, e);
}
}, {
key: "showTooltip",
value: function showTooltip(e) {
var currentTarget = e.currentTarget;
var _this$props = this.props,
children = _this$props.children,
unCheckedChildren = _this$props.unCheckedChildren;
var switchLabel = currentTarget.nextElementSibling;
var text = this.isChecked() ? children : unCheckedChildren || children;
if (text && (0, _util["default"])(switchLabel)) {
(0, _singleton.show)(currentTarget, {
title: text
});
return true;
}
return false;
}
}, {
key: "getOmitPropsKeys",
value: function getOmitPropsKeys() {
return (0, _get2["default"])((0, _getPrototypeOf2["default"])(Switch.prototype), "getOmitPropsKeys", this).call(this).concat(['loading']);
}
}, {
key: "isDisabled",
value: function isDisabled() {
if ((0, _get2["default"])((0, _getPrototypeOf2["default"])(Switch.prototype), "isDisabled", this).call(this)) {
return true;
}
var _this$props$loading = this.props.loading,
loading = _this$props$loading === void 0 ? false : _this$props$loading;
return loading;
}
}, {
key: "getLabelText",
value: function getLabelText() {
return undefined;
}
}, {
key: "getTextNode",
value: function getTextNode() {
var prefixCls = this.prefixCls,
_this$props2 = this.props,
children = _this$props2.children,
unCheckedChildren = _this$props2.unCheckedChildren;
var text = this.isChecked() ? children : unCheckedChildren || children;
return /*#__PURE__*/_react["default"].createElement("span", {
className: "".concat(prefixCls, "-label")
}, text ? /*#__PURE__*/_react["default"].createElement("span", {
className: "".concat(prefixCls, "-label-content")
}, text) : null);
}
}, {
key: "renderSwitchFloatLabel",
value: function renderSwitchFloatLabel() {
var prefixCls = this.prefixCls;
return /*#__PURE__*/_react["default"].createElement("span", {
className: "".concat(prefixCls, "-float-label")
}, this.getLabelChildren());
}
}, {
key: "getWrapperClassNames",
value: function getWrapperClassNames() {
var prefixCls = this.prefixCls,
loading = this.props.loading;
return (0, _get2["default"])((0, _getPrototypeOf2["default"])(Switch.prototype), "getWrapperClassNames", this).call(this, (0, _defineProperty2["default"])({}, "".concat(prefixCls, "-loading"), loading));
}
}, {
key: "renderInner",
value: function renderInner() {
var loading = this.props.loading;
if (loading) {
return /*#__PURE__*/_react["default"].createElement(_progress["default"], {
key: "loading",
type: _enum.ProgressType.loading,
size: _enum2.Size.small
});
}
return null;
}
}]);
return Switch;
}(_CheckBox2.CheckBox);
Switch.displayName = 'Switch';
/**
* tooltip disable sign
*/
// eslint-disable-next-line camelcase
Switch.__PRO_SWITCH = true; // eslint-disable-next-line camelcase
Switch.__IS_IN_CELL_EDITOR = true;
Switch.defaultProps = (0, _objectSpread2["default"])((0, _objectSpread2["default"])({}, _CheckBox2.CheckBox.defaultProps), {}, {
suffixCls: 'switch'
});
(0, _tslib.__decorate)([_autobind["default"]], Switch.prototype, "handleKeyDown", null);
Switch = (0, _tslib.__decorate)([_mobxReact.observer], Switch);
var _default = Switch;
exports["default"] = _default;
//# sourceMappingURL=Switch.js.map