UNPKG

ming-demo3

Version:
139 lines (110 loc) 4.57 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); Object.defineProperty(exports, "__esModule", { value: true }); exports["default"] = void 0; var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck")); var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass")); var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn")); var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf")); var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized")); var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits")); var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty")); var _react = _interopRequireDefault(require("react")); var _propTypes = _interopRequireDefault(require("prop-types")); var _baseui = require("@mdf/baseui"); var _Util = require("../common/Util"); var HotKeyInput = function (_React$Component) { (0, _inherits2["default"])(HotKeyInput, _React$Component); function HotKeyInput(props) { var _this; (0, _classCallCheck2["default"])(this, HotKeyInput); _this = (0, _possibleConstructorReturn2["default"])(this, (0, _getPrototypeOf2["default"])(HotKeyInput).call(this, props)); (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "onKeyDown", function (e) { var nativeEvent = e.nativeEvent; var activeKeys = (0, _Util.getEventModifiers)(nativeEvent); var currentKey = (0, _Util.getEventKey)(nativeEvent); if (currentKey !== '' && _.indexOf(activeKeys, currentKey) < 0) { activeKeys.push(currentKey); } var value = activeKeys.join('+'); _this.setState({ value: value }); _this.props.onChange(value); }); (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "onBlur", function (e) { var value = e.target.value === '' ? null : e.target.value; if (_this.props.model) { _this.props.model.setValue(value, true); _this.props.model.execute('blur'); } }); (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "onPressEnter", function (e) { var value = e.target.value === '' ? null : e.target.value; if (_this.props.model) { _this.props.model.setValue(value, true); _this.props.model.execute('enter'); } }); (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "onChange", function (e) { _this.props.onChange(_this.state.value); }); (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "onClear", function (e) { e.preventDefault(); _this.setState({ value: '' }); _this.props.onChange(''); }); _this.state = { value: props.value || '' }; return _this; } (0, _createClass2["default"])(HotKeyInput, [{ key: "componentDidMount", value: function componentDidMount() { if (this.props.model) this.props.model.addListener(this); if (this.props.focus) this.hotkeyRef.refs.input.focus(); } }, { key: "componentWillUnmount", value: function componentWillUnmount() { if (this.props.model) this.props.model.removeListener(this); } }, { key: "render", value: function render() { var _this2 = this; var value = this.state.value; var suffix = value ? _react["default"].createElement(_baseui.Icon, { type: "cross", onMouseDown: this.onClear }) : null; return _react["default"].createElement("span", { onBlur: this.onBlur }, _react["default"].createElement(_baseui.Input, { ref: function ref(node) { return _this2.hotkeyRef = node; }, value: this.state.value, onChange: this.onChange, onKeyDown: this.onKeyDown, onPressEnter: this.onPressEnter, suffix: suffix })); } }]); return HotKeyInput; }(_react["default"].Component); exports["default"] = HotKeyInput; (0, _defineProperty2["default"])(HotKeyInput, "propTypes", { value: _propTypes["default"].string, onChange: _propTypes["default"].func }); (0, _defineProperty2["default"])(HotKeyInput, "defaultProps", { onChange: function onChange(value) {} }); //# sourceMappingURL=hotkeyinput.js.map