@strapi/content-manager 5.19.0 → 5.21.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/admin/components/Widgets.js +4 -5
- package/dist/admin/components/Widgets.js.map +1 -1
- package/dist/admin/components/Widgets.mjs +5 -6
- package/dist/admin/components/Widgets.mjs.map +1 -1
- package/dist/admin/hooks/useDocumentActions.js +0 -3
- package/dist/admin/hooks/useDocumentActions.js.map +1 -1
- package/dist/admin/hooks/useDocumentActions.mjs +1 -4
- package/dist/admin/hooks/useDocumentActions.mjs.map +1 -1
- package/dist/admin/index.js +43 -24
- package/dist/admin/index.js.map +1 -1
- package/dist/admin/index.mjs +44 -25
- package/dist/admin/index.mjs.map +1 -1
- package/dist/admin/layout.js +1 -27
- package/dist/admin/layout.js.map +1 -1
- package/dist/admin/layout.mjs +2 -9
- package/dist/admin/layout.mjs.map +1 -1
- package/dist/admin/pages/EditView/EditViewPage.js +2 -2
- package/dist/admin/pages/EditView/EditViewPage.js.map +1 -1
- package/dist/admin/pages/EditView/EditViewPage.mjs +3 -3
- package/dist/admin/pages/EditView/EditViewPage.mjs.map +1 -1
- package/dist/admin/pages/EditView/components/DocumentActions.js +2 -2
- package/dist/admin/pages/EditView/components/DocumentActions.js.map +1 -1
- package/dist/admin/pages/EditView/components/DocumentActions.mjs +3 -3
- package/dist/admin/pages/EditView/components/DocumentActions.mjs.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/Relations/Relations.js +4 -1
- package/dist/admin/pages/EditView/components/FormInputs/Relations/Relations.js.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/Relations/Relations.mjs +4 -1
- package/dist/admin/pages/EditView/components/FormInputs/Relations/Relations.mjs.map +1 -1
- package/dist/admin/pages/ListView/ListViewPage.js +2 -2
- package/dist/admin/pages/ListView/ListViewPage.js.map +1 -1
- package/dist/admin/pages/ListView/ListViewPage.mjs +3 -3
- package/dist/admin/pages/ListView/ListViewPage.mjs.map +1 -1
- package/dist/admin/pages/ListView/components/BulkActions/PublishAction.js +12 -2
- package/dist/admin/pages/ListView/components/BulkActions/PublishAction.js.map +1 -1
- package/dist/admin/pages/ListView/components/BulkActions/PublishAction.mjs +12 -2
- package/dist/admin/pages/ListView/components/BulkActions/PublishAction.mjs.map +1 -1
- package/dist/admin/pages/ListView/components/Filters.js +3 -1
- package/dist/admin/pages/ListView/components/Filters.js.map +1 -1
- package/dist/admin/pages/ListView/components/Filters.mjs +3 -1
- package/dist/admin/pages/ListView/components/Filters.mjs.map +1 -1
- package/dist/admin/preview/components/PreviewSidePanel.js +31 -4
- package/dist/admin/preview/components/PreviewSidePanel.js.map +1 -1
- package/dist/admin/preview/components/PreviewSidePanel.mjs +32 -5
- package/dist/admin/preview/components/PreviewSidePanel.mjs.map +1 -1
- package/dist/admin/preview/pages/Preview.js +16 -3
- package/dist/admin/preview/pages/Preview.js.map +1 -1
- package/dist/admin/preview/pages/Preview.mjs +16 -3
- package/dist/admin/preview/pages/Preview.mjs.map +1 -1
- package/dist/admin/services/homepage.js +2 -11
- package/dist/admin/services/homepage.js.map +1 -1
- package/dist/admin/services/homepage.mjs +3 -11
- package/dist/admin/services/homepage.mjs.map +1 -1
- package/dist/admin/src/history/services/historyVersion.d.ts +1 -1
- package/dist/admin/src/preview/services/preview.d.ts +1 -1
- package/dist/admin/src/services/api.d.ts +1 -1
- package/dist/admin/src/services/components.d.ts +2 -2
- package/dist/admin/src/services/contentTypes.d.ts +3 -3
- package/dist/admin/src/services/documents.d.ts +16 -16
- package/dist/admin/src/services/homepage.d.ts +2 -6
- package/dist/admin/src/services/init.d.ts +1 -1
- package/dist/admin/src/services/relations.d.ts +2 -2
- package/dist/admin/src/services/uid.d.ts +3 -3
- package/dist/admin/src/utils/api.d.ts +1 -1
- package/dist/admin/translations/en.json.js +1 -0
- package/dist/admin/translations/en.json.js.map +1 -1
- package/dist/admin/translations/en.json.mjs +1 -0
- package/dist/admin/translations/en.json.mjs.map +1 -1
- package/dist/admin/utils/api.js +1 -1
- package/dist/admin/utils/api.js.map +1 -1
- package/dist/admin/utils/api.mjs +1 -1
- package/dist/admin/utils/api.mjs.map +1 -1
- package/dist/admin/utils/validation.js +2 -1
- package/dist/admin/utils/validation.js.map +1 -1
- package/dist/admin/utils/validation.mjs +2 -1
- package/dist/admin/utils/validation.mjs.map +1 -1
- package/dist/server/history/services/lifecycles.js +20 -19
- package/dist/server/history/services/lifecycles.js.map +1 -1
- package/dist/server/history/services/lifecycles.mjs +20 -19
- package/dist/server/history/services/lifecycles.mjs.map +1 -1
- package/dist/server/homepage/services/homepage.js +2 -2
- package/dist/server/homepage/services/homepage.js.map +1 -1
- package/dist/server/homepage/services/homepage.mjs +2 -2
- package/dist/server/homepage/services/homepage.mjs.map +1 -1
- package/dist/server/preview/services/preview-config.js +5 -1
- package/dist/server/preview/services/preview-config.js.map +1 -1
- package/dist/server/preview/services/preview-config.mjs +5 -1
- package/dist/server/preview/services/preview-config.mjs.map +1 -1
- package/dist/server/preview/services/preview.js +4 -0
- package/dist/server/preview/services/preview.js.map +1 -1
- package/dist/server/preview/services/preview.mjs +4 -0
- package/dist/server/preview/services/preview.mjs.map +1 -1
- package/dist/server/src/history/services/lifecycles.d.ts.map +1 -1
- package/dist/server/src/homepage/services/homepage.d.ts.map +1 -1
- package/dist/server/src/preview/services/index.d.ts +1 -0
- package/dist/server/src/preview/services/index.d.ts.map +1 -1
- package/dist/server/src/preview/services/preview-config.d.ts +1 -0
- package/dist/server/src/preview/services/preview-config.d.ts.map +1 -1
- package/dist/server/src/preview/services/preview.d.ts.map +1 -1
- package/dist/server/src/preview/utils.d.ts +1 -0
- package/dist/server/src/preview/utils.d.ts.map +1 -1
- package/package.json +5 -6
@@ -31,10 +31,9 @@ function _interopNamespaceDefault(e) {
|
|
31
31
|
|
32
32
|
var React__namespace = /*#__PURE__*/_interopNamespaceDefault(React);
|
33
33
|
|
34
|
-
const CellTypography = styledComponents.styled(designSystem.Typography)
|
35
|
-
|
36
|
-
|
37
|
-
})`
|
34
|
+
const CellTypography = styledComponents.styled(designSystem.Typography)`
|
35
|
+
display: block;
|
36
|
+
max-width: 14.4rem;
|
38
37
|
overflow: hidden;
|
39
38
|
text-overflow: ellipsis;
|
40
39
|
white-space: nowrap;
|
@@ -354,7 +353,7 @@ const DonutChartSVG = ({ data })=>{
|
|
354
353
|
};
|
355
354
|
const ChartEntriesWidget = ()=>{
|
356
355
|
const { formatMessage } = reactIntl.useIntl();
|
357
|
-
const { data: countDocuments, isLoading, error } =
|
356
|
+
const { data: countDocuments, isLoading, error } = strapiAdmin.useGetCountDocumentsQuery();
|
358
357
|
if (isLoading) {
|
359
358
|
return /*#__PURE__*/ jsxRuntime.jsx(strapiAdmin.Widget.Loading, {});
|
360
359
|
}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"Widgets.js","sources":["../../../admin/src/components/Widgets.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport { Widget, useTracking } from '@strapi/admin/strapi-admin';\nimport {\n Box,\n Flex,\n IconButton,\n Table,\n Tbody,\n Td,\n Tr,\n Typography,\n Portal,\n} from '@strapi/design-system';\nimport { Pencil } from '@strapi/icons';\nimport { useIntl } from 'react-intl';\nimport { Link, useNavigate } from 'react-router-dom';\nimport { styled, DefaultTheme } from 'styled-components';\n\nimport { DocumentStatus } from '../pages/EditView/components/DocumentStatus';\nimport { useGetRecentDocumentsQuery, useGetCountDocumentsQuery } from '../services/homepage';\n\nimport { RelativeTime } from './RelativeTime';\n\nimport type { RecentDocument } from '../../../shared/contracts/homepage';\n\nconst CellTypography = styled(Typography).attrs({ maxWidth: '14.4rem', display: 'block' })`\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n`;\n\nconst RecentDocumentsTable = ({ documents }: { documents: RecentDocument[] }) => {\n const { formatMessage } = useIntl();\n const { trackUsage } = useTracking();\n const navigate = useNavigate();\n\n const getEditViewLink = (document: RecentDocument): string => {\n const isSingleType = document.kind === 'singleType';\n const kindPath = isSingleType ? 'single-types' : 'collection-types';\n const queryParams = document.locale ? `?plugins[i18n][locale]=${document.locale}` : '';\n\n return `/content-manager/${kindPath}/${document.contentTypeUid}${isSingleType ? '' : '/' + document.documentId}${queryParams}`;\n };\n\n const handleRowClick = (document: RecentDocument) => () => {\n trackUsage('willEditEntryFromHome');\n const link = getEditViewLink(document);\n navigate(link);\n };\n\n return (\n <Table colCount={5} rowCount={documents?.length ?? 0}>\n <Tbody>\n {documents?.map((document) => (\n <Tr onClick={handleRowClick(document)} cursor=\"pointer\" key={document.documentId}>\n <Td>\n <CellTypography title={document.title} variant=\"omega\" textColor=\"neutral800\">\n {document.title}\n </CellTypography>\n </Td>\n <Td>\n <CellTypography variant=\"omega\" textColor=\"neutral600\">\n {document.kind === 'singleType'\n ? formatMessage({\n id: 'content-manager.widget.last-edited.single-type',\n defaultMessage: 'Single-Type',\n })\n : formatMessage({\n id: document.contentTypeDisplayName,\n defaultMessage: document.contentTypeDisplayName,\n })}\n </CellTypography>\n </Td>\n <Td>\n <Box display=\"inline-block\">\n {document.status ? (\n <DocumentStatus status={document.status} />\n ) : (\n <Typography textColor=\"neutral600\" aria-hidden>\n -\n </Typography>\n )}\n </Box>\n </Td>\n <Td>\n <Typography textColor=\"neutral600\">\n <RelativeTime timestamp={new Date(document.updatedAt)} />\n </Typography>\n </Td>\n <Td onClick={(e) => e.stopPropagation()}>\n <Box display=\"inline-block\">\n <IconButton\n tag={Link}\n to={getEditViewLink(document)}\n onClick={() => trackUsage('willEditEntryFromHome')}\n label={formatMessage({\n id: 'content-manager.actions.edit.label',\n defaultMessage: 'Edit',\n })}\n variant=\"ghost\"\n >\n <Pencil />\n </IconButton>\n </Box>\n </Td>\n </Tr>\n ))}\n </Tbody>\n </Table>\n );\n};\n\n/* -------------------------------------------------------------------------------------------------\n * LastEditedWidget\n * -----------------------------------------------------------------------------------------------*/\n\nconst LastEditedWidget = () => {\n const { formatMessage } = useIntl();\n const { data, isLoading, error } = useGetRecentDocumentsQuery({ action: 'update' });\n\n if (isLoading) {\n return <Widget.Loading />;\n }\n\n if (error || !data) {\n return <Widget.Error />;\n }\n\n if (data.length === 0) {\n return (\n <Widget.NoData>\n {formatMessage({\n id: 'content-manager.widget.last-edited.no-data',\n defaultMessage: 'No edited entries',\n })}\n </Widget.NoData>\n );\n }\n\n return <RecentDocumentsTable documents={data} />;\n};\n\n/* -------------------------------------------------------------------------------------------------\n * LastPublishedWidget\n * -----------------------------------------------------------------------------------------------*/\n\nconst LastPublishedWidget = () => {\n const { formatMessage } = useIntl();\n const { data, isLoading, error } = useGetRecentDocumentsQuery({ action: 'publish' });\n\n if (isLoading) {\n return <Widget.Loading />;\n }\n\n if (error || !data) {\n return <Widget.Error />;\n }\n\n if (data.length === 0) {\n return (\n <Widget.NoData>\n {formatMessage({\n id: 'content-manager.widget.last-published.no-data',\n defaultMessage: 'No published entries',\n })}\n </Widget.NoData>\n );\n }\n\n return <RecentDocumentsTable documents={data} />;\n};\n\n/* -------------------------------------------------------------------------------------------------\n * ChartEntriesWidget\n * -----------------------------------------------------------------------------------------------*/\nconst RADIUS = 80;\nconst STROKE = 10;\nconst CIRCUMFERENCE = 2 * Math.PI * (RADIUS - STROKE / 2);\n\ntype ThemeColor = keyof DefaultTheme['colors'];\n\nconst ArcChart = styled.circle<{ $arcColor: ThemeColor }>`\n stroke: ${({ theme, $arcColor }) => theme.colors[$arcColor]};\n`;\n\nconst TextChart = styled.tspan<{ $textColor: ThemeColor }>`\n text-transform: lowercase;\n fill: ${({ theme, $textColor }) => theme.colors[$textColor]};\n`;\n\nconst KeyChartItem = styled(Flex)`\n width: 100%;\n\n ${({ theme }) => theme.breakpoints.small} {\n width: auto;\n }\n`;\n\ninterface ChartData {\n label: string;\n count: number;\n color: ThemeColor;\n}\n\nconst DonutChartSVG = ({ data }: { data: ChartData[] }) => {\n const { locale } = useIntl();\n const { formatMessage } = useIntl();\n const total = data.reduce((acc, curr) => acc + curr.count, 0);\n const [tooltip, setTooltip] = React.useState<{\n visible: boolean;\n x: number;\n y: number;\n value: ChartData | null;\n isTouch?: boolean;\n }>({ visible: false, x: 0, y: 0, value: null });\n\n let cumulativePercent = 0;\n\n const handleMouseOver = (e: React.MouseEvent<SVGCircleElement>, value: ChartData) => {\n setTooltip({\n visible: true,\n x: e.clientX,\n y: e.clientY,\n value,\n });\n };\n const handleMouseOut = () => {\n setTooltip((t) => ({ ...t, visible: false }));\n };\n\n const handleFocus = (e: React.FocusEvent<SVGCircleElement>, value: ChartData) => {\n setTooltip({\n visible: true,\n x:\n e.currentTarget.getBoundingClientRect().width / 2 +\n e.currentTarget.getBoundingClientRect().left,\n y:\n e.currentTarget.getBoundingClientRect().height +\n e.currentTarget.getBoundingClientRect().top,\n value,\n });\n };\n\n return (\n <Flex direction=\"column\" gap={6} margin=\"auto\">\n <svg\n width={RADIUS * 2}\n height={RADIUS * 2}\n viewBox={`0 0 ${RADIUS * 2} ${RADIUS * 2}`}\n style={{ position: 'relative', zIndex: 1 }}\n >\n <g transform={`rotate(-90 ${RADIUS} ${RADIUS})`}>\n {data.map((value) => {\n const percent = (value.count / total) * 100;\n const arcLength = (percent / 100) * CIRCUMFERENCE;\n const dashArray = `${arcLength} ${CIRCUMFERENCE - arcLength}`;\n const dashOffset = CIRCUMFERENCE * (1 - cumulativePercent / 100);\n const el = (\n <ArcChart\n key={value.label}\n cx={RADIUS}\n cy={RADIUS}\n r={RADIUS - STROKE / 2}\n fill=\"none\"\n strokeWidth={STROKE}\n strokeDasharray={dashArray}\n strokeDashoffset={dashOffset}\n style={{ transition: 'stroke-dashoffset 0.3s', cursor: 'pointer' }}\n tabIndex={0}\n aria-describedby={tooltip.visible ? 'chart-tooltip' : undefined}\n onFocus={(e) => handleFocus(e, value)}\n onBlur={handleMouseOut}\n onMouseMove={(e) => handleMouseOver(e, value)}\n onMouseLeave={handleMouseOut}\n $arcColor={value.color}\n />\n );\n cumulativePercent += percent;\n return el;\n })}\n </g>\n <text x={RADIUS} y={RADIUS} textAnchor=\"middle\" fontSize=\"2.4rem\" fontWeight=\"bold\">\n <TextChart x={RADIUS} dy=\"0\" $textColor=\"neutral800\">\n {new Intl.NumberFormat(locale, {\n notation: 'compact',\n maximumFractionDigits: 1,\n }).format(total)}\n </TextChart>\n <TextChart\n x={RADIUS}\n dy=\"1.4em\"\n fontSize=\"1.4rem\"\n fontWeight=\"normal\"\n $textColor=\"neutral600\"\n >\n {formatMessage({\n id: 'content-manager.widget.chart-entries.title',\n defaultMessage: 'entries',\n })}\n </TextChart>\n </text>\n </svg>\n {tooltip.visible && tooltip.value && (\n <Portal\n style={{\n position: 'fixed',\n left: 16,\n top: 16,\n zIndex: 2,\n transform: `translate(${tooltip.x}px, ${tooltip.y}px)`,\n }}\n data-testid=\"entries-chart-tooltip\"\n >\n <Box\n background=\"neutral900\"\n padding={2}\n borderRadius={1}\n textAlign=\"center\"\n role=\"tooltip\"\n aria-live=\"polite\"\n >\n <Typography textColor=\"neutral0\">\n {formatMessage(\n {\n id: 'content-manager.widget.chart-entries.tooltip',\n defaultMessage: '{count} items',\n },\n {\n count: tooltip.value.count,\n label: tooltip.value.label,\n }\n )}\n </Typography>\n </Box>\n </Portal>\n )}\n <Flex gap={4} wrap=\"wrap\">\n {data.map(\n (value) =>\n value.count > 0 && (\n <KeyChartItem gap={1} key={value.label}>\n <Box background={value.color} padding={2} borderRadius={1} />\n <Typography variant=\"pi\">{value.label}</Typography>\n </KeyChartItem>\n )\n )}\n </Flex>\n </Flex>\n );\n};\n\nconst ChartEntriesWidget = () => {\n const { formatMessage } = useIntl();\n const { data: countDocuments, isLoading, error } = useGetCountDocumentsQuery();\n\n if (isLoading) {\n return <Widget.Loading />;\n }\n\n if (error) {\n return <Widget.Error />;\n }\n\n const { draft, published, modified } = countDocuments ?? {\n draft: 0,\n published: 0,\n modified: 0,\n };\n\n const total = draft + published + modified;\n\n if (!total) {\n return (\n <Widget.NoData>\n {formatMessage({\n id: 'content-manager.widget.last-published.no-data',\n defaultMessage: 'No published entries',\n })}\n </Widget.NoData>\n );\n }\n\n return (\n <Flex minHeight=\"100%\">\n <DonutChartSVG\n data={[\n {\n label: formatMessage({\n id: 'content-manager.containers.List.draft',\n defaultMessage: 'Draft',\n }),\n count: draft,\n color: 'secondary500',\n },\n {\n label: formatMessage({\n id: 'content-manager.containers.List.modified',\n defaultMessage: 'Modified',\n }),\n count: modified,\n color: 'alternative500',\n },\n {\n label: formatMessage({\n id: 'content-manager.containers.List.published',\n defaultMessage: 'Published',\n }),\n count: published,\n color: 'success500',\n },\n ]}\n />\n </Flex>\n );\n};\n\nexport { ChartEntriesWidget, LastEditedWidget, LastPublishedWidget };\n"],"names":["CellTypography","styled","Typography","attrs","maxWidth","display","RecentDocumentsTable","documents","formatMessage","useIntl","trackUsage","useTracking","navigate","useNavigate","getEditViewLink","document","isSingleType","kind","kindPath","queryParams","locale","contentTypeUid","documentId","handleRowClick","link","_jsx","Table","colCount","rowCount","length","Tbody","map","_jsxs","Tr","onClick","cursor","Td","title","variant","textColor","id","defaultMessage","contentTypeDisplayName","Box","status","DocumentStatus","aria-hidden","RelativeTime","timestamp","Date","updatedAt","e","stopPropagation","IconButton","tag","Link","to","label","Pencil","LastEditedWidget","data","isLoading","error","useGetRecentDocumentsQuery","action","Widget","Loading","Error","NoData","LastPublishedWidget","RADIUS","STROKE","CIRCUMFERENCE","Math","PI","ArcChart","circle","theme","$arcColor","colors","TextChart","tspan","$textColor","KeyChartItem","Flex","breakpoints","small","DonutChartSVG","total","reduce","acc","curr","count","tooltip","setTooltip","React","useState","visible","x","y","value","cumulativePercent","handleMouseOver","clientX","clientY","handleMouseOut","t","handleFocus","currentTarget","getBoundingClientRect","width","left","height","top","direction","gap","margin","svg","viewBox","style","position","zIndex","g","transform","percent","arcLength","dashArray","dashOffset","el","cx","cy","r","fill","strokeWidth","strokeDasharray","strokeDashoffset","transition","tabIndex","aria-describedby","undefined","onFocus","onBlur","onMouseMove","onMouseLeave","color","text","textAnchor","fontSize","fontWeight","dy","Intl","NumberFormat","notation","maximumFractionDigits","format","Portal","data-testid","background","padding","borderRadius","textAlign","role","aria-live","wrap","ChartEntriesWidget","countDocuments","useGetCountDocumentsQuery","draft","published","modified","minHeight"],"mappings":"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"}
|
1
|
+
{"version":3,"file":"Widgets.js","sources":["../../../admin/src/components/Widgets.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport { Widget, useTracking, useGetCountDocumentsQuery } from '@strapi/admin/strapi-admin';\nimport {\n Box,\n Flex,\n IconButton,\n Table,\n Tbody,\n Td,\n Tr,\n Typography,\n Portal,\n} from '@strapi/design-system';\nimport { Pencil } from '@strapi/icons';\nimport { useIntl } from 'react-intl';\nimport { Link, useNavigate } from 'react-router-dom';\nimport { styled, DefaultTheme } from 'styled-components';\n\nimport { DocumentStatus } from '../pages/EditView/components/DocumentStatus';\nimport { useGetRecentDocumentsQuery } from '../services/homepage';\n\nimport { RelativeTime } from './RelativeTime';\n\nimport type { RecentDocument } from '../../../shared/contracts/homepage';\n\nconst CellTypography = styled(Typography)`\n display: block;\n max-width: 14.4rem;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n`;\n\nconst RecentDocumentsTable = ({ documents }: { documents: RecentDocument[] }) => {\n const { formatMessage } = useIntl();\n const { trackUsage } = useTracking();\n const navigate = useNavigate();\n\n const getEditViewLink = (document: RecentDocument): string => {\n const isSingleType = document.kind === 'singleType';\n const kindPath = isSingleType ? 'single-types' : 'collection-types';\n const queryParams = document.locale ? `?plugins[i18n][locale]=${document.locale}` : '';\n\n return `/content-manager/${kindPath}/${document.contentTypeUid}${isSingleType ? '' : '/' + document.documentId}${queryParams}`;\n };\n\n const handleRowClick = (document: RecentDocument) => () => {\n trackUsage('willEditEntryFromHome');\n const link = getEditViewLink(document);\n navigate(link);\n };\n\n return (\n <Table colCount={5} rowCount={documents?.length ?? 0}>\n <Tbody>\n {documents?.map((document) => (\n <Tr onClick={handleRowClick(document)} cursor=\"pointer\" key={document.documentId}>\n <Td>\n <CellTypography title={document.title} variant=\"omega\" textColor=\"neutral800\">\n {document.title}\n </CellTypography>\n </Td>\n <Td>\n <CellTypography variant=\"omega\" textColor=\"neutral600\">\n {document.kind === 'singleType'\n ? formatMessage({\n id: 'content-manager.widget.last-edited.single-type',\n defaultMessage: 'Single-Type',\n })\n : formatMessage({\n id: document.contentTypeDisplayName,\n defaultMessage: document.contentTypeDisplayName,\n })}\n </CellTypography>\n </Td>\n <Td>\n <Box display=\"inline-block\">\n {document.status ? (\n <DocumentStatus status={document.status} />\n ) : (\n <Typography textColor=\"neutral600\" aria-hidden>\n -\n </Typography>\n )}\n </Box>\n </Td>\n <Td>\n <Typography textColor=\"neutral600\">\n <RelativeTime timestamp={new Date(document.updatedAt)} />\n </Typography>\n </Td>\n <Td onClick={(e) => e.stopPropagation()}>\n <Box display=\"inline-block\">\n <IconButton\n tag={Link}\n to={getEditViewLink(document)}\n onClick={() => trackUsage('willEditEntryFromHome')}\n label={formatMessage({\n id: 'content-manager.actions.edit.label',\n defaultMessage: 'Edit',\n })}\n variant=\"ghost\"\n >\n <Pencil />\n </IconButton>\n </Box>\n </Td>\n </Tr>\n ))}\n </Tbody>\n </Table>\n );\n};\n\n/* -------------------------------------------------------------------------------------------------\n * LastEditedWidget\n * -----------------------------------------------------------------------------------------------*/\n\nconst LastEditedWidget = () => {\n const { formatMessage } = useIntl();\n const { data, isLoading, error } = useGetRecentDocumentsQuery({ action: 'update' });\n\n if (isLoading) {\n return <Widget.Loading />;\n }\n\n if (error || !data) {\n return <Widget.Error />;\n }\n\n if (data.length === 0) {\n return (\n <Widget.NoData>\n {formatMessage({\n id: 'content-manager.widget.last-edited.no-data',\n defaultMessage: 'No edited entries',\n })}\n </Widget.NoData>\n );\n }\n\n return <RecentDocumentsTable documents={data} />;\n};\n\n/* -------------------------------------------------------------------------------------------------\n * LastPublishedWidget\n * -----------------------------------------------------------------------------------------------*/\n\nconst LastPublishedWidget = () => {\n const { formatMessage } = useIntl();\n const { data, isLoading, error } = useGetRecentDocumentsQuery({ action: 'publish' });\n\n if (isLoading) {\n return <Widget.Loading />;\n }\n\n if (error || !data) {\n return <Widget.Error />;\n }\n\n if (data.length === 0) {\n return (\n <Widget.NoData>\n {formatMessage({\n id: 'content-manager.widget.last-published.no-data',\n defaultMessage: 'No published entries',\n })}\n </Widget.NoData>\n );\n }\n\n return <RecentDocumentsTable documents={data} />;\n};\n\n/* -------------------------------------------------------------------------------------------------\n * ChartEntriesWidget\n * -----------------------------------------------------------------------------------------------*/\nconst RADIUS = 80;\nconst STROKE = 10;\nconst CIRCUMFERENCE = 2 * Math.PI * (RADIUS - STROKE / 2);\n\ntype ThemeColor = keyof DefaultTheme['colors'];\n\nconst ArcChart = styled.circle<{ $arcColor: ThemeColor }>`\n stroke: ${({ theme, $arcColor }) => theme.colors[$arcColor]};\n`;\n\nconst TextChart = styled.tspan<{ $textColor: ThemeColor }>`\n text-transform: lowercase;\n fill: ${({ theme, $textColor }) => theme.colors[$textColor]};\n`;\n\nconst KeyChartItem = styled(Flex)`\n width: 100%;\n\n ${({ theme }) => theme.breakpoints.small} {\n width: auto;\n }\n`;\n\ninterface ChartData {\n label: string;\n count: number;\n color: ThemeColor;\n}\n\nconst DonutChartSVG = ({ data }: { data: ChartData[] }) => {\n const { locale } = useIntl();\n const { formatMessage } = useIntl();\n const total = data.reduce((acc, curr) => acc + curr.count, 0);\n const [tooltip, setTooltip] = React.useState<{\n visible: boolean;\n x: number;\n y: number;\n value: ChartData | null;\n isTouch?: boolean;\n }>({ visible: false, x: 0, y: 0, value: null });\n\n let cumulativePercent = 0;\n\n const handleMouseOver = (e: React.MouseEvent<SVGCircleElement>, value: ChartData) => {\n setTooltip({\n visible: true,\n x: e.clientX,\n y: e.clientY,\n value,\n });\n };\n const handleMouseOut = () => {\n setTooltip((t) => ({ ...t, visible: false }));\n };\n\n const handleFocus = (e: React.FocusEvent<SVGCircleElement>, value: ChartData) => {\n setTooltip({\n visible: true,\n x:\n e.currentTarget.getBoundingClientRect().width / 2 +\n e.currentTarget.getBoundingClientRect().left,\n y:\n e.currentTarget.getBoundingClientRect().height +\n e.currentTarget.getBoundingClientRect().top,\n value,\n });\n };\n\n return (\n <Flex direction=\"column\" gap={6} margin=\"auto\">\n <svg\n width={RADIUS * 2}\n height={RADIUS * 2}\n viewBox={`0 0 ${RADIUS * 2} ${RADIUS * 2}`}\n style={{ position: 'relative', zIndex: 1 }}\n >\n <g transform={`rotate(-90 ${RADIUS} ${RADIUS})`}>\n {data.map((value) => {\n const percent = (value.count / total) * 100;\n const arcLength = (percent / 100) * CIRCUMFERENCE;\n const dashArray = `${arcLength} ${CIRCUMFERENCE - arcLength}`;\n const dashOffset = CIRCUMFERENCE * (1 - cumulativePercent / 100);\n const el = (\n <ArcChart\n key={value.label}\n cx={RADIUS}\n cy={RADIUS}\n r={RADIUS - STROKE / 2}\n fill=\"none\"\n strokeWidth={STROKE}\n strokeDasharray={dashArray}\n strokeDashoffset={dashOffset}\n style={{ transition: 'stroke-dashoffset 0.3s', cursor: 'pointer' }}\n tabIndex={0}\n aria-describedby={tooltip.visible ? 'chart-tooltip' : undefined}\n onFocus={(e) => handleFocus(e, value)}\n onBlur={handleMouseOut}\n onMouseMove={(e) => handleMouseOver(e, value)}\n onMouseLeave={handleMouseOut}\n $arcColor={value.color}\n />\n );\n cumulativePercent += percent;\n return el;\n })}\n </g>\n <text x={RADIUS} y={RADIUS} textAnchor=\"middle\" fontSize=\"2.4rem\" fontWeight=\"bold\">\n <TextChart x={RADIUS} dy=\"0\" $textColor=\"neutral800\">\n {new Intl.NumberFormat(locale, {\n notation: 'compact',\n maximumFractionDigits: 1,\n }).format(total)}\n </TextChart>\n <TextChart\n x={RADIUS}\n dy=\"1.4em\"\n fontSize=\"1.4rem\"\n fontWeight=\"normal\"\n $textColor=\"neutral600\"\n >\n {formatMessage({\n id: 'content-manager.widget.chart-entries.title',\n defaultMessage: 'entries',\n })}\n </TextChart>\n </text>\n </svg>\n {tooltip.visible && tooltip.value && (\n <Portal\n style={{\n position: 'fixed',\n left: 16,\n top: 16,\n zIndex: 2,\n transform: `translate(${tooltip.x}px, ${tooltip.y}px)`,\n }}\n data-testid=\"entries-chart-tooltip\"\n >\n <Box\n background=\"neutral900\"\n padding={2}\n borderRadius={1}\n textAlign=\"center\"\n role=\"tooltip\"\n aria-live=\"polite\"\n >\n <Typography textColor=\"neutral0\">\n {formatMessage(\n {\n id: 'content-manager.widget.chart-entries.tooltip',\n defaultMessage: '{count} items',\n },\n {\n count: tooltip.value.count,\n label: tooltip.value.label,\n }\n )}\n </Typography>\n </Box>\n </Portal>\n )}\n <Flex gap={4} wrap=\"wrap\">\n {data.map(\n (value) =>\n value.count > 0 && (\n <KeyChartItem gap={1} key={value.label}>\n <Box background={value.color} padding={2} borderRadius={1} />\n <Typography variant=\"pi\">{value.label}</Typography>\n </KeyChartItem>\n )\n )}\n </Flex>\n </Flex>\n );\n};\n\nconst ChartEntriesWidget = () => {\n const { formatMessage } = useIntl();\n const { data: countDocuments, isLoading, error } = useGetCountDocumentsQuery();\n\n if (isLoading) {\n return <Widget.Loading />;\n }\n\n if (error) {\n return <Widget.Error />;\n }\n\n const { draft, published, modified } = countDocuments ?? {\n draft: 0,\n published: 0,\n modified: 0,\n };\n\n const total = draft + published + modified;\n\n if (!total) {\n return (\n <Widget.NoData>\n {formatMessage({\n id: 'content-manager.widget.last-published.no-data',\n defaultMessage: 'No published entries',\n })}\n </Widget.NoData>\n );\n }\n\n return (\n <Flex minHeight=\"100%\">\n <DonutChartSVG\n data={[\n {\n label: formatMessage({\n id: 'content-manager.containers.List.draft',\n defaultMessage: 'Draft',\n }),\n count: draft,\n color: 'secondary500',\n },\n {\n label: formatMessage({\n id: 'content-manager.containers.List.modified',\n defaultMessage: 'Modified',\n }),\n count: modified,\n color: 'alternative500',\n },\n {\n label: formatMessage({\n id: 'content-manager.containers.List.published',\n defaultMessage: 'Published',\n }),\n count: published,\n color: 'success500',\n },\n ]}\n />\n </Flex>\n );\n};\n\nexport { ChartEntriesWidget, LastEditedWidget, LastPublishedWidget };\n"],"names":["CellTypography","styled","Typography","RecentDocumentsTable","documents","formatMessage","useIntl","trackUsage","useTracking","navigate","useNavigate","getEditViewLink","document","isSingleType","kind","kindPath","queryParams","locale","contentTypeUid","documentId","handleRowClick","link","_jsx","Table","colCount","rowCount","length","Tbody","map","_jsxs","Tr","onClick","cursor","Td","title","variant","textColor","id","defaultMessage","contentTypeDisplayName","Box","display","status","DocumentStatus","aria-hidden","RelativeTime","timestamp","Date","updatedAt","e","stopPropagation","IconButton","tag","Link","to","label","Pencil","LastEditedWidget","data","isLoading","error","useGetRecentDocumentsQuery","action","Widget","Loading","Error","NoData","LastPublishedWidget","RADIUS","STROKE","CIRCUMFERENCE","Math","PI","ArcChart","circle","theme","$arcColor","colors","TextChart","tspan","$textColor","KeyChartItem","Flex","breakpoints","small","DonutChartSVG","total","reduce","acc","curr","count","tooltip","setTooltip","React","useState","visible","x","y","value","cumulativePercent","handleMouseOver","clientX","clientY","handleMouseOut","t","handleFocus","currentTarget","getBoundingClientRect","width","left","height","top","direction","gap","margin","svg","viewBox","style","position","zIndex","g","transform","percent","arcLength","dashArray","dashOffset","el","cx","cy","r","fill","strokeWidth","strokeDasharray","strokeDashoffset","transition","tabIndex","aria-describedby","undefined","onFocus","onBlur","onMouseMove","onMouseLeave","color","text","textAnchor","fontSize","fontWeight","dy","Intl","NumberFormat","notation","maximumFractionDigits","format","Portal","data-testid","background","padding","borderRadius","textAlign","role","aria-live","wrap","ChartEntriesWidget","countDocuments","useGetCountDocumentsQuery","draft","published","modified","minHeight"],"mappings":"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"}
|
@@ -1,19 +1,18 @@
|
|
1
1
|
import { jsx, jsxs } from 'react/jsx-runtime';
|
2
2
|
import * as React from 'react';
|
3
|
-
import { Widget, useTracking } from '@strapi/admin/strapi-admin';
|
3
|
+
import { Widget, useGetCountDocumentsQuery, useTracking } from '@strapi/admin/strapi-admin';
|
4
4
|
import { Typography, Flex, Table, Tbody, Tr, Td, Box, IconButton, Portal } from '@strapi/design-system';
|
5
5
|
import { Pencil } from '@strapi/icons';
|
6
6
|
import { useIntl } from 'react-intl';
|
7
7
|
import { useNavigate, Link } from 'react-router-dom';
|
8
8
|
import { styled } from 'styled-components';
|
9
9
|
import { DocumentStatus } from '../pages/EditView/components/DocumentStatus.mjs';
|
10
|
-
import { useGetRecentDocumentsQuery
|
10
|
+
import { useGetRecentDocumentsQuery } from '../services/homepage.mjs';
|
11
11
|
import { RelativeTime } from './RelativeTime.mjs';
|
12
12
|
|
13
|
-
const CellTypography = styled(Typography)
|
14
|
-
|
15
|
-
|
16
|
-
})`
|
13
|
+
const CellTypography = styled(Typography)`
|
14
|
+
display: block;
|
15
|
+
max-width: 14.4rem;
|
17
16
|
overflow: hidden;
|
18
17
|
text-overflow: ellipsis;
|
19
18
|
white-space: nowrap;
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"Widgets.mjs","sources":["../../../admin/src/components/Widgets.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport { Widget, useTracking } from '@strapi/admin/strapi-admin';\nimport {\n Box,\n Flex,\n IconButton,\n Table,\n Tbody,\n Td,\n Tr,\n Typography,\n Portal,\n} from '@strapi/design-system';\nimport { Pencil } from '@strapi/icons';\nimport { useIntl } from 'react-intl';\nimport { Link, useNavigate } from 'react-router-dom';\nimport { styled, DefaultTheme } from 'styled-components';\n\nimport { DocumentStatus } from '../pages/EditView/components/DocumentStatus';\nimport { useGetRecentDocumentsQuery, useGetCountDocumentsQuery } from '../services/homepage';\n\nimport { RelativeTime } from './RelativeTime';\n\nimport type { RecentDocument } from '../../../shared/contracts/homepage';\n\nconst CellTypography = styled(Typography).attrs({ maxWidth: '14.4rem', display: 'block' })`\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n`;\n\nconst RecentDocumentsTable = ({ documents }: { documents: RecentDocument[] }) => {\n const { formatMessage } = useIntl();\n const { trackUsage } = useTracking();\n const navigate = useNavigate();\n\n const getEditViewLink = (document: RecentDocument): string => {\n const isSingleType = document.kind === 'singleType';\n const kindPath = isSingleType ? 'single-types' : 'collection-types';\n const queryParams = document.locale ? `?plugins[i18n][locale]=${document.locale}` : '';\n\n return `/content-manager/${kindPath}/${document.contentTypeUid}${isSingleType ? '' : '/' + document.documentId}${queryParams}`;\n };\n\n const handleRowClick = (document: RecentDocument) => () => {\n trackUsage('willEditEntryFromHome');\n const link = getEditViewLink(document);\n navigate(link);\n };\n\n return (\n <Table colCount={5} rowCount={documents?.length ?? 0}>\n <Tbody>\n {documents?.map((document) => (\n <Tr onClick={handleRowClick(document)} cursor=\"pointer\" key={document.documentId}>\n <Td>\n <CellTypography title={document.title} variant=\"omega\" textColor=\"neutral800\">\n {document.title}\n </CellTypography>\n </Td>\n <Td>\n <CellTypography variant=\"omega\" textColor=\"neutral600\">\n {document.kind === 'singleType'\n ? formatMessage({\n id: 'content-manager.widget.last-edited.single-type',\n defaultMessage: 'Single-Type',\n })\n : formatMessage({\n id: document.contentTypeDisplayName,\n defaultMessage: document.contentTypeDisplayName,\n })}\n </CellTypography>\n </Td>\n <Td>\n <Box display=\"inline-block\">\n {document.status ? (\n <DocumentStatus status={document.status} />\n ) : (\n <Typography textColor=\"neutral600\" aria-hidden>\n -\n </Typography>\n )}\n </Box>\n </Td>\n <Td>\n <Typography textColor=\"neutral600\">\n <RelativeTime timestamp={new Date(document.updatedAt)} />\n </Typography>\n </Td>\n <Td onClick={(e) => e.stopPropagation()}>\n <Box display=\"inline-block\">\n <IconButton\n tag={Link}\n to={getEditViewLink(document)}\n onClick={() => trackUsage('willEditEntryFromHome')}\n label={formatMessage({\n id: 'content-manager.actions.edit.label',\n defaultMessage: 'Edit',\n })}\n variant=\"ghost\"\n >\n <Pencil />\n </IconButton>\n </Box>\n </Td>\n </Tr>\n ))}\n </Tbody>\n </Table>\n );\n};\n\n/* -------------------------------------------------------------------------------------------------\n * LastEditedWidget\n * -----------------------------------------------------------------------------------------------*/\n\nconst LastEditedWidget = () => {\n const { formatMessage } = useIntl();\n const { data, isLoading, error } = useGetRecentDocumentsQuery({ action: 'update' });\n\n if (isLoading) {\n return <Widget.Loading />;\n }\n\n if (error || !data) {\n return <Widget.Error />;\n }\n\n if (data.length === 0) {\n return (\n <Widget.NoData>\n {formatMessage({\n id: 'content-manager.widget.last-edited.no-data',\n defaultMessage: 'No edited entries',\n })}\n </Widget.NoData>\n );\n }\n\n return <RecentDocumentsTable documents={data} />;\n};\n\n/* -------------------------------------------------------------------------------------------------\n * LastPublishedWidget\n * -----------------------------------------------------------------------------------------------*/\n\nconst LastPublishedWidget = () => {\n const { formatMessage } = useIntl();\n const { data, isLoading, error } = useGetRecentDocumentsQuery({ action: 'publish' });\n\n if (isLoading) {\n return <Widget.Loading />;\n }\n\n if (error || !data) {\n return <Widget.Error />;\n }\n\n if (data.length === 0) {\n return (\n <Widget.NoData>\n {formatMessage({\n id: 'content-manager.widget.last-published.no-data',\n defaultMessage: 'No published entries',\n })}\n </Widget.NoData>\n );\n }\n\n return <RecentDocumentsTable documents={data} />;\n};\n\n/* -------------------------------------------------------------------------------------------------\n * ChartEntriesWidget\n * -----------------------------------------------------------------------------------------------*/\nconst RADIUS = 80;\nconst STROKE = 10;\nconst CIRCUMFERENCE = 2 * Math.PI * (RADIUS - STROKE / 2);\n\ntype ThemeColor = keyof DefaultTheme['colors'];\n\nconst ArcChart = styled.circle<{ $arcColor: ThemeColor }>`\n stroke: ${({ theme, $arcColor }) => theme.colors[$arcColor]};\n`;\n\nconst TextChart = styled.tspan<{ $textColor: ThemeColor }>`\n text-transform: lowercase;\n fill: ${({ theme, $textColor }) => theme.colors[$textColor]};\n`;\n\nconst KeyChartItem = styled(Flex)`\n width: 100%;\n\n ${({ theme }) => theme.breakpoints.small} {\n width: auto;\n }\n`;\n\ninterface ChartData {\n label: string;\n count: number;\n color: ThemeColor;\n}\n\nconst DonutChartSVG = ({ data }: { data: ChartData[] }) => {\n const { locale } = useIntl();\n const { formatMessage } = useIntl();\n const total = data.reduce((acc, curr) => acc + curr.count, 0);\n const [tooltip, setTooltip] = React.useState<{\n visible: boolean;\n x: number;\n y: number;\n value: ChartData | null;\n isTouch?: boolean;\n }>({ visible: false, x: 0, y: 0, value: null });\n\n let cumulativePercent = 0;\n\n const handleMouseOver = (e: React.MouseEvent<SVGCircleElement>, value: ChartData) => {\n setTooltip({\n visible: true,\n x: e.clientX,\n y: e.clientY,\n value,\n });\n };\n const handleMouseOut = () => {\n setTooltip((t) => ({ ...t, visible: false }));\n };\n\n const handleFocus = (e: React.FocusEvent<SVGCircleElement>, value: ChartData) => {\n setTooltip({\n visible: true,\n x:\n e.currentTarget.getBoundingClientRect().width / 2 +\n e.currentTarget.getBoundingClientRect().left,\n y:\n e.currentTarget.getBoundingClientRect().height +\n e.currentTarget.getBoundingClientRect().top,\n value,\n });\n };\n\n return (\n <Flex direction=\"column\" gap={6} margin=\"auto\">\n <svg\n width={RADIUS * 2}\n height={RADIUS * 2}\n viewBox={`0 0 ${RADIUS * 2} ${RADIUS * 2}`}\n style={{ position: 'relative', zIndex: 1 }}\n >\n <g transform={`rotate(-90 ${RADIUS} ${RADIUS})`}>\n {data.map((value) => {\n const percent = (value.count / total) * 100;\n const arcLength = (percent / 100) * CIRCUMFERENCE;\n const dashArray = `${arcLength} ${CIRCUMFERENCE - arcLength}`;\n const dashOffset = CIRCUMFERENCE * (1 - cumulativePercent / 100);\n const el = (\n <ArcChart\n key={value.label}\n cx={RADIUS}\n cy={RADIUS}\n r={RADIUS - STROKE / 2}\n fill=\"none\"\n strokeWidth={STROKE}\n strokeDasharray={dashArray}\n strokeDashoffset={dashOffset}\n style={{ transition: 'stroke-dashoffset 0.3s', cursor: 'pointer' }}\n tabIndex={0}\n aria-describedby={tooltip.visible ? 'chart-tooltip' : undefined}\n onFocus={(e) => handleFocus(e, value)}\n onBlur={handleMouseOut}\n onMouseMove={(e) => handleMouseOver(e, value)}\n onMouseLeave={handleMouseOut}\n $arcColor={value.color}\n />\n );\n cumulativePercent += percent;\n return el;\n })}\n </g>\n <text x={RADIUS} y={RADIUS} textAnchor=\"middle\" fontSize=\"2.4rem\" fontWeight=\"bold\">\n <TextChart x={RADIUS} dy=\"0\" $textColor=\"neutral800\">\n {new Intl.NumberFormat(locale, {\n notation: 'compact',\n maximumFractionDigits: 1,\n }).format(total)}\n </TextChart>\n <TextChart\n x={RADIUS}\n dy=\"1.4em\"\n fontSize=\"1.4rem\"\n fontWeight=\"normal\"\n $textColor=\"neutral600\"\n >\n {formatMessage({\n id: 'content-manager.widget.chart-entries.title',\n defaultMessage: 'entries',\n })}\n </TextChart>\n </text>\n </svg>\n {tooltip.visible && tooltip.value && (\n <Portal\n style={{\n position: 'fixed',\n left: 16,\n top: 16,\n zIndex: 2,\n transform: `translate(${tooltip.x}px, ${tooltip.y}px)`,\n }}\n data-testid=\"entries-chart-tooltip\"\n >\n <Box\n background=\"neutral900\"\n padding={2}\n borderRadius={1}\n textAlign=\"center\"\n role=\"tooltip\"\n aria-live=\"polite\"\n >\n <Typography textColor=\"neutral0\">\n {formatMessage(\n {\n id: 'content-manager.widget.chart-entries.tooltip',\n defaultMessage: '{count} items',\n },\n {\n count: tooltip.value.count,\n label: tooltip.value.label,\n }\n )}\n </Typography>\n </Box>\n </Portal>\n )}\n <Flex gap={4} wrap=\"wrap\">\n {data.map(\n (value) =>\n value.count > 0 && (\n <KeyChartItem gap={1} key={value.label}>\n <Box background={value.color} padding={2} borderRadius={1} />\n <Typography variant=\"pi\">{value.label}</Typography>\n </KeyChartItem>\n )\n )}\n </Flex>\n </Flex>\n );\n};\n\nconst ChartEntriesWidget = () => {\n const { formatMessage } = useIntl();\n const { data: countDocuments, isLoading, error } = useGetCountDocumentsQuery();\n\n if (isLoading) {\n return <Widget.Loading />;\n }\n\n if (error) {\n return <Widget.Error />;\n }\n\n const { draft, published, modified } = countDocuments ?? {\n draft: 0,\n published: 0,\n modified: 0,\n };\n\n const total = draft + published + modified;\n\n if (!total) {\n return (\n <Widget.NoData>\n {formatMessage({\n id: 'content-manager.widget.last-published.no-data',\n defaultMessage: 'No published entries',\n })}\n </Widget.NoData>\n );\n }\n\n return (\n <Flex minHeight=\"100%\">\n <DonutChartSVG\n data={[\n {\n label: formatMessage({\n id: 'content-manager.containers.List.draft',\n defaultMessage: 'Draft',\n }),\n count: draft,\n color: 'secondary500',\n },\n {\n label: formatMessage({\n id: 'content-manager.containers.List.modified',\n defaultMessage: 'Modified',\n }),\n count: modified,\n color: 'alternative500',\n },\n {\n label: formatMessage({\n id: 'content-manager.containers.List.published',\n defaultMessage: 'Published',\n }),\n count: published,\n color: 'success500',\n },\n ]}\n />\n </Flex>\n );\n};\n\nexport { ChartEntriesWidget, LastEditedWidget, LastPublishedWidget };\n"],"names":["CellTypography","styled","Typography","attrs","maxWidth","display","RecentDocumentsTable","documents","formatMessage","useIntl","trackUsage","useTracking","navigate","useNavigate","getEditViewLink","document","isSingleType","kind","kindPath","queryParams","locale","contentTypeUid","documentId","handleRowClick","link","_jsx","Table","colCount","rowCount","length","Tbody","map","_jsxs","Tr","onClick","cursor","Td","title","variant","textColor","id","defaultMessage","contentTypeDisplayName","Box","status","DocumentStatus","aria-hidden","RelativeTime","timestamp","Date","updatedAt","e","stopPropagation","IconButton","tag","Link","to","label","Pencil","LastEditedWidget","data","isLoading","error","useGetRecentDocumentsQuery","action","Widget","Loading","Error","NoData","LastPublishedWidget","RADIUS","STROKE","CIRCUMFERENCE","Math","PI","ArcChart","circle","theme","$arcColor","colors","TextChart","tspan","$textColor","KeyChartItem","Flex","breakpoints","small","DonutChartSVG","total","reduce","acc","curr","count","tooltip","setTooltip","React","useState","visible","x","y","value","cumulativePercent","handleMouseOver","clientX","clientY","handleMouseOut","t","handleFocus","currentTarget","getBoundingClientRect","width","left","height","top","direction","gap","margin","svg","viewBox","style","position","zIndex","g","transform","percent","arcLength","dashArray","dashOffset","el","cx","cy","r","fill","strokeWidth","strokeDasharray","strokeDashoffset","transition","tabIndex","aria-describedby","undefined","onFocus","onBlur","onMouseMove","onMouseLeave","color","text","textAnchor","fontSize","fontWeight","dy","Intl","NumberFormat","notation","maximumFractionDigits","format","Portal","data-testid","background","padding","borderRadius","textAlign","role","aria-live","wrap","ChartEntriesWidget","countDocuments","useGetCountDocumentsQuery","draft","published","modified","minHeight"],"mappings":"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"}
|
1
|
+
{"version":3,"file":"Widgets.mjs","sources":["../../../admin/src/components/Widgets.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport { Widget, useTracking, useGetCountDocumentsQuery } from '@strapi/admin/strapi-admin';\nimport {\n Box,\n Flex,\n IconButton,\n Table,\n Tbody,\n Td,\n Tr,\n Typography,\n Portal,\n} from '@strapi/design-system';\nimport { Pencil } from '@strapi/icons';\nimport { useIntl } from 'react-intl';\nimport { Link, useNavigate } from 'react-router-dom';\nimport { styled, DefaultTheme } from 'styled-components';\n\nimport { DocumentStatus } from '../pages/EditView/components/DocumentStatus';\nimport { useGetRecentDocumentsQuery } from '../services/homepage';\n\nimport { RelativeTime } from './RelativeTime';\n\nimport type { RecentDocument } from '../../../shared/contracts/homepage';\n\nconst CellTypography = styled(Typography)`\n display: block;\n max-width: 14.4rem;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n`;\n\nconst RecentDocumentsTable = ({ documents }: { documents: RecentDocument[] }) => {\n const { formatMessage } = useIntl();\n const { trackUsage } = useTracking();\n const navigate = useNavigate();\n\n const getEditViewLink = (document: RecentDocument): string => {\n const isSingleType = document.kind === 'singleType';\n const kindPath = isSingleType ? 'single-types' : 'collection-types';\n const queryParams = document.locale ? `?plugins[i18n][locale]=${document.locale}` : '';\n\n return `/content-manager/${kindPath}/${document.contentTypeUid}${isSingleType ? '' : '/' + document.documentId}${queryParams}`;\n };\n\n const handleRowClick = (document: RecentDocument) => () => {\n trackUsage('willEditEntryFromHome');\n const link = getEditViewLink(document);\n navigate(link);\n };\n\n return (\n <Table colCount={5} rowCount={documents?.length ?? 0}>\n <Tbody>\n {documents?.map((document) => (\n <Tr onClick={handleRowClick(document)} cursor=\"pointer\" key={document.documentId}>\n <Td>\n <CellTypography title={document.title} variant=\"omega\" textColor=\"neutral800\">\n {document.title}\n </CellTypography>\n </Td>\n <Td>\n <CellTypography variant=\"omega\" textColor=\"neutral600\">\n {document.kind === 'singleType'\n ? formatMessage({\n id: 'content-manager.widget.last-edited.single-type',\n defaultMessage: 'Single-Type',\n })\n : formatMessage({\n id: document.contentTypeDisplayName,\n defaultMessage: document.contentTypeDisplayName,\n })}\n </CellTypography>\n </Td>\n <Td>\n <Box display=\"inline-block\">\n {document.status ? (\n <DocumentStatus status={document.status} />\n ) : (\n <Typography textColor=\"neutral600\" aria-hidden>\n -\n </Typography>\n )}\n </Box>\n </Td>\n <Td>\n <Typography textColor=\"neutral600\">\n <RelativeTime timestamp={new Date(document.updatedAt)} />\n </Typography>\n </Td>\n <Td onClick={(e) => e.stopPropagation()}>\n <Box display=\"inline-block\">\n <IconButton\n tag={Link}\n to={getEditViewLink(document)}\n onClick={() => trackUsage('willEditEntryFromHome')}\n label={formatMessage({\n id: 'content-manager.actions.edit.label',\n defaultMessage: 'Edit',\n })}\n variant=\"ghost\"\n >\n <Pencil />\n </IconButton>\n </Box>\n </Td>\n </Tr>\n ))}\n </Tbody>\n </Table>\n );\n};\n\n/* -------------------------------------------------------------------------------------------------\n * LastEditedWidget\n * -----------------------------------------------------------------------------------------------*/\n\nconst LastEditedWidget = () => {\n const { formatMessage } = useIntl();\n const { data, isLoading, error } = useGetRecentDocumentsQuery({ action: 'update' });\n\n if (isLoading) {\n return <Widget.Loading />;\n }\n\n if (error || !data) {\n return <Widget.Error />;\n }\n\n if (data.length === 0) {\n return (\n <Widget.NoData>\n {formatMessage({\n id: 'content-manager.widget.last-edited.no-data',\n defaultMessage: 'No edited entries',\n })}\n </Widget.NoData>\n );\n }\n\n return <RecentDocumentsTable documents={data} />;\n};\n\n/* -------------------------------------------------------------------------------------------------\n * LastPublishedWidget\n * -----------------------------------------------------------------------------------------------*/\n\nconst LastPublishedWidget = () => {\n const { formatMessage } = useIntl();\n const { data, isLoading, error } = useGetRecentDocumentsQuery({ action: 'publish' });\n\n if (isLoading) {\n return <Widget.Loading />;\n }\n\n if (error || !data) {\n return <Widget.Error />;\n }\n\n if (data.length === 0) {\n return (\n <Widget.NoData>\n {formatMessage({\n id: 'content-manager.widget.last-published.no-data',\n defaultMessage: 'No published entries',\n })}\n </Widget.NoData>\n );\n }\n\n return <RecentDocumentsTable documents={data} />;\n};\n\n/* -------------------------------------------------------------------------------------------------\n * ChartEntriesWidget\n * -----------------------------------------------------------------------------------------------*/\nconst RADIUS = 80;\nconst STROKE = 10;\nconst CIRCUMFERENCE = 2 * Math.PI * (RADIUS - STROKE / 2);\n\ntype ThemeColor = keyof DefaultTheme['colors'];\n\nconst ArcChart = styled.circle<{ $arcColor: ThemeColor }>`\n stroke: ${({ theme, $arcColor }) => theme.colors[$arcColor]};\n`;\n\nconst TextChart = styled.tspan<{ $textColor: ThemeColor }>`\n text-transform: lowercase;\n fill: ${({ theme, $textColor }) => theme.colors[$textColor]};\n`;\n\nconst KeyChartItem = styled(Flex)`\n width: 100%;\n\n ${({ theme }) => theme.breakpoints.small} {\n width: auto;\n }\n`;\n\ninterface ChartData {\n label: string;\n count: number;\n color: ThemeColor;\n}\n\nconst DonutChartSVG = ({ data }: { data: ChartData[] }) => {\n const { locale } = useIntl();\n const { formatMessage } = useIntl();\n const total = data.reduce((acc, curr) => acc + curr.count, 0);\n const [tooltip, setTooltip] = React.useState<{\n visible: boolean;\n x: number;\n y: number;\n value: ChartData | null;\n isTouch?: boolean;\n }>({ visible: false, x: 0, y: 0, value: null });\n\n let cumulativePercent = 0;\n\n const handleMouseOver = (e: React.MouseEvent<SVGCircleElement>, value: ChartData) => {\n setTooltip({\n visible: true,\n x: e.clientX,\n y: e.clientY,\n value,\n });\n };\n const handleMouseOut = () => {\n setTooltip((t) => ({ ...t, visible: false }));\n };\n\n const handleFocus = (e: React.FocusEvent<SVGCircleElement>, value: ChartData) => {\n setTooltip({\n visible: true,\n x:\n e.currentTarget.getBoundingClientRect().width / 2 +\n e.currentTarget.getBoundingClientRect().left,\n y:\n e.currentTarget.getBoundingClientRect().height +\n e.currentTarget.getBoundingClientRect().top,\n value,\n });\n };\n\n return (\n <Flex direction=\"column\" gap={6} margin=\"auto\">\n <svg\n width={RADIUS * 2}\n height={RADIUS * 2}\n viewBox={`0 0 ${RADIUS * 2} ${RADIUS * 2}`}\n style={{ position: 'relative', zIndex: 1 }}\n >\n <g transform={`rotate(-90 ${RADIUS} ${RADIUS})`}>\n {data.map((value) => {\n const percent = (value.count / total) * 100;\n const arcLength = (percent / 100) * CIRCUMFERENCE;\n const dashArray = `${arcLength} ${CIRCUMFERENCE - arcLength}`;\n const dashOffset = CIRCUMFERENCE * (1 - cumulativePercent / 100);\n const el = (\n <ArcChart\n key={value.label}\n cx={RADIUS}\n cy={RADIUS}\n r={RADIUS - STROKE / 2}\n fill=\"none\"\n strokeWidth={STROKE}\n strokeDasharray={dashArray}\n strokeDashoffset={dashOffset}\n style={{ transition: 'stroke-dashoffset 0.3s', cursor: 'pointer' }}\n tabIndex={0}\n aria-describedby={tooltip.visible ? 'chart-tooltip' : undefined}\n onFocus={(e) => handleFocus(e, value)}\n onBlur={handleMouseOut}\n onMouseMove={(e) => handleMouseOver(e, value)}\n onMouseLeave={handleMouseOut}\n $arcColor={value.color}\n />\n );\n cumulativePercent += percent;\n return el;\n })}\n </g>\n <text x={RADIUS} y={RADIUS} textAnchor=\"middle\" fontSize=\"2.4rem\" fontWeight=\"bold\">\n <TextChart x={RADIUS} dy=\"0\" $textColor=\"neutral800\">\n {new Intl.NumberFormat(locale, {\n notation: 'compact',\n maximumFractionDigits: 1,\n }).format(total)}\n </TextChart>\n <TextChart\n x={RADIUS}\n dy=\"1.4em\"\n fontSize=\"1.4rem\"\n fontWeight=\"normal\"\n $textColor=\"neutral600\"\n >\n {formatMessage({\n id: 'content-manager.widget.chart-entries.title',\n defaultMessage: 'entries',\n })}\n </TextChart>\n </text>\n </svg>\n {tooltip.visible && tooltip.value && (\n <Portal\n style={{\n position: 'fixed',\n left: 16,\n top: 16,\n zIndex: 2,\n transform: `translate(${tooltip.x}px, ${tooltip.y}px)`,\n }}\n data-testid=\"entries-chart-tooltip\"\n >\n <Box\n background=\"neutral900\"\n padding={2}\n borderRadius={1}\n textAlign=\"center\"\n role=\"tooltip\"\n aria-live=\"polite\"\n >\n <Typography textColor=\"neutral0\">\n {formatMessage(\n {\n id: 'content-manager.widget.chart-entries.tooltip',\n defaultMessage: '{count} items',\n },\n {\n count: tooltip.value.count,\n label: tooltip.value.label,\n }\n )}\n </Typography>\n </Box>\n </Portal>\n )}\n <Flex gap={4} wrap=\"wrap\">\n {data.map(\n (value) =>\n value.count > 0 && (\n <KeyChartItem gap={1} key={value.label}>\n <Box background={value.color} padding={2} borderRadius={1} />\n <Typography variant=\"pi\">{value.label}</Typography>\n </KeyChartItem>\n )\n )}\n </Flex>\n </Flex>\n );\n};\n\nconst ChartEntriesWidget = () => {\n const { formatMessage } = useIntl();\n const { data: countDocuments, isLoading, error } = useGetCountDocumentsQuery();\n\n if (isLoading) {\n return <Widget.Loading />;\n }\n\n if (error) {\n return <Widget.Error />;\n }\n\n const { draft, published, modified } = countDocuments ?? {\n draft: 0,\n published: 0,\n modified: 0,\n };\n\n const total = draft + published + modified;\n\n if (!total) {\n return (\n <Widget.NoData>\n {formatMessage({\n id: 'content-manager.widget.last-published.no-data',\n defaultMessage: 'No published entries',\n })}\n </Widget.NoData>\n );\n }\n\n return (\n <Flex minHeight=\"100%\">\n <DonutChartSVG\n data={[\n {\n label: formatMessage({\n id: 'content-manager.containers.List.draft',\n defaultMessage: 'Draft',\n }),\n count: draft,\n color: 'secondary500',\n },\n {\n label: formatMessage({\n id: 'content-manager.containers.List.modified',\n defaultMessage: 'Modified',\n }),\n count: modified,\n color: 'alternative500',\n },\n {\n label: formatMessage({\n id: 'content-manager.containers.List.published',\n defaultMessage: 'Published',\n }),\n count: published,\n color: 'success500',\n },\n ]}\n />\n </Flex>\n );\n};\n\nexport { ChartEntriesWidget, LastEditedWidget, LastPublishedWidget };\n"],"names":["CellTypography","styled","Typography","RecentDocumentsTable","documents","formatMessage","useIntl","trackUsage","useTracking","navigate","useNavigate","getEditViewLink","document","isSingleType","kind","kindPath","queryParams","locale","contentTypeUid","documentId","handleRowClick","link","_jsx","Table","colCount","rowCount","length","Tbody","map","_jsxs","Tr","onClick","cursor","Td","title","variant","textColor","id","defaultMessage","contentTypeDisplayName","Box","display","status","DocumentStatus","aria-hidden","RelativeTime","timestamp","Date","updatedAt","e","stopPropagation","IconButton","tag","Link","to","label","Pencil","LastEditedWidget","data","isLoading","error","useGetRecentDocumentsQuery","action","Widget","Loading","Error","NoData","LastPublishedWidget","RADIUS","STROKE","CIRCUMFERENCE","Math","PI","ArcChart","circle","theme","$arcColor","colors","TextChart","tspan","$textColor","KeyChartItem","Flex","breakpoints","small","DonutChartSVG","total","reduce","acc","curr","count","tooltip","setTooltip","React","useState","visible","x","y","value","cumulativePercent","handleMouseOver","clientX","clientY","handleMouseOut","t","handleFocus","currentTarget","getBoundingClientRect","width","left","height","top","direction","gap","margin","svg","viewBox","style","position","zIndex","g","transform","percent","arcLength","dashArray","dashOffset","el","cx","cy","r","fill","strokeWidth","strokeDasharray","strokeDashoffset","transition","tabIndex","aria-describedby","undefined","onFocus","onBlur","onMouseMove","onMouseLeave","color","text","textAnchor","fontSize","fontWeight","dy","Intl","NumberFormat","notation","maximumFractionDigits","format","Portal","data-testid","background","padding","borderRadius","textAlign","role","aria-live","wrap","ChartEntriesWidget","countDocuments","useGetCountDocumentsQuery","draft","published","modified","minHeight"],"mappings":"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"}
|
@@ -60,7 +60,6 @@ const DEFAULT_UNEXPECTED_ERROR_MSG = {
|
|
60
60
|
const { trackUsage } = strapiAdmin.useTracking();
|
61
61
|
const { _unstableFormatAPIError: formatAPIError } = strapiAdmin.useAPIErrorHandler();
|
62
62
|
const navigate = reactRouterDom.useNavigate();
|
63
|
-
const setCurrentStep = strapiAdmin.useGuidedTour('useDocumentActions', (state)=>state.setCurrentStep);
|
64
63
|
// Get metadata from context providers for tracking purposes
|
65
64
|
const previewContext = Preview.usePreviewContext('useDocumentActions', ()=>true, false);
|
66
65
|
const relationContext = RelationModal.useRelationModal('useDocumentActions', ()=>true, false);
|
@@ -465,7 +464,6 @@ const DEFAULT_UNEXPECTED_ERROR_MSG = {
|
|
465
464
|
defaultMessage: 'Saved document'
|
466
465
|
})
|
467
466
|
});
|
468
|
-
setCurrentStep('contentManager.success');
|
469
467
|
return res.data;
|
470
468
|
} catch (err) {
|
471
469
|
toggleNotification({
|
@@ -484,7 +482,6 @@ const DEFAULT_UNEXPECTED_ERROR_MSG = {
|
|
484
482
|
formatMessage,
|
485
483
|
fromPreview,
|
486
484
|
fromRelationModal,
|
487
|
-
setCurrentStep,
|
488
485
|
toggleNotification,
|
489
486
|
trackUsage
|
490
487
|
]);
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"useDocumentActions.js","sources":["../../../admin/src/hooks/useDocumentActions.ts"],"sourcesContent":["import * as React from 'react';\n\nimport { SerializedError } from '@reduxjs/toolkit';\nimport {\n useNotification,\n useTracking,\n type TrackingEvent,\n useAPIErrorHandler,\n useGuidedTour,\n} from '@strapi/admin/strapi-admin';\nimport { useIntl, type MessageDescriptor } from 'react-intl';\nimport { useNavigate } from 'react-router-dom';\n\nimport { useRelationModal } from '../pages/EditView/components/FormInputs/Relations/RelationModal';\nimport { usePreviewContext } from '../preview/pages/Preview';\nimport {\n useAutoCloneDocumentMutation,\n useCloneDocumentMutation,\n useCreateDocumentMutation,\n useDeleteDocumentMutation,\n useDeleteManyDocumentsMutation,\n useDiscardDocumentMutation,\n useLazyGetDocumentQuery,\n usePublishDocumentMutation,\n usePublishManyDocumentsMutation,\n useUnpublishDocumentMutation,\n useUnpublishManyDocumentsMutation,\n useUpdateDocumentMutation,\n} from '../services/documents';\nimport { BaseQueryError } from '../utils/api';\nimport { getTranslation } from '../utils/translations';\n\nimport type { Document } from './useDocument';\nimport type {\n AutoClone,\n Clone,\n Create,\n Delete,\n BulkDelete,\n Discard,\n FindOne,\n Publish,\n BulkPublish,\n Update,\n Unpublish,\n BulkUnpublish,\n} from '../../../shared/contracts/collection-types';\n\nconst DEFAULT_UNEXPECTED_ERROR_MSG = {\n id: 'notification.error',\n defaultMessage: 'An error occurred, please try again',\n} satisfies MessageDescriptor;\n\ntype OperationResponse<TResponse extends { data: any; meta?: any; error?: any }> =\n | Pick<TResponse, 'data'>\n | Pick<TResponse, 'data' | 'meta'>\n | { error: BaseQueryError | SerializedError };\n\ntype BulkOperationResponse<TResponse extends { data: any; error?: any }> =\n | Pick<TResponse, 'data'>\n | { error: BaseQueryError | SerializedError };\n\ntype UseDocumentActions = (\n fromPreview?: boolean,\n fromRelationModal?: boolean\n) => {\n /**\n * @description Attempts to clone a document based on the provided sourceId.\n * This will return a list of the fields as an error if it's unable to clone.\n * You most likely want to use the `clone` action instead.\n */\n isLoading: boolean;\n autoClone: (args: {\n model: string;\n sourceId: string;\n locale?: string;\n }) => Promise<OperationResponse<AutoClone.Response>>;\n clone: (\n args: {\n model: string;\n documentId: string;\n params?: object;\n },\n document: Omit<Document, 'id'>,\n trackerProperty?: Extract<\n TrackingEvent,\n { name: 'willCreateEntry' | 'didCreateEntry' | 'didNotCreateEntry' }\n >['properties']\n ) => Promise<OperationResponse<Clone.Response>>;\n create: (\n args: {\n model: string;\n params?: object;\n },\n document: Omit<Document, 'id'>,\n trackerProperty?: Extract<\n TrackingEvent,\n { name: 'willCreateEntry' | 'didCreateEntry' | 'didNotCreateEntry' }\n >['properties']\n ) => Promise<OperationResponse<Create.Response>>;\n delete: (\n args: {\n collectionType: string;\n model: string;\n documentId?: string;\n params?: object;\n },\n trackerProperty?: Extract<\n TrackingEvent,\n { name: 'willDeleteEntry' | 'didDeleteEntry' | 'didNotDeleteEntry' }\n >['properties']\n ) => Promise<OperationResponse<Delete.Response>>;\n deleteMany: (args: {\n model: string;\n documentIds: string[];\n params?: object;\n }) => Promise<BulkOperationResponse<BulkDelete.Response>>;\n discard: (args: {\n collectionType: string;\n model: string;\n documentId?: string;\n params?: object;\n }) => Promise<OperationResponse<Discard.Response>>;\n getDocument: (args: {\n collectionType: string;\n model: string;\n documentId?: string;\n params?: object;\n }) => Promise<FindOne.Response | undefined>;\n publish: (\n args: {\n collectionType: string;\n model: string;\n documentId?: string;\n params?: object;\n },\n document: Partial<Document>\n ) => Promise<OperationResponse<Publish.Response>>;\n publishMany: (args: {\n model: string;\n documentIds: string[];\n params?: object;\n }) => Promise<BulkOperationResponse<BulkPublish.Response>>;\n update: (\n args: {\n collectionType: string;\n model: string;\n documentId?: string;\n params?: object;\n },\n document: Partial<Document>,\n trackerProperty?: Extract<\n TrackingEvent,\n { name: 'willEditEntry' | 'didEditEntry' | 'didNotEditEntry' }\n >['properties']\n ) => Promise<OperationResponse<Update.Response>>;\n unpublish: (\n args: {\n collectionType: string;\n model: string;\n documentId?: string;\n params?: object;\n },\n discardDraft?: boolean\n ) => Promise<OperationResponse<Unpublish.Response>>;\n unpublishMany: (args: {\n model: string;\n documentIds: string[];\n params?: object;\n }) => Promise<BulkOperationResponse<BulkUnpublish.Response>>;\n};\n\ntype IUseDocumentActs = ReturnType<UseDocumentActions>;\n\n/**\n * @alpha\n * @public\n * @description Contains all the operations that can be performed on a single document.\n * Designed to be able to be used anywhere within a Strapi app. The hooks will handle\n * notifications should the operation fail, however the response is always returned incase\n * the user needs to handle side-effects.\n * @example\n * ```tsx\n * import { Form } from '@strapi/admin/admin';\n *\n * const { id, model, collectionType } = useParams<{ id: string; model: string; collectionType: string }>();\n * const { update } = useDocumentActions();\n *\n * const handleSubmit = async (data) => {\n * await update({ collectionType, model, documentId: id }, data);\n * }\n *\n * return <Form method=\"PUT\" onSubmit={handleSubmit} />\n * ```\n *\n * @see {@link https://contributor.strapi.io/docs/core/content-manager/hooks/use-document-operations} for more information\n */\nconst useDocumentActions: UseDocumentActions = () => {\n const { toggleNotification } = useNotification();\n const { formatMessage } = useIntl();\n const { trackUsage } = useTracking();\n const { _unstableFormatAPIError: formatAPIError } = useAPIErrorHandler();\n const navigate = useNavigate();\n const setCurrentStep = useGuidedTour('useDocumentActions', (state) => state.setCurrentStep);\n\n // Get metadata from context providers for tracking purposes\n const previewContext = usePreviewContext('useDocumentActions', () => true, false);\n const relationContext = useRelationModal('useDocumentActions', () => true, false);\n const fromPreview = previewContext != undefined;\n const fromRelationModal = relationContext != undefined;\n\n const [deleteDocument, { isLoading: isDeleting }] = useDeleteDocumentMutation();\n const _delete: IUseDocumentActs['delete'] = React.useCallback(\n async ({ collectionType, model, documentId, params }, trackerProperty) => {\n try {\n trackUsage('willDeleteEntry', trackerProperty);\n\n const res = await deleteDocument({\n collectionType,\n model,\n documentId,\n params,\n });\n\n if ('error' in res) {\n toggleNotification({\n type: 'danger',\n message: formatAPIError(res.error),\n });\n\n return { error: res.error };\n }\n\n toggleNotification({\n type: 'success',\n message: formatMessage({\n id: getTranslation('success.record.delete'),\n defaultMessage: 'Deleted document',\n }),\n });\n\n trackUsage('didDeleteEntry', trackerProperty);\n\n return res.data;\n } catch (err) {\n toggleNotification({\n type: 'danger',\n message: formatMessage(DEFAULT_UNEXPECTED_ERROR_MSG),\n });\n\n trackUsage('didNotDeleteEntry', { error: err, ...trackerProperty });\n\n throw err;\n }\n },\n [trackUsage, deleteDocument, toggleNotification, formatMessage, formatAPIError]\n );\n\n const [deleteManyDocuments, { isLoading: isDeletingMany }] = useDeleteManyDocumentsMutation();\n\n const deleteMany: IUseDocumentActs['deleteMany'] = React.useCallback(\n async ({ model, documentIds, params }) => {\n try {\n trackUsage('willBulkDeleteEntries');\n\n const res = await deleteManyDocuments({\n model,\n documentIds,\n params,\n });\n\n if ('error' in res) {\n toggleNotification({\n type: 'danger',\n message: formatAPIError(res.error),\n });\n\n return { error: res.error };\n }\n\n toggleNotification({\n type: 'success',\n title: formatMessage({\n id: getTranslation('success.records.delete'),\n defaultMessage: 'Successfully deleted.',\n }),\n message: '',\n });\n\n trackUsage('didBulkDeleteEntries');\n\n return res.data;\n } catch (err) {\n toggleNotification({\n type: 'danger',\n message: formatMessage(DEFAULT_UNEXPECTED_ERROR_MSG),\n });\n\n trackUsage('didNotBulkDeleteEntries');\n\n throw err;\n }\n },\n [trackUsage, deleteManyDocuments, toggleNotification, formatMessage, formatAPIError]\n );\n\n const [discardDocument, { isLoading: isDiscardingDocument }] = useDiscardDocumentMutation();\n const discard: IUseDocumentActs['discard'] = React.useCallback(\n async ({ collectionType, model, documentId, params }) => {\n try {\n const res = await discardDocument({\n collectionType,\n model,\n documentId,\n params,\n });\n\n if ('error' in res) {\n toggleNotification({\n type: 'danger',\n message: formatAPIError(res.error),\n });\n\n return { error: res.error };\n }\n\n toggleNotification({\n type: 'success',\n message: formatMessage({\n id: 'content-manager.success.record.discard',\n defaultMessage: 'Changes discarded',\n }),\n });\n\n return res.data;\n } catch (err) {\n toggleNotification({\n type: 'danger',\n message: formatMessage(DEFAULT_UNEXPECTED_ERROR_MSG),\n });\n\n throw err;\n }\n },\n [discardDocument, formatAPIError, formatMessage, toggleNotification]\n );\n\n const [publishDocument, { isLoading: isPublishing }] = usePublishDocumentMutation();\n const publish: IUseDocumentActs['publish'] = React.useCallback(\n async ({ collectionType, model, documentId, params }, data) => {\n try {\n trackUsage('willPublishEntry', { documentId });\n\n const res = await publishDocument({\n collectionType,\n model,\n documentId,\n data,\n params,\n });\n\n if ('error' in res) {\n toggleNotification({ type: 'danger', message: formatAPIError(res.error) });\n return { error: res.error };\n }\n\n trackUsage('didPublishEntry', { documentId, fromPreview, fromRelationModal });\n\n toggleNotification({\n type: 'success',\n message: formatMessage({\n id: getTranslation('success.record.publish'),\n defaultMessage: 'Published document',\n }),\n });\n\n return res.data;\n } catch (err) {\n toggleNotification({\n type: 'danger',\n message: formatMessage(DEFAULT_UNEXPECTED_ERROR_MSG),\n });\n\n throw err;\n }\n },\n [\n trackUsage,\n publishDocument,\n fromPreview,\n fromRelationModal,\n toggleNotification,\n formatMessage,\n formatAPIError,\n ]\n );\n\n const [publishManyDocuments, { isLoading: isPublishingMany }] = usePublishManyDocumentsMutation();\n const publishMany: IUseDocumentActs['publishMany'] = React.useCallback(\n async ({ model, documentIds, params }) => {\n try {\n // TODO Confirm tracking events for bulk publish?\n\n const res = await publishManyDocuments({\n model,\n documentIds,\n params,\n });\n if ('error' in res) {\n toggleNotification({ type: 'danger', message: formatAPIError(res.error) });\n return { error: res.error };\n }\n\n toggleNotification({\n type: 'success',\n message: formatMessage({\n id: getTranslation('success.record.publish'),\n defaultMessage: 'Published document',\n }),\n });\n\n return res.data;\n } catch (err) {\n toggleNotification({\n type: 'danger',\n message: formatMessage(DEFAULT_UNEXPECTED_ERROR_MSG),\n });\n throw err;\n }\n },\n [\n // trackUsage,\n publishManyDocuments,\n toggleNotification,\n formatMessage,\n formatAPIError,\n ]\n );\n\n const [updateDocument, { isLoading: isUpdating }] = useUpdateDocumentMutation();\n const update: IUseDocumentActs['update'] = React.useCallback(\n async ({ collectionType, model, documentId, params }, data, trackerProperty) => {\n try {\n trackUsage('willEditEntry', trackerProperty);\n\n const res = await updateDocument({\n collectionType,\n model,\n documentId,\n data,\n params,\n });\n\n if ('error' in res) {\n toggleNotification({ type: 'danger', message: formatAPIError(res.error) });\n\n trackUsage('didNotEditEntry', { error: res.error, ...trackerProperty });\n\n return { error: res.error };\n }\n\n trackUsage('didEditEntry', {\n ...trackerProperty,\n documentId: res.data.data.documentId,\n fromPreview,\n fromRelationModal,\n });\n toggleNotification({\n type: 'success',\n message: formatMessage({\n id: getTranslation('success.record.save'),\n defaultMessage: 'Saved document',\n }),\n });\n\n return res.data;\n } catch (err) {\n trackUsage('didNotEditEntry', { error: err, ...trackerProperty });\n\n toggleNotification({\n type: 'danger',\n message: formatMessage(DEFAULT_UNEXPECTED_ERROR_MSG),\n });\n\n throw err;\n }\n },\n [\n trackUsage,\n updateDocument,\n fromPreview,\n fromRelationModal,\n toggleNotification,\n formatMessage,\n formatAPIError,\n ]\n );\n\n const [unpublishDocument] = useUnpublishDocumentMutation();\n const unpublish: IUseDocumentActs['unpublish'] = React.useCallback(\n async ({ collectionType, model, documentId, params }, discardDraft = false) => {\n try {\n trackUsage('willUnpublishEntry');\n\n const res = await unpublishDocument({\n collectionType,\n model,\n documentId,\n params,\n data: {\n discardDraft,\n },\n });\n\n if ('error' in res) {\n toggleNotification({ type: 'danger', message: formatAPIError(res.error) });\n\n return { error: res.error };\n }\n\n trackUsage('didUnpublishEntry');\n\n toggleNotification({\n type: 'success',\n message: formatMessage({\n id: getTranslation('success.record.unpublish'),\n defaultMessage: 'Unpublished document',\n }),\n });\n\n return res.data;\n } catch (err) {\n toggleNotification({\n type: 'danger',\n message: formatMessage(DEFAULT_UNEXPECTED_ERROR_MSG),\n });\n\n throw err;\n }\n },\n [trackUsage, unpublishDocument, toggleNotification, formatMessage, formatAPIError]\n );\n\n const [unpublishManyDocuments, { isLoading: isUnpublishingMany }] =\n useUnpublishManyDocumentsMutation();\n const unpublishMany: IUseDocumentActs['unpublishMany'] = React.useCallback(\n async ({ model, documentIds, params }) => {\n try {\n trackUsage('willBulkUnpublishEntries');\n\n const res = await unpublishManyDocuments({\n model,\n documentIds,\n params,\n });\n\n if ('error' in res) {\n toggleNotification({ type: 'danger', message: formatAPIError(res.error) });\n\n return { error: res.error };\n }\n\n trackUsage('didBulkUnpublishEntries');\n\n toggleNotification({\n type: 'success',\n title: formatMessage({\n id: getTranslation('success.records.unpublish'),\n defaultMessage: 'Successfully unpublished.',\n }),\n message: '',\n });\n\n return res.data;\n } catch (err) {\n toggleNotification({\n type: 'danger',\n message: formatMessage(DEFAULT_UNEXPECTED_ERROR_MSG),\n });\n\n trackUsage('didNotBulkUnpublishEntries');\n\n throw err;\n }\n },\n [trackUsage, unpublishManyDocuments, toggleNotification, formatMessage, formatAPIError]\n );\n\n const [createDocument] = useCreateDocumentMutation();\n const create: IUseDocumentActs['create'] = React.useCallback(\n async ({ model, params }, data, trackerProperty) => {\n try {\n const res = await createDocument({\n model,\n data,\n params,\n });\n\n if ('error' in res) {\n toggleNotification({ type: 'danger', message: formatAPIError(res.error) });\n\n trackUsage('didNotCreateEntry', { error: res.error, ...trackerProperty });\n\n return { error: res.error };\n }\n trackUsage('didCreateEntry', {\n ...trackerProperty,\n documentId: res.data.data.documentId,\n fromPreview,\n fromRelationModal,\n });\n\n toggleNotification({\n type: 'success',\n message: formatMessage({\n id: getTranslation('success.record.save'),\n defaultMessage: 'Saved document',\n }),\n });\n\n setCurrentStep('contentManager.success');\n\n return res.data;\n } catch (err) {\n toggleNotification({\n type: 'danger',\n message: formatMessage(DEFAULT_UNEXPECTED_ERROR_MSG),\n });\n\n trackUsage('didNotCreateEntry', { error: err, ...trackerProperty });\n\n throw err;\n }\n },\n [\n createDocument,\n formatAPIError,\n formatMessage,\n fromPreview,\n fromRelationModal,\n setCurrentStep,\n toggleNotification,\n trackUsage,\n ]\n );\n\n const [autoCloneDocument] = useAutoCloneDocumentMutation();\n const autoClone: IUseDocumentActs['autoClone'] = React.useCallback(\n async ({ model, sourceId, locale }) => {\n try {\n const res = await autoCloneDocument({\n model,\n sourceId,\n params: locale ? { locale } : undefined,\n });\n\n if ('error' in res) {\n return { error: res.error };\n }\n\n toggleNotification({\n type: 'success',\n message: formatMessage({\n id: getTranslation('success.record.clone'),\n defaultMessage: 'Cloned document',\n }),\n });\n\n return res.data;\n } catch (err) {\n toggleNotification({\n type: 'danger',\n message: formatMessage(DEFAULT_UNEXPECTED_ERROR_MSG),\n });\n\n throw err;\n }\n },\n [autoCloneDocument, formatMessage, toggleNotification]\n );\n\n const [cloneDocument] = useCloneDocumentMutation();\n const clone: IUseDocumentActs['clone'] = React.useCallback(\n async ({ model, documentId, params }, body, trackerProperty) => {\n try {\n // Omit id and documentId so they are not copied to the clone\n const { id: _id, documentId: _documentId, ...restBody } = body;\n\n /**\n * If we're cloning we want to post directly to this endpoint\n * so that the relations even if they're not listed in the EditView\n * are correctly attached to the entry.\n */\n const res = await cloneDocument({\n model,\n sourceId: documentId,\n data: restBody,\n params,\n });\n\n if ('error' in res) {\n toggleNotification({ type: 'danger', message: formatAPIError(res.error) });\n\n trackUsage('didNotCreateEntry', { error: res.error, ...trackerProperty });\n\n return { error: res.error };\n }\n\n trackUsage('didCreateEntry', trackerProperty);\n toggleNotification({\n type: 'success',\n message: formatMessage({\n id: getTranslation('success.record.clone'),\n defaultMessage: 'Cloned document',\n }),\n });\n\n // Redirect to normal edit view\n navigate(`../../${res.data.data.documentId}`, { relative: 'path' });\n\n return res.data;\n } catch (err) {\n toggleNotification({\n type: 'danger',\n message: formatMessage(DEFAULT_UNEXPECTED_ERROR_MSG),\n });\n\n trackUsage('didNotCreateEntry', { error: err, ...trackerProperty });\n\n throw err;\n }\n },\n [cloneDocument, trackUsage, toggleNotification, formatMessage, formatAPIError, navigate]\n );\n\n const [getDoc] = useLazyGetDocumentQuery();\n const getDocument: IUseDocumentActs['getDocument'] = React.useCallback(\n async (args) => {\n const { data } = await getDoc(args);\n\n return data;\n },\n [getDoc]\n );\n\n return {\n isLoading:\n isPublishing ||\n isUpdating ||\n isDiscardingDocument ||\n isDeleting ||\n isDeletingMany ||\n isUnpublishingMany ||\n isPublishingMany,\n autoClone,\n clone,\n create,\n delete: _delete,\n deleteMany,\n discard,\n getDocument,\n publish,\n publishMany,\n unpublish,\n unpublishMany,\n update,\n } satisfies IUseDocumentActs;\n};\n\nexport { useDocumentActions };\nexport type { UseDocumentActions, OperationResponse };\n"],"names":["DEFAULT_UNEXPECTED_ERROR_MSG","id","defaultMessage","useDocumentActions","toggleNotification","useNotification","formatMessage","useIntl","trackUsage","useTracking","_unstableFormatAPIError","formatAPIError","useAPIErrorHandler","navigate","useNavigate","setCurrentStep","useGuidedTour","state","previewContext","usePreviewContext","relationContext","useRelationModal","fromPreview","undefined","fromRelationModal","deleteDocument","isLoading","isDeleting","useDeleteDocumentMutation","_delete","React","useCallback","collectionType","model","documentId","params","trackerProperty","res","type","message","error","getTranslation","data","err","deleteManyDocuments","isDeletingMany","useDeleteManyDocumentsMutation","deleteMany","documentIds","title","discardDocument","isDiscardingDocument","useDiscardDocumentMutation","discard","publishDocument","isPublishing","usePublishDocumentMutation","publish","publishManyDocuments","isPublishingMany","usePublishManyDocumentsMutation","publishMany","updateDocument","isUpdating","useUpdateDocumentMutation","update","unpublishDocument","useUnpublishDocumentMutation","unpublish","discardDraft","unpublishManyDocuments","isUnpublishingMany","useUnpublishManyDocumentsMutation","unpublishMany","createDocument","useCreateDocumentMutation","create","autoCloneDocument","useAutoCloneDocumentMutation","autoClone","sourceId","locale","cloneDocument","useCloneDocumentMutation","clone","body","_id","_documentId","restBody","relative","getDoc","useLazyGetDocumentQuery","getDocument","args","delete"],"mappings":"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"}
|
1
|
+
{"version":3,"file":"useDocumentActions.js","sources":["../../../admin/src/hooks/useDocumentActions.ts"],"sourcesContent":["import * as React from 'react';\n\nimport { SerializedError } from '@reduxjs/toolkit';\nimport {\n useNotification,\n useTracking,\n type TrackingEvent,\n useAPIErrorHandler,\n} from '@strapi/admin/strapi-admin';\nimport { useIntl, type MessageDescriptor } from 'react-intl';\nimport { useNavigate } from 'react-router-dom';\n\nimport { useRelationModal } from '../pages/EditView/components/FormInputs/Relations/RelationModal';\nimport { usePreviewContext } from '../preview/pages/Preview';\nimport {\n useAutoCloneDocumentMutation,\n useCloneDocumentMutation,\n useCreateDocumentMutation,\n useDeleteDocumentMutation,\n useDeleteManyDocumentsMutation,\n useDiscardDocumentMutation,\n useLazyGetDocumentQuery,\n usePublishDocumentMutation,\n usePublishManyDocumentsMutation,\n useUnpublishDocumentMutation,\n useUnpublishManyDocumentsMutation,\n useUpdateDocumentMutation,\n} from '../services/documents';\nimport { BaseQueryError } from '../utils/api';\nimport { getTranslation } from '../utils/translations';\n\nimport type { Document } from './useDocument';\nimport type {\n AutoClone,\n Clone,\n Create,\n Delete,\n BulkDelete,\n Discard,\n FindOne,\n Publish,\n BulkPublish,\n Update,\n Unpublish,\n BulkUnpublish,\n} from '../../../shared/contracts/collection-types';\n\nconst DEFAULT_UNEXPECTED_ERROR_MSG = {\n id: 'notification.error',\n defaultMessage: 'An error occurred, please try again',\n} satisfies MessageDescriptor;\n\ntype OperationResponse<TResponse extends { data: any; meta?: any; error?: any }> =\n | Pick<TResponse, 'data'>\n | Pick<TResponse, 'data' | 'meta'>\n | { error: BaseQueryError | SerializedError };\n\ntype BulkOperationResponse<TResponse extends { data: any; error?: any }> =\n | Pick<TResponse, 'data'>\n | { error: BaseQueryError | SerializedError };\n\ntype UseDocumentActions = (\n fromPreview?: boolean,\n fromRelationModal?: boolean\n) => {\n /**\n * @description Attempts to clone a document based on the provided sourceId.\n * This will return a list of the fields as an error if it's unable to clone.\n * You most likely want to use the `clone` action instead.\n */\n isLoading: boolean;\n autoClone: (args: {\n model: string;\n sourceId: string;\n locale?: string;\n }) => Promise<OperationResponse<AutoClone.Response>>;\n clone: (\n args: {\n model: string;\n documentId: string;\n params?: object;\n },\n document: Omit<Document, 'id'>,\n trackerProperty?: Extract<\n TrackingEvent,\n { name: 'willCreateEntry' | 'didCreateEntry' | 'didNotCreateEntry' }\n >['properties']\n ) => Promise<OperationResponse<Clone.Response>>;\n create: (\n args: {\n model: string;\n params?: object;\n },\n document: Omit<Document, 'id'>,\n trackerProperty?: Extract<\n TrackingEvent,\n { name: 'willCreateEntry' | 'didCreateEntry' | 'didNotCreateEntry' }\n >['properties']\n ) => Promise<OperationResponse<Create.Response>>;\n delete: (\n args: {\n collectionType: string;\n model: string;\n documentId?: string;\n params?: object;\n },\n trackerProperty?: Extract<\n TrackingEvent,\n { name: 'willDeleteEntry' | 'didDeleteEntry' | 'didNotDeleteEntry' }\n >['properties']\n ) => Promise<OperationResponse<Delete.Response>>;\n deleteMany: (args: {\n model: string;\n documentIds: string[];\n params?: object;\n }) => Promise<BulkOperationResponse<BulkDelete.Response>>;\n discard: (args: {\n collectionType: string;\n model: string;\n documentId?: string;\n params?: object;\n }) => Promise<OperationResponse<Discard.Response>>;\n getDocument: (args: {\n collectionType: string;\n model: string;\n documentId?: string;\n params?: object;\n }) => Promise<FindOne.Response | undefined>;\n publish: (\n args: {\n collectionType: string;\n model: string;\n documentId?: string;\n params?: object;\n },\n document: Partial<Document>\n ) => Promise<OperationResponse<Publish.Response>>;\n publishMany: (args: {\n model: string;\n documentIds: string[];\n params?: object;\n }) => Promise<BulkOperationResponse<BulkPublish.Response>>;\n update: (\n args: {\n collectionType: string;\n model: string;\n documentId?: string;\n params?: object;\n },\n document: Partial<Document>,\n trackerProperty?: Extract<\n TrackingEvent,\n { name: 'willEditEntry' | 'didEditEntry' | 'didNotEditEntry' }\n >['properties']\n ) => Promise<OperationResponse<Update.Response>>;\n unpublish: (\n args: {\n collectionType: string;\n model: string;\n documentId?: string;\n params?: object;\n },\n discardDraft?: boolean\n ) => Promise<OperationResponse<Unpublish.Response>>;\n unpublishMany: (args: {\n model: string;\n documentIds: string[];\n params?: object;\n }) => Promise<BulkOperationResponse<BulkUnpublish.Response>>;\n};\n\ntype IUseDocumentActs = ReturnType<UseDocumentActions>;\n\n/**\n * @alpha\n * @public\n * @description Contains all the operations that can be performed on a single document.\n * Designed to be able to be used anywhere within a Strapi app. The hooks will handle\n * notifications should the operation fail, however the response is always returned incase\n * the user needs to handle side-effects.\n * @example\n * ```tsx\n * import { Form } from '@strapi/admin/admin';\n *\n * const { id, model, collectionType } = useParams<{ id: string; model: string; collectionType: string }>();\n * const { update } = useDocumentActions();\n *\n * const handleSubmit = async (data) => {\n * await update({ collectionType, model, documentId: id }, data);\n * }\n *\n * return <Form method=\"PUT\" onSubmit={handleSubmit} />\n * ```\n *\n * @see {@link https://contributor.strapi.io/docs/core/content-manager/hooks/use-document-operations} for more information\n */\nconst useDocumentActions: UseDocumentActions = () => {\n const { toggleNotification } = useNotification();\n const { formatMessage } = useIntl();\n const { trackUsage } = useTracking();\n const { _unstableFormatAPIError: formatAPIError } = useAPIErrorHandler();\n const navigate = useNavigate();\n\n // Get metadata from context providers for tracking purposes\n const previewContext = usePreviewContext('useDocumentActions', () => true, false);\n const relationContext = useRelationModal('useDocumentActions', () => true, false);\n const fromPreview = previewContext != undefined;\n const fromRelationModal = relationContext != undefined;\n\n const [deleteDocument, { isLoading: isDeleting }] = useDeleteDocumentMutation();\n const _delete: IUseDocumentActs['delete'] = React.useCallback(\n async ({ collectionType, model, documentId, params }, trackerProperty) => {\n try {\n trackUsage('willDeleteEntry', trackerProperty);\n\n const res = await deleteDocument({\n collectionType,\n model,\n documentId,\n params,\n });\n\n if ('error' in res) {\n toggleNotification({\n type: 'danger',\n message: formatAPIError(res.error),\n });\n\n return { error: res.error };\n }\n\n toggleNotification({\n type: 'success',\n message: formatMessage({\n id: getTranslation('success.record.delete'),\n defaultMessage: 'Deleted document',\n }),\n });\n\n trackUsage('didDeleteEntry', trackerProperty);\n\n return res.data;\n } catch (err) {\n toggleNotification({\n type: 'danger',\n message: formatMessage(DEFAULT_UNEXPECTED_ERROR_MSG),\n });\n\n trackUsage('didNotDeleteEntry', { error: err, ...trackerProperty });\n\n throw err;\n }\n },\n [trackUsage, deleteDocument, toggleNotification, formatMessage, formatAPIError]\n );\n\n const [deleteManyDocuments, { isLoading: isDeletingMany }] = useDeleteManyDocumentsMutation();\n\n const deleteMany: IUseDocumentActs['deleteMany'] = React.useCallback(\n async ({ model, documentIds, params }) => {\n try {\n trackUsage('willBulkDeleteEntries');\n\n const res = await deleteManyDocuments({\n model,\n documentIds,\n params,\n });\n\n if ('error' in res) {\n toggleNotification({\n type: 'danger',\n message: formatAPIError(res.error),\n });\n\n return { error: res.error };\n }\n\n toggleNotification({\n type: 'success',\n title: formatMessage({\n id: getTranslation('success.records.delete'),\n defaultMessage: 'Successfully deleted.',\n }),\n message: '',\n });\n\n trackUsage('didBulkDeleteEntries');\n\n return res.data;\n } catch (err) {\n toggleNotification({\n type: 'danger',\n message: formatMessage(DEFAULT_UNEXPECTED_ERROR_MSG),\n });\n\n trackUsage('didNotBulkDeleteEntries');\n\n throw err;\n }\n },\n [trackUsage, deleteManyDocuments, toggleNotification, formatMessage, formatAPIError]\n );\n\n const [discardDocument, { isLoading: isDiscardingDocument }] = useDiscardDocumentMutation();\n const discard: IUseDocumentActs['discard'] = React.useCallback(\n async ({ collectionType, model, documentId, params }) => {\n try {\n const res = await discardDocument({\n collectionType,\n model,\n documentId,\n params,\n });\n\n if ('error' in res) {\n toggleNotification({\n type: 'danger',\n message: formatAPIError(res.error),\n });\n\n return { error: res.error };\n }\n\n toggleNotification({\n type: 'success',\n message: formatMessage({\n id: 'content-manager.success.record.discard',\n defaultMessage: 'Changes discarded',\n }),\n });\n\n return res.data;\n } catch (err) {\n toggleNotification({\n type: 'danger',\n message: formatMessage(DEFAULT_UNEXPECTED_ERROR_MSG),\n });\n\n throw err;\n }\n },\n [discardDocument, formatAPIError, formatMessage, toggleNotification]\n );\n\n const [publishDocument, { isLoading: isPublishing }] = usePublishDocumentMutation();\n const publish: IUseDocumentActs['publish'] = React.useCallback(\n async ({ collectionType, model, documentId, params }, data) => {\n try {\n trackUsage('willPublishEntry', { documentId });\n\n const res = await publishDocument({\n collectionType,\n model,\n documentId,\n data,\n params,\n });\n\n if ('error' in res) {\n toggleNotification({ type: 'danger', message: formatAPIError(res.error) });\n return { error: res.error };\n }\n\n trackUsage('didPublishEntry', { documentId, fromPreview, fromRelationModal });\n\n toggleNotification({\n type: 'success',\n message: formatMessage({\n id: getTranslation('success.record.publish'),\n defaultMessage: 'Published document',\n }),\n });\n\n return res.data;\n } catch (err) {\n toggleNotification({\n type: 'danger',\n message: formatMessage(DEFAULT_UNEXPECTED_ERROR_MSG),\n });\n\n throw err;\n }\n },\n [\n trackUsage,\n publishDocument,\n fromPreview,\n fromRelationModal,\n toggleNotification,\n formatMessage,\n formatAPIError,\n ]\n );\n\n const [publishManyDocuments, { isLoading: isPublishingMany }] = usePublishManyDocumentsMutation();\n const publishMany: IUseDocumentActs['publishMany'] = React.useCallback(\n async ({ model, documentIds, params }) => {\n try {\n // TODO Confirm tracking events for bulk publish?\n\n const res = await publishManyDocuments({\n model,\n documentIds,\n params,\n });\n if ('error' in res) {\n toggleNotification({ type: 'danger', message: formatAPIError(res.error) });\n return { error: res.error };\n }\n\n toggleNotification({\n type: 'success',\n message: formatMessage({\n id: getTranslation('success.record.publish'),\n defaultMessage: 'Published document',\n }),\n });\n\n return res.data;\n } catch (err) {\n toggleNotification({\n type: 'danger',\n message: formatMessage(DEFAULT_UNEXPECTED_ERROR_MSG),\n });\n throw err;\n }\n },\n [\n // trackUsage,\n publishManyDocuments,\n toggleNotification,\n formatMessage,\n formatAPIError,\n ]\n );\n\n const [updateDocument, { isLoading: isUpdating }] = useUpdateDocumentMutation();\n const update: IUseDocumentActs['update'] = React.useCallback(\n async ({ collectionType, model, documentId, params }, data, trackerProperty) => {\n try {\n trackUsage('willEditEntry', trackerProperty);\n\n const res = await updateDocument({\n collectionType,\n model,\n documentId,\n data,\n params,\n });\n\n if ('error' in res) {\n toggleNotification({ type: 'danger', message: formatAPIError(res.error) });\n\n trackUsage('didNotEditEntry', { error: res.error, ...trackerProperty });\n\n return { error: res.error };\n }\n\n trackUsage('didEditEntry', {\n ...trackerProperty,\n documentId: res.data.data.documentId,\n fromPreview,\n fromRelationModal,\n });\n toggleNotification({\n type: 'success',\n message: formatMessage({\n id: getTranslation('success.record.save'),\n defaultMessage: 'Saved document',\n }),\n });\n\n return res.data;\n } catch (err) {\n trackUsage('didNotEditEntry', { error: err, ...trackerProperty });\n\n toggleNotification({\n type: 'danger',\n message: formatMessage(DEFAULT_UNEXPECTED_ERROR_MSG),\n });\n\n throw err;\n }\n },\n [\n trackUsage,\n updateDocument,\n fromPreview,\n fromRelationModal,\n toggleNotification,\n formatMessage,\n formatAPIError,\n ]\n );\n\n const [unpublishDocument] = useUnpublishDocumentMutation();\n const unpublish: IUseDocumentActs['unpublish'] = React.useCallback(\n async ({ collectionType, model, documentId, params }, discardDraft = false) => {\n try {\n trackUsage('willUnpublishEntry');\n\n const res = await unpublishDocument({\n collectionType,\n model,\n documentId,\n params,\n data: {\n discardDraft,\n },\n });\n\n if ('error' in res) {\n toggleNotification({ type: 'danger', message: formatAPIError(res.error) });\n\n return { error: res.error };\n }\n\n trackUsage('didUnpublishEntry');\n\n toggleNotification({\n type: 'success',\n message: formatMessage({\n id: getTranslation('success.record.unpublish'),\n defaultMessage: 'Unpublished document',\n }),\n });\n\n return res.data;\n } catch (err) {\n toggleNotification({\n type: 'danger',\n message: formatMessage(DEFAULT_UNEXPECTED_ERROR_MSG),\n });\n\n throw err;\n }\n },\n [trackUsage, unpublishDocument, toggleNotification, formatMessage, formatAPIError]\n );\n\n const [unpublishManyDocuments, { isLoading: isUnpublishingMany }] =\n useUnpublishManyDocumentsMutation();\n const unpublishMany: IUseDocumentActs['unpublishMany'] = React.useCallback(\n async ({ model, documentIds, params }) => {\n try {\n trackUsage('willBulkUnpublishEntries');\n\n const res = await unpublishManyDocuments({\n model,\n documentIds,\n params,\n });\n\n if ('error' in res) {\n toggleNotification({ type: 'danger', message: formatAPIError(res.error) });\n\n return { error: res.error };\n }\n\n trackUsage('didBulkUnpublishEntries');\n\n toggleNotification({\n type: 'success',\n title: formatMessage({\n id: getTranslation('success.records.unpublish'),\n defaultMessage: 'Successfully unpublished.',\n }),\n message: '',\n });\n\n return res.data;\n } catch (err) {\n toggleNotification({\n type: 'danger',\n message: formatMessage(DEFAULT_UNEXPECTED_ERROR_MSG),\n });\n\n trackUsage('didNotBulkUnpublishEntries');\n\n throw err;\n }\n },\n [trackUsage, unpublishManyDocuments, toggleNotification, formatMessage, formatAPIError]\n );\n\n const [createDocument] = useCreateDocumentMutation();\n const create: IUseDocumentActs['create'] = React.useCallback(\n async ({ model, params }, data, trackerProperty) => {\n try {\n const res = await createDocument({\n model,\n data,\n params,\n });\n\n if ('error' in res) {\n toggleNotification({ type: 'danger', message: formatAPIError(res.error) });\n\n trackUsage('didNotCreateEntry', { error: res.error, ...trackerProperty });\n\n return { error: res.error };\n }\n trackUsage('didCreateEntry', {\n ...trackerProperty,\n documentId: res.data.data.documentId,\n fromPreview,\n fromRelationModal,\n });\n\n toggleNotification({\n type: 'success',\n message: formatMessage({\n id: getTranslation('success.record.save'),\n defaultMessage: 'Saved document',\n }),\n });\n\n return res.data;\n } catch (err) {\n toggleNotification({\n type: 'danger',\n message: formatMessage(DEFAULT_UNEXPECTED_ERROR_MSG),\n });\n\n trackUsage('didNotCreateEntry', { error: err, ...trackerProperty });\n\n throw err;\n }\n },\n [\n createDocument,\n formatAPIError,\n formatMessage,\n fromPreview,\n fromRelationModal,\n toggleNotification,\n trackUsage,\n ]\n );\n\n const [autoCloneDocument] = useAutoCloneDocumentMutation();\n const autoClone: IUseDocumentActs['autoClone'] = React.useCallback(\n async ({ model, sourceId, locale }) => {\n try {\n const res = await autoCloneDocument({\n model,\n sourceId,\n params: locale ? { locale } : undefined,\n });\n\n if ('error' in res) {\n return { error: res.error };\n }\n\n toggleNotification({\n type: 'success',\n message: formatMessage({\n id: getTranslation('success.record.clone'),\n defaultMessage: 'Cloned document',\n }),\n });\n\n return res.data;\n } catch (err) {\n toggleNotification({\n type: 'danger',\n message: formatMessage(DEFAULT_UNEXPECTED_ERROR_MSG),\n });\n\n throw err;\n }\n },\n [autoCloneDocument, formatMessage, toggleNotification]\n );\n\n const [cloneDocument] = useCloneDocumentMutation();\n const clone: IUseDocumentActs['clone'] = React.useCallback(\n async ({ model, documentId, params }, body, trackerProperty) => {\n try {\n // Omit id and documentId so they are not copied to the clone\n const { id: _id, documentId: _documentId, ...restBody } = body;\n\n /**\n * If we're cloning we want to post directly to this endpoint\n * so that the relations even if they're not listed in the EditView\n * are correctly attached to the entry.\n */\n const res = await cloneDocument({\n model,\n sourceId: documentId,\n data: restBody,\n params,\n });\n\n if ('error' in res) {\n toggleNotification({ type: 'danger', message: formatAPIError(res.error) });\n\n trackUsage('didNotCreateEntry', { error: res.error, ...trackerProperty });\n\n return { error: res.error };\n }\n\n trackUsage('didCreateEntry', trackerProperty);\n toggleNotification({\n type: 'success',\n message: formatMessage({\n id: getTranslation('success.record.clone'),\n defaultMessage: 'Cloned document',\n }),\n });\n\n // Redirect to normal edit view\n navigate(`../../${res.data.data.documentId}`, { relative: 'path' });\n\n return res.data;\n } catch (err) {\n toggleNotification({\n type: 'danger',\n message: formatMessage(DEFAULT_UNEXPECTED_ERROR_MSG),\n });\n\n trackUsage('didNotCreateEntry', { error: err, ...trackerProperty });\n\n throw err;\n }\n },\n [cloneDocument, trackUsage, toggleNotification, formatMessage, formatAPIError, navigate]\n );\n\n const [getDoc] = useLazyGetDocumentQuery();\n const getDocument: IUseDocumentActs['getDocument'] = React.useCallback(\n async (args) => {\n const { data } = await getDoc(args);\n\n return data;\n },\n [getDoc]\n );\n\n return {\n isLoading:\n isPublishing ||\n isUpdating ||\n isDiscardingDocument ||\n isDeleting ||\n isDeletingMany ||\n isUnpublishingMany ||\n isPublishingMany,\n autoClone,\n clone,\n create,\n delete: _delete,\n deleteMany,\n discard,\n getDocument,\n publish,\n publishMany,\n unpublish,\n unpublishMany,\n update,\n } satisfies IUseDocumentActs;\n};\n\nexport { useDocumentActions };\nexport type { UseDocumentActions, OperationResponse };\n"],"names":["DEFAULT_UNEXPECTED_ERROR_MSG","id","defaultMessage","useDocumentActions","toggleNotification","useNotification","formatMessage","useIntl","trackUsage","useTracking","_unstableFormatAPIError","formatAPIError","useAPIErrorHandler","navigate","useNavigate","previewContext","usePreviewContext","relationContext","useRelationModal","fromPreview","undefined","fromRelationModal","deleteDocument","isLoading","isDeleting","useDeleteDocumentMutation","_delete","React","useCallback","collectionType","model","documentId","params","trackerProperty","res","type","message","error","getTranslation","data","err","deleteManyDocuments","isDeletingMany","useDeleteManyDocumentsMutation","deleteMany","documentIds","title","discardDocument","isDiscardingDocument","useDiscardDocumentMutation","discard","publishDocument","isPublishing","usePublishDocumentMutation","publish","publishManyDocuments","isPublishingMany","usePublishManyDocumentsMutation","publishMany","updateDocument","isUpdating","useUpdateDocumentMutation","update","unpublishDocument","useUnpublishDocumentMutation","unpublish","discardDraft","unpublishManyDocuments","isUnpublishingMany","useUnpublishManyDocumentsMutation","unpublishMany","createDocument","useCreateDocumentMutation","create","autoCloneDocument","useAutoCloneDocumentMutation","autoClone","sourceId","locale","cloneDocument","useCloneDocumentMutation","clone","body","_id","_documentId","restBody","relative","getDoc","useLazyGetDocumentQuery","getDocument","args","delete"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA+CA,MAAMA,4BAA+B,GAAA;IACnCC,EAAI,EAAA,oBAAA;IACJC,cAAgB,EAAA;AAClB,CAAA;AA2HA;;;;;;;;;;;;;;;;;;;;;;AAsBC,UACKC,kBAAyC,GAAA,IAAA;IAC7C,MAAM,EAAEC,kBAAkB,EAAE,GAAGC,2BAAAA,EAAAA;IAC/B,MAAM,EAAEC,aAAa,EAAE,GAAGC,iBAAAA,EAAAA;IAC1B,MAAM,EAAEC,UAAU,EAAE,GAAGC,uBAAAA,EAAAA;AACvB,IAAA,MAAM,EAAEC,uBAAAA,EAAyBC,cAAc,EAAE,GAAGC,8BAAAA,EAAAA;AACpD,IAAA,MAAMC,QAAWC,GAAAA,0BAAAA,EAAAA;;AAGjB,IAAA,MAAMC,cAAiBC,GAAAA,yBAAAA,CAAkB,oBAAsB,EAAA,IAAM,IAAM,EAAA,KAAA,CAAA;AAC3E,IAAA,MAAMC,eAAkBC,GAAAA,8BAAAA,CAAiB,oBAAsB,EAAA,IAAM,IAAM,EAAA,KAAA,CAAA;AAC3E,IAAA,MAAMC,cAAcJ,cAAkBK,IAAAA,SAAAA;AACtC,IAAA,MAAMC,oBAAoBJ,eAAmBG,IAAAA,SAAAA;AAE7C,IAAA,MAAM,CAACE,cAAgB,EAAA,EAAEC,WAAWC,UAAU,EAAE,CAAC,GAAGC,mCAAAA,EAAAA;AACpD,IAAA,MAAMC,OAAsCC,GAAAA,gBAAAA,CAAMC,WAAW,CAC3D,OAAO,EAAEC,cAAc,EAAEC,KAAK,EAAEC,UAAU,EAAEC,MAAM,EAAE,EAAEC,eAAAA,GAAAA;QACpD,IAAI;AACFzB,YAAAA,UAAAA,CAAW,iBAAmByB,EAAAA,eAAAA,CAAAA;YAE9B,MAAMC,GAAAA,GAAM,MAAMZ,cAAe,CAAA;AAC/BO,gBAAAA,cAAAA;AACAC,gBAAAA,KAAAA;AACAC,gBAAAA,UAAAA;AACAC,gBAAAA;AACF,aAAA,CAAA;AAEA,YAAA,IAAI,WAAWE,GAAK,EAAA;gBAClB9B,kBAAmB,CAAA;oBACjB+B,IAAM,EAAA,QAAA;oBACNC,OAASzB,EAAAA,cAAAA,CAAeuB,IAAIG,KAAK;AACnC,iBAAA,CAAA;gBAEA,OAAO;AAAEA,oBAAAA,KAAAA,EAAOH,IAAIG;AAAM,iBAAA;AAC5B;YAEAjC,kBAAmB,CAAA;gBACjB+B,IAAM,EAAA,SAAA;AACNC,gBAAAA,OAAAA,EAAS9B,aAAc,CAAA;AACrBL,oBAAAA,EAAAA,EAAIqC,2BAAe,CAAA,uBAAA,CAAA;oBACnBpC,cAAgB,EAAA;AAClB,iBAAA;AACF,aAAA,CAAA;AAEAM,YAAAA,UAAAA,CAAW,gBAAkByB,EAAAA,eAAAA,CAAAA;AAE7B,YAAA,OAAOC,IAAIK,IAAI;AACjB,SAAA,CAAE,OAAOC,GAAK,EAAA;YACZpC,kBAAmB,CAAA;gBACjB+B,IAAM,EAAA,QAAA;AACNC,gBAAAA,OAAAA,EAAS9B,aAAcN,CAAAA,4BAAAA;AACzB,aAAA,CAAA;AAEAQ,YAAAA,UAAAA,CAAW,mBAAqB,EAAA;gBAAE6B,KAAOG,EAAAA,GAAAA;AAAK,gBAAA,GAAGP;AAAgB,aAAA,CAAA;YAEjE,MAAMO,GAAAA;AACR;KAEF,EAAA;AAAChC,QAAAA,UAAAA;AAAYc,QAAAA,cAAAA;AAAgBlB,QAAAA,kBAAAA;AAAoBE,QAAAA,aAAAA;AAAeK,QAAAA;AAAe,KAAA,CAAA;AAGjF,IAAA,MAAM,CAAC8B,mBAAqB,EAAA,EAAElB,WAAWmB,cAAc,EAAE,CAAC,GAAGC,wCAAAA,EAAAA;IAE7D,MAAMC,UAAAA,GAA6CjB,gBAAMC,CAAAA,WAAW,CAClE,OAAO,EAAEE,KAAK,EAAEe,WAAW,EAAEb,MAAM,EAAE,GAAA;QACnC,IAAI;YACFxB,UAAW,CAAA,uBAAA,CAAA;YAEX,MAAM0B,GAAAA,GAAM,MAAMO,mBAAoB,CAAA;AACpCX,gBAAAA,KAAAA;AACAe,gBAAAA,WAAAA;AACAb,gBAAAA;AACF,aAAA,CAAA;AAEA,YAAA,IAAI,WAAWE,GAAK,EAAA;gBAClB9B,kBAAmB,CAAA;oBACjB+B,IAAM,EAAA,QAAA;oBACNC,OAASzB,EAAAA,cAAAA,CAAeuB,IAAIG,KAAK;AACnC,iBAAA,CAAA;gBAEA,OAAO;AAAEA,oBAAAA,KAAAA,EAAOH,IAAIG;AAAM,iBAAA;AAC5B;YAEAjC,kBAAmB,CAAA;gBACjB+B,IAAM,EAAA,SAAA;AACNW,gBAAAA,KAAAA,EAAOxC,aAAc,CAAA;AACnBL,oBAAAA,EAAAA,EAAIqC,2BAAe,CAAA,wBAAA,CAAA;oBACnBpC,cAAgB,EAAA;AAClB,iBAAA,CAAA;gBACAkC,OAAS,EAAA;AACX,aAAA,CAAA;YAEA5B,UAAW,CAAA,sBAAA,CAAA;AAEX,YAAA,OAAO0B,IAAIK,IAAI;AACjB,SAAA,CAAE,OAAOC,GAAK,EAAA;YACZpC,kBAAmB,CAAA;gBACjB+B,IAAM,EAAA,QAAA;AACNC,gBAAAA,OAAAA,EAAS9B,aAAcN,CAAAA,4BAAAA;AACzB,aAAA,CAAA;YAEAQ,UAAW,CAAA,yBAAA,CAAA;YAEX,MAAMgC,GAAAA;AACR;KAEF,EAAA;AAAChC,QAAAA,UAAAA;AAAYiC,QAAAA,mBAAAA;AAAqBrC,QAAAA,kBAAAA;AAAoBE,QAAAA,aAAAA;AAAeK,QAAAA;AAAe,KAAA,CAAA;AAGtF,IAAA,MAAM,CAACoC,eAAiB,EAAA,EAAExB,WAAWyB,oBAAoB,EAAE,CAAC,GAAGC,oCAAAA,EAAAA;AAC/D,IAAA,MAAMC,OAAuCvB,GAAAA,gBAAAA,CAAMC,WAAW,CAC5D,OAAO,EAAEC,cAAc,EAAEC,KAAK,EAAEC,UAAU,EAAEC,MAAM,EAAE,GAAA;QAClD,IAAI;YACF,MAAME,GAAAA,GAAM,MAAMa,eAAgB,CAAA;AAChClB,gBAAAA,cAAAA;AACAC,gBAAAA,KAAAA;AACAC,gBAAAA,UAAAA;AACAC,gBAAAA;AACF,aAAA,CAAA;AAEA,YAAA,IAAI,WAAWE,GAAK,EAAA;gBAClB9B,kBAAmB,CAAA;oBACjB+B,IAAM,EAAA,QAAA;oBACNC,OAASzB,EAAAA,cAAAA,CAAeuB,IAAIG,KAAK;AACnC,iBAAA,CAAA;gBAEA,OAAO;AAAEA,oBAAAA,KAAAA,EAAOH,IAAIG;AAAM,iBAAA;AAC5B;YAEAjC,kBAAmB,CAAA;gBACjB+B,IAAM,EAAA,SAAA;AACNC,gBAAAA,OAAAA,EAAS9B,aAAc,CAAA;oBACrBL,EAAI,EAAA,wCAAA;oBACJC,cAAgB,EAAA;AAClB,iBAAA;AACF,aAAA,CAAA;AAEA,YAAA,OAAOgC,IAAIK,IAAI;AACjB,SAAA,CAAE,OAAOC,GAAK,EAAA;YACZpC,kBAAmB,CAAA;gBACjB+B,IAAM,EAAA,QAAA;AACNC,gBAAAA,OAAAA,EAAS9B,aAAcN,CAAAA,4BAAAA;AACzB,aAAA,CAAA;YAEA,MAAMwC,GAAAA;AACR;KAEF,EAAA;AAACO,QAAAA,eAAAA;AAAiBpC,QAAAA,cAAAA;AAAgBL,QAAAA,aAAAA;AAAeF,QAAAA;AAAmB,KAAA,CAAA;AAGtE,IAAA,MAAM,CAAC+C,eAAiB,EAAA,EAAE5B,WAAW6B,YAAY,EAAE,CAAC,GAAGC,oCAAAA,EAAAA;AACvD,IAAA,MAAMC,OAAuC3B,GAAAA,gBAAAA,CAAMC,WAAW,CAC5D,OAAO,EAAEC,cAAc,EAAEC,KAAK,EAAEC,UAAU,EAAEC,MAAM,EAAE,EAAEO,IAAAA,GAAAA;QACpD,IAAI;AACF/B,YAAAA,UAAAA,CAAW,kBAAoB,EAAA;AAAEuB,gBAAAA;AAAW,aAAA,CAAA;YAE5C,MAAMG,GAAAA,GAAM,MAAMiB,eAAgB,CAAA;AAChCtB,gBAAAA,cAAAA;AACAC,gBAAAA,KAAAA;AACAC,gBAAAA,UAAAA;AACAQ,gBAAAA,IAAAA;AACAP,gBAAAA;AACF,aAAA,CAAA;AAEA,YAAA,IAAI,WAAWE,GAAK,EAAA;gBAClB9B,kBAAmB,CAAA;oBAAE+B,IAAM,EAAA,QAAA;oBAAUC,OAASzB,EAAAA,cAAAA,CAAeuB,IAAIG,KAAK;AAAE,iBAAA,CAAA;gBACxE,OAAO;AAAEA,oBAAAA,KAAAA,EAAOH,IAAIG;AAAM,iBAAA;AAC5B;AAEA7B,YAAAA,UAAAA,CAAW,iBAAmB,EAAA;AAAEuB,gBAAAA,UAAAA;AAAYZ,gBAAAA,WAAAA;AAAaE,gBAAAA;AAAkB,aAAA,CAAA;YAE3EjB,kBAAmB,CAAA;gBACjB+B,IAAM,EAAA,SAAA;AACNC,gBAAAA,OAAAA,EAAS9B,aAAc,CAAA;AACrBL,oBAAAA,EAAAA,EAAIqC,2BAAe,CAAA,wBAAA,CAAA;oBACnBpC,cAAgB,EAAA;AAClB,iBAAA;AACF,aAAA,CAAA;AAEA,YAAA,OAAOgC,IAAIK,IAAI;AACjB,SAAA,CAAE,OAAOC,GAAK,EAAA;YACZpC,kBAAmB,CAAA;gBACjB+B,IAAM,EAAA,QAAA;AACNC,gBAAAA,OAAAA,EAAS9B,aAAcN,CAAAA,4BAAAA;AACzB,aAAA,CAAA;YAEA,MAAMwC,GAAAA;AACR;KAEF,EAAA;AACEhC,QAAAA,UAAAA;AACA2C,QAAAA,eAAAA;AACAhC,QAAAA,WAAAA;AACAE,QAAAA,iBAAAA;AACAjB,QAAAA,kBAAAA;AACAE,QAAAA,aAAAA;AACAK,QAAAA;AACD,KAAA,CAAA;AAGH,IAAA,MAAM,CAAC4C,oBAAsB,EAAA,EAAEhC,WAAWiC,gBAAgB,EAAE,CAAC,GAAGC,yCAAAA,EAAAA;IAChE,MAAMC,WAAAA,GAA+C/B,gBAAMC,CAAAA,WAAW,CACpE,OAAO,EAAEE,KAAK,EAAEe,WAAW,EAAEb,MAAM,EAAE,GAAA;QACnC,IAAI;;YAGF,MAAME,GAAAA,GAAM,MAAMqB,oBAAqB,CAAA;AACrCzB,gBAAAA,KAAAA;AACAe,gBAAAA,WAAAA;AACAb,gBAAAA;AACF,aAAA,CAAA;AACA,YAAA,IAAI,WAAWE,GAAK,EAAA;gBAClB9B,kBAAmB,CAAA;oBAAE+B,IAAM,EAAA,QAAA;oBAAUC,OAASzB,EAAAA,cAAAA,CAAeuB,IAAIG,KAAK;AAAE,iBAAA,CAAA;gBACxE,OAAO;AAAEA,oBAAAA,KAAAA,EAAOH,IAAIG;AAAM,iBAAA;AAC5B;YAEAjC,kBAAmB,CAAA;gBACjB+B,IAAM,EAAA,SAAA;AACNC,gBAAAA,OAAAA,EAAS9B,aAAc,CAAA;AACrBL,oBAAAA,EAAAA,EAAIqC,2BAAe,CAAA,wBAAA,CAAA;oBACnBpC,cAAgB,EAAA;AAClB,iBAAA;AACF,aAAA,CAAA;AAEA,YAAA,OAAOgC,IAAIK,IAAI;AACjB,SAAA,CAAE,OAAOC,GAAK,EAAA;YACZpC,kBAAmB,CAAA;gBACjB+B,IAAM,EAAA,QAAA;AACNC,gBAAAA,OAAAA,EAAS9B,aAAcN,CAAAA,4BAAAA;AACzB,aAAA,CAAA;YACA,MAAMwC,GAAAA;AACR;KAEF,EAAA;;AAEEe,QAAAA,oBAAAA;AACAnD,QAAAA,kBAAAA;AACAE,QAAAA,aAAAA;AACAK,QAAAA;AACD,KAAA,CAAA;AAGH,IAAA,MAAM,CAACgD,cAAgB,EAAA,EAAEpC,WAAWqC,UAAU,EAAE,CAAC,GAAGC,mCAAAA,EAAAA;AACpD,IAAA,MAAMC,MAAqCnC,GAAAA,gBAAAA,CAAMC,WAAW,CAC1D,OAAO,EAAEC,cAAc,EAAEC,KAAK,EAAEC,UAAU,EAAEC,MAAM,EAAE,EAAEO,IAAMN,EAAAA,eAAAA,GAAAA;QAC1D,IAAI;AACFzB,YAAAA,UAAAA,CAAW,eAAiByB,EAAAA,eAAAA,CAAAA;YAE5B,MAAMC,GAAAA,GAAM,MAAMyB,cAAe,CAAA;AAC/B9B,gBAAAA,cAAAA;AACAC,gBAAAA,KAAAA;AACAC,gBAAAA,UAAAA;AACAQ,gBAAAA,IAAAA;AACAP,gBAAAA;AACF,aAAA,CAAA;AAEA,YAAA,IAAI,WAAWE,GAAK,EAAA;gBAClB9B,kBAAmB,CAAA;oBAAE+B,IAAM,EAAA,QAAA;oBAAUC,OAASzB,EAAAA,cAAAA,CAAeuB,IAAIG,KAAK;AAAE,iBAAA,CAAA;AAExE7B,gBAAAA,UAAAA,CAAW,iBAAmB,EAAA;AAAE6B,oBAAAA,KAAAA,EAAOH,IAAIG,KAAK;AAAE,oBAAA,GAAGJ;AAAgB,iBAAA,CAAA;gBAErE,OAAO;AAAEI,oBAAAA,KAAAA,EAAOH,IAAIG;AAAM,iBAAA;AAC5B;AAEA7B,YAAAA,UAAAA,CAAW,cAAgB,EAAA;AACzB,gBAAA,GAAGyB,eAAe;AAClBF,gBAAAA,UAAAA,EAAYG,GAAIK,CAAAA,IAAI,CAACA,IAAI,CAACR,UAAU;AACpCZ,gBAAAA,WAAAA;AACAE,gBAAAA;AACF,aAAA,CAAA;YACAjB,kBAAmB,CAAA;gBACjB+B,IAAM,EAAA,SAAA;AACNC,gBAAAA,OAAAA,EAAS9B,aAAc,CAAA;AACrBL,oBAAAA,EAAAA,EAAIqC,2BAAe,CAAA,qBAAA,CAAA;oBACnBpC,cAAgB,EAAA;AAClB,iBAAA;AACF,aAAA,CAAA;AAEA,YAAA,OAAOgC,IAAIK,IAAI;AACjB,SAAA,CAAE,OAAOC,GAAK,EAAA;AACZhC,YAAAA,UAAAA,CAAW,iBAAmB,EAAA;gBAAE6B,KAAOG,EAAAA,GAAAA;AAAK,gBAAA,GAAGP;AAAgB,aAAA,CAAA;YAE/D7B,kBAAmB,CAAA;gBACjB+B,IAAM,EAAA,QAAA;AACNC,gBAAAA,OAAAA,EAAS9B,aAAcN,CAAAA,4BAAAA;AACzB,aAAA,CAAA;YAEA,MAAMwC,GAAAA;AACR;KAEF,EAAA;AACEhC,QAAAA,UAAAA;AACAmD,QAAAA,cAAAA;AACAxC,QAAAA,WAAAA;AACAE,QAAAA,iBAAAA;AACAjB,QAAAA,kBAAAA;AACAE,QAAAA,aAAAA;AACAK,QAAAA;AACD,KAAA,CAAA;IAGH,MAAM,CAACoD,kBAAkB,GAAGC,sCAAAA,EAAAA;AAC5B,IAAA,MAAMC,YAA2CtC,gBAAMC,CAAAA,WAAW,CAChE,OAAO,EAAEC,cAAc,EAAEC,KAAK,EAAEC,UAAU,EAAEC,MAAM,EAAE,EAAEkC,eAAe,KAAK,GAAA;QACxE,IAAI;YACF1D,UAAW,CAAA,oBAAA,CAAA;YAEX,MAAM0B,GAAAA,GAAM,MAAM6B,iBAAkB,CAAA;AAClClC,gBAAAA,cAAAA;AACAC,gBAAAA,KAAAA;AACAC,gBAAAA,UAAAA;AACAC,gBAAAA,MAAAA;gBACAO,IAAM,EAAA;AACJ2B,oBAAAA;AACF;AACF,aAAA,CAAA;AAEA,YAAA,IAAI,WAAWhC,GAAK,EAAA;gBAClB9B,kBAAmB,CAAA;oBAAE+B,IAAM,EAAA,QAAA;oBAAUC,OAASzB,EAAAA,cAAAA,CAAeuB,IAAIG,KAAK;AAAE,iBAAA,CAAA;gBAExE,OAAO;AAAEA,oBAAAA,KAAAA,EAAOH,IAAIG;AAAM,iBAAA;AAC5B;YAEA7B,UAAW,CAAA,mBAAA,CAAA;YAEXJ,kBAAmB,CAAA;gBACjB+B,IAAM,EAAA,SAAA;AACNC,gBAAAA,OAAAA,EAAS9B,aAAc,CAAA;AACrBL,oBAAAA,EAAAA,EAAIqC,2BAAe,CAAA,0BAAA,CAAA;oBACnBpC,cAAgB,EAAA;AAClB,iBAAA;AACF,aAAA,CAAA;AAEA,YAAA,OAAOgC,IAAIK,IAAI;AACjB,SAAA,CAAE,OAAOC,GAAK,EAAA;YACZpC,kBAAmB,CAAA;gBACjB+B,IAAM,EAAA,QAAA;AACNC,gBAAAA,OAAAA,EAAS9B,aAAcN,CAAAA,4BAAAA;AACzB,aAAA,CAAA;YAEA,MAAMwC,GAAAA;AACR;KAEF,EAAA;AAAChC,QAAAA,UAAAA;AAAYuD,QAAAA,iBAAAA;AAAmB3D,QAAAA,kBAAAA;AAAoBE,QAAAA,aAAAA;AAAeK,QAAAA;AAAe,KAAA,CAAA;AAGpF,IAAA,MAAM,CAACwD,sBAAwB,EAAA,EAAE5C,WAAW6C,kBAAkB,EAAE,CAAC,GAC/DC,2CAAAA,EAAAA;IACF,MAAMC,aAAAA,GAAmD3C,gBAAMC,CAAAA,WAAW,CACxE,OAAO,EAAEE,KAAK,EAAEe,WAAW,EAAEb,MAAM,EAAE,GAAA;QACnC,IAAI;YACFxB,UAAW,CAAA,0BAAA,CAAA;YAEX,MAAM0B,GAAAA,GAAM,MAAMiC,sBAAuB,CAAA;AACvCrC,gBAAAA,KAAAA;AACAe,gBAAAA,WAAAA;AACAb,gBAAAA;AACF,aAAA,CAAA;AAEA,YAAA,IAAI,WAAWE,GAAK,EAAA;gBAClB9B,kBAAmB,CAAA;oBAAE+B,IAAM,EAAA,QAAA;oBAAUC,OAASzB,EAAAA,cAAAA,CAAeuB,IAAIG,KAAK;AAAE,iBAAA,CAAA;gBAExE,OAAO;AAAEA,oBAAAA,KAAAA,EAAOH,IAAIG;AAAM,iBAAA;AAC5B;YAEA7B,UAAW,CAAA,yBAAA,CAAA;YAEXJ,kBAAmB,CAAA;gBACjB+B,IAAM,EAAA,SAAA;AACNW,gBAAAA,KAAAA,EAAOxC,aAAc,CAAA;AACnBL,oBAAAA,EAAAA,EAAIqC,2BAAe,CAAA,2BAAA,CAAA;oBACnBpC,cAAgB,EAAA;AAClB,iBAAA,CAAA;gBACAkC,OAAS,EAAA;AACX,aAAA,CAAA;AAEA,YAAA,OAAOF,IAAIK,IAAI;AACjB,SAAA,CAAE,OAAOC,GAAK,EAAA;YACZpC,kBAAmB,CAAA;gBACjB+B,IAAM,EAAA,QAAA;AACNC,gBAAAA,OAAAA,EAAS9B,aAAcN,CAAAA,4BAAAA;AACzB,aAAA,CAAA;YAEAQ,UAAW,CAAA,4BAAA,CAAA;YAEX,MAAMgC,GAAAA;AACR;KAEF,EAAA;AAAChC,QAAAA,UAAAA;AAAY2D,QAAAA,sBAAAA;AAAwB/D,QAAAA,kBAAAA;AAAoBE,QAAAA,aAAAA;AAAeK,QAAAA;AAAe,KAAA,CAAA;IAGzF,MAAM,CAAC4D,eAAe,GAAGC,mCAAAA,EAAAA;IACzB,MAAMC,MAAAA,GAAqC9C,gBAAMC,CAAAA,WAAW,CAC1D,OAAO,EAAEE,KAAK,EAAEE,MAAM,EAAE,EAAEO,IAAMN,EAAAA,eAAAA,GAAAA;QAC9B,IAAI;YACF,MAAMC,GAAAA,GAAM,MAAMqC,cAAe,CAAA;AAC/BzC,gBAAAA,KAAAA;AACAS,gBAAAA,IAAAA;AACAP,gBAAAA;AACF,aAAA,CAAA;AAEA,YAAA,IAAI,WAAWE,GAAK,EAAA;gBAClB9B,kBAAmB,CAAA;oBAAE+B,IAAM,EAAA,QAAA;oBAAUC,OAASzB,EAAAA,cAAAA,CAAeuB,IAAIG,KAAK;AAAE,iBAAA,CAAA;AAExE7B,gBAAAA,UAAAA,CAAW,mBAAqB,EAAA;AAAE6B,oBAAAA,KAAAA,EAAOH,IAAIG,KAAK;AAAE,oBAAA,GAAGJ;AAAgB,iBAAA,CAAA;gBAEvE,OAAO;AAAEI,oBAAAA,KAAAA,EAAOH,IAAIG;AAAM,iBAAA;AAC5B;AACA7B,YAAAA,UAAAA,CAAW,gBAAkB,EAAA;AAC3B,gBAAA,GAAGyB,eAAe;AAClBF,gBAAAA,UAAAA,EAAYG,GAAIK,CAAAA,IAAI,CAACA,IAAI,CAACR,UAAU;AACpCZ,gBAAAA,WAAAA;AACAE,gBAAAA;AACF,aAAA,CAAA;YAEAjB,kBAAmB,CAAA;gBACjB+B,IAAM,EAAA,SAAA;AACNC,gBAAAA,OAAAA,EAAS9B,aAAc,CAAA;AACrBL,oBAAAA,EAAAA,EAAIqC,2BAAe,CAAA,qBAAA,CAAA;oBACnBpC,cAAgB,EAAA;AAClB,iBAAA;AACF,aAAA,CAAA;AAEA,YAAA,OAAOgC,IAAIK,IAAI;AACjB,SAAA,CAAE,OAAOC,GAAK,EAAA;YACZpC,kBAAmB,CAAA;gBACjB+B,IAAM,EAAA,QAAA;AACNC,gBAAAA,OAAAA,EAAS9B,aAAcN,CAAAA,4BAAAA;AACzB,aAAA,CAAA;AAEAQ,YAAAA,UAAAA,CAAW,mBAAqB,EAAA;gBAAE6B,KAAOG,EAAAA,GAAAA;AAAK,gBAAA,GAAGP;AAAgB,aAAA,CAAA;YAEjE,MAAMO,GAAAA;AACR;KAEF,EAAA;AACE+B,QAAAA,cAAAA;AACA5D,QAAAA,cAAAA;AACAL,QAAAA,aAAAA;AACAa,QAAAA,WAAAA;AACAE,QAAAA,iBAAAA;AACAjB,QAAAA,kBAAAA;AACAI,QAAAA;AACD,KAAA,CAAA;IAGH,MAAM,CAACkE,kBAAkB,GAAGC,sCAAAA,EAAAA;IAC5B,MAAMC,SAAAA,GAA2CjD,gBAAMC,CAAAA,WAAW,CAChE,OAAO,EAAEE,KAAK,EAAE+C,QAAQ,EAAEC,MAAM,EAAE,GAAA;QAChC,IAAI;YACF,MAAM5C,GAAAA,GAAM,MAAMwC,iBAAkB,CAAA;AAClC5C,gBAAAA,KAAAA;AACA+C,gBAAAA,QAAAA;AACA7C,gBAAAA,MAAAA,EAAQ8C,MAAS,GAAA;AAAEA,oBAAAA;iBAAW1D,GAAAA;AAChC,aAAA,CAAA;AAEA,YAAA,IAAI,WAAWc,GAAK,EAAA;gBAClB,OAAO;AAAEG,oBAAAA,KAAAA,EAAOH,IAAIG;AAAM,iBAAA;AAC5B;YAEAjC,kBAAmB,CAAA;gBACjB+B,IAAM,EAAA,SAAA;AACNC,gBAAAA,OAAAA,EAAS9B,aAAc,CAAA;AACrBL,oBAAAA,EAAAA,EAAIqC,2BAAe,CAAA,sBAAA,CAAA;oBACnBpC,cAAgB,EAAA;AAClB,iBAAA;AACF,aAAA,CAAA;AAEA,YAAA,OAAOgC,IAAIK,IAAI;AACjB,SAAA,CAAE,OAAOC,GAAK,EAAA;YACZpC,kBAAmB,CAAA;gBACjB+B,IAAM,EAAA,QAAA;AACNC,gBAAAA,OAAAA,EAAS9B,aAAcN,CAAAA,4BAAAA;AACzB,aAAA,CAAA;YAEA,MAAMwC,GAAAA;AACR;KAEF,EAAA;AAACkC,QAAAA,iBAAAA;AAAmBpE,QAAAA,aAAAA;AAAeF,QAAAA;AAAmB,KAAA,CAAA;IAGxD,MAAM,CAAC2E,cAAc,GAAGC,kCAAAA,EAAAA;AACxB,IAAA,MAAMC,KAAmCtD,GAAAA,gBAAAA,CAAMC,WAAW,CACxD,OAAO,EAAEE,KAAK,EAAEC,UAAU,EAAEC,MAAM,EAAE,EAAEkD,IAAMjD,EAAAA,eAAAA,GAAAA;QAC1C,IAAI;;YAEF,MAAM,EAAEhC,IAAIkF,GAAG,EAAEpD,YAAYqD,WAAW,EAAE,GAAGC,QAAAA,EAAU,GAAGH,IAAAA;AAE1D;;;;YAKA,MAAMhD,GAAM,GAAA,MAAM6C,aAAc,CAAA;AAC9BjD,gBAAAA,KAAAA;gBACA+C,QAAU9C,EAAAA,UAAAA;gBACVQ,IAAM8C,EAAAA,QAAAA;AACNrD,gBAAAA;AACF,aAAA,CAAA;AAEA,YAAA,IAAI,WAAWE,GAAK,EAAA;gBAClB9B,kBAAmB,CAAA;oBAAE+B,IAAM,EAAA,QAAA;oBAAUC,OAASzB,EAAAA,cAAAA,CAAeuB,IAAIG,KAAK;AAAE,iBAAA,CAAA;AAExE7B,gBAAAA,UAAAA,CAAW,mBAAqB,EAAA;AAAE6B,oBAAAA,KAAAA,EAAOH,IAAIG,KAAK;AAAE,oBAAA,GAAGJ;AAAgB,iBAAA,CAAA;gBAEvE,OAAO;AAAEI,oBAAAA,KAAAA,EAAOH,IAAIG;AAAM,iBAAA;AAC5B;AAEA7B,YAAAA,UAAAA,CAAW,gBAAkByB,EAAAA,eAAAA,CAAAA;YAC7B7B,kBAAmB,CAAA;gBACjB+B,IAAM,EAAA,SAAA;AACNC,gBAAAA,OAAAA,EAAS9B,aAAc,CAAA;AACrBL,oBAAAA,EAAAA,EAAIqC,2BAAe,CAAA,sBAAA,CAAA;oBACnBpC,cAAgB,EAAA;AAClB,iBAAA;AACF,aAAA,CAAA;;YAGAW,QAAS,CAAA,CAAC,MAAM,EAAEqB,GAAIK,CAAAA,IAAI,CAACA,IAAI,CAACR,UAAU,CAAC,CAAC,EAAE;gBAAEuD,QAAU,EAAA;AAAO,aAAA,CAAA;AAEjE,YAAA,OAAOpD,IAAIK,IAAI;AACjB,SAAA,CAAE,OAAOC,GAAK,EAAA;YACZpC,kBAAmB,CAAA;gBACjB+B,IAAM,EAAA,QAAA;AACNC,gBAAAA,OAAAA,EAAS9B,aAAcN,CAAAA,4BAAAA;AACzB,aAAA,CAAA;AAEAQ,YAAAA,UAAAA,CAAW,mBAAqB,EAAA;gBAAE6B,KAAOG,EAAAA,GAAAA;AAAK,gBAAA,GAAGP;AAAgB,aAAA,CAAA;YAEjE,MAAMO,GAAAA;AACR;KAEF,EAAA;AAACuC,QAAAA,aAAAA;AAAevE,QAAAA,UAAAA;AAAYJ,QAAAA,kBAAAA;AAAoBE,QAAAA,aAAAA;AAAeK,QAAAA,cAAAA;AAAgBE,QAAAA;AAAS,KAAA,CAAA;IAG1F,MAAM,CAAC0E,OAAO,GAAGC,iCAAAA,EAAAA;AACjB,IAAA,MAAMC,WAA+C9D,GAAAA,gBAAAA,CAAMC,WAAW,CACpE,OAAO8D,IAAAA,GAAAA;AACL,QAAA,MAAM,EAAEnD,IAAI,EAAE,GAAG,MAAMgD,MAAOG,CAAAA,IAAAA,CAAAA;QAE9B,OAAOnD,IAAAA;KAET,EAAA;AAACgD,QAAAA;AAAO,KAAA,CAAA;IAGV,OAAO;AACLhE,QAAAA,SAAAA,EACE6B,YACAQ,IAAAA,UAAAA,IACAZ,oBACAxB,IAAAA,UAAAA,IACAkB,kBACA0B,kBACAZ,IAAAA,gBAAAA;AACFoB,QAAAA,SAAAA;AACAK,QAAAA,KAAAA;AACAR,QAAAA,MAAAA;QACAkB,MAAQjE,EAAAA,OAAAA;AACRkB,QAAAA,UAAAA;AACAM,QAAAA,OAAAA;AACAuC,QAAAA,WAAAA;AACAnC,QAAAA,OAAAA;AACAI,QAAAA,WAAAA;AACAO,QAAAA,SAAAA;AACAK,QAAAA,aAAAA;AACAR,QAAAA;AACF,KAAA;AACF;;;;"}
|
@@ -1,5 +1,5 @@
|
|
1
1
|
import * as React from 'react';
|
2
|
-
import { useNotification, useTracking, useAPIErrorHandler
|
2
|
+
import { useNotification, useTracking, useAPIErrorHandler } from '@strapi/admin/strapi-admin';
|
3
3
|
import { useIntl } from 'react-intl';
|
4
4
|
import { useNavigate } from 'react-router-dom';
|
5
5
|
import { useRelationModal } from '../pages/EditView/components/FormInputs/Relations/RelationModal.mjs';
|
@@ -39,7 +39,6 @@ const DEFAULT_UNEXPECTED_ERROR_MSG = {
|
|
39
39
|
const { trackUsage } = useTracking();
|
40
40
|
const { _unstableFormatAPIError: formatAPIError } = useAPIErrorHandler();
|
41
41
|
const navigate = useNavigate();
|
42
|
-
const setCurrentStep = useGuidedTour('useDocumentActions', (state)=>state.setCurrentStep);
|
43
42
|
// Get metadata from context providers for tracking purposes
|
44
43
|
const previewContext = usePreviewContext('useDocumentActions', ()=>true, false);
|
45
44
|
const relationContext = useRelationModal('useDocumentActions', ()=>true, false);
|
@@ -444,7 +443,6 @@ const DEFAULT_UNEXPECTED_ERROR_MSG = {
|
|
444
443
|
defaultMessage: 'Saved document'
|
445
444
|
})
|
446
445
|
});
|
447
|
-
setCurrentStep('contentManager.success');
|
448
446
|
return res.data;
|
449
447
|
} catch (err) {
|
450
448
|
toggleNotification({
|
@@ -463,7 +461,6 @@ const DEFAULT_UNEXPECTED_ERROR_MSG = {
|
|
463
461
|
formatMessage,
|
464
462
|
fromPreview,
|
465
463
|
fromRelationModal,
|
466
|
-
setCurrentStep,
|
467
464
|
toggleNotification,
|
468
465
|
trackUsage
|
469
466
|
]);
|