tc-ui-toolkit
Version:
React components used to develop tools for the desktop app translationCore
167 lines (144 loc) • 16.2 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["default"] = void 0;
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
var _react = _interopRequireWildcard(require("react"));
var _propTypes = _interopRequireDefault(require("prop-types"));
var _Menu = _interopRequireDefault(require("@material-ui/core/Menu"));
var _MenuItem = _interopRequireDefault(require("@material-ui/core/MenuItem"));
var _TextFields = _interopRequireDefault(require("@material-ui/icons/TextFields"));
var _KeyboardArrowDown = _interopRequireDefault(require("@material-ui/icons/KeyboardArrowDown"));
var _styles = require("@material-ui/core/styles");
var useStyles = (0, _styles.makeStyles)({
menu: {
margin: '47px 0px 0px 38px'
},
menuItem: {
fontSize: '14px',
width: '150px'
},
menuItemSelected: {
color: '#FF4081'
}
});
var FontSelectionMenu = function FontSelectionMenu(_ref) {
var isHebrew = _ref.isHebrew,
paneIndex = _ref.paneIndex,
currentFont = _ref.currentFont,
isTargetBible = _ref.isTargetBible,
selectFontLabel = _ref.selectFontLabel,
handleCloseParent = _ref.handleCloseParent,
changePaneFontType = _ref.changePaneFontType,
complexScriptFonts = _ref.complexScriptFonts,
addObjectPropertyToManifest = _ref.addObjectPropertyToManifest;
var classes = useStyles();
var _useState = (0, _react.useState)(null),
_useState2 = (0, _slicedToArray2["default"])(_useState, 2),
anchorEl = _useState2[0],
setAnchorEl = _useState2[1];
var handleClick = function handleClick(event) {
setAnchorEl(event.currentTarget);
};
var handleMenuItemClick = function handleMenuItemClick(font) {
handleClose();
if (isTargetBible) {
addObjectPropertyToManifest('projectFont', font);
} else {
changePaneFontType(paneIndex, font);
}
};
var handleClose = function handleClose() {
setAnchorEl(null);
handleCloseParent();
};
var getFontList = function getFontList() {
// add all complex script fonts to font list
var fontList = Object.keys(complexScriptFonts).map(function (fontName) {
return {
key: "".concat(fontName, "-font-menu-item"),
value: complexScriptFonts[fontName].font,
primaryText: fontName,
selected: currentFont === complexScriptFonts[fontName].font
};
}); // add default font
fontList.push({
key: 'NotoSans-font-menu-item',
value: 'default',
primaryText: isHebrew ? 'Ezra (Default)' : 'Noto Sans (Default)',
selected: currentFont === '' || currentFont === 'default'
}); // return sorted font list
return fontList.sort(function (a, b) {
return a.primaryText < b.primaryText ? -1 : 1;
});
};
return /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, /*#__PURE__*/_react["default"].createElement("div", {
onClick: handleClick,
style: {
display: 'flex',
justifyContent: 'space-between',
alignItems: 'center',
width: '100%',
height: '100%',
padding: '4px',
margin: '6px',
cursor: 'pointer'
}
}, /*#__PURE__*/_react["default"].createElement(_TextFields["default"], {
style: {
fontSize: '24px'
}
}), /*#__PURE__*/_react["default"].createElement("div", {
style: {
margin: '0px 5px',
color: '#000000'
}
}, selectFontLabel), /*#__PURE__*/_react["default"].createElement(_KeyboardArrowDown["default"], {
style: {
color: '#b5b3b3',
fontSize: '24px'
}
})), /*#__PURE__*/_react["default"].createElement(_Menu["default"], {
variant: "menu",
id: "simple-menu",
anchorEl: anchorEl,
onClose: handleClose,
open: Boolean(anchorEl),
classes: {
paper: classes.menu
}
}, getFontList().map(function (_ref2) {
var key = _ref2.key,
value = _ref2.value,
selected = _ref2.selected,
primaryText = _ref2.primaryText;
return /*#__PURE__*/_react["default"].createElement(_MenuItem["default"], {
key: key,
selected: selected,
classes: {
root: classes.menuItem,
selected: classes.menuItemSelected
},
onClick: function onClick() {
return handleMenuItemClick(value);
}
}, primaryText);
})));
};
FontSelectionMenu.propTypes = {
isHebrew: _propTypes["default"].bool.isRequired,
paneIndex: _propTypes["default"].number.isRequired,
currentFont: _propTypes["default"].string.isRequired,
isTargetBible: _propTypes["default"].bool.isRequired,
selectFontLabel: _propTypes["default"].string.isRequired,
handleCloseParent: _propTypes["default"].func.isRequired,
changePaneFontType: _propTypes["default"].func.isRequired,
complexScriptFonts: _propTypes["default"].object.isRequired,
addObjectPropertyToManifest: _propTypes["default"].func.isRequired
};
var _default = FontSelectionMenu;
exports["default"] = _default;
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9Gb250U2VsZWN0aW9uTWVudS9Gb250U2VsZWN0aW9uTWVudS5qcyJdLCJuYW1lcyI6WyJ1c2VTdHlsZXMiLCJtZW51IiwibWFyZ2luIiwibWVudUl0ZW0iLCJmb250U2l6ZSIsIndpZHRoIiwibWVudUl0ZW1TZWxlY3RlZCIsImNvbG9yIiwiRm9udFNlbGVjdGlvbk1lbnUiLCJpc0hlYnJldyIsInBhbmVJbmRleCIsImN1cnJlbnRGb250IiwiaXNUYXJnZXRCaWJsZSIsInNlbGVjdEZvbnRMYWJlbCIsImhhbmRsZUNsb3NlUGFyZW50IiwiY2hhbmdlUGFuZUZvbnRUeXBlIiwiY29tcGxleFNjcmlwdEZvbnRzIiwiYWRkT2JqZWN0UHJvcGVydHlUb01hbmlmZXN0IiwiY2xhc3NlcyIsImFuY2hvckVsIiwic2V0QW5jaG9yRWwiLCJoYW5kbGVDbGljayIsImV2ZW50IiwiY3VycmVudFRhcmdldCIsImhhbmRsZU1lbnVJdGVtQ2xpY2siLCJmb250IiwiaGFuZGxlQ2xvc2UiLCJnZXRGb250TGlzdCIsImZvbnRMaXN0IiwiT2JqZWN0Iiwia2V5cyIsIm1hcCIsImZvbnROYW1lIiwia2V5IiwidmFsdWUiLCJwcmltYXJ5VGV4dCIsInNlbGVjdGVkIiwicHVzaCIsInNvcnQiLCJhIiwiYiIsImRpc3BsYXkiLCJqdXN0aWZ5Q29udGVudCIsImFsaWduSXRlbXMiLCJoZWlnaHQiLCJwYWRkaW5nIiwiY3Vyc29yIiwiQm9vbGVhbiIsInBhcGVyIiwicm9vdCIsInByb3BUeXBlcyIsIlByb3BUeXBlcyIsImJvb2wiLCJpc1JlcXVpcmVkIiwibnVtYmVyIiwic3RyaW5nIiwiZnVuYyIsIm9iamVjdCJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7OztBQUFBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUVBLElBQU1BLFNBQVMsR0FBRyx3QkFBVztBQUMzQkMsRUFBQUEsSUFBSSxFQUFFO0FBQUVDLElBQUFBLE1BQU0sRUFBRTtB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QSx3QkFHaEIsZ0NBQUMsb0JBQUQ7QUFDRSxNQUFBLEdBQUcsRUFBRUYsR0FEUDtBQUVFLE1BQUEsUUFBUSxFQUFFRyxRQUZaO0FBR0UsTUFBQSxPQUFPLEVBQUU7QUFDUGEsUUFBQUEsSUFBSSxFQUFFL0IsT0FBTyxDQUFDZixRQURQO0FBRVBpQyxRQUFBQSxRQUFRLEVBQUVsQixPQUFPLENBQUNaO0FBRlgsT0FIWDtBQU9FLE1BQUEsT0FBTyxFQUFFO0FBQUEsZUFBTWtCLG1CQUFtQixDQUFDVSxLQUFELENBQXpCO0FBQUE7QUFQWCxPQVNHQyxXQVRILENBSGdCO0FBQUEsR0FBbEIsQ0FUSixDQXBCRixDQURGO0FBaURELENBdkdEOztBQXlHQTNCLGlCQUFpQixDQUFDMEMsU0FBbEIsR0FBOEI7QUFDNUJ6QyxFQUFBQSxRQUFRLEVBQUUwQyxzQkFBVUMsSUFBVixDQUFlQyxVQURHO0FBRTVCM0MsRUFBQUEsU0FBUyxFQUFFeUMsc0JBQVVHLE1BQVYsQ0FBaUJELFVBRkE7QUFHNUIxQyxFQUFBQSxXQUFXLEVBQUV3QyxzQkFBVUksTUFBVixDQUFpQkYsVUFIRjtBQUk1QnpDLEVBQUFBLGFBQWEsRUFBRXVDLHNCQUFVQyxJQUFWLENBQWVDLFVBSkY7QUFLNUJ4QyxFQUFBQSxlQUFlLEVBQUVzQyxzQkFBVUksTUFBVixDQUFpQkYsVUFMTjtBQU01QnZDLEVBQUFBLGlCQUFpQixFQUFFcUMsc0JBQVVLLElBQVYsQ0FBZUgsVUFOTjtBQU81QnRDLEVBQUFBLGtCQUFrQixFQUFFb0Msc0JBQVVLLElBQVYsQ0FBZUgsVUFQUDtBQVE1QnJDLEVBQUFBLGtCQUFrQixFQUFFbUMsc0JBQVVNLE1BQVYsQ0FBaUJKLFVBUlQ7QUFTNUJwQyxFQUFBQSwyQkFBMkIsRUFBRWtDLHNCQUFVSyxJQUFWLENBQWVIO0FBVGhCLENBQTlCO2VBWWU3QyxpQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCwgeyB1c2VTdGF0ZSB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCBQcm9wVHlwZXMgZnJvbSAncHJvcC10eXBlcyc7XG5pbXBvcnQgTWVudSBmcm9tICdAbWF0ZXJpYWwtdWkvY29yZS9NZW51JztcbmltcG9ydCBNZW51SXRlbSBmcm9tICdAbWF0ZXJpYWwtdWkvY29yZS9NZW51SXRlbSc7XG5pbXBvcnQgVGV4dEZpZWxkc0ljb24gZnJvbSAnQG1hdGVyaWFsLXVpL2ljb25zL1RleHRGaWVsZHMnO1xuaW1wb3J0IEFycm93RG93bkljb24gZnJvbSAnQG1hdGVyaWFsLXVpL2ljb25zL0tleWJvYXJkQXJyb3dEb3duJztcbmltcG9ydCB7IG1ha2VTdHlsZXMgfSBmcm9tICdAbWF0ZXJpYWwtdWkvY29yZS9zdHlsZXMnO1xuXG5jb25zdCB1c2VTdHlsZXMgPSBtYWtlU3R5bGVzKHtcbiAgbWVudTogeyBtYXJnaW46ICc0N3B4IDBweCAwcHggMzhweCcgfSxcbiAgbWVudUl0ZW06IHsgZm9udFNpemU6ICcxNHB4Jywgd2lkdGg6ICcxNTBweCcgfSxcbiAgbWVudUl0ZW1TZWxlY3RlZDogeyBjb2xvcjogJyNGRjQwODEnIH0sXG59KTtcblxuY29uc3QgRm9udFNlbGVjdGlvbk1lbnUgPSAoe1xuICBpc0hlYnJldyxcbiAgcGFuZUluZGV4LFxuICBjdXJyZW50Rm9udCxcbiAgaXNUYXJnZXRCaWJsZSxcbiAgc2VsZWN0Rm9udExhYmVsLFxuICBoYW5kbGVDbG9zZVBhcmVudCxcbiAgY2hhbmdlUGFuZUZvbnRUeXBlLFxuICBjb21wbGV4U2NyaXB0Rm9udHMsXG4gIGFkZE9iamVjdFByb3BlcnR5VG9NYW5pZmVzdCxcbn0pID0+IHtcbiAgY29uc3QgY2xhc3NlcyA9IHVzZVN0eWxlcygpO1xuICBjb25zdCBbYW5jaG9yRWwsIHNldEFuY2hvckVsXSA9IHVzZVN0YXRlKG51bGwpO1xuXG4gIGNvbnN0IGhhbmRsZUNsaWNrID0gKGV2ZW50KSA9PiB7XG4gICAgc2V0QW5jaG9yRWwoZXZlbnQuY3VycmVudFRhcmdldCk7XG4gIH07XG5cbiAgY29uc3QgaGFuZGxlTWVudUl0ZW1DbGljayA9IChmb250KSA9PiB7XG4gICAgaGFuZGxlQ2xvc2UoKTtcblxuICAgIGlmIChpc1RhcmdldEJpYmxlKSB7XG4gICAgICBhZGRPYmplY3RQcm9wZXJ0eVRvTWFuaWZlc3QoJ3Byb2plY3RGb250JywgZm9udCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGNoYW5nZVBhbmVGb250VHlwZShwYW5lSW5kZXgsIGZvbnQpO1xuICAgIH1cbiAgfTtcblxuICBjb25zdCBoYW5kbGVDbG9zZSA9ICgpID0+IHtcbiAgICBzZXRBbmNob3JFbChudWxsKTtcbiAgICBoYW5kbGVDbG9zZVBhcmVudCgpO1xuICB9O1xuXG4gIGNvbnN0IGdldEZvbnRMaXN0ID0gKCkgPT4ge1xuICAgIC8vIGFkZCBhbGwgY29tcGxleCBzY3JpcHQgZm9udHMgdG8gZm9udCBsaXN0XG4gICAgY29uc3QgZm9udExpc3QgPSBPYmplY3Qua2V5cyhjb21wbGV4U2NyaXB0Rm9udHMpLm1hcCgoZm9udE5hbWUpID0+ICh7XG4gICAgICBrZXk6IGAke2ZvbnROYW1lfS1mb250LW1lbnUtaXRlbWAsXG4gICAgICB2YWx1ZTogY29tcGxleFNjcmlwdEZvbnRzW2ZvbnROYW1lXS5mb250LFxuICAgICAgcHJpbWFyeVRleHQ6IGZvbnROYW1lLFxuICAgICAgc2VsZWN0ZWQ6IGN1cnJlbnRGb250ID09PSBjb21wbGV4U2NyaXB0Rm9udHNbZm9udE5hbWVdLmZvbnQsXG4gICAgfSkpO1xuXG4gICAgLy8gYWRkIGRlZmF1bHQgZm9udFxuICAgIGZvbnRMaXN0LnB1c2goe1xuICAgICAga2V5OiAnTm90b1NhbnMtZm9udC1tZW51LWl0ZW0nLFxuICAgICAgdmFsdWU6ICdkZWZhdWx0JyxcbiAgICAgIHByaW1hcnlUZXh0OiBpc0hlYnJldyA/ICdFenJhIChEZWZhdWx0KScgOiAnTm90byBTYW5zIChEZWZhdWx0KScsXG4gICAgICBzZWxlY3RlZDogY3VycmVudEZvbnQgPT09ICcnIHx8IGN1cnJlbnRGb250ID09PSAnZGVmYXVsdCcsXG4gICAgfSk7XG5cbiAgICAvLyByZXR1cm4gc29ydGVkIGZvbnQgbGlzdFxuICAgIHJldHVybiBmb250TGlzdC5zb3J0KChhLCBiKSA9PiBhLnByaW1hcnlUZXh0IDwgYi5wcmltYXJ5VGV4dCA/IC0xIDogMSk7XG4gIH07XG5cbiAgcmV0dXJuIChcbiAgICA8PlxuICAgICAgPGRpdlxuICAgICAgICBvbkNsaWNrPXtoYW5kbGVDbGlja31cbiAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICBkaXNwbGF5OiAnZmxleCcsXG4gICAgICAgICAganVzdGlmeUNvbnRlbnQ6ICdzcGFjZS1iZXR3ZWVuJyxcbiAgICAgICAgICBhbGlnbkl0ZW1zOiAnY2VudGVyJyxcbiAgICAgICAgICB3aWR0aDogJzEwMCUnLFxuICAgICAgICAgIGhlaWdodDogJzEwMCUnLFxuICAgICAgICAgIHBhZGRpbmc6ICc0cHgnLFxuICAgICAgICAgIG1hcmdpbjogJzZweCcsXG4gICAgICAgICAgY3Vyc29yOiAncG9pbnRlcicsXG4gICAgICAgIH19XG4gICAgICA+XG4gICAgICAgIDxUZXh0RmllbGRzSWNvbiBzdHlsZT17eyBmb250U2l6ZTogJzI0cHgnIH19Lz5cbiAgICAgICAgPGRpdiBzdHlsZT17eyBtYXJnaW46ICcwcHggNXB4JywgY29sb3I6ICcjMDAwMDAwJyB9fT5cbiAgICAgICAgICB7c2VsZWN0Rm9udExhYmVsfVxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPEFycm93RG93bkljb24gc3R5bGU9e3sgY29sb3I6ICcjYjViM2IzJywgZm9udFNpemU6ICcyNHB4JyB9fS8+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxNZW51XG4gICAgICAgIHZhcmlhbnQ9J21lbnUnXG4gICAgICAgIGlkPSdzaW1wbGUtbWVudSdcbiAgICAgICAgYW5jaG9yRWw9e2FuY2hvckVsfVxuICAgICAgICBvbkNsb3NlPXtoYW5kbGVDbG9zZX1cbiAgICAgICAgb3Blbj17Qm9vbGVhbihhbmNob3JFbCl9XG4gICAgICAgIGNsYXNzZXM9e3sgcGFwZXI6IGNsYXNzZXMubWVudSB9fVxuICAgICAgPlxuICAgICAgICB7XG4gICAgICAgICAgZ2V0Rm9udExpc3QoKS5tYXAoKHtcbiAgICAgICAgICAgIGtleSwgdmFsdWUsIHNlbGVjdGVkLCBwcmltYXJ5VGV4dCxcbiAgICAgICAgICB9KSA9PiAoXG4gICAgICAgICAgICA8TWVudUl0ZW1cbiAgICAgICAgICAgICAga2V5PXtrZXl9XG4gICAgICAgICAgICAgIHNlbGVjdGVkPXtzZWxlY3RlZH1cbiAgICAgICAgICAgICAgY2xhc3Nlcz17e1xuICAgICAgICAgICAgICAgIHJvb3Q6IGNsYXNzZXMubWVudUl0ZW0sXG4gICAgICAgICAgICAgICAgc2VsZWN0ZWQ6IGNsYXNzZXMubWVudUl0ZW1TZWxlY3RlZCxcbiAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4gaGFuZGxlTWVudUl0ZW1DbGljayh2YWx1ZSl9XG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIHtwcmltYXJ5VGV4dH1cbiAgICAgICAgICAgIDwvTWVudUl0ZW0+XG4gICAgICAgICAgKSlcbiAgICAgICAgfVxuICAgICAgPC9NZW51PlxuICAgIDwvPlxuICApO1xufTtcblxuRm9udFNlbGVjdGlvbk1lbnUucHJvcFR5cGVzID0ge1xuICBpc0hlYnJldzogUHJvcFR5cGVzLmJvb2wuaXNSZXF1aXJlZCxcbiAgcGFuZUluZGV4OiBQcm9wVHlwZXMubnVtYmVyLmlzUmVxdWlyZWQsXG4gIGN1cnJlbnRGb250OiBQcm9wVHlwZXMuc3RyaW5nLmlzUmVxdWlyZWQsXG4gIGlzVGFyZ2V0QmlibGU6IFByb3BUeXBlcy5ib29sLmlzUmVxdWlyZWQsXG4gIHNlbGVjdEZvbnRMYWJlbDogUHJvcFR5cGVzLnN0cmluZy5pc1JlcXVpcmVkLFxuICBoYW5kbGVDbG9zZVBhcmVudDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgY2hhbmdlUGFuZUZvbnRUeXBlOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICBjb21wbGV4U2NyaXB0Rm9udHM6IFByb3BUeXBlcy5vYmplY3QuaXNSZXF1aXJlZCxcbiAgYWRkT2JqZWN0UHJvcGVydHlUb01hbmlmZXN0OiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxufTtcblxuZXhwb3J0IGRlZmF1bHQgRm9udFNlbGVjdGlvbk1lbnU7XG4iXX0=