Files
klz-cables.com/.pnpm-store/v10/files/cf/78c531074f9870a10f37682609e0bbbb001d8716f83460946683ea9dd6e1707cbd98173ef13e7374c29091517c24adecfa498c8eff2b6a6692a2143011ecc4
Marc Mintel 5397309103
Some checks failed
Build & Deploy / 🔍 Prepare (push) Successful in 20s
Build & Deploy / 🧪 QA (push) Failing after 34s
Build & Deploy / 🏗️ Build (push) Has started running
Build & Deploy / 🚀 Deploy (push) Has been cancelled
Build & Deploy / 🧪 Smoke Test (push) Has been cancelled
Build & Deploy / ⚡ Lighthouse (push) Has been cancelled
Build & Deploy / 🔔 Notify (push) Has been cancelled
fix(products): fix breadcrumbs and product filtering (backport from main)
2026-02-24 16:04:21 +01:00

295 lines
9.0 KiB
Plaintext

'use client';
import { c as _c } from "react/compiler-runtime";
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
import { getTranslation } from '@payloadcms/translations';
import { hasAutosaveEnabled } from 'payload/shared';
import React, { Fragment, useCallback, useEffect, useState } from 'react';
import { useRelatedCollections } from '../../hooks/useRelatedCollections.js';
import { PlusIcon } from '../../icons/Plus/index.js';
import { useAuth } from '../../providers/Auth/index.js';
import { useTranslation } from '../../providers/Translation/index.js';
import { Button } from '../Button/index.js';
import { useDocumentDrawer } from '../DocumentDrawer/index.js';
import { Popup } from '../Popup/index.js';
import * as PopupList from '../Popup/PopupButtonList/index.js';
import './index.scss';
import { Tooltip } from '../Tooltip/index.js';
const baseClass = 'relationship-add-new';
export const AddNewRelation = t0 => {
const $ = _c(46);
const {
Button: ButtonFromProps,
hasMany,
onChange,
path,
relationTo,
unstyled,
value
} = t0;
const relatedCollections = useRelatedCollections(relationTo);
const {
permissions
} = useAuth();
const [show, setShow] = useState(false);
const [selectedCollection, setSelectedCollection] = useState();
const relatedToMany = relatedCollections.length > 1;
let t1;
if ($[0] !== relatedCollections[0] || $[1] !== relatedToMany) {
t1 = () => !relatedToMany ? relatedCollections[0] : undefined;
$[0] = relatedCollections[0];
$[1] = relatedToMany;
$[2] = t1;
} else {
t1 = $[2];
}
const [collectionConfig, setCollectionConfig] = useState(t1);
const [popupOpen, setPopupOpen] = useState(false);
const {
i18n,
t
} = useTranslation();
const [showTooltip, setShowTooltip] = useState(false);
const t2 = collectionConfig?.slug;
let t3;
if ($[3] !== t2) {
t3 = {
collectionSlug: t2
};
$[3] = t2;
$[4] = t3;
} else {
t3 = $[4];
}
const [DocumentDrawer, DocumentDrawerToggler, t4] = useDocumentDrawer(t3);
const {
isDrawerOpen,
toggleDrawer
} = t4;
let t5;
if ($[5] !== collectionConfig || $[6] !== hasMany || $[7] !== onChange || $[8] !== value) {
t5 = t6 => {
const {
doc,
operation
} = t6;
if (operation === "create" || operation === "update" && hasAutosaveEnabled(collectionConfig)) {
let isNewValue;
if (!value) {
isNewValue = true;
} else {
isNewValue = Array.isArray(value) ? !value.some(v => v && v.value === doc.id) : value.value !== doc.id;
}
if (isNewValue) {
if (hasMany === true) {
onChange([...(Array.isArray(value) ? value : []), {
relationTo: collectionConfig?.slug,
value: doc.id
}]);
} else {
onChange({
relationTo: collectionConfig?.slug,
value: doc.id
});
}
}
setSelectedCollection(undefined);
}
};
$[5] = collectionConfig;
$[6] = hasMany;
$[7] = onChange;
$[8] = value;
$[9] = t5;
} else {
t5 = $[9];
}
const onSave = t5;
let t6;
if ($[10] === Symbol.for("react.memo_cache_sentinel")) {
t6 = state => {
setPopupOpen(state);
};
$[10] = t6;
} else {
t6 = $[10];
}
const onPopupToggle = t6;
let t7;
let t8;
if ($[11] !== permissions || $[12] !== relatedCollections) {
t7 = () => {
if (permissions) {
if (relatedCollections.length === 1) {
setShow(permissions.collections[relatedCollections[0]?.slug]?.create);
} else {
setShow(relatedCollections.some(collection => permissions.collections[collection?.slug]?.create));
}
}
};
t8 = [permissions, relatedCollections];
$[11] = permissions;
$[12] = relatedCollections;
$[13] = t7;
$[14] = t8;
} else {
t7 = $[13];
t8 = $[14];
}
useEffect(t7, t8);
let t10;
let t9;
if ($[15] !== relatedCollections || $[16] !== relatedToMany || $[17] !== selectedCollection) {
t9 = () => {
if (relatedToMany && selectedCollection) {
setCollectionConfig(relatedCollections.find(collection_0 => collection_0?.slug === selectedCollection));
}
};
t10 = [selectedCollection, relatedToMany, relatedCollections];
$[15] = relatedCollections;
$[16] = relatedToMany;
$[17] = selectedCollection;
$[18] = t10;
$[19] = t9;
} else {
t10 = $[18];
t9 = $[19];
}
useEffect(t9, t10);
let t11;
let t12;
if ($[20] !== collectionConfig || $[21] !== relatedToMany || $[22] !== toggleDrawer) {
t11 = () => {
if (relatedToMany && collectionConfig) {
toggleDrawer();
setSelectedCollection(undefined);
}
};
t12 = [toggleDrawer, relatedToMany, collectionConfig];
$[20] = collectionConfig;
$[21] = relatedToMany;
$[22] = toggleDrawer;
$[23] = t11;
$[24] = t12;
} else {
t11 = $[23];
t12 = $[24];
}
useEffect(t11, t12);
let t13;
let t14;
if ($[25] !== isDrawerOpen || $[26] !== relatedToMany) {
t13 = () => {
if (relatedToMany && !isDrawerOpen) {
setCollectionConfig(undefined);
}
};
t14 = [isDrawerOpen, relatedToMany];
$[25] = isDrawerOpen;
$[26] = relatedToMany;
$[27] = t13;
$[28] = t14;
} else {
t13 = $[27];
t14 = $[28];
}
useEffect(t13, t14);
const t15 = relatedCollections[0]?.labels.singular;
let t16;
let t17;
if ($[29] !== ButtonFromProps || $[30] !== DocumentDrawer || $[31] !== DocumentDrawerToggler || $[32] !== collectionConfig || $[33] !== i18n || $[34] !== onSave || $[35] !== path || $[36] !== permissions || $[37] !== popupOpen || $[38] !== relatedCollections || $[39] !== show || $[40] !== showTooltip || $[41] !== t || $[42] !== t15 || $[43] !== unstyled) {
t17 = Symbol.for("react.early_return_sentinel");
bb0: {
const label = t("fields:addNewLabel", {
label: getTranslation(t15, i18n)
});
if (!show) {
t17 = null;
break bb0;
}
t16 = _jsxs("div", {
className: baseClass,
id: `${path}-add-new`,
children: [relatedCollections.length === 1 && _jsxs(Fragment, {
children: [_jsx(DocumentDrawerToggler, {
className: [`${baseClass}__add-button`, unstyled && `${baseClass}__add-button--unstyled`].filter(Boolean).join(" "),
onClick: () => {
setShowTooltip(false);
},
onMouseEnter: () => setShowTooltip(true),
onMouseLeave: () => setShowTooltip(false),
children: ButtonFromProps ? ButtonFromProps : _jsxs(Fragment, {
children: [_jsx(Tooltip, {
className: `${baseClass}__tooltip`,
show: showTooltip,
children: label
}), _jsx(PlusIcon, {})]
})
}), _jsx(DocumentDrawer, {
onSave
})]
}), relatedCollections.length > 1 && _jsxs(Fragment, {
children: [_jsx(Popup, {
button: ButtonFromProps ? ButtonFromProps : _jsx(Button, {
buttonStyle: "none",
className: `${baseClass}__add-button`,
tooltip: popupOpen ? undefined : t("fields:addNew"),
children: _jsx(PlusIcon, {})
}),
buttonType: "custom",
horizontalAlign: "center",
onToggleOpen: onPopupToggle,
render: t18 => {
const {
close: closePopup
} = t18;
return _jsx(PopupList.ButtonGroup, {
children: relatedCollections.map(relatedCollection => {
if (permissions.collections[relatedCollection?.slug]?.create) {
return _jsx(PopupList.Button, {
className: `${baseClass}__relation-button--${relatedCollection?.slug}`,
onClick: () => {
closePopup();
setSelectedCollection(relatedCollection?.slug);
},
children: getTranslation(relatedCollection?.labels?.singular, i18n)
}, relatedCollection?.slug);
}
return null;
})
});
},
size: "medium"
}), collectionConfig && permissions.collections[collectionConfig?.slug]?.create && _jsx(DocumentDrawer, {
onSave
})]
})]
});
}
$[29] = ButtonFromProps;
$[30] = DocumentDrawer;
$[31] = DocumentDrawerToggler;
$[32] = collectionConfig;
$[33] = i18n;
$[34] = onSave;
$[35] = path;
$[36] = permissions;
$[37] = popupOpen;
$[38] = relatedCollections;
$[39] = show;
$[40] = showTooltip;
$[41] = t;
$[42] = t15;
$[43] = unstyled;
$[44] = t16;
$[45] = t17;
} else {
t16 = $[44];
t17 = $[45];
}
if (t17 !== Symbol.for("react.early_return_sentinel")) {
return t17;
}
return t16;
};
//# sourceMappingURL=index.js.map