@strapi/content-manager 0.0.0-experimental.bd712ad3930045f4a5d2144c119e0b7856e97fc4 → 0.0.0-experimental.cb311d9fcfbd8e441f790aea232f0a39bdd90e16
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/_chunks/{ComponentConfigurationPage-C7ImeKGM.mjs → ComponentConfigurationPage-D0dyDTwq.mjs} +3 -3
- package/dist/_chunks/{ComponentConfigurationPage-C7ImeKGM.mjs.map → ComponentConfigurationPage-D0dyDTwq.mjs.map} +1 -1
- package/dist/_chunks/{ComponentConfigurationPage-BWQv6yRj.js → ComponentConfigurationPage-DL1MHO8i.js} +3 -3
- package/dist/_chunks/{ComponentConfigurationPage-BWQv6yRj.js.map → ComponentConfigurationPage-DL1MHO8i.js.map} +1 -1
- package/dist/_chunks/{EditConfigurationPage-MItFGzT9.mjs → EditConfigurationPage-13b7S5Cq.mjs} +3 -3
- package/dist/_chunks/{EditConfigurationPage-MItFGzT9.mjs.map → EditConfigurationPage-13b7S5Cq.mjs.map} +1 -1
- package/dist/_chunks/{EditConfigurationPage-CEGwxV-L.js → EditConfigurationPage-CMaOf-A-.js} +3 -3
- package/dist/_chunks/{EditConfigurationPage-CEGwxV-L.js.map → EditConfigurationPage-CMaOf-A-.js.map} +1 -1
- package/dist/_chunks/{EditViewPage-CmMi2Xsn.js → EditViewPage-BSVmMpRd.js} +3 -3
- package/dist/_chunks/{EditViewPage-CmMi2Xsn.js.map → EditViewPage-BSVmMpRd.js.map} +1 -1
- package/dist/_chunks/{EditViewPage-DhmAg0NK.mjs → EditViewPage-C3tIZ8F5.mjs} +3 -3
- package/dist/_chunks/{EditViewPage-DhmAg0NK.mjs.map → EditViewPage-C3tIZ8F5.mjs.map} +1 -1
- package/dist/_chunks/{Field-Cs62u5pl.mjs → Field-BvuT8cGL.mjs} +8 -8
- package/dist/_chunks/Field-BvuT8cGL.mjs.map +1 -0
- package/dist/_chunks/{Field-1DLtcLAI.js → Field-DUCVth4C.js} +8 -8
- package/dist/_chunks/Field-DUCVth4C.js.map +1 -0
- package/dist/_chunks/{Form-zYHtzGUX.mjs → Form-BZmDNVr9.mjs} +2 -2
- package/dist/_chunks/{Form-zYHtzGUX.mjs.map → Form-BZmDNVr9.mjs.map} +1 -1
- package/dist/_chunks/{Form-CqFA7F_V.js → Form-Cpl4W1ak.js} +2 -2
- package/dist/_chunks/{Form-CqFA7F_V.js.map → Form-Cpl4W1ak.js.map} +1 -1
- package/dist/_chunks/{History-DalgFQ3D.mjs → History-Cq_Hrzuu.mjs} +21 -11
- package/dist/_chunks/History-Cq_Hrzuu.mjs.map +1 -0
- package/dist/_chunks/{History-BblwXv7-.js → History-D4U2YISB.js} +21 -11
- package/dist/_chunks/History-D4U2YISB.js.map +1 -0
- package/dist/_chunks/{ListConfigurationPage-Cpy4QqNd.js → ListConfigurationPage-Bny6CdWe.js} +2 -2
- package/dist/_chunks/{ListConfigurationPage-Cpy4QqNd.js.map → ListConfigurationPage-Bny6CdWe.js.map} +1 -1
- package/dist/_chunks/{ListConfigurationPage-DWy-vRzs.mjs → ListConfigurationPage-W-KQHmBv.mjs} +2 -2
- package/dist/_chunks/{ListConfigurationPage-DWy-vRzs.mjs.map → ListConfigurationPage-W-KQHmBv.mjs.map} +1 -1
- package/dist/_chunks/{ListViewPage-BkAwIW9s.mjs → ListViewPage-HBBnJa8K.mjs} +10 -5
- package/dist/_chunks/ListViewPage-HBBnJa8K.mjs.map +1 -0
- package/dist/_chunks/{ListViewPage-DFjn1DNW.js → ListViewPage-O8F1pBJo.js} +9 -4
- package/dist/_chunks/ListViewPage-O8F1pBJo.js.map +1 -0
- package/dist/_chunks/{NoContentTypePage-B9BCNNdL.mjs → NoContentTypePage-B-gIhHWM.mjs} +2 -2
- package/dist/_chunks/{NoContentTypePage-B9BCNNdL.mjs.map → NoContentTypePage-B-gIhHWM.mjs.map} +1 -1
- package/dist/_chunks/{NoContentTypePage-C-3ykoxs.js → NoContentTypePage-CQWChGPw.js} +2 -2
- package/dist/_chunks/{NoContentTypePage-C-3ykoxs.js.map → NoContentTypePage-CQWChGPw.js.map} +1 -1
- package/dist/_chunks/{NoPermissionsPage-DKLmDZnZ.js → NoPermissionsPage-CY46zxnM.js} +2 -2
- package/dist/_chunks/{NoPermissionsPage-DKLmDZnZ.js.map → NoPermissionsPage-CY46zxnM.js.map} +1 -1
- package/dist/_chunks/{NoPermissionsPage-Bt_HWGat.mjs → NoPermissionsPage-XhOPl8wx.mjs} +2 -2
- package/dist/_chunks/{NoPermissionsPage-Bt_HWGat.mjs.map → NoPermissionsPage-XhOPl8wx.mjs.map} +1 -1
- package/dist/_chunks/{Relations-CrxfoH2n.js → Relations-C4gGfZRv.js} +3 -3
- package/dist/_chunks/Relations-C4gGfZRv.js.map +1 -0
- package/dist/_chunks/{Relations-CJmTbZ8T.mjs → Relations-vFZ6Wasg.mjs} +3 -3
- package/dist/_chunks/Relations-vFZ6Wasg.mjs.map +1 -0
- package/dist/_chunks/{en-Ux26r5pl.mjs → en-BrCTWlZv.mjs} +5 -4
- package/dist/_chunks/{en-Ux26r5pl.mjs.map → en-BrCTWlZv.mjs.map} +1 -1
- package/dist/_chunks/{en-fbKQxLGn.js → en-uOUIxfcQ.js} +5 -4
- package/dist/_chunks/{en-fbKQxLGn.js.map → en-uOUIxfcQ.js.map} +1 -1
- package/dist/_chunks/{index-Buwn78Rt.js → index-5EMXLEM_.js} +257 -139
- package/dist/_chunks/index-5EMXLEM_.js.map +1 -0
- package/dist/_chunks/{index-D1344xdw.mjs → index-Dpxg3ctD.mjs} +260 -142
- package/dist/_chunks/index-Dpxg3ctD.mjs.map +1 -0
- package/dist/_chunks/{layout-ChVuUpa1.mjs → layout-C0INpKap.mjs} +17 -5
- package/dist/_chunks/{layout-ChVuUpa1.mjs.map → layout-C0INpKap.mjs.map} +1 -1
- package/dist/_chunks/{layout-DRuJUpas.js → layout-P3eKO1Qy.js} +16 -4
- package/dist/_chunks/{layout-DRuJUpas.js.map → layout-P3eKO1Qy.js.map} +1 -1
- package/dist/_chunks/{relations-DuoUwyJr.js → relations-B1y0K6LE.js} +2 -2
- package/dist/_chunks/{relations-DuoUwyJr.js.map → relations-B1y0K6LE.js.map} +1 -1
- package/dist/_chunks/{relations-B-deMCy4.mjs → relations-FBRRBWeO.mjs} +2 -2
- package/dist/_chunks/{relations-B-deMCy4.mjs.map → relations-FBRRBWeO.mjs.map} +1 -1
- package/dist/admin/index.js +1 -1
- package/dist/admin/index.mjs +1 -1
- package/dist/admin/src/history/index.d.ts +3 -0
- package/dist/admin/src/index.d.ts +1 -0
- package/dist/admin/src/pages/EditView/components/DocumentActions.d.ts +1 -0
- package/dist/admin/src/pages/EditView/components/FormInputs/Relations.d.ts +20 -0
- package/dist/server/index.js +130 -85
- package/dist/server/index.js.map +1 -1
- package/dist/server/index.mjs +131 -86
- package/dist/server/index.mjs.map +1 -1
- package/dist/server/src/controllers/collection-types.d.ts.map +1 -1
- package/dist/server/src/controllers/uid.d.ts.map +1 -1
- package/dist/server/src/controllers/validation/dimensions.d.ts +4 -2
- package/dist/server/src/controllers/validation/dimensions.d.ts.map +1 -1
- package/dist/server/src/history/services/lifecycles.d.ts.map +1 -1
- package/dist/server/src/history/services/utils.d.ts +1 -1
- package/dist/server/src/history/services/utils.d.ts.map +1 -1
- package/dist/server/src/services/document-manager.d.ts.map +1 -1
- package/dist/server/src/services/document-metadata.d.ts.map +1 -1
- package/dist/server/src/services/utils/populate.d.ts.map +1 -1
- package/package.json +6 -6
- package/dist/_chunks/Field-1DLtcLAI.js.map +0 -1
- package/dist/_chunks/Field-Cs62u5pl.mjs.map +0 -1
- package/dist/_chunks/History-BblwXv7-.js.map +0 -1
- package/dist/_chunks/History-DalgFQ3D.mjs.map +0 -1
- package/dist/_chunks/ListViewPage-BkAwIW9s.mjs.map +0 -1
- package/dist/_chunks/ListViewPage-DFjn1DNW.js.map +0 -1
- package/dist/_chunks/Relations-CJmTbZ8T.mjs.map +0 -1
- package/dist/_chunks/Relations-CrxfoH2n.js.map +0 -1
- package/dist/_chunks/index-Buwn78Rt.js.map +0 -1
- package/dist/_chunks/index-D1344xdw.mjs.map +0 -1
@@ -2,15 +2,15 @@
|
|
2
2
|
const Icons = require("@strapi/icons");
|
3
3
|
const jsxRuntime = require("react/jsx-runtime");
|
4
4
|
const strapiAdmin = require("@strapi/admin/strapi-admin");
|
5
|
-
const qs = require("qs");
|
6
|
-
const reactIntl = require("react-intl");
|
7
|
-
const reactRouterDom = require("react-router-dom");
|
8
5
|
const React = require("react");
|
9
6
|
const designSystem = require("@strapi/design-system");
|
7
|
+
const reactIntl = require("react-intl");
|
8
|
+
const reactRouterDom = require("react-router-dom");
|
10
9
|
const styledComponents = require("styled-components");
|
11
10
|
const yup = require("yup");
|
12
11
|
const pipe = require("lodash/fp/pipe");
|
13
12
|
const dateFns = require("date-fns");
|
13
|
+
const qs = require("qs");
|
14
14
|
const toolkit = require("@reduxjs/toolkit");
|
15
15
|
const _interopDefault = (e) => e && e.__esModule ? e : { default: e };
|
16
16
|
function _interopNamespace(e) {
|
@@ -70,42 +70,6 @@ const useInjectionZone = (area) => {
|
|
70
70
|
const [page, position] = area.split(".");
|
71
71
|
return contentManagerPlugin.getInjectedComponents(page, position);
|
72
72
|
};
|
73
|
-
const HistoryAction = ({ model, document }) => {
|
74
|
-
const { formatMessage } = reactIntl.useIntl();
|
75
|
-
const [{ query }] = strapiAdmin.useQueryParams();
|
76
|
-
const navigate = reactRouterDom.useNavigate();
|
77
|
-
const pluginsQueryParams = qs.stringify({ plugins: query.plugins }, { encode: false });
|
78
|
-
if (!window.strapi.features.isEnabled("cms-content-history")) {
|
79
|
-
return null;
|
80
|
-
}
|
81
|
-
return {
|
82
|
-
icon: /* @__PURE__ */ jsxRuntime.jsx(Icons.ClockCounterClockwise, {}),
|
83
|
-
label: formatMessage({
|
84
|
-
id: "content-manager.history.document-action",
|
85
|
-
defaultMessage: "Content History"
|
86
|
-
}),
|
87
|
-
onClick: () => navigate({ pathname: "history", search: pluginsQueryParams }),
|
88
|
-
disabled: (
|
89
|
-
/**
|
90
|
-
* The user is creating a new document.
|
91
|
-
* It hasn't been saved yet, so there's no history to go to
|
92
|
-
*/
|
93
|
-
!document || /**
|
94
|
-
* The document has been created but the current dimension has never been saved.
|
95
|
-
* For example, the user is creating a new locale in an existing document,
|
96
|
-
* so there's no history for the document in that locale
|
97
|
-
*/
|
98
|
-
!document.id || /**
|
99
|
-
* History is only available for content types created by the user.
|
100
|
-
* These have the `api::` prefix, as opposed to the ones created by Strapi or plugins,
|
101
|
-
* which start with `admin::` or `plugin::`
|
102
|
-
*/
|
103
|
-
!model.startsWith("api::")
|
104
|
-
),
|
105
|
-
position: "header"
|
106
|
-
};
|
107
|
-
};
|
108
|
-
HistoryAction.type = "history";
|
109
73
|
const ID = "id";
|
110
74
|
const CREATED_BY_ATTRIBUTE_NAME = "createdBy";
|
111
75
|
const UPDATED_BY_ATTRIBUTE_NAME = "updatedBy";
|
@@ -229,7 +193,12 @@ const documentApi = contentManagerApi.injectEndpoints({
|
|
229
193
|
params: query
|
230
194
|
}
|
231
195
|
}),
|
232
|
-
invalidatesTags: (_result,
|
196
|
+
invalidatesTags: (_result, error, { model }) => {
|
197
|
+
if (error) {
|
198
|
+
return [];
|
199
|
+
}
|
200
|
+
return [{ type: "Document", id: `${model}_LIST` }];
|
201
|
+
}
|
233
202
|
}),
|
234
203
|
cloneDocument: builder.mutation({
|
235
204
|
query: ({ model, sourceId, data, params }) => ({
|
@@ -316,6 +285,7 @@ const documentApi = contentManagerApi.injectEndpoints({
|
|
316
285
|
}),
|
317
286
|
providesTags: (result, _error, arg) => {
|
318
287
|
return [
|
288
|
+
{ type: "Document", id: `ALL_LIST` },
|
319
289
|
{ type: "Document", id: `${arg.model}_LIST` },
|
320
290
|
...result?.results.map(({ documentId }) => ({
|
321
291
|
type: "Document",
|
@@ -354,6 +324,11 @@ const documentApi = contentManagerApi.injectEndpoints({
|
|
354
324
|
{
|
355
325
|
type: "Document",
|
356
326
|
id: collectionType !== SINGLE_TYPES ? `${model}_${result && "documentId" in result ? result.documentId : documentId}` : model
|
327
|
+
},
|
328
|
+
// Make it easy to invalidate all individual documents queries for a model
|
329
|
+
{
|
330
|
+
type: "Document",
|
331
|
+
id: `${model}_ALL_ITEMS`
|
357
332
|
}
|
358
333
|
];
|
359
334
|
}
|
@@ -419,6 +394,18 @@ const documentApi = contentManagerApi.injectEndpoints({
|
|
419
394
|
},
|
420
395
|
"Relations"
|
421
396
|
];
|
397
|
+
},
|
398
|
+
async onQueryStarted({ data, ...patch }, { dispatch, queryFulfilled }) {
|
399
|
+
const patchResult = dispatch(
|
400
|
+
documentApi.util.updateQueryData("getDocument", patch, (draft) => {
|
401
|
+
Object.assign(draft.data, data);
|
402
|
+
})
|
403
|
+
);
|
404
|
+
try {
|
405
|
+
await queryFulfilled;
|
406
|
+
} catch {
|
407
|
+
patchResult.undo();
|
408
|
+
}
|
422
409
|
}
|
423
410
|
}),
|
424
411
|
unpublishDocument: builder.mutation({
|
@@ -602,6 +589,14 @@ const createAttributeSchema = (attribute) => {
|
|
602
589
|
if (!value || typeof value === "string" && value.length === 0) {
|
603
590
|
return true;
|
604
591
|
}
|
592
|
+
if (typeof value === "object") {
|
593
|
+
try {
|
594
|
+
JSON.stringify(value);
|
595
|
+
return true;
|
596
|
+
} catch (err) {
|
597
|
+
return false;
|
598
|
+
}
|
599
|
+
}
|
605
600
|
try {
|
606
601
|
JSON.parse(value);
|
607
602
|
return true;
|
@@ -1231,7 +1226,6 @@ const useDocumentActions = () => {
|
|
1231
1226
|
sourceId
|
1232
1227
|
});
|
1233
1228
|
if ("error" in res) {
|
1234
|
-
toggleNotification({ type: "danger", message: formatAPIError(res.error) });
|
1235
1229
|
return { error: res.error };
|
1236
1230
|
}
|
1237
1231
|
toggleNotification({
|
@@ -1312,7 +1306,7 @@ const useDocumentActions = () => {
|
|
1312
1306
|
};
|
1313
1307
|
};
|
1314
1308
|
const ProtectedHistoryPage = React.lazy(
|
1315
|
-
() => Promise.resolve().then(() => require("./History-
|
1309
|
+
() => Promise.resolve().then(() => require("./History-D4U2YISB.js")).then((mod) => ({ default: mod.ProtectedHistoryPage }))
|
1316
1310
|
);
|
1317
1311
|
const routes$1 = [
|
1318
1312
|
{
|
@@ -1325,31 +1319,31 @@ const routes$1 = [
|
|
1325
1319
|
}
|
1326
1320
|
];
|
1327
1321
|
const ProtectedEditViewPage = React.lazy(
|
1328
|
-
() => Promise.resolve().then(() => require("./EditViewPage-
|
1322
|
+
() => Promise.resolve().then(() => require("./EditViewPage-BSVmMpRd.js")).then((mod) => ({ default: mod.ProtectedEditViewPage }))
|
1329
1323
|
);
|
1330
1324
|
const ProtectedListViewPage = React.lazy(
|
1331
|
-
() => Promise.resolve().then(() => require("./ListViewPage-
|
1325
|
+
() => Promise.resolve().then(() => require("./ListViewPage-O8F1pBJo.js")).then((mod) => ({ default: mod.ProtectedListViewPage }))
|
1332
1326
|
);
|
1333
1327
|
const ProtectedListConfiguration = React.lazy(
|
1334
|
-
() => Promise.resolve().then(() => require("./ListConfigurationPage-
|
1328
|
+
() => Promise.resolve().then(() => require("./ListConfigurationPage-Bny6CdWe.js")).then((mod) => ({
|
1335
1329
|
default: mod.ProtectedListConfiguration
|
1336
1330
|
}))
|
1337
1331
|
);
|
1338
1332
|
const ProtectedEditConfigurationPage = React.lazy(
|
1339
|
-
() => Promise.resolve().then(() => require("./EditConfigurationPage-
|
1333
|
+
() => Promise.resolve().then(() => require("./EditConfigurationPage-CMaOf-A-.js")).then((mod) => ({
|
1340
1334
|
default: mod.ProtectedEditConfigurationPage
|
1341
1335
|
}))
|
1342
1336
|
);
|
1343
1337
|
const ProtectedComponentConfigurationPage = React.lazy(
|
1344
|
-
() => Promise.resolve().then(() => require("./ComponentConfigurationPage-
|
1338
|
+
() => Promise.resolve().then(() => require("./ComponentConfigurationPage-DL1MHO8i.js")).then((mod) => ({
|
1345
1339
|
default: mod.ProtectedComponentConfigurationPage
|
1346
1340
|
}))
|
1347
1341
|
);
|
1348
1342
|
const NoPermissions = React.lazy(
|
1349
|
-
() => Promise.resolve().then(() => require("./NoPermissionsPage-
|
1343
|
+
() => Promise.resolve().then(() => require("./NoPermissionsPage-CY46zxnM.js")).then((mod) => ({ default: mod.NoPermissions }))
|
1350
1344
|
);
|
1351
1345
|
const NoContentType = React.lazy(
|
1352
|
-
() => Promise.resolve().then(() => require("./NoContentTypePage-
|
1346
|
+
() => Promise.resolve().then(() => require("./NoContentTypePage-CQWChGPw.js")).then((mod) => ({ default: mod.NoContentType }))
|
1353
1347
|
);
|
1354
1348
|
const CollectionTypePages = () => {
|
1355
1349
|
const { collectionType } = reactRouterDom.useParams();
|
@@ -1463,7 +1457,7 @@ const DocumentActionButton = (action) => {
|
|
1463
1457
|
/* @__PURE__ */ jsxRuntime.jsx(
|
1464
1458
|
designSystem.Button,
|
1465
1459
|
{
|
1466
|
-
flex:
|
1460
|
+
flex: "auto",
|
1467
1461
|
startIcon: action.icon,
|
1468
1462
|
disabled: action.disabled,
|
1469
1463
|
onClick: handleClick(action),
|
@@ -1476,7 +1470,7 @@ const DocumentActionButton = (action) => {
|
|
1476
1470
|
DocumentActionConfirmDialog,
|
1477
1471
|
{
|
1478
1472
|
...action.dialog,
|
1479
|
-
variant: action.variant,
|
1473
|
+
variant: action.dialog?.variant ?? action.variant,
|
1480
1474
|
isOpen: dialogId === action.id,
|
1481
1475
|
onClose: handleClose
|
1482
1476
|
}
|
@@ -1533,9 +1527,9 @@ const DocumentActionsMenu = ({
|
|
1533
1527
|
disabled: isDisabled,
|
1534
1528
|
size: "S",
|
1535
1529
|
endIcon: null,
|
1536
|
-
paddingTop: "
|
1537
|
-
paddingLeft: "
|
1538
|
-
paddingRight: "
|
1530
|
+
paddingTop: "4px",
|
1531
|
+
paddingLeft: "7px",
|
1532
|
+
paddingRight: "7px",
|
1539
1533
|
variant,
|
1540
1534
|
children: [
|
1541
1535
|
/* @__PURE__ */ jsxRuntime.jsx(Icons.More, { "aria-hidden": true, focusable: false }),
|
@@ -1555,10 +1549,18 @@ const DocumentActionsMenu = ({
|
|
1555
1549
|
onSelect: handleClick(action),
|
1556
1550
|
display: "block",
|
1557
1551
|
children: /* @__PURE__ */ jsxRuntime.jsxs(designSystem.Flex, { justifyContent: "space-between", gap: 4, children: [
|
1558
|
-
/* @__PURE__ */ jsxRuntime.jsxs(
|
1559
|
-
|
1560
|
-
|
1561
|
-
|
1552
|
+
/* @__PURE__ */ jsxRuntime.jsxs(
|
1553
|
+
designSystem.Flex,
|
1554
|
+
{
|
1555
|
+
color: !action.disabled ? convertActionVariantToColor(action.variant) : "inherit",
|
1556
|
+
gap: 2,
|
1557
|
+
tag: "span",
|
1558
|
+
children: [
|
1559
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { children: action.icon }),
|
1560
|
+
action.label
|
1561
|
+
]
|
1562
|
+
}
|
1563
|
+
),
|
1562
1564
|
action.id.startsWith("HistoryAction") && /* @__PURE__ */ jsxRuntime.jsx(
|
1563
1565
|
designSystem.Flex,
|
1564
1566
|
{
|
@@ -1617,18 +1619,6 @@ const convertActionVariantToColor = (variant = "secondary") => {
|
|
1617
1619
|
return "primary600";
|
1618
1620
|
}
|
1619
1621
|
};
|
1620
|
-
const convertActionVariantToIconColor = (variant = "secondary") => {
|
1621
|
-
switch (variant) {
|
1622
|
-
case "danger":
|
1623
|
-
return "danger600";
|
1624
|
-
case "secondary":
|
1625
|
-
return "neutral500";
|
1626
|
-
case "success":
|
1627
|
-
return "success600";
|
1628
|
-
default:
|
1629
|
-
return "primary600";
|
1630
|
-
}
|
1631
|
-
};
|
1632
1622
|
const DocumentActionConfirmDialog = ({
|
1633
1623
|
onClose,
|
1634
1624
|
onCancel,
|
@@ -1682,8 +1672,8 @@ const DocumentActionModal = ({
|
|
1682
1672
|
};
|
1683
1673
|
return /* @__PURE__ */ jsxRuntime.jsx(designSystem.Modal.Root, { open: isOpen, onOpenChange: handleClose, children: /* @__PURE__ */ jsxRuntime.jsxs(designSystem.Modal.Content, { children: [
|
1684
1674
|
/* @__PURE__ */ jsxRuntime.jsx(designSystem.Modal.Header, { children: /* @__PURE__ */ jsxRuntime.jsx(designSystem.Modal.Title, { children: title }) }),
|
1685
|
-
|
1686
|
-
|
1675
|
+
typeof Content === "function" ? /* @__PURE__ */ jsxRuntime.jsx(Content, { onClose: handleClose }) : /* @__PURE__ */ jsxRuntime.jsx(designSystem.Modal.Body, { children: Content }),
|
1676
|
+
typeof Footer === "function" ? /* @__PURE__ */ jsxRuntime.jsx(Footer, { onClose: handleClose }) : Footer
|
1687
1677
|
] }) });
|
1688
1678
|
};
|
1689
1679
|
const PublishAction$1 = ({
|
@@ -1705,6 +1695,12 @@ const PublishAction$1 = ({
|
|
1705
1695
|
({ canPublish: canPublish2, canCreate: canCreate2, canUpdate: canUpdate2 }) => ({ canPublish: canPublish2, canCreate: canCreate2, canUpdate: canUpdate2 })
|
1706
1696
|
);
|
1707
1697
|
const { publish } = useDocumentActions();
|
1698
|
+
const [
|
1699
|
+
countDraftRelations,
|
1700
|
+
{ isLoading: isLoadingDraftRelations, isError: isErrorDraftRelations }
|
1701
|
+
] = useLazyGetDraftRelationCountQuery();
|
1702
|
+
const [localCountOfDraftRelations, setLocalCountOfDraftRelations] = React__namespace.useState(0);
|
1703
|
+
const [serverCountOfDraftRelations, setServerCountOfDraftRelations] = React__namespace.useState(0);
|
1708
1704
|
const [{ query, rawQuery }] = strapiAdmin.useQueryParams();
|
1709
1705
|
const params = React__namespace.useMemo(() => buildValidParams(query), [query]);
|
1710
1706
|
const modified = strapiAdmin.useForm("PublishAction", ({ modified: modified2 }) => modified2);
|
@@ -1713,10 +1709,101 @@ const PublishAction$1 = ({
|
|
1713
1709
|
const validate = strapiAdmin.useForm("PublishAction", (state) => state.validate);
|
1714
1710
|
const setErrors = strapiAdmin.useForm("PublishAction", (state) => state.setErrors);
|
1715
1711
|
const formValues = strapiAdmin.useForm("PublishAction", ({ values }) => values);
|
1712
|
+
React__namespace.useEffect(() => {
|
1713
|
+
if (isErrorDraftRelations) {
|
1714
|
+
toggleNotification({
|
1715
|
+
type: "danger",
|
1716
|
+
message: formatMessage({
|
1717
|
+
id: getTranslation("error.records.fetch-draft-relatons"),
|
1718
|
+
defaultMessage: "An error occurred while fetching draft relations on this document."
|
1719
|
+
})
|
1720
|
+
});
|
1721
|
+
}
|
1722
|
+
}, [isErrorDraftRelations, toggleNotification, formatMessage]);
|
1723
|
+
React__namespace.useEffect(() => {
|
1724
|
+
const localDraftRelations = /* @__PURE__ */ new Set();
|
1725
|
+
const extractDraftRelations = (data) => {
|
1726
|
+
const relations = data.connect || [];
|
1727
|
+
relations.forEach((relation) => {
|
1728
|
+
if (relation.status === "draft") {
|
1729
|
+
localDraftRelations.add(relation.id);
|
1730
|
+
}
|
1731
|
+
});
|
1732
|
+
};
|
1733
|
+
const traverseAndExtract = (data) => {
|
1734
|
+
Object.entries(data).forEach(([key, value]) => {
|
1735
|
+
if (key === "connect" && Array.isArray(value)) {
|
1736
|
+
extractDraftRelations({ connect: value });
|
1737
|
+
} else if (typeof value === "object" && value !== null) {
|
1738
|
+
traverseAndExtract(value);
|
1739
|
+
}
|
1740
|
+
});
|
1741
|
+
};
|
1742
|
+
if (!documentId || modified) {
|
1743
|
+
traverseAndExtract(formValues);
|
1744
|
+
setLocalCountOfDraftRelations(localDraftRelations.size);
|
1745
|
+
}
|
1746
|
+
}, [documentId, modified, formValues, setLocalCountOfDraftRelations]);
|
1747
|
+
React__namespace.useEffect(() => {
|
1748
|
+
if (documentId) {
|
1749
|
+
const fetchDraftRelationsCount = async () => {
|
1750
|
+
const { data, error } = await countDraftRelations({
|
1751
|
+
collectionType,
|
1752
|
+
model,
|
1753
|
+
documentId,
|
1754
|
+
params
|
1755
|
+
});
|
1756
|
+
if (error) {
|
1757
|
+
throw error;
|
1758
|
+
}
|
1759
|
+
if (data) {
|
1760
|
+
setServerCountOfDraftRelations(data.data);
|
1761
|
+
}
|
1762
|
+
};
|
1763
|
+
fetchDraftRelationsCount();
|
1764
|
+
}
|
1765
|
+
}, [documentId, countDraftRelations, collectionType, model, params]);
|
1716
1766
|
const isDocumentPublished = (document?.[PUBLISHED_AT_ATTRIBUTE_NAME] || meta?.availableStatus.some((doc) => doc[PUBLISHED_AT_ATTRIBUTE_NAME] !== null)) && document?.status !== "modified";
|
1717
1767
|
if (!schema?.options?.draftAndPublish) {
|
1718
1768
|
return null;
|
1719
1769
|
}
|
1770
|
+
const performPublish = async () => {
|
1771
|
+
setSubmitting(true);
|
1772
|
+
try {
|
1773
|
+
const { errors } = await validate();
|
1774
|
+
if (errors) {
|
1775
|
+
toggleNotification({
|
1776
|
+
type: "danger",
|
1777
|
+
message: formatMessage({
|
1778
|
+
id: "content-manager.validation.error",
|
1779
|
+
defaultMessage: "There are validation errors in your document. Please fix them before saving."
|
1780
|
+
})
|
1781
|
+
});
|
1782
|
+
return;
|
1783
|
+
}
|
1784
|
+
const res = await publish(
|
1785
|
+
{
|
1786
|
+
collectionType,
|
1787
|
+
model,
|
1788
|
+
documentId,
|
1789
|
+
params
|
1790
|
+
},
|
1791
|
+
formValues
|
1792
|
+
);
|
1793
|
+
if ("data" in res && collectionType !== SINGLE_TYPES) {
|
1794
|
+
navigate({
|
1795
|
+
pathname: `../${collectionType}/${model}/${res.data.documentId}`,
|
1796
|
+
search: rawQuery
|
1797
|
+
});
|
1798
|
+
} else if ("error" in res && isBaseQueryError(res.error) && res.error.name === "ValidationError") {
|
1799
|
+
setErrors(formatValidationErrors(res.error));
|
1800
|
+
}
|
1801
|
+
} finally {
|
1802
|
+
setSubmitting(false);
|
1803
|
+
}
|
1804
|
+
};
|
1805
|
+
const totalDraftRelations = localCountOfDraftRelations + serverCountOfDraftRelations;
|
1806
|
+
const hasDraftRelations = totalDraftRelations > 0;
|
1720
1807
|
return {
|
1721
1808
|
/**
|
1722
1809
|
* Disabled when:
|
@@ -1726,49 +1813,39 @@ const PublishAction$1 = ({
|
|
1726
1813
|
* - the document is already published & not modified
|
1727
1814
|
* - the document is being created & not modified
|
1728
1815
|
* - the user doesn't have the permission to publish
|
1729
|
-
* - the user doesn't have the permission to create a new document
|
1730
|
-
* - the user doesn't have the permission to update the document
|
1731
1816
|
*/
|
1732
|
-
disabled: isCloning || isSubmitting || activeTab === "published" || !modified && isDocumentPublished || !modified && !document?.documentId || !canPublish
|
1817
|
+
disabled: isCloning || isSubmitting || isLoadingDraftRelations || activeTab === "published" || !modified && isDocumentPublished || !modified && !document?.documentId || !canPublish,
|
1733
1818
|
label: formatMessage({
|
1734
1819
|
id: "app.utils.publish",
|
1735
1820
|
defaultMessage: "Publish"
|
1736
1821
|
}),
|
1737
1822
|
onClick: async () => {
|
1738
|
-
|
1739
|
-
|
1740
|
-
|
1741
|
-
|
1742
|
-
|
1743
|
-
|
1744
|
-
|
1745
|
-
|
1746
|
-
|
1747
|
-
|
1748
|
-
|
1749
|
-
|
1750
|
-
|
1751
|
-
|
1752
|
-
|
1753
|
-
|
1754
|
-
|
1755
|
-
|
1756
|
-
|
1757
|
-
|
1758
|
-
formValues
|
1759
|
-
);
|
1760
|
-
if ("data" in res && collectionType !== SINGLE_TYPES) {
|
1761
|
-
navigate({
|
1762
|
-
pathname: `../${collectionType}/${model}/${res.data.documentId}`,
|
1763
|
-
search: rawQuery
|
1764
|
-
});
|
1765
|
-
} else if ("error" in res && isBaseQueryError(res.error) && res.error.name === "ValidationError") {
|
1766
|
-
setErrors(formatValidationErrors(res.error));
|
1823
|
+
if (hasDraftRelations) {
|
1824
|
+
return;
|
1825
|
+
}
|
1826
|
+
await performPublish();
|
1827
|
+
},
|
1828
|
+
dialog: hasDraftRelations ? {
|
1829
|
+
type: "dialog",
|
1830
|
+
variant: "danger",
|
1831
|
+
footer: null,
|
1832
|
+
title: formatMessage({
|
1833
|
+
id: getTranslation(`popUpwarning.warning.bulk-has-draft-relations.title`),
|
1834
|
+
defaultMessage: "Confirmation"
|
1835
|
+
}),
|
1836
|
+
content: formatMessage(
|
1837
|
+
{
|
1838
|
+
id: getTranslation(`popUpwarning.warning.bulk-has-draft-relations.message`),
|
1839
|
+
defaultMessage: "This entry is related to {count, plural, one {# draft entry} other {# draft entries}}. Publishing it could leave broken links in your app."
|
1840
|
+
},
|
1841
|
+
{
|
1842
|
+
count: totalDraftRelations
|
1767
1843
|
}
|
1768
|
-
|
1769
|
-
|
1844
|
+
),
|
1845
|
+
onConfirm: async () => {
|
1846
|
+
await performPublish();
|
1770
1847
|
}
|
1771
|
-
}
|
1848
|
+
} : void 0
|
1772
1849
|
};
|
1773
1850
|
};
|
1774
1851
|
PublishAction$1.type = "publish";
|
@@ -1784,7 +1861,7 @@ const UpdateAction = ({
|
|
1784
1861
|
const cloneMatch = reactRouterDom.useMatch(CLONE_PATH);
|
1785
1862
|
const isCloning = cloneMatch !== null;
|
1786
1863
|
const { formatMessage } = reactIntl.useIntl();
|
1787
|
-
|
1864
|
+
useDocumentRBAC("UpdateAction", ({ canCreate: canCreate2, canUpdate: canUpdate2 }) => ({
|
1788
1865
|
canCreate: canCreate2,
|
1789
1866
|
canUpdate: canUpdate2
|
1790
1867
|
}));
|
@@ -1804,10 +1881,8 @@ const UpdateAction = ({
|
|
1804
1881
|
* - the form is submitting
|
1805
1882
|
* - the document is not modified & we're not cloning (you can save a clone entity straight away)
|
1806
1883
|
* - the active tab is the published tab
|
1807
|
-
* - the user doesn't have the permission to create a new document
|
1808
|
-
* - the user doesn't have the permission to update the document
|
1809
1884
|
*/
|
1810
|
-
disabled: isSubmitting || !modified && !isCloning || activeTab === "published"
|
1885
|
+
disabled: isSubmitting || !modified && !isCloning || activeTab === "published",
|
1811
1886
|
label: formatMessage({
|
1812
1887
|
id: "content-manager.containers.Edit.save",
|
1813
1888
|
defaultMessage: "Save"
|
@@ -1836,10 +1911,13 @@ const UpdateAction = ({
|
|
1836
1911
|
document
|
1837
1912
|
);
|
1838
1913
|
if ("data" in res) {
|
1839
|
-
navigate(
|
1840
|
-
|
1841
|
-
|
1842
|
-
|
1914
|
+
navigate(
|
1915
|
+
{
|
1916
|
+
pathname: `../${res.data.documentId}`,
|
1917
|
+
search: rawQuery
|
1918
|
+
},
|
1919
|
+
{ relative: "path" }
|
1920
|
+
);
|
1843
1921
|
} else if ("error" in res && isBaseQueryError(res.error) && res.error.name === "ValidationError") {
|
1844
1922
|
setErrors(formatValidationErrors(res.error));
|
1845
1923
|
}
|
@@ -1869,10 +1947,10 @@ const UpdateAction = ({
|
|
1869
1947
|
if ("data" in res && collectionType !== SINGLE_TYPES) {
|
1870
1948
|
navigate(
|
1871
1949
|
{
|
1872
|
-
pathname: `../${
|
1950
|
+
pathname: `../${res.data.documentId}`,
|
1873
1951
|
search: rawQuery
|
1874
1952
|
},
|
1875
|
-
{ replace: true }
|
1953
|
+
{ replace: true, relative: "path" }
|
1876
1954
|
);
|
1877
1955
|
} else if ("error" in res && isBaseQueryError(res.error) && res.error.name === "ValidationError") {
|
1878
1956
|
setErrors(formatValidationErrors(res.error));
|
@@ -2119,23 +2197,13 @@ const Header = ({ isCreating, status, title: documentTitle = "Untitled" }) => {
|
|
2119
2197
|
id: "content-manager.containers.edit.title.new",
|
2120
2198
|
defaultMessage: "Create an entry"
|
2121
2199
|
}) : documentTitle;
|
2122
|
-
return /* @__PURE__ */ jsxRuntime.jsxs(designSystem.Flex, { direction: "column", alignItems: "flex-start", paddingTop:
|
2200
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(designSystem.Flex, { direction: "column", alignItems: "flex-start", paddingTop: 6, paddingBottom: 4, gap: 2, children: [
|
2123
2201
|
/* @__PURE__ */ jsxRuntime.jsx(strapiAdmin.BackButton, {}),
|
2124
|
-
/* @__PURE__ */ jsxRuntime.jsxs(
|
2125
|
-
designSystem.
|
2126
|
-
{
|
2127
|
-
|
2128
|
-
|
2129
|
-
paddingTop: 1,
|
2130
|
-
gap: "80px",
|
2131
|
-
alignItems: "flex-start",
|
2132
|
-
children: [
|
2133
|
-
/* @__PURE__ */ jsxRuntime.jsx(designSystem.Typography, { variant: "alpha", tag: "h1", children: title }),
|
2134
|
-
/* @__PURE__ */ jsxRuntime.jsx(HeaderToolbar, {})
|
2135
|
-
]
|
2136
|
-
}
|
2137
|
-
),
|
2138
|
-
status ? /* @__PURE__ */ jsxRuntime.jsx(DocumentStatus, { status: isCloning ? "draft" : status }) : null
|
2202
|
+
/* @__PURE__ */ jsxRuntime.jsxs(designSystem.Flex, { width: "100%", justifyContent: "space-between", gap: "80px", alignItems: "flex-start", children: [
|
2203
|
+
/* @__PURE__ */ jsxRuntime.jsx(designSystem.Typography, { variant: "alpha", tag: "h1", children: title }),
|
2204
|
+
/* @__PURE__ */ jsxRuntime.jsx(HeaderToolbar, {})
|
2205
|
+
] }),
|
2206
|
+
status ? /* @__PURE__ */ jsxRuntime.jsx(designSystem.Box, { marginTop: 1, children: /* @__PURE__ */ jsxRuntime.jsx(DocumentStatus, { status: isCloning ? "draft" : status }) }) : null
|
2139
2207
|
] });
|
2140
2208
|
};
|
2141
2209
|
const HeaderToolbar = () => {
|
@@ -2826,7 +2894,7 @@ const ConfirmBulkActionDialog = ({
|
|
2826
2894
|
endAction
|
2827
2895
|
}) => {
|
2828
2896
|
const { formatMessage } = reactIntl.useIntl();
|
2829
|
-
return /* @__PURE__ */ jsxRuntime.jsx(designSystem.Dialog.Root, {
|
2897
|
+
return /* @__PURE__ */ jsxRuntime.jsx(designSystem.Dialog.Root, { open: isOpen, children: /* @__PURE__ */ jsxRuntime.jsxs(designSystem.Dialog.Content, { children: [
|
2830
2898
|
/* @__PURE__ */ jsxRuntime.jsx(designSystem.Dialog.Header, { children: formatMessage({
|
2831
2899
|
id: "app.components.ConfirmDialog.title",
|
2832
2900
|
defaultMessage: "Confirmation"
|
@@ -3617,8 +3685,7 @@ class ContentManagerPlugin {
|
|
3617
3685
|
documentActions = [
|
3618
3686
|
...DEFAULT_ACTIONS,
|
3619
3687
|
...DEFAULT_TABLE_ROW_ACTIONS,
|
3620
|
-
...DEFAULT_HEADER_ACTIONS
|
3621
|
-
HistoryAction
|
3688
|
+
...DEFAULT_HEADER_ACTIONS
|
3622
3689
|
];
|
3623
3690
|
editViewSidePanels = [ActionsPanel];
|
3624
3691
|
headerActions = [];
|
@@ -3707,6 +3774,52 @@ const getPrintableType = (value) => {
|
|
3707
3774
|
}
|
3708
3775
|
return nativeType;
|
3709
3776
|
};
|
3777
|
+
const HistoryAction = ({ model, document }) => {
|
3778
|
+
const { formatMessage } = reactIntl.useIntl();
|
3779
|
+
const [{ query }] = strapiAdmin.useQueryParams();
|
3780
|
+
const navigate = reactRouterDom.useNavigate();
|
3781
|
+
const pluginsQueryParams = qs.stringify({ plugins: query.plugins }, { encode: false });
|
3782
|
+
if (!window.strapi.features.isEnabled("cms-content-history")) {
|
3783
|
+
return null;
|
3784
|
+
}
|
3785
|
+
return {
|
3786
|
+
icon: /* @__PURE__ */ jsxRuntime.jsx(Icons.ClockCounterClockwise, {}),
|
3787
|
+
label: formatMessage({
|
3788
|
+
id: "content-manager.history.document-action",
|
3789
|
+
defaultMessage: "Content History"
|
3790
|
+
}),
|
3791
|
+
onClick: () => navigate({ pathname: "history", search: pluginsQueryParams }),
|
3792
|
+
disabled: (
|
3793
|
+
/**
|
3794
|
+
* The user is creating a new document.
|
3795
|
+
* It hasn't been saved yet, so there's no history to go to
|
3796
|
+
*/
|
3797
|
+
!document || /**
|
3798
|
+
* The document has been created but the current dimension has never been saved.
|
3799
|
+
* For example, the user is creating a new locale in an existing document,
|
3800
|
+
* so there's no history for the document in that locale
|
3801
|
+
*/
|
3802
|
+
!document.id || /**
|
3803
|
+
* History is only available for content types created by the user.
|
3804
|
+
* These have the `api::` prefix, as opposed to the ones created by Strapi or plugins,
|
3805
|
+
* which start with `admin::` or `plugin::`
|
3806
|
+
*/
|
3807
|
+
!model.startsWith("api::")
|
3808
|
+
),
|
3809
|
+
position: "header"
|
3810
|
+
};
|
3811
|
+
};
|
3812
|
+
HistoryAction.type = "history";
|
3813
|
+
const historyAdmin = {
|
3814
|
+
bootstrap(app) {
|
3815
|
+
const { addDocumentAction } = app.getPlugin("content-manager").apis;
|
3816
|
+
addDocumentAction((actions2) => {
|
3817
|
+
const indexOfDeleteAction = actions2.findIndex((action) => action.type === "delete");
|
3818
|
+
actions2.splice(indexOfDeleteAction, 0, HistoryAction);
|
3819
|
+
return actions2;
|
3820
|
+
});
|
3821
|
+
}
|
3822
|
+
};
|
3710
3823
|
const initialState = {
|
3711
3824
|
collectionTypeLinks: [],
|
3712
3825
|
components: [],
|
@@ -3762,7 +3875,7 @@ const index = {
|
|
3762
3875
|
app.router.addRoute({
|
3763
3876
|
path: "content-manager/*",
|
3764
3877
|
lazy: async () => {
|
3765
|
-
const { Layout } = await Promise.resolve().then(() => require("./layout-
|
3878
|
+
const { Layout } = await Promise.resolve().then(() => require("./layout-P3eKO1Qy.js"));
|
3766
3879
|
return {
|
3767
3880
|
Component: Layout
|
3768
3881
|
};
|
@@ -3771,10 +3884,15 @@ const index = {
|
|
3771
3884
|
});
|
3772
3885
|
app.registerPlugin(cm.config);
|
3773
3886
|
},
|
3887
|
+
bootstrap(app) {
|
3888
|
+
if (typeof historyAdmin.bootstrap === "function") {
|
3889
|
+
historyAdmin.bootstrap(app);
|
3890
|
+
}
|
3891
|
+
},
|
3774
3892
|
async registerTrads({ locales }) {
|
3775
3893
|
const importedTrads = await Promise.all(
|
3776
3894
|
locales.map((locale) => {
|
3777
|
-
return __variableDynamicImportRuntimeHelper(/* @__PURE__ */ Object.assign({ "./translations/ar.json": () => Promise.resolve().then(() => require("./ar-BUUWXIYu.js")), "./translations/ca.json": () => Promise.resolve().then(() => require("./ca-Cmk45QO6.js")), "./translations/cs.json": () => Promise.resolve().then(() => require("./cs-CkJy6B2v.js")), "./translations/de.json": () => Promise.resolve().then(() => require("./de-CCEmbAah.js")), "./translations/en.json": () => Promise.resolve().then(() => require("./en-
|
3895
|
+
return __variableDynamicImportRuntimeHelper(/* @__PURE__ */ Object.assign({ "./translations/ar.json": () => Promise.resolve().then(() => require("./ar-BUUWXIYu.js")), "./translations/ca.json": () => Promise.resolve().then(() => require("./ca-Cmk45QO6.js")), "./translations/cs.json": () => Promise.resolve().then(() => require("./cs-CkJy6B2v.js")), "./translations/de.json": () => Promise.resolve().then(() => require("./de-CCEmbAah.js")), "./translations/en.json": () => Promise.resolve().then(() => require("./en-uOUIxfcQ.js")), "./translations/es.json": () => Promise.resolve().then(() => require("./es-EUonQTon.js")), "./translations/eu.json": () => Promise.resolve().then(() => require("./eu-VDH-3ovk.js")), "./translations/fr.json": () => Promise.resolve().then(() => require("./fr-B7kGGg3E.js")), "./translations/gu.json": () => Promise.resolve().then(() => require("./gu-BRmF601H.js")), "./translations/hi.json": () => Promise.resolve().then(() => require("./hi-CCJBptSq.js")), "./translations/hu.json": () => Promise.resolve().then(() => require("./hu-sNV_yLYy.js")), "./translations/id.json": () => Promise.resolve().then(() => require("./id-B5Ser98A.js")), "./translations/it.json": () => Promise.resolve().then(() => require("./it-DkBIs7vD.js")), "./translations/ja.json": () => Promise.resolve().then(() => require("./ja-CcFe8diO.js")), "./translations/ko.json": () => Promise.resolve().then(() => require("./ko-woFZPmLk.js")), "./translations/ml.json": () => Promise.resolve().then(() => require("./ml-C2W8N8k1.js")), "./translations/ms.json": () => Promise.resolve().then(() => require("./ms-BuFotyP_.js")), "./translations/nl.json": () => Promise.resolve().then(() => require("./nl-bbEOHChV.js")), "./translations/pl.json": () => Promise.resolve().then(() => require("./pl-uzwG-hk7.js")), "./translations/pt-BR.json": () => Promise.resolve().then(() => require("./pt-BR-BiOz37D9.js")), "./translations/pt.json": () => Promise.resolve().then(() => require("./pt-CeXQuq50.js")), "./translations/ru.json": () => Promise.resolve().then(() => require("./ru-BT3ybNny.js")), "./translations/sa.json": () => Promise.resolve().then(() => require("./sa-CcvkYInH.js")), "./translations/sk.json": () => Promise.resolve().then(() => require("./sk-CvY09Xjv.js")), "./translations/sv.json": () => Promise.resolve().then(() => require("./sv-MYDuzgvT.js")), "./translations/th.json": () => Promise.resolve().then(() => require("./th-D9_GfAjc.js")), "./translations/tr.json": () => Promise.resolve().then(() => require("./tr-D9UH-O_R.js")), "./translations/uk.json": () => Promise.resolve().then(() => require("./uk-C8EiqJY7.js")), "./translations/vi.json": () => Promise.resolve().then(() => require("./vi-CJlYDheJ.js")), "./translations/zh-Hans.json": () => Promise.resolve().then(() => require("./zh-Hans-9kOncHGw.js")), "./translations/zh.json": () => Promise.resolve().then(() => require("./zh-CQQfszqR.js")) }), `./translations/${locale}.json`).then(({ default: data }) => {
|
3778
3896
|
return {
|
3779
3897
|
data: prefixPluginTranslations(data, PLUGIN_ID),
|
3780
3898
|
locale
|
@@ -3831,4 +3949,4 @@ exports.useGetAllDocumentsQuery = useGetAllDocumentsQuery;
|
|
3831
3949
|
exports.useGetContentTypeConfigurationQuery = useGetContentTypeConfigurationQuery;
|
3832
3950
|
exports.useGetInitialDataQuery = useGetInitialDataQuery;
|
3833
3951
|
exports.useUpdateContentTypeConfigurationMutation = useUpdateContentTypeConfigurationMutation;
|
3834
|
-
//# sourceMappingURL=index-
|
3952
|
+
//# sourceMappingURL=index-5EMXLEM_.js.map
|