tc-ui-toolkit
Version:
React components used to develop tools for the desktop app translationCore
123 lines (97 loc) • 11 kB
JavaScript
;
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports["default"] = void 0;
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 _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));
var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
var _react = _interopRequireDefault(require("react"));
var _propTypes = _interopRequireDefault(require("prop-types"));
var _utils = require("../ScripturePane/helpers/utils");
var _editHelpers = require("./helpers/editHelpers");
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2["default"])(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2["default"])(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2["default"])(this, result); }; }
function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }
/**
* @callback EditScreen~onChange
* @param {string} newVerse - the edited verse
*/
/**
* Renders a text area for editing the verse
* @property {string} verseText - the verse text to edit
* @property {EditScreen~onChange} onChange - callback when the text has changed
*/
var EditScreen = /*#__PURE__*/function (_React$Component) {
(0, _inherits2["default"])(EditScreen, _React$Component);
var _super = _createSuper(EditScreen);
function EditScreen(props) {
var _this;
(0, _classCallCheck2["default"])(this, EditScreen);
_this = _super.call(this, props);
_this._handleChange = _this._handleChange.bind((0, _assertThisInitialized2["default"])(_this));
return _this;
}
(0, _createClass2["default"])(EditScreen, [{
key: "_handleChange",
value: function _handleChange(event) {
var onChange = this.props.onChange;
onChange(event.target.value);
}
}, {
key: "render",
value: function render() {
var _this$props = this.props,
rows = _this$props.rows,
style = _this$props.style,
verseText = _this$props.verseText,
targetLanguageFontClassName = _this$props.targetLanguageFontClassName,
targetLanguageFontSize = _this$props.targetLanguageFontSize,
direction = _this$props.direction;
var className = targetLanguageFontClassName ? "edit-screen ".concat(targetLanguageFontClassName) : 'edit-screen';
var style_ = _objectSpread(_objectSpread({}, style), {}, {
textAlign: (0, _utils.isLTR)(direction) ? 'left' : 'right',
direction: direction
});
return /*#__PURE__*/_react["default"].createElement("div", {
style: {
fontSize: targetLanguageFontSize
}
}, " ", /*#__PURE__*/_react["default"].createElement("textarea", {
id: "verse-editor-field",
rows: rows,
className: className,
autoFocus: true,
onFocus: _editHelpers.moveCursorToEnd,
onChange: this._handleChange,
value: verseText,
style: style_
}));
}
}]);
return EditScreen;
}(_react["default"].Component);
EditScreen.propTypes = {
rows: _propTypes["default"].number.isRequired,
style: _propTypes["default"].object.isRequired,
onChange: _propTypes["default"].func.isRequired,
verseText: _propTypes["default"].string.isRequired,
direction: _propTypes["default"].string.isRequired,
targetLanguageFontClassName: _propTypes["default"].string,
targetLanguageFontSize: _propTypes["default"].string
};
EditScreen.defaultProps = {
rows: 4,
style: {},
direction: 'ltr',
targetLanguageFontSize: '100%'
};
var _default = EditScreen;
exports["default"] = _default;
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9WZXJzZUVkaXRvci9FZGl0U2NyZWVuLmpzIl0sIm5hbWVzIjpbIkVkaXRTY3JlZW4iLCJwcm9wcyIsIl9oYW5kbGVDaGFuZ2UiLCJiaW5kIiwiZXZlbnQiLCJvbkNoYW5nZSIsInRhcmdldCIsInZhbHVlIiwicm93cyIsInN0eWxlIiwidmVyc2VUZXh0IiwidGFyZ2V0TGFuZ3VhZ2VGb250Q2xhc3NOYW1lIiwidGFyZ2V0TGFuZ3VhZ2VGb250U2l6ZSIsImRpcmVjdGlvbiIsImNsYXNzTmFtZSIsInN0eWxlXyIsInRleHRBbGlnbiIsImZvbnRTaXplIiwibW92ZUN1cnNvclRvRW5kIiwiUmVhY3QiLCJDb21wb25lbnQiLCJwcm9wVHlwZXMiLCJQcm9wVHlwZXMiLCJudW1iZXIiLCJpc1JlcXVpcmVkIiwib2JqZWN0IiwiZnVuYyIsInN0cmluZyIsImRlZmF1bHRQcm9wcyJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTs7QUFDQTs7QUFDQTs7QUFDQTs7Ozs7Ozs7OztBQUVBOzs7OztBQUtBOzs7OztJQUtNQSxVOzs7OztBQUNKLHNCQUFZQyxLQUFaLEVBQW1CO0FBQUE7O0FBQUE7QUFDakIsOEJBQU1BLEtBQU47QUFDQSxVQUFLQyxhQUFMLEdBQXFCLE1BQUtBLGFBQUwsQ0FBbUJDLElBQW5CLGdEQUFyQjtBQUZpQjtBQUdsQjs7OztrQ0FFYUMsSyxFQUFPO0FBQUEsVUFDWEMsUUFEVyxHQUNFLEtBQUtKLEtBRFAsQ0FDWEksUUFEVztBQUVuQkEsTUFBQUEsUUFBUSxDQUFDRCxLQUFLLENBQUNFLE1BQU4sQ0FBYUMsS0FBZCxDQUFSO0FBQ0Q7Ozs2QkFFUTtBQUFBLHdCQVFILEtBQUtOLEtBUkY7QUFBQSxVQUVMTyxJQUZLLGVBRUxBLElBRks7QUFBQSxVQUdMQyxLQUhLLGVBR0xBLEtBSEs7QUFBQSxVQUlMQyxTQUpLLGVBSUxBLFNBSks7QUFBQSxVQUtMQywyQkFMSyxlQUtMQSwyQkFMSztBQUFBLFVBTUxDLHNCQU5LLGVBTUxBLHNCQU5LO0FBQUEsVUFPTEMsU0FQSyxlQU9MQSxTQVBLO0FBU1AsVUFBTUMsU0FBUyxHQUFHSCwyQkFBMkIseUJBQWtCQSwyQkFBbEIsSUFBa0QsYUFBL0Y7O0FBQ0EsVUFBTUksTUFBTSxtQ0FDUE4sS0FETztBQUVWTyxRQUFBQSxTQUFTLEVBQUUsa0JBQU1ILFNBQU4sSUFBbUIsTUFBbkIsR0FBNEIsT0FGN0I7QUFHVkEsUUFBQUEsU0FBUyxFQUFUQTtBQUhVLFFBQVo7O0FBS0EsMEJBQ0U7QUFBSyxRQUFBLEtBQUssRUFBRTtBQUFFSSxVQUFBQSxRQUFRLEVBQUVMO0FBQVo7QUFBWiwyQkFDRTtBQUNFLFFBQUEsRUFBRSxFQUFDLG9CQURMO0FBRUUsUUFBQSxJQUFJLEVBQUVKLElBRlI7QUFHRSxRQUFBLFNBQVMsRUFBRU0sU0FIYjtBQUlFLFFBQUEsU0FBUyxFQUFFLElBSmI7QUFLRSxRQUFBLE9BQU8sRUFBRUksNEJBTFg7QUFNRSxRQUFBLFFBQVEsRUFBRSxLQUFLaEIsYUFOakI7QUFPRSxRQUFBLEtBQUssRUFBRVEsU0FQVDtBQVFFLFFBQUEsS0FBSyxFQUFFSztBQVJULFFBREYsQ0FERjtBQWNEOzs7RUF4Q3NCSSxrQkFBTUMsUzs7QUEyQy9CcEIsVUFBVSxDQUFDcUIsU0FBWCxHQUF1QjtBQUNyQmIsRUFBQUEsSUFBSSxFQUFFYyxzQkFBVUMsTUFBVixDQUFpQkMsVUFERjtBQUVyQmYsRUFBQUEsS0FBSyxFQUFFYSxzQkFBVUcsTUFBVixDQUFpQkQsVUFGSDtBQUdyQm5CLEVBQUFBLFFBQVEsRUFBRWlCLHNCQUFVSSxJQUFWLENBQWVGLFVBSEo7QUFJckJkLEVBQUFBLFNBQVMsRUFBRVksc0JBQVVLLE1BQVYsQ0FBaUJILFVBSlA7QUFLckJYLEVBQUFBLFNBQVMsRUFBRVMsc0JBQVVLLE1BQVYsQ0FBaUJILFVBTFA7QUFNckJiLEVBQUFBLDJCQUEyQixFQUFFVyxzQkFBVUssTUFObEI7QUFPckJmLEVBQUFBLHNCQUFzQixFQUFFVSxzQkFBVUs7QUFQYixDQUF2QjtBQVVBM0IsVUFBVSxDQUFDNEIsWUFBWCxHQUEwQjtBQUN4QnBCLEVBQUFBLElBQUksRUFBRSxDQURrQjtBQUV4QkMsRUFBQUEsS0FBSyxFQUFFLEVBRmlCO0FBR3hCSSxFQUFBQSxTQUFTLEVBQUUsS0FIYTtBQUl4QkQsRUFBQUEsc0JBQXNCLEVBQUU7QUFKQSxDQUExQjtlQU9lWixVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JztcbmltcG9ydCBQcm9wVHlwZXMgZnJvbSAncHJvcC10eXBlcyc7XG5pbXBvcnQgeyBpc0xUUiB9IGZyb20gJy4uL1NjcmlwdHVyZVBhbmUvaGVscGVycy91dGlscyc7XG5pbXBvcnQgeyBtb3ZlQ3Vyc29yVG9FbmQgfSBmcm9tICcuL2hlbHBlcnMvZWRpdEhlbHBlcnMnO1xuXG4vKipcbiAqIEBjYWxsYmFjayBFZGl0U2NyZWVufm9uQ2hhbmdlXG4gKiBAcGFyYW0ge3N0cmluZ30gbmV3VmVyc2UgLSB0aGUgZWRpdGVkIHZlcnNlXG4gKi9cblxuLyoqXG4gKiBSZW5kZXJzIGEgdGV4dCBhcmVhIGZvciBlZGl0aW5nIHRoZSB2ZXJzZVxuICogQHByb3BlcnR5IHtzdHJpbmd9IHZlcnNlVGV4dCAtIHRoZSB2ZXJzZSB0ZXh0IHRvIGVkaXRcbiAqIEBwcm9wZXJ0eSB7RWRpdFNjcmVlbn5vbkNoYW5nZX0gb25DaGFuZ2UgLSBjYWxsYmFjayB3aGVuIHRoZSB0ZXh0IGhhcyBjaGFuZ2VkXG4gKi9cbmNsYXNzIEVkaXRTY3JlZW4gZXh0ZW5kcyBSZWFjdC5Db21wb25lbnQge1xuICBjb25zdHJ1Y3Rvcihwcm9wcykge1xuICAgIHN1cGVyKHByb3BzKTtcbiAgICB0aGlzLl9oYW5kbGVDaGFuZ2UgPSB0aGlzLl9oYW5kbGVDaGFuZ2UuYmluZCh0aGlzKTtcbiAgfVxuXG4gIF9oYW5kbGVDaGFuZ2UoZXZlbnQpIHtcbiAgICBjb25zdCB7IG9uQ2hhbmdlIH0gPSB0aGlzLnByb3BzO1xuICAgIG9uQ2hhbmdlKGV2ZW50LnRhcmdldC52YWx1ZSk7XG4gIH1cblxuICByZW5kZXIoKSB7XG4gICAgY29uc3Qge1xuICAgICAgcm93cyxcbiAgICAgIHN0eWxlLFxuICAgICAgdmVyc2VUZXh0LFxuICAgICAgdGFyZ2V0TGFuZ3VhZ2VGb250Q2xhc3NOYW1lLFxuICAgICAgdGFyZ2V0TGFuZ3VhZ2VGb250U2l6ZSxcbiAgICAgIGRpcmVjdGlvbixcbiAgICB9ID0gdGhpcy5wcm9wcztcbiAgICBjb25zdCBjbGFzc05hbWUgPSB0YXJnZXRMYW5ndWFnZUZvbnRDbGFzc05hbWUgPyBgZWRpdC1zY3JlZW4gJHt0YXJnZXRMYW5ndWFnZUZvbnRDbGFzc05hbWV9YCA6ICdlZGl0LXNjcmVlbic7XG4gICAgY29uc3Qgc3R5bGVfID0ge1xuICAgICAgLi4uc3R5bGUsXG4gICAgICB0ZXh0QWxpZ246IGlzTFRSKGRpcmVjdGlvbikgPyAnbGVmdCcgOiAncmlnaHQnLFxuICAgICAgZGlyZWN0aW9uLFxuICAgIH07XG4gICAgcmV0dXJuIChcbiAgICAgIDxkaXYgc3R5bGU9e3sgZm9udFNpemU6IHRhcmdldExhbmd1YWdlRm9udFNpemUgfX0+IHsvKmFwcGx5IGRlc2lyZWQgZm9udCBzaXplIG11bHRpcGxpZXIgYmVmb3JlIGZvbnQgY2xhc3Mgc3R5bGluZyovfVxuICAgICAgICA8dGV4dGFyZWFcbiAgICAgICAgICBpZD1cInZlcnNlLWVkaXRvci1maWVsZFwiXG4gICAgICAgICAgcm93cz17cm93c31cbiAgICAgICAgICBjbGFzc05hbWU9e2NsYXNzTmFtZX1cbiAgICAgICAgICBhdXRvRm9jdXM9e3RydWV9XG4gICAgICAgICAgb25Gb2N1cz17bW92ZUN1cnNvclRvRW5kfVxuICAgICAgICAgIG9uQ2hhbmdlPXt0aGlzLl9oYW5kbGVDaGFuZ2V9XG4gICAgICAgICAgdmFsdWU9e3ZlcnNlVGV4dH1cbiAgICAgICAgICBzdHlsZT17c3R5bGVffVxuICAgICAgICAvPlxuICAgICAgPC9kaXY+XG4gICAgKTtcbiAgfVxufVxuXG5FZGl0U2NyZWVuLnByb3BUeXBlcyA9IHtcbiAgcm93czogUHJvcFR5cGVzLm51bWJlci5pc1JlcXVpcmVkLFxuICBzdHlsZTogUHJvcFR5cGVzLm9iamVjdC5pc1JlcXVpcmVkLFxuICBvbkNoYW5nZTogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgdmVyc2VUZXh0OiBQcm9wVHlwZXMuc3RyaW5nLmlzUmVxdWlyZWQsXG4gIGRpcmVjdGlvbjogUHJvcFR5cGVzLnN0cmluZy5pc1JlcXVpcmVkLFxuICB0YXJnZXRMYW5ndWFnZUZvbnRDbGFzc05hbWU6IFByb3BUeXBlcy5zdHJpbmcsXG4gIHRhcmdldExhbmd1YWdlRm9udFNpemU6IFByb3BUeXBlcy5zdHJpbmcsXG59O1xuXG5FZGl0U2NyZWVuLmRlZmF1bHRQcm9wcyA9IHtcbiAgcm93czogNCxcbiAgc3R5bGU6IHt9LFxuICBkaXJlY3Rpb246ICdsdHInLFxuICB0YXJnZXRMYW5ndWFnZUZvbnRTaXplOiAnMTAwJScsXG59O1xuXG5leHBvcnQgZGVmYXVsdCBFZGl0U2NyZWVuO1xuIl19