Files
klz-cables.com/.pnpm-store/v10/files/e4/d84ea89fbdf408842e0605ac2669db5779759416d0d66fa8fe56f521560b951ba4cc6eec19d28a5866b36e7ad7bc71dea9c5763698975eca7ed51335bab58d
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

315 lines
13 KiB
Plaintext

'use client';
import { c as _c } from "react/compiler-runtime";
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
import { getTranslation } from '@payloadcms/translations';
import { formatAdminURL, hasAutosaveEnabled, hasDraftsEnabled } from 'payload/shared';
import React, { Fragment, useEffect } from 'react';
import { useFormInitializing, useFormProcessing } from '../../forms/Form/context.js';
import { useConfig } from '../../providers/Config/index.js';
import { useEditDepth } from '../../providers/EditDepth/index.js';
import { useLivePreviewContext } from '../../providers/LivePreview/context.js';
import { useTranslation } from '../../providers/Translation/index.js';
import { formatDate } from '../../utilities/formatDocTitle/formatDateTitle.js';
import { Autosave } from '../Autosave/index.js';
import { Button } from '../Button/index.js';
import { CopyLocaleData } from '../CopyLocaleData/index.js';
import { DeleteDocument } from '../DeleteDocument/index.js';
import { DuplicateDocument } from '../DuplicateDocument/index.js';
import { MoveDocToFolder } from '../FolderView/MoveDocToFolder/index.js';
import { Gutter } from '../Gutter/index.js';
import { LivePreviewToggler } from '../LivePreview/Toggler/index.js';
import { Locked } from '../Locked/index.js';
import { PermanentlyDeleteButton } from '../PermanentlyDeleteButton/index.js';
import { Popup, PopupList } from '../Popup/index.js';
import { PreviewButton } from '../PreviewButton/index.js';
import { PublishButton } from '../PublishButton/index.js';
import { RenderCustomComponent } from '../RenderCustomComponent/index.js';
import { RestoreButton } from '../RestoreButton/index.js';
import { SaveButton } from '../SaveButton/index.js';
import './index.scss';
import { SaveDraftButton } from '../SaveDraftButton/index.js';
import { Status } from '../Status/index.js';
import { UnpublishButton } from '../UnpublishButton/index.js';
const baseClass = 'doc-controls';
export const DocumentControls = props => {
const $ = _c(5);
const {
id,
slug,
BeforeDocumentControls,
customComponents: t0,
data,
disableActions,
disableCreate,
EditMenuItems,
hasSavePermission,
isAccountView,
isEditing,
isInDrawer,
isTrashed,
onDelete,
onDrawerCreateNew,
onDuplicate,
onRestore,
onTakeOver,
permissions,
readOnlyForIncomingUser,
redirectAfterDelete,
redirectAfterDuplicate,
redirectAfterRestore,
user
} = props;
const {
PreviewButton: CustomPreviewButton,
PublishButton: CustomPublishButton,
SaveButton: CustomSaveButton,
SaveDraftButton: CustomSaveDraftButton,
Status: CustomStatus,
UnpublishButton: CustomUnpublishButton
} = t0 === undefined ? {} : t0;
const {
i18n,
t
} = useTranslation();
const editDepth = useEditDepth();
const {
config,
getEntityConfig
} = useConfig();
const collectionConfig = getEntityConfig({
collectionSlug: slug
});
const globalConfig = getEntityConfig({
globalSlug: slug
});
const {
isLivePreviewEnabled
} = useLivePreviewContext();
const {
admin: t1,
localization,
routes: t2
} = config;
const {
dateFormat
} = t1;
const {
admin: adminRoute
} = t2;
const [updatedAt, setUpdatedAt] = React.useState("");
const [createdAt, setCreatedAt] = React.useState("");
const processing = useFormProcessing();
const initializing = useFormInitializing();
let t3;
let t4;
if ($[0] !== data || $[1] !== dateFormat || $[2] !== i18n) {
t3 = () => {
if (data?.updatedAt) {
setUpdatedAt(formatDate({
date: data.updatedAt,
i18n,
pattern: dateFormat
}));
}
if (data?.createdAt) {
setCreatedAt(formatDate({
date: data.createdAt,
i18n,
pattern: dateFormat
}));
}
};
t4 = [data, i18n, dateFormat];
$[0] = data;
$[1] = dateFormat;
$[2] = i18n;
$[3] = t3;
$[4] = t4;
} else {
t3 = $[3];
t4 = $[4];
}
useEffect(t3, t4);
const hasCreatePermission = permissions && "create" in permissions && permissions.create;
const hasDeletePermission = permissions && "delete" in permissions && permissions.delete;
const showDotMenu = Boolean(collectionConfig && id && !disableActions && (hasCreatePermission || hasDeletePermission));
const unsavedDraftWithValidations = !id && collectionConfig?.versions?.drafts && collectionConfig.versions?.drafts.validate;
const globalHasDraftsEnabled = hasDraftsEnabled(globalConfig);
const collectionHasDraftsEnabled = hasDraftsEnabled(collectionConfig);
const collectionAutosaveEnabled = hasAutosaveEnabled(collectionConfig);
const globalAutosaveEnabled = hasAutosaveEnabled(globalConfig);
const autosaveEnabled = collectionAutosaveEnabled || globalAutosaveEnabled;
const showSaveDraftButton = collectionAutosaveEnabled && collectionConfig.versions.drafts.autosave !== false && collectionConfig.versions.drafts.autosave.showSaveDraftButton === true || globalAutosaveEnabled && globalConfig.versions.drafts.autosave !== false && globalConfig.versions.drafts.autosave.showSaveDraftButton === true;
const showCopyToLocale = localization && !collectionConfig?.admin?.disableCopyToLocale;
const showFolderMetaIcon = collectionConfig && collectionConfig.folders;
const showLockedMetaIcon = user && readOnlyForIncomingUser;
return _jsxs(Gutter, {
className: baseClass,
children: [_jsxs("div", {
className: `${baseClass}__wrapper`,
children: [_jsxs("div", {
className: `${baseClass}__content`,
children: [showLockedMetaIcon || showFolderMetaIcon ? _jsxs("div", {
className: `${baseClass}__meta-icons`,
children: [showLockedMetaIcon && _jsx(Locked, {
className: `${baseClass}__locked-controls`,
user
}), showFolderMetaIcon && config.folders && !isTrashed && _jsx(MoveDocToFolder, {
folderCollectionSlug: config.folders.slug,
folderFieldName: config.folders.fieldName
})]
}) : null, _jsxs("ul", {
className: `${baseClass}__meta`,
children: [collectionConfig && !isEditing && !isAccountView && _jsx("li", {
className: `${baseClass}__list-item`,
children: _jsx("p", {
className: `${baseClass}__value`,
children: i18n.t("general:creatingNewLabel", {
label: getTranslation(collectionConfig?.labels?.singular ?? i18n.t("general:document"), i18n)
})
})
}), (collectionHasDraftsEnabled || globalHasDraftsEnabled) && _jsxs(Fragment, {
children: [(globalConfig || collectionConfig && isEditing) && _jsx("li", {
className: [`${baseClass}__status`, `${baseClass}__list-item`].filter(Boolean).join(" "),
children: _jsx(RenderCustomComponent, {
CustomComponent: CustomStatus,
Fallback: _jsx(Status, {})
})
}), hasSavePermission && autosaveEnabled && !unsavedDraftWithValidations && !isTrashed && _jsx("li", {
className: `${baseClass}__list-item`,
children: _jsx(Autosave, {
collection: collectionConfig,
global: globalConfig,
id,
publishedDocUpdatedAt: data?.createdAt
})
})]
}), collectionConfig?.timestamps && (isEditing || isAccountView) && _jsxs(Fragment, {
children: [_jsxs("li", {
className: [`${baseClass}__list-item`, `${baseClass}__value-wrap`].filter(Boolean).join(" "),
title: data?.updatedAt ? updatedAt : "",
children: [_jsxs("p", {
className: `${baseClass}__label`,
children: [i18n.t(isTrashed ? "general:deleted" : "general:lastModified"), ":\xA0"]
}), data?.updatedAt && _jsx("p", {
className: `${baseClass}__value`,
children: updatedAt
})]
}), _jsxs("li", {
className: [`${baseClass}__list-item`, `${baseClass}__value-wrap`].filter(Boolean).join(" "),
title: data?.createdAt ? createdAt : "",
children: [_jsxs("p", {
className: `${baseClass}__label`,
children: [i18n.t("general:created"), ":\xA0"]
}), data?.createdAt && _jsx("p", {
className: `${baseClass}__value`,
children: createdAt
})]
})]
})]
})]
}), _jsxs("div", {
className: `${baseClass}__controls-wrapper`,
children: [_jsxs("div", {
className: `${baseClass}__controls`,
children: [BeforeDocumentControls, isLivePreviewEnabled && !isInDrawer && _jsx(LivePreviewToggler, {}), (collectionConfig?.admin.preview || globalConfig?.admin.preview) && _jsx(RenderCustomComponent, {
CustomComponent: CustomPreviewButton,
Fallback: _jsx(PreviewButton, {})
}), hasSavePermission && !isTrashed && _jsx(Fragment, {
children: collectionHasDraftsEnabled || globalHasDraftsEnabled ? _jsxs(Fragment, {
children: [(unsavedDraftWithValidations || !autosaveEnabled || autosaveEnabled && showSaveDraftButton) && _jsx(RenderCustomComponent, {
CustomComponent: CustomSaveDraftButton,
Fallback: _jsx(SaveDraftButton, {})
}), _jsx(RenderCustomComponent, {
CustomComponent: CustomPublishButton,
Fallback: _jsx(PublishButton, {})
})]
}) : _jsx(RenderCustomComponent, {
CustomComponent: CustomSaveButton,
Fallback: _jsx(SaveButton, {})
})
}), hasDeletePermission && isTrashed && _jsx(PermanentlyDeleteButton, {
buttonId: "action-permanently-delete",
collectionSlug: collectionConfig?.slug,
id: id.toString(),
onDelete,
redirectAfterDelete,
singularLabel: collectionConfig?.labels?.singular
}), hasSavePermission && isTrashed && _jsx(RestoreButton, {
buttonId: "action-restore",
collectionSlug: collectionConfig?.slug,
id: id.toString(),
onRestore,
redirectAfterRestore,
singularLabel: collectionConfig?.labels?.singular
}), user && readOnlyForIncomingUser && _jsx(Button, {
buttonStyle: "secondary",
id: "take-over",
onClick: onTakeOver,
size: "medium",
type: "button",
children: t("general:takeOver")
})]
}), showDotMenu && !readOnlyForIncomingUser && _jsx(Popup, {
button: _jsxs("div", {
className: `${baseClass}__dots`,
children: [_jsx("div", {}), _jsx("div", {}), _jsx("div", {})]
}),
className: `${baseClass}__popup`,
disabled: initializing || processing,
horizontalAlign: "right",
size: "large",
verticalAlign: "bottom",
children: _jsxs(PopupList.ButtonGroup, {
children: [showCopyToLocale && _jsx(CopyLocaleData, {}), hasCreatePermission && _jsxs(React.Fragment, {
children: [!disableCreate && _jsx(Fragment, {
children: editDepth > 1 ? _jsx(PopupList.Button, {
id: "action-create",
onClick: onDrawerCreateNew,
children: i18n.t("general:createNew")
}) : _jsx(PopupList.Button, {
href: formatAdminURL({
adminRoute,
path: `/collections/${collectionConfig?.slug}/create`
}),
id: "action-create",
children: i18n.t("general:createNew")
})
}), collectionConfig.disableDuplicate !== true && isEditing && _jsxs(_Fragment, {
children: [_jsx(DuplicateDocument, {
id,
onDuplicate,
redirectAfterDuplicate,
singularLabel: collectionConfig?.labels?.singular,
slug: collectionConfig?.slug
}), localization && _jsx(DuplicateDocument, {
id,
onDuplicate,
redirectAfterDuplicate,
selectLocales: true,
singularLabel: collectionConfig?.labels?.singular,
slug: collectionConfig?.slug
})]
})]
}), hasDeletePermission && _jsx(DeleteDocument, {
buttonId: "action-delete",
collectionSlug: collectionConfig?.slug,
id: id.toString(),
onDelete,
redirectAfterDelete,
singularLabel: collectionConfig?.labels?.singular,
useAsTitle: collectionConfig?.admin?.useAsTitle
}), _jsx(RenderCustomComponent, {
CustomComponent: CustomUnpublishButton,
Fallback: _jsx(UnpublishButton, {})
}), EditMenuItems]
})
})]
})]
}), _jsx("div", {
className: `${baseClass}__divider`
})]
});
};
//# sourceMappingURL=index.js.map