UNPKG

merchi_product_form

Version:
79 lines 12.8 kB
import * as React from 'react'; import { isProductSupplierMOD } from './utils'; import { ButtonAddGroup, ButtonRemoveGroup } from './buttons'; import { LabelGroupCost } from './cost'; import GroupInventory from './GroupInventory'; import InputGroupQuantity from './InputGroupQuantity'; import InputHiddenStatic from './InputHiddenStatic'; import Variations from './Variations'; import { useFieldArray } from 'react-hook-form'; import { useMerchiFormContext } from '../context/MerchiProductFormProvider'; import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime"; function VariationsGroups(_ref) { var disabled = _ref.disabled, _ref$name = _ref.name, name = _ref$name === void 0 ? 'variationsGroups' : _ref$name, renderBetweenGroups = _ref.renderBetweenGroups; var _useMerchiFormContext = useMerchiFormContext(), classNameGroupsContainer = _useMerchiFormContext.classNameGroupsContainer, control = _useMerchiFormContext.control, hideQuantityField = _useMerchiFormContext.hideQuantityField, hideCalculatedPrice = _useMerchiFormContext.hideCalculatedPrice, job = _useMerchiFormContext.job, product = _useMerchiFormContext.product; var _useFieldArray = useFieldArray({ control: control, keyName: 'groupId', name: name }), append = _useFieldArray.append, fields = _useFieldArray.fields, _remove = _useFieldArray.remove; var isResellMOD = isProductSupplierMOD(product); var groupCount = fields.length; return /*#__PURE__*/_jsx(_Fragment, { children: fields.map(function (group, index) { var count = index + 1; var variationGroup = job.variationsGroups[index]; return /*#__PURE__*/_jsxs(React.Fragment, { children: [/*#__PURE__*/_jsxs("fieldset", { className: classNameGroupsContainer, name: "".concat(name, "[").concat(index, "]"), children: [isResellMOD || hideQuantityField ? /*#__PURE__*/_jsx(InputHiddenStatic, { name: "".concat(name, "[").concat(index, "].quantity"), value: 1 }) : /*#__PURE__*/_jsx(InputGroupQuantity, { count: count, disabled: disabled, name: "".concat(name, "[").concat(index, "].quantity") }), /*#__PURE__*/_jsx(Variations, { containerClass: "merchi-embed-form_product-group-variation-container", disabled: disabled, name: "".concat(name, "[").concat(index, "].variations") }), product.needsInventory && variationGroup && /*#__PURE__*/_jsx(GroupInventory, { group: job.variationsGroups[index] }), /*#__PURE__*/_jsxs("div", { className: "merchi-embed-form_product-group-actions-cost-container", children: [!hideCalculatedPrice && variationGroup && /*#__PURE__*/_jsx(LabelGroupCost, { group: variationGroup }), /*#__PURE__*/_jsx("div", { className: "merchi-embed-form_product-group-actions-container", children: groupCount > 1 && /*#__PURE__*/_jsx(ButtonRemoveGroup, { count: count, disabled: disabled, remove: function remove() { return _remove(index); } }) })] }), groupCount === count && /*#__PURE__*/_jsx(ButtonAddGroup, { addGroup: append, disabled: disabled })] }), renderBetweenGroups && renderBetweenGroups(index)] }, group.groupId); }) }); } export default VariationsGroups; //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJSZWFjdCIsImlzUHJvZHVjdFN1cHBsaWVyTU9EIiwiQnV0dG9uQWRkR3JvdXAiLCJCdXR0b25SZW1vdmVHcm91cCIsIkxhYmVsR3JvdXBDb3N0IiwiR3JvdXBJbnZlbnRvcnkiLCJJbnB1dEdyb3VwUXVhbnRpdHkiLCJJbnB1dEhpZGRlblN0YXRpYyIsIlZhcmlhdGlvbnMiLCJ1c2VGaWVsZEFycmF5IiwidXNlTWVyY2hpRm9ybUNvbnRleHQiLCJqc3giLCJfanN4IiwianN4cyIsIl9qc3hzIiwiRnJhZ21lbnQiLCJfRnJhZ21lbnQiLCJWYXJpYXRpb25zR3JvdXBzIiwiX3JlZiIsImRpc2FibGVkIiwiX3JlZiRuYW1lIiwibmFtZSIsInJlbmRlckJldHdlZW5Hcm91cHMiLCJfdXNlTWVyY2hpRm9ybUNvbnRleHQiLCJjbGFzc05hbWVHcm91cHNDb250YWluZXIiLCJjb250cm9sIiwiaGlkZVF1YW50aXR5RmllbGQiLCJoaWRlQ2FsY3VsYXRlZFByaWNlIiwiam9iIiwicHJvZHVjdCIsIl91c2VGaWVsZEFycmF5Iiwia2V5TmFtZSIsImFwcGVuZCIsImZpZWxkcyIsInJlbW92ZSIsImlzUmVzZWxsTU9EIiwiZ3JvdXBDb3VudCIsImxlbmd0aCIsImNoaWxkcmVuIiwibWFwIiwiZ3JvdXAiLCJpbmRleCIsImNvdW50IiwidmFyaWF0aW9uR3JvdXAiLCJ2YXJpYXRpb25zR3JvdXBzIiwiY2xhc3NOYW1lIiwiY29uY2F0IiwidmFsdWUiLCJjb250YWluZXJDbGFzcyIsIm5lZWRzSW52ZW50b3J5IiwiYWRkR3JvdXAiLCJncm91cElkIl0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NvbXBvbmVudHMvVmFyaWF0aW9uc0dyb3Vwcy50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgUmVhY3QgZnJvbSAncmVhY3QnO1xyXG5pbXBvcnQgeyBpc1Byb2R1Y3RTdXBwbGllck1PRCB9IGZyb20gJy4vdXRpbHMnO1xyXG5pbXBvcnQgeyBCdXR0b25BZGRHcm91cCwgQnV0dG9uUmVtb3ZlR3JvdXAgfSBmcm9tICcuL2J1dHRvbnMnO1xyXG5pbXBvcnQgeyBMYWJlbEdyb3VwQ29zdCB9IGZyb20gJy4vY29zdCc7XHJcbmltcG9ydCBHcm91cEludmVudG9yeSBmcm9tICcuL0dyb3VwSW52ZW50b3J5JztcclxuaW1wb3J0IElucHV0R3JvdXBRdWFudGl0eSBmcm9tICcuL0lucHV0R3JvdXBRdWFudGl0eSc7XHJcbmltcG9ydCBJbnB1dEhpZGRlblN0YXRpYyBmcm9tICcuL0lucHV0SGlkZGVuU3RhdGljJztcclxuaW1wb3J0IFZhcmlhdGlvbnMgZnJvbSAnLi9WYXJpYXRpb25zJztcclxuaW1wb3J0IHsgdXNlRmllbGRBcnJheSB9IGZyb20gJ3JlYWN0LWhvb2stZm9ybSc7XHJcbmltcG9ydCB7IHVzZU1lcmNoaUZvcm1Db250ZXh0IH0gZnJvbSAnLi4vY29udGV4dC9NZXJjaGlQcm9kdWN0Rm9ybVByb3ZpZGVyJztcclxuXHJcbmludGVyZmFjZSBQcm9wcyB7XHJcbiAgZGlzYWJsZWQ/OiBib29sZWFuO1xyXG4gIG5hbWU/OiBzdHJpbmc7XHJcbiAgcmVuZGVyQmV0d2Vlbkdyb3Vwcz86IChpbmRleDogbnVtYmVyKSA9PiBSZWFjdC5SZWFjdE5vZGU7XHJcbn1cclxuXHJcbmZ1bmN0aW9uIFZhcmlhdGlvbnNHcm91cHMoeyBkaXNhYmxlZCwgbmFtZSA9ICd2YXJpYXRpb25zR3JvdXBzJywgcmVuZGVyQmV0d2Vlbkdyb3VwcyB9OiBQcm9wcykge1xyXG4gIGNvbnN0IHtcclxuICAgIGNsYXNzTmFtZUdyb3Vwc0NvbnRhaW5lcixcclxuICAgIGNvbnRyb2wsXHJcbiAgICBoaWRlUXVhbnRpdHlGaWVsZCxcclxuICAgIGhpZGVDYWxjdWxhdGVkUHJpY2UsXHJcbiAgICBqb2IsXHJcbiAgICBwcm9kdWN0LFxyXG4gIH0gPSB1c2VNZXJjaGlGb3JtQ29udGV4dCgpO1xyXG4gIGNvbnN0IHsgYXBwZW5kLCBmaWVsZHMsIHJlbW92ZSB9ID0gdXNlRmllbGRBcnJheSh7XHJcbiAgICBjb250cm9sLFxyXG4gICAga2V5TmFtZTogJ2dyb3VwSWQnLFxyXG4gICAgbmFtZSxcclxuICB9KTtcclxuICBjb25zdCBpc1Jlc2VsbE1PRCA9IGlzUHJvZHVjdFN1cHBsaWVyTU9EKHByb2R1Y3QpO1xyXG4gIGNvbnN0IGdyb3VwQ291bnQgPSBmaWVsZHMubGVuZ3RoO1xyXG4gIHJldHVybiAoXHJcbiAgICA8PlxyXG4gICAgICB7ZmllbGRzLm1hcCgoZ3JvdXA6IGFueSwgaW5kZXg6IG51bWJlcikgPT4ge1xyXG4gICAgICAgIGNvbnN0IGNvdW50ID0gaW5kZXggKyAxO1xyXG4gICAgICAgIGNvbnN0IHZhcmlhdGlvbkdyb3VwID0gam9iLnZhcmlhdGlvbnNHcm91cHNbaW5kZXhdO1xyXG4gICAgICAgIHJldHVybiAoXHJcbiAgICAgICAgICA8UmVhY3QuRnJhZ21lbnQga2V5PXtncm91cC5ncm91cElkfT5cclxuICAgICAgICAgICAgPGZpZWxkc2V0XHJcbiAgICAgICAgICAgICAgY2xhc3NOYW1lPXtjbGFzc05hbWVHcm91cHNDb250YWluZXJ9XHJcbiAgICAgICAgICAgICAgbmFtZT17YCR7bmFtZX1bJHtpbmRleH1dYH1cclxuICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgIHtpc1Jlc2VsbE1PRCB8fCBoaWRlUXVhbnRpdHlGaWVsZCA/IChcclxuICAgICAgICAgICAgICAgIDxJbnB1dEhpZGRlblN0YXRpY1xyXG4gICAgICAgICAgICAgICAgICBuYW1lPXtgJHtuYW1lfVske2luZGV4fV0ucXVhbnRpdHlgfVxyXG4gICAgICAgICAgICAgICAgICB2YWx1ZT17MX1cclxuICAgICAgICAgICAgICAgIC8+XHJcbiAgICAgICAgICAgICAgKSA6IChcclxuICAgICAgICAgICAgICAgIDxJbnB1dEdyb3VwUXVhbnRpdHlcclxuICAgICAgICAgICAgICAgICAgY291bnQ9e2NvdW50fVxyXG4gICAgICAgICAgICAgICAgICBkaXNhYmxlZD17ZGlzYWJsZWR9XHJcbiAgICAgICAgICAgICAgICAgIG5hbWU9e2Ake25hbWV9WyR7aW5kZXh9XS5xdWFudGl0eWB9XHJcbiAgICAgICAgICAgICAgICAvPlxyXG4gICAgICAgICAgICAgICl9XHJcbiAgICAgICAgICAgICAgPFZhcmlhdGlvbnNcclxuICAgICAgICAgICAgICAgIGNvbnRhaW5lckNsYXNzPSdtZXJjaGktZW1iZWQtZm9ybV9wcm9kdWN0LWdyb3VwLXZhcmlhdGlvbi1jb250YWluZXInXHJcbiAgICAgICAgICAgICAgICBkaXNhYmxlZD17ZGlzYWJsZWR9XHJcbiAgICAgICAgICAgICAgICBuYW1lPXtgJHtuYW1lfVske2luZGV4fV0udmFyaWF0aW9uc2B9XHJcbiAgICAgICAgICAgICAgLz5cclxuICAgICAgICAgICAgICB7cHJvZHVjdC5uZWVkc0ludmVudG9yeSAmJiB2YXJpYXRpb25Hcm91cCAmJiAoXHJcbiAgICAgICAgICAgICAgICA8R3JvdXBJbnZlbnRvcnkgZ3JvdXA9e2pvYi52YXJpYXRpb25zR3JvdXBzW2luZGV4XX0gLz5cclxuICAgICAgICAgICAgICApfVxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPSdtZXJjaGktZW1iZWQtZm9ybV9wcm9kdWN0LWdyb3VwLWFjdGlvbnMtY29zdC1jb250YWluZXInPlxyXG4gICAgICAgICAgICAgICAgeyFoaWRlQ2FsY3VsYXRlZFByaWNlICYmIHZhcmlhdGlvbkdyb3VwICYmIChcclxuICAgICAgICAgICAgICAgICAgPExhYmVsR3JvdXBDb3N0IGdyb3VwPXt2YXJpYXRpb25Hcm91cH0gLz5cclxuICAgICAgICAgICAgICAgICl9XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT0nbWVyY2hpLWVtYmVkLWZvcm1fcHJvZHVjdC1ncm91cC1hY3Rpb25zLWNvbnRhaW5lcic+XHJcbiAgICAgICAgICAgICAgICAgIHtncm91cENvdW50ID4gMSAmJiAoXHJcbiAgICAgICAgICAgICAgICAgICAgPEJ1dHRvblJlbW92ZUdyb3VwXHJcbiAgICAgICAgICAgICAgICAgICAgICBjb3VudD17Y291bnR9XHJcbiAgICAgICAgICAgICAgICAgICAgICBkaXNhYmxlZD17ZGlzYWJsZWR9XHJcbiAgICAgICAgICAgICAgICAgICAgICByZW1vdmU9eygpID0+IHJlbW92ZShpbmRleCl9XHJcbiAgICAgICAgICAgICAgICAgICAgLz5cclxuICAgICAgICAgICAgICAgICAgKX1cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIHtncm91cENvdW50ID09PSBjb3VudCAmJiAoXHJcbiAgICAgICAgICAgICAgICA8QnV0dG9uQWRkR3JvdXAgYWRkR3JvdXA9e2FwcGVuZH0gZGlzYWJsZWQ9e2Rpc2FibGVkfSAvPlxyXG4gICAgICAgICAgICAgICl9XHJcbiAgICAgICAgICAgIDwvZmllbGRzZXQ+XHJcbiAgICAgICAgICAgIHtyZW5kZXJCZXR3ZWVuR3JvdXBzICYmIHJlbmRlckJldHdlZW5Hcm91cHMoaW5kZXgpfVxyXG4gICAgICAgICAgPC9SZWFjdC5GcmFnbWVudD5cclxuICAgICAgICApO1xyXG4gICAgICB9KX1cclxuICAgIDwvPlxyXG4gICk7XHJcbn1cclxuXHJcbmV4cG9ydCBkZWZhdWx0IFZhcmlhdGlvbnNHcm91cHM7XHJcbiJdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLQSxLQUFLLE1BQU0sT0FBTztBQUM5QixTQUFTQyxvQkFBb0IsUUFBUSxTQUFTO0FBQzlDLFNBQVNDLGNBQWMsRUFBRUMsaUJBQWlCLFFBQVEsV0FBVztBQUM3RCxTQUFTQyxjQUFjLFFBQVEsUUFBUTtBQUN2QyxPQUFPQyxjQUFjLE1BQU0sa0JBQWtCO0FBQzdDLE9BQU9DLGtCQUFrQixNQUFNLHNCQUFzQjtBQUNyRCxPQUFPQyxpQkFBaUIsTUFBTSxxQkFBcUI7QUFDbkQsT0FBT0MsVUFBVSxNQUFNLGNBQWM7QUFDckMsU0FBU0MsYUFBYSxRQUFRLGlCQUFpQjtBQUMvQyxTQUFTQyxvQkFBb0IsUUFBUSxzQ0FB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