UNPKG

@groceristar/pdf-export

Version:
76 lines (58 loc) 2.3 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports["default"] = void 0; var _react = _interopRequireDefault(require("react")); var _propTypes = _interopRequireDefault(require("prop-types")); var _v = _interopRequireDefault(require("uuid/v1")); var _renderer = require("@react-pdf/renderer"); var _DepartmentLists = _interopRequireDefault(require("./LayoutItem/DepartmentLists")); var _BulletList = _interopRequireDefault(require("./LayoutStyles/BulletList")); var _ColumnView = _interopRequireDefault(require("./LayoutStyles/ColumnView")); var _RowView = _interopRequireDefault(require("./LayoutStyles/RowView")); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } // @TODO this is a bad situation where we have a passing data as it is - we use names, not id at not a main container - component // and this will be hardly to catch later // it was a RenderList1 before // @TODO this case didn't cover recipes totally. // @TODO tests var MainLayout = function MainLayout(_ref) { var type = _ref.type, data = _ref.data; var styles; switch (type) { case 'PDF1': styles = _BulletList["default"]; break; case 'PDF2': styles = _RowView["default"]; break; case 'PDF3': styles = _ColumnView["default"]; break; default: styles = _BulletList["default"]; break; } // @TODO i think we can/should pass departments/ingredients together. // because with this way it wouldn't work on complex cases // @TODO we should have a flag that will give us 2 options - generate an id by uuid or use for example item.id for it. return _react["default"].createElement(_renderer.View, { __self: this }, data && data.map(function (item) { return _react["default"].createElement(_DepartmentLists["default"], { styles: styles, key: (0, _v["default"])(), department: item.department, ingredients: item.ingredients, __self: this }); })); }; MainLayout.propTypes = { // name: PropTypes.array, because getting an error expected array but receiving string department: _propTypes["default"].string, ingredients: _propTypes["default"].array }; var _default = MainLayout; exports["default"] = _default;