UNPKG

kitchen-simulator

Version:

It is a kitchen simulator (self-contained micro-frontend).

232 lines (231 loc) 9 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); Object.defineProperty(exports, "__esModule", { value: true }); exports["default"] = Ruler3D; var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty")); var _react = _interopRequireDefault(require("react")); var _constants = require("../../../constants"); function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; } function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2["default"])(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; } function Ruler3D(_ref) { var layer = _ref.layer, line = _ref.line, viewScale = _ref.viewScale, downloadFlag = _ref.downloadFlag; var diagonalPointValue = 5 * viewScale; var STYLE = { stroke: _constants.TEXT_COLOR_NEUTRAL_6, strokeWidth: viewScale, opacity: '0.6' }; var STYLE_TEXT = { textAnchor: 'middle', fontSize: downloadFlag ? 32 * viewScale : 16 * viewScale, // fontWeight: "bold", pointerEvents: 'none', fill: _constants.TEXT_COLOR_NEUTRAL_6, //http://stackoverflow.com/questions/826782/how-to-disable-text-selection-highlighting-using-css WebkitTouchCallout: 'none' /* iOS Safari */, WebkitUserSelect: 'none' /* Chrome/Safari/Opera */, MozUserSelect: 'none' /* Firefox */, MsUserSelect: 'none' /* Internet Explorer/Edge */, userSelect: 'none' }; var getDistance = function getDistance(v0, v1) { return Math.sqrt((v0.x - v1.x) * (v0.x - v1.x) + (v0.y - v1.y) * (v0.y - v1.y)); }; var v0 = line.v0, v1 = line.v1, space = line.space; var text = line.text.endsWith('.0') ? line.text.slice(0, line.text.length - 2) : line.text; var length = getDistance(v0, v1); var textLength = (text.length + layer.unit.length) * 18 * viewScale; if (v0.y === v1.y) { if (v0.x < v1.x) { return /*#__PURE__*/_react["default"].createElement("g", null, /*#__PURE__*/_react["default"].createElement("line", { x1: v0.x, y1: v0.y, x2: v0.x, y2: v0.y - space, style: STYLE }), /*#__PURE__*/_react["default"].createElement("g", { transform: "translate(".concat(v0.x, ", ").concat(v0.y - space, ")") }, /*#__PURE__*/_react["default"].createElement("line", { x1: -diagonalPointValue, y1: -diagonalPointValue, x2: diagonalPointValue, y2: diagonalPointValue, style: STYLE }), /*#__PURE__*/_react["default"].createElement("line", { x1: 0, y1: 0, x2: textLength > length ? 0 : (length - textLength) / 2, y2: 0, style: STYLE }), /*#__PURE__*/_react["default"].createElement("text", { x: length / 2, y: "3", style: STYLE_TEXT }, text, layer.unit === 'in' ? '"' : layer.unit), /*#__PURE__*/_react["default"].createElement("line", { x1: length, y1: 0, x2: textLength > length ? length : (length + textLength) / 2, y2: 0, style: STYLE }), /*#__PURE__*/_react["default"].createElement("line", { x1: length - diagonalPointValue, y1: -diagonalPointValue, x2: length + diagonalPointValue, y2: diagonalPointValue, style: STYLE })), /*#__PURE__*/_react["default"].createElement("line", { x1: v1.x, y1: v1.y, x2: v1.x, y2: v1.y - space, style: STYLE })); } else { return /*#__PURE__*/_react["default"].createElement("g", null, /*#__PURE__*/_react["default"].createElement("line", { x1: v0.x, y1: v0.y, x2: v0.x, y2: v0.y + space, style: STYLE }), /*#__PURE__*/_react["default"].createElement("g", { transform: "translate(".concat(v0.x, ", ").concat(v0.y + space, ")") }, /*#__PURE__*/_react["default"].createElement("line", { x1: -diagonalPointValue, y1: -diagonalPointValue, x2: diagonalPointValue, y2: diagonalPointValue, style: STYLE }), /*#__PURE__*/_react["default"].createElement("line", { x1: 0, y1: 0, x2: textLength > length ? 0 : -(length - textLength) / 2, y2: 0, style: STYLE }), /*#__PURE__*/_react["default"].createElement("text", { x: -length / 2, y: "3", style: STYLE_TEXT }, text, layer.unit === 'in' ? '"' : layer.unit), /*#__PURE__*/_react["default"].createElement("line", { x1: -length, y1: 0, x2: textLength > length ? -length : -(length + textLength) / 2, y2: 0, style: STYLE }), /*#__PURE__*/_react["default"].createElement("line", { x1: -length - diagonalPointValue, y1: -diagonalPointValue, x2: -length + diagonalPointValue, y2: diagonalPointValue, style: STYLE })), /*#__PURE__*/_react["default"].createElement("line", { x1: v1.x, y1: v1.y, x2: v1.x, y2: v1.y + space, style: STYLE })); } } else if (v0.x = v1.x) { if (v0.y < v1.y) { return /*#__PURE__*/_react["default"].createElement("g", null, /*#__PURE__*/_react["default"].createElement("line", { x1: v0.x, y1: v0.y, x2: v0.x + space, y2: v0.y, style: STYLE }), /*#__PURE__*/_react["default"].createElement("g", { transform: "translate(".concat(v0.x + space, ", ").concat(v0.y, ")") }, /*#__PURE__*/_react["default"].createElement("line", { x1: -diagonalPointValue, y1: -diagonalPointValue, x2: diagonalPointValue, y2: diagonalPointValue, style: STYLE }), /*#__PURE__*/_react["default"].createElement("line", { x1: 0, y1: 0, x2: 0, y2: textLength > length ? 0 : (length - textLength) / 2, style: STYLE }), /*#__PURE__*/_react["default"].createElement("text", { x: length / 2, y: 0, style: _objectSpread(_objectSpread({}, STYLE_TEXT), {}, { transform: 'rotate(90deg)' }) }, text, layer.unit === 'in' ? '"' : layer.unit), /*#__PURE__*/_react["default"].createElement("line", { x1: 0, y1: length, x2: 0, y2: textLength > length ? length : (length + textLength) / 2, style: STYLE }), /*#__PURE__*/_react["default"].createElement("line", { x1: -diagonalPointValue, y1: length - diagonalPointValue, x2: diagonalPointValue, y2: length + diagonalPointValue, style: STYLE })), /*#__PURE__*/_react["default"].createElement("line", { x1: v1.x, y1: v1.y, x2: v1.x + space, y2: v1.y, style: STYLE })); } else { return /*#__PURE__*/_react["default"].createElement("g", null, /*#__PURE__*/_react["default"].createElement("line", { x1: v0.x, y1: v0.y, x2: v0.x - space, y2: v0.y, style: STYLE }), /*#__PURE__*/_react["default"].createElement("g", { transform: "translate(".concat(v0.x - space, ", ").concat(v0.y, ")") }, /*#__PURE__*/_react["default"].createElement("line", { x1: -diagonalPointValue, y1: -diagonalPointValue, x2: diagonalPointValue, y2: diagonalPointValue, style: STYLE }), /*#__PURE__*/_react["default"].createElement("line", { x1: 0, y1: 0, x2: 0, y2: textLength > length ? 0 : -(length - textLength) / 2, style: STYLE }), /*#__PURE__*/_react["default"].createElement("text", { x: -length / 2, y: 0, style: _objectSpread(_objectSpread({}, STYLE_TEXT), {}, { transform: 'rotate(90deg)' }) }, text, layer.unit === 'in' ? '"' : layer.unit), /*#__PURE__*/_react["default"].createElement("line", { x1: 0, y1: -length, x2: 0, y2: textLength > length ? -length : -(length + textLength) / 2, style: STYLE }), /*#__PURE__*/_react["default"].createElement("line", { x1: -diagonalPointValue, y1: -length - diagonalPointValue, x2: diagonalPointValue, y2: -length + diagonalPointValue, style: STYLE })), /*#__PURE__*/_react["default"].createElement("line", { x1: v1.x, y1: v1.y, x2: v1.x - space, y2: v1.y, style: STYLE })); } } else return null; } module.exports = exports.default;