tc-ui-toolkit
Version:
React components used to develop tools for the desktop app translationCore
93 lines (74 loc) • 8.26 kB
JavaScript
"use strict";
var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard");
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.createHighlightedSpan = exports.createTextSpan = exports.createNonClickableSpan = exports.onWordClick = void 0;
var _react = _interopRequireDefault(require("react"));
var _WordLexiconDetails = _interopRequireDefault(require("../../WordLexiconDetails"));
var lexiconHelpers = _interopRequireWildcard(require("./lexiconHelpers"));
var _usfmHelpers = require("./usfmHelpers");
// Components
// helpers
/**
* on word click show lexicon
* @param {Object} e - clicked element
* @param {Object} word
* @param {Function} getLexiconData
* @param {Function} showPopover
* @param {Function} translate
* @param {boolean} isHebrew - if true then we adjust font size
*/
var onWordClick = function onWordClick(e, word, getLexiconData, showPopover, translate, isHebrew) {
if (word && word.strong) {
var lexiconData = lexiconHelpers.lookupStrongsNumbers(word.strong, getLexiconData);
var positionCoord = e.target;
var fontSize = isHebrew ? '1.7em' : '1.2em';
var PopoverTitle = /*#__PURE__*/_react["default"].createElement("strong", {
style: {
fontSize: fontSize
}
}, word.text);
var wordDetails = /*#__PURE__*/_react["default"].createElement(_WordLexiconDetails["default"], {
lexiconData: lexiconData,
wordObject: word,
translate: translate,
isHebrew: !!isHebrew
});
showPopover(PopoverTitle, wordDetails, positionCoord);
}
};
exports.onWordClick = onWordClick;
var createNonClickableSpan = function createNonClickableSpan(index, paddingSpanStyle, padding, isHighlightedWord, text, fontClass) {
return /*#__PURE__*/_react["default"].createElement("span", {
key: index.toString()
}, /*#__PURE__*/_react["default"].createElement("span", {
className: fontClass,
style: paddingSpanStyle
}, padding), /*#__PURE__*/_react["default"].createElement("span", {
className: fontClass,
style: {
backgroundColor: isHighlightedWord ? 'var(--highlight-color)' : ''
}
}, (0, _usfmHelpers.removeMarker)(text)));
};
exports.createNonClickableSpan = createNonClickableSpan;
var createTextSpan = function createTextSpan(index, text, fontClass) {
return /*#__PURE__*/_react["default"].createElement("span", {
key: index,
className: fontClass
}, (0, _usfmHelpers.removeMarker)(text));
};
exports.createTextSpan = createTextSpan;
var createHighlightedSpan = function createHighlightedSpan(index, text, fontClass) {
return /*#__PURE__*/_react["default"].createElement("span", {
key: index,
className: fontClass,
style: {
backgroundColor: 'var(--highlight-color)'
}
}, (0, _usfmHelpers.removeMarker)(text));
};
exports.createHighlightedSpan = createHighlightedSpan;
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9TY3JpcHR1cmVQYW5lL2hlbHBlcnMvaHRtbEVsZW1lbnRzSGVscGVycy5qcyJdLCJuYW1lcyI6WyJvbldvcmRDbGljayIsImUiLCJ3b3JkIiwiZ2V0TGV4aWNvbkRhdGEiLCJzaG93UG9wb3ZlciIsInRyYW5zbGF0ZSIsImlzSGVicmV3Iiwic3Ryb25nIiwibGV4aWNvbkRhdGEiLCJsZXhpY29uSGVscGVycyIsImxvb2t1cFN0cm9uZ3NOdW1iZXJzIiwicG9zaXRpb25Db29yZCIsInRhcmdldCIsImZvbnRTaXplIiwiUG9wb3ZlclRpdGxlIiwidGV4dCIsIndvcmREZXRhaWxzIiwiY3JlYXRlTm9uQ2xpY2thYmxlU3BhbiIsImluZGV4IiwicGFkZGluZ1NwYW5TdHlsZSIsInBhZGRpbmciLCJpc0hpZ2hsaWdodGVkV29yZCIsImZvbnRDbGFzcyIsInRvU3RyaW5nIiwiYmFja2dyb3VuZENvbG9yIiwiY3JlYXRlVGV4dFNwYW4iLCJjcmVhdGVIaWdobGlnaHRlZFNwYW4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7O0FBQUE7O0FBRUE7O0FBRUE7O0FBQ0E7O0FBSkE7QUFFQTs7QUFJQTs7Ozs7Ozs7O0FBU08sSUFBTUEsV0FBVyxHQUFHLFNBQWRBLFdBQWMsQ0FBQ0MsQ0FBRCxFQUFJQyxJQUFKLEVBQVVDLGNBQVYsRUFBMEJDLFdBQTFCLEVBQXVDQyxTQUF2QyxFQUFrREMsUUFBbEQsRUFBK0Q7QUFDeEYsTUFBSUosSUFBSSxJQUFJQSxJQUFJLENBQUNLLE1BQWpCLEVBQXlCO0FBQ3ZCLFFBQUlDLFdBQVcsR0FBR0MsY0FBYyxDQUFDQyxvQkFBZixDQUFvQ1IsSUFBSSxDQUFDSyxNQUF6QyxFQUFpREosY0FBakQsQ0FBbEI7QUFDQSxRQUFNUSxhQUFhLEdBQUdWLENBQUMsQ0FBQ1csTUFBeEI7QUFDQSxRQUFNQyxRQUFRLEdBQUdQLFFBQVEsR0FBRyxPQUFILEdBQWEsT0FBdEM7O0FBQ0EsUUFBTVEsWUFBWSxnQkFDaEI7QUFBUSxNQUFBLEtBQUssRUFBRTtBQUFFRCxRQUFBQSxRQUFRLEVBQVJBO0FBQUY7QUFBZixPQUE4QlgsSUFBSSxDQUFDYSxJQUFuQyxDQURGOztBQUdBLFFBQU1DLFdBQVcsZ0JBQ2YsZ0NBQUMsOEJBQUQ7QUFBb0IsTUFBQSxXQUFXLEVBQUVSLFdBQWpDO0FBQThDLE1BQUEsVUFBVSxFQUFFTixJQUExRDtBQUFnRSxNQUFBLFNBQVMsRUFBRUcsU0FBM0U7QUFDRSxNQUFBLFFBQVEsRUFBRSxDQUFDLENBQUNDO0FBRGQsTUFERjs7QUFJQUYsSUFBQUEsV0FBVyxDQUFDVSxZQUFELEVBQWVFLFdBQWYsRUFBNEJMLGFBQTVCLENBQVg7QUFDRDtBQUNGLENBZE07Ozs7QUFnQkEsSUFBTU0sc0JBQXNCLEdBQUcsU0FBekJBLHNCQUF5QixDQUFDQyxLQUFELEVBQVFDLGdCQUFSLEVBQTBCQyxPQUExQixFQUFtQ0MsaUJBQW5DLEVBQXNETixJQUF0RCxFQUE0RE8sU0FBNUQ7QUFBQSxzQkFDcEM7QUFBTSxJQUFBLEdBQUcsRUFBRUosS0FBSyxDQUFDSyxRQUFOO0FBQVgsa0JBQ0U7QUFBTSxJQUFBLFNBQVMsRUFBRUQsU0FBakI7QUFBNEIsSUFBQSxLQUFLLEVBQUVIO0FBQW5DLEtBQ0dDLE9BREgsQ0FERixlQUlFO0FBQU0sSUFBQSxTQUFTLEVBQUVFLFNBQWpCO0FBQTRCLElBQUEsS0FBSyxFQUFFO0FBQUVFLE1BQUFBLGVBQWUsRUFBRUgsaUJBQWlCLEdBQUcsd0JBQUgsR0FBOEI7QUFBbEU7QUFBbkMsS0FDRywrQkFBYU4sSUFBYixDQURILENBSkYsQ0FEb0M7QUFBQSxDQUEvQjs7OztBQVdBLElBQU1VLGNBQWMsR0FBRyxTQUFqQkEsY0FBaUIsQ0FBQ1AsS0FBRCxFQUFRSCxJQUFSLEVBQWNPLFNBQWQ7QUFBQSxzQkFDNUI7QUFBTSxJQUFBLEdBQUcsRUFBRUosS0FBWDtBQUFrQixJQUFBLFNBQVMsRUFBRUk7QUFBN0IsS0FDRywrQkFBYVAsSUFBYixDQURILENBRDRCO0FBQUEsQ0FBdkI7Ozs7QUFNQSxJQUFNVyxxQkFBcUIsR0FBRyxTQUF4QkEscUJBQXdCLENBQUNSLEtBQUQsRUFBUUgsSUFBUixFQUFjTyxTQUFkO0FBQUEsc0JBQ25DO0FBQU0sSUFBQSxHQUFHLEVBQUVKLEtBQVg7QUFBa0IsSUFBQSxTQUFTLEVBQUVJLFNBQTdCO0FBQXdDLElBQUEsS0FBSyxFQUFFO0FBQUVFLE1BQUFBLGVBQWUsRUFBRTtBQUFuQjtBQUEvQyxLQUNHLCtCQUFhVCxJQUFiLENBREgsQ0FEbUM7QUFBQSxDQUE5QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7XG4vLyBDb21wb25lbnRzXG5pbXBvcnQgV29yZExleGljb25EZXRhaWxzIGZyb20gJy4uLy4uL1dvcmRMZXhpY29uRGV0YWlscyc7XG4vLyBoZWxwZXJzXG5pbXBvcnQgKiBhcyBsZXhpY29uSGVscGVycyBmcm9tICcuL2xleGljb25IZWxwZXJzJztcbmltcG9ydCB7IHJlbW92ZU1hcmtlciB9IGZyb20gJy4vdXNmbUhlbHBlcnMnO1xuXG4vKipcbiAqIG9uIHdvcmQgY2xpY2sgc2hvdyBsZXhpY29uXG4gKiBAcGFyYW0ge09iamVjdH0gZSAtIGNsaWNrZWQgZWxlbWVudFxuICogQHBhcmFtIHtPYmplY3R9IHdvcmRcbiAqIEBwYXJhbSB7RnVuY3Rpb259IGdldExleGljb25EYXRhXG4gKiBAcGFyYW0ge0Z1bmN0aW9ufSBzaG93UG9wb3ZlclxuICogQHBhcmFtIHtGdW5jdGlvbn0gdHJhbnNsYXRlXG4gKiBAcGFyYW0ge2Jvb2xlYW59IGlzSGVicmV3IC0gaWYgdHJ1ZSB0aGVuIHdlIGFkanVzdCBmb250IHNpemVcbiAqL1xuZXhwb3J0IGNvbnN0IG9uV29yZENsaWNrID0gKGUsIHdvcmQsIGdldExleGljb25EYXRhLCBzaG93UG9wb3ZlciwgdHJhbnNsYXRlLCBpc0hlYnJldykgPT4ge1xuICBpZiAod29yZCAmJiB3b3JkLnN0cm9uZykge1xuICAgIGxldCBsZXhpY29uRGF0YSA9IGxleGljb25IZWxwZXJzLmxvb2t1cFN0cm9uZ3NOdW1iZXJzKHdvcmQuc3Ryb25nLCBnZXRMZXhpY29uRGF0YSk7XG4gICAgY29uc3QgcG9zaXRpb25Db29yZCA9IGUudGFyZ2V0O1xuICAgIGNvbnN0IGZvbnRTaXplID0gaXNIZWJyZXcgPyAnMS43ZW0nIDogJzEuMmVtJztcbiAgICBjb25zdCBQb3BvdmVyVGl0bGUgPSAoXG4gICAgICA8c3Ryb25nIHN0eWxlPXt7IGZvbnRTaXplIH19Pnt3b3JkLnRleHR9PC9zdHJvbmc+XG4gICAgKTtcbiAgICBjb25zdCB3b3JkRGV0YWlscyA9IChcbiAgICAgIDxXb3JkTGV4aWNvbkRldGFpbHMgbGV4aWNvbkRhdGE9e2xleGljb25EYXRhfSB3b3JkT2JqZWN0PXt3b3JkfSB0cmFuc2xhdGU9e3RyYW5zbGF0ZX1cbiAgICAgICAgaXNIZWJyZXc9eyEhaXNIZWJyZXd9Lz5cbiAgICApO1xuICAgIHNob3dQb3BvdmVyKFBvcG92ZXJUaXRsZSwgd29yZERldGFpbHMsIHBvc2l0aW9uQ29vcmQpO1xuICB9XG59O1xuXG5leHBvcnQgY29uc3QgY3JlYXRlTm9uQ2xpY2thYmxlU3BhbiA9IChpbmRleCwgcGFkZGluZ1NwYW5TdHlsZSwgcGFkZGluZywgaXNIaWdobGlnaHRlZFdvcmQsIHRleHQsIGZvbnRDbGFzcykgPT4gKFxuICA8c3BhbiBrZXk9e2luZGV4LnRvU3RyaW5nKCl9PlxuICAgIDxzcGFuIGNsYXNzTmFtZT17Zm9udENsYXNzfSBzdHlsZT17cGFkZGluZ1NwYW5TdHlsZX0+XG4gICAgICB7cGFkZGluZ31cbiAgICA8L3NwYW4+XG4gICAgPHNwYW4gY2xhc3NOYW1lPXtmb250Q2xhc3N9IHN0eWxlPXt7IGJhY2tncm91bmRDb2xvcjogaXNIaWdobGlnaHRlZFdvcmQgPyAndmFyKC0taGlnaGxpZ2h0LWNvbG9yKScgOiAnJyB9fT5cbiAgICAgIHtyZW1vdmVNYXJrZXIodGV4dCl9XG4gICAgPC9zcGFuPlxuICA8L3NwYW4+XG4pO1xuXG5leHBvcnQgY29uc3QgY3JlYXRlVGV4dFNwYW4gPSAoaW5kZXgsIHRleHQsIGZvbnRDbGFzcykgPT4gKFxuICA8c3BhbiBrZXk9e2luZGV4fSBjbGFzc05hbWU9e2ZvbnRDbGFzc30+XG4gICAge3JlbW92ZU1hcmtlcih0ZXh0KX1cbiAgPC9zcGFuPlxuKTtcblxuZXhwb3J0IGNvbnN0IGNyZWF0ZUhpZ2hsaWdodGVkU3BhbiA9IChpbmRleCwgdGV4dCwgZm9udENsYXNzKSA9PiAoXG4gIDxzcGFuIGtleT17aW5kZXh9IGNsYXNzTmFtZT17Zm9udENsYXNzfSBzdHlsZT17eyBiYWNrZ3JvdW5kQ29sb3I6ICd2YXIoLS1oaWdobGlnaHQtY29sb3IpJyB9fT5cbiAgICB7cmVtb3ZlTWFya2VyKHRleHQpfVxuICA8L3NwYW4+XG4pO1xuIl19