merchi_product_form
Version:
A React component for Merchi product forms
80 lines (79 loc) • 14.1 kB
JavaScript
'use client';
function _createForOfIteratorHelper(r, e) { var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (!t) { if (Array.isArray(r) || (t = _unsupportedIterableToArray(r)) || e && r && "number" == typeof r.length) { t && (r = t); var _n = 0, F = function F() {}; return { s: F, n: function n() { return _n >= r.length ? { done: !0 } : { done: !1, value: r[_n++] }; }, e: function e(r) { throw r; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var o, a = !0, u = !1; return { s: function s() { t = t.call(r); }, n: function n() { var r = t.next(); return a = r.done, r; }, e: function e(r) { u = !0, o = r; }, f: function f() { try { a || null == t["return"] || t["return"](); } finally { if (u) throw o; } } }; }
function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
import * as React from 'react';
import DynamicVariationInput from './DynamicVariationInput';
import { useFieldArray } from 'react-hook-form';
import { useMerchiFormContext } from '../context/MerchiProductFormProvider';
import { jsx as _jsx, Fragment as _Fragment } from "react/jsx-runtime";
function getSelectedOptionIds(variations) {
var ids = new Set();
var _iterator = _createForOfIteratorHelper(variations),
_step;
try {
for (_iterator.s(); !(_step = _iterator.n()).done;) {
var variation = _step.value;
var value = variation.value;
if (!value) continue;
String(value).split(',').forEach(function (id) {
var parsed = parseInt(id.trim(), 10);
if (!isNaN(parsed)) ids.add(parsed);
});
}
} catch (err) {
_iterator.e(err);
} finally {
_iterator.f();
}
return ids;
}
function isDynamicVariationVisible(variation, selectedOptionIds) {
var _variation$variationF;
var selectedBy = variation === null || variation === void 0 || (_variation$variationF = variation.variationField) === null || _variation$variationF === void 0 ? void 0 : _variation$variationF.selectedBy;
if (!selectedBy || selectedBy.length === 0) return true;
return selectedBy.some(function (opt) {
return opt.id && selectedOptionIds.has(opt.id);
});
}
function Variations(_ref) {
var containerClass = _ref.containerClass,
disabled = _ref.disabled,
_ref$name = _ref.name,
name = _ref$name === void 0 ? 'variations' : _ref$name,
_ref$keyName = _ref.keyName,
keyName = _ref$keyName === void 0 ? 'variationArrayFieldId' : _ref$keyName;
var _useMerchiFormContext = useMerchiFormContext(),
control = _useMerchiFormContext.control,
hookForm = _useMerchiFormContext.hookForm;
var watch = hookForm.watch;
var _useFieldArray = useFieldArray({
control: control,
keyName: keyName,
name: name
}),
fields = _useFieldArray.fields;
var currentVariations = watch(name) || [];
var selectedOptionIds = getSelectedOptionIds(currentVariations);
return /*#__PURE__*/_jsx(_Fragment, {
children: fields.map(function (variation, index) {
var _currentVariations$in;
var current = (_currentVariations$in = currentVariations[index]) !== null && _currentVariations$in !== void 0 ? _currentVariations$in : variation;
if (!isDynamicVariationVisible(current, selectedOptionIds)) {
return null;
}
return /*#__PURE__*/_jsx("fieldset", {
className: containerClass,
name: "".concat(name, "[").concat(index, "]"),
children: /*#__PURE__*/_jsx(DynamicVariationInput, {
disabled: disabled,
index: index,
name: name,
variation: variation
})
}, variation[keyName]);
})
});
}
export default Variations;
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfY3JlYXRlRm9yT2ZJdGVyYXRvckhlbHBlciIsInIiLCJlIiwidCIsIlN5bWJvbCIsIml0ZXJhdG9yIiwiQXJyYXkiLCJpc0FycmF5IiwiX3Vuc3VwcG9ydGVkSXRlcmFibGVUb0FycmF5IiwibGVuZ3RoIiwiX24iLCJGIiwicyIsIm4iLCJkb25lIiwidmFsdWUiLCJmIiwiVHlwZUVycm9yIiwibyIsImEiLCJ1IiwiY2FsbCIsIm5leHQiLCJfYXJyYXlMaWtlVG9BcnJheSIsInRvU3RyaW5nIiwic2xpY2UiLCJjb25zdHJ1Y3RvciIsIm5hbWUiLCJmcm9tIiwidGVzdCIsIlJlYWN0IiwiRHluYW1pY1ZhcmlhdGlvbklucHV0IiwidXNlRmllbGRBcnJheSIsInVzZU1lcmNoaUZvcm1Db250ZXh0IiwianN4IiwiX2pzeCIsIkZyYWdtZW50IiwiX0ZyYWdtZW50IiwiZ2V0U2VsZWN0ZWRPcHRpb25JZHMiLCJ2YXJpYXRpb25zIiwiaWRzIiwiU2V0IiwiX2l0ZXJhdG9yIiwiX3N0ZXAiLCJ2YXJpYXRpb24iLCJTdHJpbmciLCJzcGxpdCIsImZvckVhY2giLCJpZCIsInBhcnNlZCIsInBhcnNlSW50IiwidHJpbSIsImlzTmFOIiwiYWRkIiwiZXJyIiwiaXNEeW5hbWljVmFyaWF0aW9uVmlzaWJsZSIsInNlbGVjdGVkT3B0aW9uSWRzIiwiX3ZhcmlhdGlvbiR2YXJpYXRpb25GIiwic2VsZWN0ZWRCeSIsInZhcmlhdGlvbkZpZWxkIiwic29tZSIsIm9wdCIsImhhcyIsIlZhcmlhdGlvbnMiLCJfcmVmIiwiY29udGFpbmVyQ2xhc3MiLCJkaXNhYmxlZCIsIl9yZWYkbmFtZSIsIl9yZWYka2V5TmFtZSIsImtleU5hbWUiLCJfdXNlTWVyY2hpRm9ybUNvbnRleHQiLCJjb250cm9sIiwiaG9va0Zvcm0iLCJ3YXRjaCIsIl91c2VGaWVsZEFycmF5IiwiZmllbGRzIiwiY3VycmVudFZhcmlhdGlvbnMiLCJjaGlsZHJlbiIsIm1hcCIsImluZGV4IiwiX2N1cnJlbnRWYXJpYXRpb25zJGluIiwiY3VycmVudCIsImNsYXNzTmFtZSIsImNvbmNhdCJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb21wb25lbnRzL1ZhcmlhdGlvbnMudHN4Il0sInNvdXJjZXNDb250ZW50IjpbIid1c2UgY2xpZW50JztcclxuaW1wb3J0ICogYXMgUmVhY3QgZnJvbSAncmVhY3QnO1xyXG5pbXBvcnQgRHluYW1pY1ZhcmlhdGlvbklucHV0IGZyb20gJy4vRHluYW1pY1ZhcmlhdGlvbklucHV0JztcclxuaW1wb3J0IHsgdXNlRmllbGRBcnJheSB9IGZyb20gJ3JlYWN0LWhvb2stZm9ybSc7XHJcbmltcG9ydCB7IHVzZU1lcmNoaUZvcm1Db250ZXh0IH0gZnJvbSAnLi4vY29udGV4dC9NZXJjaGlQcm9kdWN0Rm9ybVByb3ZpZGVyJztcclxuXHJcbmludGVyZmFjZSBQcm9wcyB7XHJcbiAgY29udGFpbmVyQ2xhc3M/OiBzdHJpbmc7XHJcbiAgZGlzYWJsZWQ/OiBib29sZWFuO1xyXG4gIG5hbWU/OiBzdHJpbmc7XHJcbiAga2V5TmFtZT86IHN0cmluZztcclxufVxyXG5cclxuZnVuY3Rpb24gZ2V0U2VsZWN0ZWRPcHRpb25JZHModmFyaWF0aW9uczogYW55W10pOiBTZXQ8bnVtYmVyPiB7XHJcbiAgY29uc3QgaWRzID0gbmV3IFNldDxudW1iZXI+KCk7XHJcbiAgZm9yIChjb25zdCB2YXJpYXRpb24gb2YgdmFyaWF0aW9ucykge1xyXG4gICAgY29uc3QgeyB2YWx1ZSB9ID0gdmFyaWF0aW9uO1xyXG4gICAgaWYgKCF2YWx1ZSkgY29udGludWU7XHJcbiAgICBTdHJpbmcodmFsdWUpLnNwbGl0KCcsJykuZm9yRWFjaCgoaWQ6IHN0cmluZykgPT4ge1xyXG4gICAgICBjb25zdCBwYXJzZWQgPSBwYXJzZUludChpZC50cmltKCksIDEwKTtcclxuICAgICAgaWYgKCFpc05hTihwYXJzZWQpKSBpZHMuYWRkKHBhcnNlZCk7XHJcbiAgICB9KTtcclxuICB9XHJcbiAgcmV0dXJuIGlkcztcclxufVxyXG5cclxuZnVuY3Rpb24gaXNEeW5hbWljVmFyaWF0aW9uVmlzaWJsZShcclxuICB2YXJpYXRpb246IGFueSxcclxuICBzZWxlY3RlZE9wdGlvbklkczogU2V0PG51bWJlcj4sXHJcbik6IGJvb2xlYW4ge1xyXG4gIGNvbnN0IHNlbGVjdGVkQnk6IGFueVtdID0gdmFyaWF0aW9uPy52YXJpYXRpb25GaWVsZD8uc2VsZWN0ZWRCeTtcclxuICBpZiAoIXNlbGVjdGVkQnkgfHwgc2VsZWN0ZWRCeS5sZW5ndGggPT09IDApIHJldHVybiB0cnVlO1xyXG4gIHJldHVybiBzZWxlY3RlZEJ5LnNvbWUoKG9wdDogYW55KSA9PiBvcHQuaWQgJiYgc2VsZWN0ZWRPcHRpb25JZHMuaGFzKG9wdC5pZCkpO1xyXG59XHJcblxyXG5mdW5jdGlvbiBWYXJpYXRpb25zKHtcclxuICBjb250YWluZXJDbGFzcyxcclxuICBkaXNhYmxlZCxcclxuICBuYW1lID0gJ3ZhcmlhdGlvbnMnLFxyXG4gIGtleU5hbWUgPSAndmFyaWF0aW9uQXJyYXlGaWVsZElkJyxcclxufTogUHJvcHMpIHtcclxuICBjb25zdCB7IGNvbnRyb2wsIGhvb2tGb3JtIH0gPSB1c2VNZXJjaGlGb3JtQ29udGV4dCgpO1xyXG4gIGNvbnN0IHsgd2F0Y2ggfSA9IGhvb2tGb3JtO1xyXG4gIGNvbnN0IHsgZmllbGRzIH0gPSB1c2VGaWVsZEFycmF5KHsgY29udHJvbCwga2V5TmFtZSwgbmFtZSB9KTtcclxuICBjb25zdCBjdXJyZW50VmFyaWF0aW9uczogYW55W10gPSB3YXRjaChuYW1lKSB8fCBbXTtcclxuICBjb25zdCBzZWxlY3RlZE9wdGlvbklkcyA9IGdldFNlbGVjdGVkT3B0aW9uSWRzKGN1cnJlbnRWYXJpYXRpb25zKTtcclxuICByZXR1cm4gKFxyXG4gICAgPD5cclxuICAgICAge2ZpZWxkcy5tYXAoKHZhcmlhdGlvbjogYW55LCBpbmRleDogbnVtYmVyKSA9PiB7XHJcbiAgICAgICAgY29uc3QgY3VycmVudCA9IGN1cnJlbnRWYXJpYXRpb25zW2luZGV4XSA/PyB2YXJpYXRpb247XHJcbiAgICAgICAgaWYgKCFpc0R5bmFtaWNWYXJpYXRpb25WaXNpYmxlKGN1cnJlbnQsIHNlbGVjdGVkT3B0aW9uSWRzKSkge1xyXG4gICAgICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiAoXHJcbiAgICAgICAgICA8ZmllbGRzZXRcclxuICAgICAgICAgICAgY2xhc3NOYW1lPXtjb250YWluZXJDbGFzc31cclxuICAgICAgICAgICAga2V5PXt2YXJpYXRpb25ba2V5TmFtZV19XHJcbiAgICAgICAgICAgIG5hbWU9e2Ake25hbWV9WyR7aW5kZXh9XWB9XHJcbiAgICAgICAgICA+XHJcbiAgICAgICAgICAgIDxEeW5hbWljVmFyaWF0aW9uSW5wdXRcclxuICAgICAgICAgICAgICBkaXNhYmxlZD17ZGlzYWJsZWR9XHJcbiAgICAgICAgICAgICAgaW5kZXg9e2luZGV4fVxyXG4gICAgICAgICAgICAgIG5hbWU9e25hbWV9XHJcbiAgICAgICAgICAgICAgdmFyaWF0aW9uPXt2YXJpYXRpb259XHJcbiAgICAgICAgICAgIC8+XHJcbiAgICAgICAgICA8L2ZpZWxkc2V0PlxyXG4gICAgICAgICk7XHJcbiAgICAgIH0pfVxyXG4gICAgPC8+XHJcbiAgKTtcclxufVxyXG5cclxuZXhwb3J0IGRlZmF1bHQgVmFyaWF0aW9ucztcclxuIl0sIm1hcHBpbmdzIjoiQUFBQSxZQUFZOztBQUFDLFNBQUFBLDJCQUFBQyxDQUFBLEVBQUFDLENBQUEsUUFBQUMsQ0FBQSx5QkFBQUMsTUFBQSxJQUFBSCxDQUFBLENBQUFHLE1BQUEsQ0FBQUMsUUFBQSxLQUFBSixDQUFBLHFCQUFBRSxDQUFBLFFBQUFHLEtBQUEsQ0FBQUMsT0FBQSxDQUFBTixDQUFBLE1BQUFFLENBQUEsR0FBQUssMkJBQUEsQ0FBQVAsQ0FBQSxNQUFBQyxDQUFBLElBQUFELENBQUEsdUJBQUFBLENBQUEsQ0FBQVEsTUFBQSxJQUFBTixDQUFBLEtBQUFGLENBQUEsR0FBQUUsQ0FBQSxPQUFBTyxF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