@strapi/content-manager 0.0.0-next.c9f32f6f0c2be1b88323373117f12eb33219d20e → 0.0.0-next.cb5f24c83e8fde7c31e5850c14430d38aa9b8862
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/CardDragPreview-C0QyJgRA.js.map +1 -1
- package/dist/_chunks/CardDragPreview-DOxamsuj.mjs.map +1 -1
- package/dist/_chunks/{ComponentConfigurationPage-N-CTtgQa.js → ComponentConfigurationPage-BSEZcJVB.js} +4 -5
- package/dist/_chunks/{ComponentConfigurationPage-N-CTtgQa.js.map → ComponentConfigurationPage-BSEZcJVB.js.map} +1 -1
- package/dist/_chunks/{ComponentConfigurationPage-BaJMOQyq.mjs → ComponentConfigurationPage-BiASGi7x.mjs} +3 -3
- package/dist/_chunks/{ComponentConfigurationPage-BaJMOQyq.mjs.map → ComponentConfigurationPage-BiASGi7x.mjs.map} +1 -1
- package/dist/_chunks/{ComponentIcon-BXdiCGQp.js → ComponentIcon-CRbtQEUV.js} +2 -3
- package/dist/_chunks/{ComponentIcon-BXdiCGQp.js.map → ComponentIcon-CRbtQEUV.js.map} +1 -1
- package/dist/_chunks/ComponentIcon-u4bIXTFY.mjs.map +1 -1
- package/dist/_chunks/{EditConfigurationPage-BHkjAbxH.js → EditConfigurationPage-D2rtvneE.js} +4 -5
- package/dist/_chunks/{EditConfigurationPage-BHkjAbxH.js.map → EditConfigurationPage-D2rtvneE.js.map} +1 -1
- package/dist/_chunks/{EditConfigurationPage-CKK-5LfX.mjs → EditConfigurationPage-vN4zupij.mjs} +3 -3
- package/dist/_chunks/{EditConfigurationPage-CKK-5LfX.mjs.map → EditConfigurationPage-vN4zupij.mjs.map} +1 -1
- package/dist/_chunks/{EditViewPage-QPUftxUd.js → EditViewPage-BwisF04Q.js} +4 -5
- package/dist/_chunks/{EditViewPage-QPUftxUd.js.map → EditViewPage-BwisF04Q.js.map} +1 -1
- package/dist/_chunks/{EditViewPage-B11aeMcf.mjs → EditViewPage-_A31Cl4g.mjs} +3 -3
- package/dist/_chunks/{EditViewPage-B11aeMcf.mjs.map → EditViewPage-_A31Cl4g.mjs.map} +1 -1
- package/dist/_chunks/{Field-Bj_RgtGo.mjs → Field-CvIunNOj.mjs} +129 -96
- package/dist/_chunks/Field-CvIunNOj.mjs.map +1 -0
- package/dist/_chunks/{Field-DUK83cfh.js → Field-Dsu6-FrM.js} +132 -99
- package/dist/_chunks/Field-Dsu6-FrM.js.map +1 -0
- package/dist/_chunks/FieldTypeIcon-CMlNO8PE.mjs.map +1 -1
- package/dist/_chunks/FieldTypeIcon-Dnwq_IRF.js.map +1 -1
- package/dist/_chunks/{Form-DLMSoXV7.mjs → Form-DK0fG0Gj.mjs} +3 -3
- package/dist/_chunks/{Form-DLMSoXV7.mjs.map → Form-DK0fG0Gj.mjs.map} +1 -1
- package/dist/_chunks/{Form-DHmBRlHd.js → Form-DUwWcCmA.js} +5 -6
- package/dist/_chunks/{Form-DHmBRlHd.js.map → Form-DUwWcCmA.js.map} +1 -1
- package/dist/_chunks/{History-Di3zm4HT.js → History-CeCDhoJG.js} +5 -6
- package/dist/_chunks/{History-Di3zm4HT.js.map → History-CeCDhoJG.js.map} +1 -1
- package/dist/_chunks/{History-CfCSNlG9.mjs → History-DP8gmXpm.mjs} +4 -4
- package/dist/_chunks/{History-CfCSNlG9.mjs.map → History-DP8gmXpm.mjs.map} +1 -1
- package/dist/_chunks/{ListConfigurationPage-0mtv_iqk.mjs → ListConfigurationPage-BCkO5iuN.mjs} +3 -3
- package/dist/_chunks/{ListConfigurationPage-0mtv_iqk.mjs.map → ListConfigurationPage-BCkO5iuN.mjs.map} +1 -1
- package/dist/_chunks/{ListConfigurationPage-Cq361KIt.js → ListConfigurationPage-C-bAd44a.js} +4 -5
- package/dist/_chunks/{ListConfigurationPage-Cq361KIt.js.map → ListConfigurationPage-C-bAd44a.js.map} +1 -1
- package/dist/_chunks/{ListViewPage-DFDcG8gM.js → ListViewPage-BKTZFhsM.js} +4 -5
- package/dist/_chunks/{ListViewPage-DFDcG8gM.js.map → ListViewPage-BKTZFhsM.js.map} +1 -1
- package/dist/_chunks/{ListViewPage-BxLVROX8.mjs → ListViewPage-Cf_DgaFV.mjs} +3 -3
- package/dist/_chunks/{ListViewPage-BxLVROX8.mjs.map → ListViewPage-Cf_DgaFV.mjs.map} +1 -1
- package/dist/_chunks/{NoContentTypePage-BSyvnDZZ.js → NoContentTypePage-D3Cm3v3q.js} +2 -2
- package/dist/_chunks/{NoContentTypePage-BSyvnDZZ.js.map → NoContentTypePage-D3Cm3v3q.js.map} +1 -1
- package/dist/_chunks/{NoContentTypePage-BRfDd67_.mjs → NoContentTypePage-nHIyvJcB.mjs} +2 -2
- package/dist/_chunks/{NoContentTypePage-BRfDd67_.mjs.map → NoContentTypePage-nHIyvJcB.mjs.map} +1 -1
- package/dist/_chunks/{NoPermissionsPage-CV9V8KWa.mjs → NoPermissionsPage-BALVSJ7x.mjs} +2 -2
- package/dist/_chunks/{NoPermissionsPage-CV9V8KWa.mjs.map → NoPermissionsPage-BALVSJ7x.mjs.map} +1 -1
- package/dist/_chunks/{NoPermissionsPage-DyLphsn_.js → NoPermissionsPage-CChGWBj5.js} +2 -2
- package/dist/_chunks/{NoPermissionsPage-DyLphsn_.js.map → NoPermissionsPage-CChGWBj5.js.map} +1 -1
- package/dist/_chunks/{Preview-C_B1nx3g.mjs → Preview-C4NBzKUV.mjs} +33 -11
- package/dist/_chunks/Preview-C4NBzKUV.mjs.map +1 -0
- package/dist/_chunks/{Preview-D_3aO6Ly.js → Preview-CT28Ckpg.js} +33 -12
- package/dist/_chunks/Preview-CT28Ckpg.js.map +1 -0
- package/dist/_chunks/{Relations-C6pwmDXh.mjs → Relations-C8uC89cT.mjs} +6 -8
- package/dist/_chunks/{Relations-C6pwmDXh.mjs.map → Relations-C8uC89cT.mjs.map} +1 -1
- package/dist/_chunks/{Relations-Cne2AlrL.js → Relations-CvkPCng_.js} +7 -10
- package/dist/_chunks/{Relations-Cne2AlrL.js.map → Relations-CvkPCng_.js.map} +1 -1
- package/dist/_chunks/{en-Ic0kXjxB.js → en-BK8Xyl5I.js} +2 -1
- package/dist/_chunks/{en-Ic0kXjxB.js.map → en-BK8Xyl5I.js.map} +1 -1
- package/dist/_chunks/{en-DhFUjrNW.mjs → en-Dtk_ot79.mjs} +2 -1
- package/dist/_chunks/{en-DhFUjrNW.mjs.map → en-Dtk_ot79.mjs.map} +1 -1
- package/dist/_chunks/hooks-BAaaKPS_.js.map +1 -1
- package/dist/_chunks/{index-T-aWjbj2.js → index-CnX_j5h-.js} +206 -124
- package/dist/_chunks/index-CnX_j5h-.js.map +1 -0
- package/dist/_chunks/{index-BpxR3En4.mjs → index-Dh2aGTGJ.mjs} +205 -122
- package/dist/_chunks/index-Dh2aGTGJ.mjs.map +1 -0
- package/dist/_chunks/{layout-DhMZ_lDx.mjs → layout-B5qsPihj.mjs} +4 -4
- package/dist/_chunks/{layout-DhMZ_lDx.mjs.map → layout-B5qsPihj.mjs.map} +1 -1
- package/dist/_chunks/{layout-BEuNwv-F.js → layout-B_qdWGny.js} +5 -6
- package/dist/_chunks/{layout-BEuNwv-F.js.map → layout-B_qdWGny.js.map} +1 -1
- package/dist/_chunks/objects-BcXOv6_9.js.map +1 -1
- package/dist/_chunks/objects-D6yBsdmx.mjs.map +1 -1
- package/dist/_chunks/{relations-kLcuobLk.js → relations-ChcieiF5.js} +2 -2
- package/dist/_chunks/{relations-kLcuobLk.js.map → relations-ChcieiF5.js.map} +1 -1
- package/dist/_chunks/{relations-BdnxoX6f.mjs → relations-DMXpNY-e.mjs} +2 -2
- package/dist/_chunks/{relations-BdnxoX6f.mjs.map → relations-DMXpNY-e.mjs.map} +1 -1
- package/dist/_chunks/useDebounce-CtcjDB3L.js.map +1 -1
- package/dist/_chunks/useDebounce-DmuSJIF3.mjs.map +1 -1
- package/dist/_chunks/{useDragAndDrop-J0TUUbR6.js → useDragAndDrop-BMtgCYzL.js} +5 -9
- package/dist/_chunks/{useDragAndDrop-J0TUUbR6.js.map → useDragAndDrop-BMtgCYzL.js.map} +1 -1
- package/dist/_chunks/{useDragAndDrop-DdHgKsqq.mjs → useDragAndDrop-DJ6jqvZN.mjs} +4 -7
- package/dist/_chunks/{useDragAndDrop-DdHgKsqq.mjs.map → useDragAndDrop-DJ6jqvZN.mjs.map} +1 -1
- package/dist/admin/index.js +1 -1
- package/dist/admin/index.mjs +1 -1
- package/dist/admin/src/content-manager.d.ts +3 -2
- package/dist/admin/src/pages/EditView/components/DocumentActions.d.ts +1 -1
- package/dist/admin/src/pages/EditView/components/FormInputs/BlocksInput/Blocks/Code.d.ts +7 -0
- package/dist/admin/src/pages/EditView/components/FormInputs/BlocksInput/Blocks/utils/prismLanguages.d.ts +49 -0
- package/dist/admin/src/pages/EditView/components/FormInputs/BlocksInput/utils/constants.d.ts +1 -0
- package/dist/server/index.js +95 -103
- package/dist/server/index.js.map +1 -1
- package/dist/server/index.mjs +95 -102
- package/dist/server/index.mjs.map +1 -1
- package/dist/server/src/controllers/utils/metadata.d.ts +1 -0
- package/dist/server/src/controllers/utils/metadata.d.ts.map +1 -1
- package/dist/server/src/index.d.ts +3 -2
- package/dist/server/src/index.d.ts.map +1 -1
- package/dist/server/src/preview/index.d.ts.map +1 -1
- package/dist/server/src/services/document-metadata.d.ts +4 -2
- package/dist/server/src/services/document-metadata.d.ts.map +1 -1
- package/dist/server/src/services/index.d.ts +3 -2
- package/dist/server/src/services/index.d.ts.map +1 -1
- package/dist/server/src/services/utils/configuration/index.d.ts +2 -2
- package/dist/server/src/services/utils/configuration/layouts.d.ts +2 -2
- package/dist/server/src/services/utils/populate.d.ts +2 -2
- package/dist/server/src/services/utils/populate.d.ts.map +1 -1
- package/package.json +11 -9
- package/dist/_chunks/Field-Bj_RgtGo.mjs.map +0 -1
- package/dist/_chunks/Field-DUK83cfh.js.map +0 -1
- package/dist/_chunks/Preview-C_B1nx3g.mjs.map +0 -1
- package/dist/_chunks/Preview-D_3aO6Ly.js.map +0 -1
- package/dist/_chunks/index-BpxR3En4.mjs.map +0 -1
- package/dist/_chunks/index-T-aWjbj2.js.map +0 -1
- package/dist/admin/src/preview/constants.d.ts +0 -1
- package/dist/server/src/preview/constants.d.ts +0 -2
- package/dist/server/src/preview/constants.d.ts.map +0 -1
@@ -15,8 +15,7 @@ const dateFns = require("date-fns");
|
|
15
15
|
const toolkit = require("@reduxjs/toolkit");
|
16
16
|
const _interopDefault = (e) => e && e.__esModule ? e : { default: e };
|
17
17
|
function _interopNamespace(e) {
|
18
|
-
if (e && e.__esModule)
|
19
|
-
return e;
|
18
|
+
if (e && e.__esModule) return e;
|
20
19
|
const n = Object.create(null, { [Symbol.toStringTag]: { value: "Module" } });
|
21
20
|
if (e) {
|
22
21
|
for (const k in e) {
|
@@ -36,13 +35,20 @@ const React__namespace = /* @__PURE__ */ _interopNamespace(React);
|
|
36
35
|
const mapValues__default = /* @__PURE__ */ _interopDefault(mapValues);
|
37
36
|
const yup__namespace = /* @__PURE__ */ _interopNamespace(yup);
|
38
37
|
const pipe__default = /* @__PURE__ */ _interopDefault(pipe);
|
39
|
-
const __variableDynamicImportRuntimeHelper = (glob, path) => {
|
38
|
+
const __variableDynamicImportRuntimeHelper = (glob, path, segs) => {
|
40
39
|
const v = glob[path];
|
41
40
|
if (v) {
|
42
41
|
return typeof v === "function" ? v() : Promise.resolve(v);
|
43
42
|
}
|
44
43
|
return new Promise((_, reject) => {
|
45
|
-
(typeof queueMicrotask === "function" ? queueMicrotask : setTimeout)(
|
44
|
+
(typeof queueMicrotask === "function" ? queueMicrotask : setTimeout)(
|
45
|
+
reject.bind(
|
46
|
+
null,
|
47
|
+
new Error(
|
48
|
+
"Unknown variable dynamic import: " + path + (path.split("/").length !== segs ? ". Note that variables only represent file names one level deep." : "")
|
49
|
+
)
|
50
|
+
)
|
51
|
+
);
|
46
52
|
});
|
47
53
|
};
|
48
54
|
const PLUGIN_ID = "content-manager";
|
@@ -242,7 +248,19 @@ const documentApi = contentManagerApi.injectEndpoints({
|
|
242
248
|
{ type: "Document", id: `${model}_LIST` },
|
243
249
|
"Relations",
|
244
250
|
{ type: "UidAvailability", id: model }
|
245
|
-
]
|
251
|
+
],
|
252
|
+
transformResponse: (response, meta, arg) => {
|
253
|
+
if (!("data" in response) && arg.model === "plugin::users-permissions.user") {
|
254
|
+
return {
|
255
|
+
data: response,
|
256
|
+
meta: {
|
257
|
+
availableStatus: [],
|
258
|
+
availableLocales: []
|
259
|
+
}
|
260
|
+
};
|
261
|
+
}
|
262
|
+
return response;
|
263
|
+
}
|
246
264
|
}),
|
247
265
|
deleteDocument: builder.mutation({
|
248
266
|
query: ({ collectionType, model, documentId, params }) => ({
|
@@ -475,8 +493,7 @@ const {
|
|
475
493
|
useUnpublishManyDocumentsMutation
|
476
494
|
} = documentApi;
|
477
495
|
const buildValidParams = (query) => {
|
478
|
-
if (!query)
|
479
|
-
return query;
|
496
|
+
if (!query) return query;
|
480
497
|
const { plugins: _, ...validQueryParams } = {
|
481
498
|
...query,
|
482
499
|
...Object.values(query?.plugins ?? {}).reduce(
|
@@ -1683,7 +1700,7 @@ const useDocumentActions = () => {
|
|
1683
1700
|
};
|
1684
1701
|
};
|
1685
1702
|
const ProtectedHistoryPage = React__namespace.lazy(
|
1686
|
-
() => Promise.resolve().then(() => require("./History-
|
1703
|
+
() => Promise.resolve().then(() => require("./History-CeCDhoJG.js")).then((mod) => ({ default: mod.ProtectedHistoryPage }))
|
1687
1704
|
);
|
1688
1705
|
const routes$2 = [
|
1689
1706
|
{
|
@@ -1696,7 +1713,7 @@ const routes$2 = [
|
|
1696
1713
|
}
|
1697
1714
|
];
|
1698
1715
|
const ProtectedPreviewPage = React__namespace.lazy(
|
1699
|
-
() => Promise.resolve().then(() => require("./Preview-
|
1716
|
+
() => Promise.resolve().then(() => require("./Preview-CT28Ckpg.js")).then((mod) => ({ default: mod.ProtectedPreviewPage }))
|
1700
1717
|
);
|
1701
1718
|
const routes$1 = [
|
1702
1719
|
{
|
@@ -1709,31 +1726,31 @@ const routes$1 = [
|
|
1709
1726
|
}
|
1710
1727
|
];
|
1711
1728
|
const ProtectedEditViewPage = React.lazy(
|
1712
|
-
() => Promise.resolve().then(() => require("./EditViewPage-
|
1729
|
+
() => Promise.resolve().then(() => require("./EditViewPage-BwisF04Q.js")).then((mod) => ({ default: mod.ProtectedEditViewPage }))
|
1713
1730
|
);
|
1714
1731
|
const ProtectedListViewPage = React.lazy(
|
1715
|
-
() => Promise.resolve().then(() => require("./ListViewPage-
|
1732
|
+
() => Promise.resolve().then(() => require("./ListViewPage-BKTZFhsM.js")).then((mod) => ({ default: mod.ProtectedListViewPage }))
|
1716
1733
|
);
|
1717
1734
|
const ProtectedListConfiguration = React.lazy(
|
1718
|
-
() => Promise.resolve().then(() => require("./ListConfigurationPage-
|
1735
|
+
() => Promise.resolve().then(() => require("./ListConfigurationPage-C-bAd44a.js")).then((mod) => ({
|
1719
1736
|
default: mod.ProtectedListConfiguration
|
1720
1737
|
}))
|
1721
1738
|
);
|
1722
1739
|
const ProtectedEditConfigurationPage = React.lazy(
|
1723
|
-
() => Promise.resolve().then(() => require("./EditConfigurationPage-
|
1740
|
+
() => Promise.resolve().then(() => require("./EditConfigurationPage-D2rtvneE.js")).then((mod) => ({
|
1724
1741
|
default: mod.ProtectedEditConfigurationPage
|
1725
1742
|
}))
|
1726
1743
|
);
|
1727
1744
|
const ProtectedComponentConfigurationPage = React.lazy(
|
1728
|
-
() => Promise.resolve().then(() => require("./ComponentConfigurationPage-
|
1745
|
+
() => Promise.resolve().then(() => require("./ComponentConfigurationPage-BSEZcJVB.js")).then((mod) => ({
|
1729
1746
|
default: mod.ProtectedComponentConfigurationPage
|
1730
1747
|
}))
|
1731
1748
|
);
|
1732
1749
|
const NoPermissions = React.lazy(
|
1733
|
-
() => Promise.resolve().then(() => require("./NoPermissionsPage-
|
1750
|
+
() => Promise.resolve().then(() => require("./NoPermissionsPage-CChGWBj5.js")).then((mod) => ({ default: mod.NoPermissions }))
|
1734
1751
|
);
|
1735
1752
|
const NoContentType = React.lazy(
|
1736
|
-
() => Promise.resolve().then(() => require("./NoContentTypePage-
|
1753
|
+
() => Promise.resolve().then(() => require("./NoContentTypePage-D3Cm3v3q.js")).then((mod) => ({ default: mod.NoContentType }))
|
1737
1754
|
);
|
1738
1755
|
const CollectionTypePages = () => {
|
1739
1756
|
const { collectionType } = reactRouterDom.useParams();
|
@@ -2264,6 +2281,7 @@ const PublishAction$1 = ({
|
|
2264
2281
|
};
|
2265
2282
|
};
|
2266
2283
|
PublishAction$1.type = "publish";
|
2284
|
+
PublishAction$1.position = "panel";
|
2267
2285
|
const UpdateAction = ({
|
2268
2286
|
activeTab,
|
2269
2287
|
documentId,
|
@@ -2286,6 +2304,117 @@ const UpdateAction = ({
|
|
2286
2304
|
const validate = strapiAdmin.useForm("UpdateAction", (state) => state.validate);
|
2287
2305
|
const setErrors = strapiAdmin.useForm("UpdateAction", (state) => state.setErrors);
|
2288
2306
|
const resetForm = strapiAdmin.useForm("PublishAction", ({ resetForm: resetForm2 }) => resetForm2);
|
2307
|
+
const handleUpdate = React__namespace.useCallback(async () => {
|
2308
|
+
setSubmitting(true);
|
2309
|
+
try {
|
2310
|
+
if (!modified) {
|
2311
|
+
return;
|
2312
|
+
}
|
2313
|
+
const { errors } = await validate(true, {
|
2314
|
+
status: "draft"
|
2315
|
+
});
|
2316
|
+
if (errors) {
|
2317
|
+
toggleNotification({
|
2318
|
+
type: "danger",
|
2319
|
+
message: formatMessage({
|
2320
|
+
id: "content-manager.validation.error",
|
2321
|
+
defaultMessage: "There are validation errors in your document. Please fix them before saving."
|
2322
|
+
})
|
2323
|
+
});
|
2324
|
+
return;
|
2325
|
+
}
|
2326
|
+
if (isCloning) {
|
2327
|
+
const res = await clone(
|
2328
|
+
{
|
2329
|
+
model,
|
2330
|
+
documentId: cloneMatch.params.origin,
|
2331
|
+
params
|
2332
|
+
},
|
2333
|
+
transformData(document)
|
2334
|
+
);
|
2335
|
+
if ("data" in res) {
|
2336
|
+
navigate(
|
2337
|
+
{
|
2338
|
+
pathname: `../${res.data.documentId}`,
|
2339
|
+
search: rawQuery
|
2340
|
+
},
|
2341
|
+
{ relative: "path" }
|
2342
|
+
);
|
2343
|
+
} else if ("error" in res && isBaseQueryError(res.error) && res.error.name === "ValidationError") {
|
2344
|
+
setErrors(formatValidationErrors(res.error));
|
2345
|
+
}
|
2346
|
+
} else if (documentId || collectionType === SINGLE_TYPES) {
|
2347
|
+
const res = await update(
|
2348
|
+
{
|
2349
|
+
collectionType,
|
2350
|
+
model,
|
2351
|
+
documentId,
|
2352
|
+
params
|
2353
|
+
},
|
2354
|
+
transformData(document)
|
2355
|
+
);
|
2356
|
+
if ("error" in res && isBaseQueryError(res.error) && res.error.name === "ValidationError") {
|
2357
|
+
setErrors(formatValidationErrors(res.error));
|
2358
|
+
} else {
|
2359
|
+
resetForm();
|
2360
|
+
}
|
2361
|
+
} else {
|
2362
|
+
const res = await create(
|
2363
|
+
{
|
2364
|
+
model,
|
2365
|
+
params
|
2366
|
+
},
|
2367
|
+
transformData(document)
|
2368
|
+
);
|
2369
|
+
if ("data" in res && collectionType !== SINGLE_TYPES) {
|
2370
|
+
navigate(
|
2371
|
+
{
|
2372
|
+
pathname: `../${res.data.documentId}`,
|
2373
|
+
search: rawQuery
|
2374
|
+
},
|
2375
|
+
{ replace: true, relative: "path" }
|
2376
|
+
);
|
2377
|
+
} else if ("error" in res && isBaseQueryError(res.error) && res.error.name === "ValidationError") {
|
2378
|
+
setErrors(formatValidationErrors(res.error));
|
2379
|
+
}
|
2380
|
+
}
|
2381
|
+
} finally {
|
2382
|
+
setSubmitting(false);
|
2383
|
+
}
|
2384
|
+
}, [
|
2385
|
+
clone,
|
2386
|
+
cloneMatch?.params.origin,
|
2387
|
+
collectionType,
|
2388
|
+
create,
|
2389
|
+
document,
|
2390
|
+
documentId,
|
2391
|
+
formatMessage,
|
2392
|
+
formatValidationErrors,
|
2393
|
+
isCloning,
|
2394
|
+
model,
|
2395
|
+
modified,
|
2396
|
+
navigate,
|
2397
|
+
params,
|
2398
|
+
rawQuery,
|
2399
|
+
resetForm,
|
2400
|
+
setErrors,
|
2401
|
+
setSubmitting,
|
2402
|
+
toggleNotification,
|
2403
|
+
update,
|
2404
|
+
validate
|
2405
|
+
]);
|
2406
|
+
React__namespace.useEffect(() => {
|
2407
|
+
const handleKeyDown = (e) => {
|
2408
|
+
if (e.key === "Enter" && (e.metaKey || e.ctrlKey)) {
|
2409
|
+
e.preventDefault();
|
2410
|
+
handleUpdate();
|
2411
|
+
}
|
2412
|
+
};
|
2413
|
+
window.addEventListener("keydown", handleKeyDown);
|
2414
|
+
return () => {
|
2415
|
+
window.removeEventListener("keydown", handleKeyDown);
|
2416
|
+
};
|
2417
|
+
}, [handleUpdate]);
|
2289
2418
|
return {
|
2290
2419
|
/**
|
2291
2420
|
* Disabled when:
|
@@ -2298,84 +2427,11 @@ const UpdateAction = ({
|
|
2298
2427
|
id: "global.save",
|
2299
2428
|
defaultMessage: "Save"
|
2300
2429
|
}),
|
2301
|
-
onClick:
|
2302
|
-
setSubmitting(true);
|
2303
|
-
try {
|
2304
|
-
const { errors } = await validate(true, {
|
2305
|
-
status: "draft"
|
2306
|
-
});
|
2307
|
-
if (errors) {
|
2308
|
-
toggleNotification({
|
2309
|
-
type: "danger",
|
2310
|
-
message: formatMessage({
|
2311
|
-
id: "content-manager.validation.error",
|
2312
|
-
defaultMessage: "There are validation errors in your document. Please fix them before saving."
|
2313
|
-
})
|
2314
|
-
});
|
2315
|
-
return;
|
2316
|
-
}
|
2317
|
-
if (isCloning) {
|
2318
|
-
const res = await clone(
|
2319
|
-
{
|
2320
|
-
model,
|
2321
|
-
documentId: cloneMatch.params.origin,
|
2322
|
-
params
|
2323
|
-
},
|
2324
|
-
transformData(document)
|
2325
|
-
);
|
2326
|
-
if ("data" in res) {
|
2327
|
-
navigate(
|
2328
|
-
{
|
2329
|
-
pathname: `../${res.data.documentId}`,
|
2330
|
-
search: rawQuery
|
2331
|
-
},
|
2332
|
-
{ relative: "path" }
|
2333
|
-
);
|
2334
|
-
} else if ("error" in res && isBaseQueryError(res.error) && res.error.name === "ValidationError") {
|
2335
|
-
setErrors(formatValidationErrors(res.error));
|
2336
|
-
}
|
2337
|
-
} else if (documentId || collectionType === SINGLE_TYPES) {
|
2338
|
-
const res = await update(
|
2339
|
-
{
|
2340
|
-
collectionType,
|
2341
|
-
model,
|
2342
|
-
documentId,
|
2343
|
-
params
|
2344
|
-
},
|
2345
|
-
transformData(document)
|
2346
|
-
);
|
2347
|
-
if ("error" in res && isBaseQueryError(res.error) && res.error.name === "ValidationError") {
|
2348
|
-
setErrors(formatValidationErrors(res.error));
|
2349
|
-
} else {
|
2350
|
-
resetForm();
|
2351
|
-
}
|
2352
|
-
} else {
|
2353
|
-
const res = await create(
|
2354
|
-
{
|
2355
|
-
model,
|
2356
|
-
params
|
2357
|
-
},
|
2358
|
-
transformData(document)
|
2359
|
-
);
|
2360
|
-
if ("data" in res && collectionType !== SINGLE_TYPES) {
|
2361
|
-
navigate(
|
2362
|
-
{
|
2363
|
-
pathname: `../${res.data.documentId}`,
|
2364
|
-
search: rawQuery
|
2365
|
-
},
|
2366
|
-
{ replace: true, relative: "path" }
|
2367
|
-
);
|
2368
|
-
} else if ("error" in res && isBaseQueryError(res.error) && res.error.name === "ValidationError") {
|
2369
|
-
setErrors(formatValidationErrors(res.error));
|
2370
|
-
}
|
2371
|
-
}
|
2372
|
-
} finally {
|
2373
|
-
setSubmitting(false);
|
2374
|
-
}
|
2375
|
-
}
|
2430
|
+
onClick: handleUpdate
|
2376
2431
|
};
|
2377
2432
|
};
|
2378
2433
|
UpdateAction.type = "update";
|
2434
|
+
UpdateAction.position = "panel";
|
2379
2435
|
const UNPUBLISH_DRAFT_OPTIONS = {
|
2380
2436
|
KEEP: "keep",
|
2381
2437
|
DISCARD: "discard"
|
@@ -2498,6 +2554,7 @@ const UnpublishAction$1 = ({
|
|
2498
2554
|
};
|
2499
2555
|
};
|
2500
2556
|
UnpublishAction$1.type = "unpublish";
|
2557
|
+
UnpublishAction$1.position = "panel";
|
2501
2558
|
const DiscardAction = ({
|
2502
2559
|
activeTab,
|
2503
2560
|
documentId,
|
@@ -2548,6 +2605,7 @@ const DiscardAction = ({
|
|
2548
2605
|
};
|
2549
2606
|
};
|
2550
2607
|
DiscardAction.type = "discard";
|
2608
|
+
DiscardAction.position = "panel";
|
2551
2609
|
const DEFAULT_ACTIONS = [PublishAction$1, UpdateAction, UnpublishAction$1, DiscardAction];
|
2552
2610
|
const intervals = ["years", "months", "days", "hours", "minutes", "seconds"];
|
2553
2611
|
const RelativeTime = React__namespace.forwardRef(
|
@@ -2667,7 +2725,7 @@ const HeaderToolbar = () => {
|
|
2667
2725
|
meta: isCloning ? void 0 : meta,
|
2668
2726
|
collectionType
|
2669
2727
|
},
|
2670
|
-
descriptions: plugins["content-manager"].apis.getDocumentActions(),
|
2728
|
+
descriptions: plugins["content-manager"].apis.getDocumentActions("header"),
|
2671
2729
|
children: (actions2) => {
|
2672
2730
|
const headerActions = actions2.filter((action) => {
|
2673
2731
|
const positions = Array.isArray(action.position) ? action.position : [action.position];
|
@@ -2875,6 +2933,7 @@ const ConfigureTheViewAction = ({ collectionType, model }) => {
|
|
2875
2933
|
};
|
2876
2934
|
};
|
2877
2935
|
ConfigureTheViewAction.type = "configure-the-view";
|
2936
|
+
ConfigureTheViewAction.position = "header";
|
2878
2937
|
const EditTheModelAction = ({ model }) => {
|
2879
2938
|
const navigate = reactRouterDom.useNavigate();
|
2880
2939
|
const { formatMessage } = reactIntl.useIntl();
|
@@ -2891,6 +2950,7 @@ const EditTheModelAction = ({ model }) => {
|
|
2891
2950
|
};
|
2892
2951
|
};
|
2893
2952
|
EditTheModelAction.type = "edit-the-model";
|
2953
|
+
EditTheModelAction.position = "header";
|
2894
2954
|
const DeleteAction$1 = ({ documentId, model, collectionType, document }) => {
|
2895
2955
|
const navigate = reactRouterDom.useNavigate();
|
2896
2956
|
const { formatMessage } = reactIntl.useIntl();
|
@@ -2964,6 +3024,7 @@ const DeleteAction$1 = ({ documentId, model, collectionType, document }) => {
|
|
2964
3024
|
};
|
2965
3025
|
};
|
2966
3026
|
DeleteAction$1.type = "delete";
|
3027
|
+
DeleteAction$1.position = ["header", "table-row"];
|
2967
3028
|
const DEFAULT_HEADER_ACTIONS = [EditTheModelAction, ConfigureTheViewAction, DeleteAction$1];
|
2968
3029
|
const Panels = () => {
|
2969
3030
|
const isCloning = reactRouterDom.useMatch(CLONE_PATH) !== null;
|
@@ -3026,7 +3087,7 @@ const ActionsPanelContent = () => {
|
|
3026
3087
|
strapiAdmin.DescriptionComponentRenderer,
|
3027
3088
|
{
|
3028
3089
|
props,
|
3029
|
-
descriptions: plugins["content-manager"].apis.getDocumentActions(),
|
3090
|
+
descriptions: plugins["content-manager"].apis.getDocumentActions("panel"),
|
3030
3091
|
children: (actions2) => /* @__PURE__ */ jsxRuntime.jsx(DocumentActions, { actions: actions2 })
|
3031
3092
|
}
|
3032
3093
|
),
|
@@ -3480,8 +3541,7 @@ const PublishAction = ({ documents, model }) => {
|
|
3480
3541
|
const refetchList = () => {
|
3481
3542
|
contentManagerApi.util.invalidateTags([{ type: "Document", id: `${model}_LIST` }]);
|
3482
3543
|
};
|
3483
|
-
if (!showPublishButton)
|
3484
|
-
return null;
|
3544
|
+
if (!showPublishButton) return null;
|
3485
3545
|
return {
|
3486
3546
|
actionType: "publish",
|
3487
3547
|
variant: "tertiary",
|
@@ -3549,8 +3609,7 @@ const DeleteAction = ({ documents, model }) => {
|
|
3549
3609
|
selectRow([]);
|
3550
3610
|
}
|
3551
3611
|
};
|
3552
|
-
if (!hasDeletePermission)
|
3553
|
-
return null;
|
3612
|
+
if (!hasDeletePermission) return null;
|
3554
3613
|
return {
|
3555
3614
|
variant: "danger-light",
|
3556
3615
|
label: formatMessage({ id: "global.delete", defaultMessage: "Delete" }),
|
@@ -3599,8 +3658,7 @@ const UnpublishAction = ({ documents, model }) => {
|
|
3599
3658
|
}
|
3600
3659
|
};
|
3601
3660
|
const showUnpublishButton = hasDraftAndPublishEnabled && hasPublishPermission && documents.some((entry) => entry.status === "published" || entry.status === "modified");
|
3602
|
-
if (!showUnpublishButton)
|
3603
|
-
return null;
|
3661
|
+
if (!showUnpublishButton) return null;
|
3604
3662
|
return {
|
3605
3663
|
variant: "tertiary",
|
3606
3664
|
label: formatMessage({ id: "app.utils.unpublish", defaultMessage: "Unpublish" }),
|
@@ -3705,7 +3763,7 @@ const TableActions = ({ document }) => {
|
|
3705
3763
|
strapiAdmin.DescriptionComponentRenderer,
|
3706
3764
|
{
|
3707
3765
|
props,
|
3708
|
-
descriptions: plugins["content-manager"].apis.getDocumentActions().filter((action) => action.name !== "PublishAction"),
|
3766
|
+
descriptions: plugins["content-manager"].apis.getDocumentActions("table-row").filter((action) => action.name !== "PublishAction"),
|
3709
3767
|
children: (actions2) => {
|
3710
3768
|
const tableRowActions = actions2.filter((action) => {
|
3711
3769
|
const positions = Array.isArray(action.position) ? action.position : [action.position];
|
@@ -3764,6 +3822,7 @@ const EditAction = ({ documentId }) => {
|
|
3764
3822
|
};
|
3765
3823
|
};
|
3766
3824
|
EditAction.type = "edit";
|
3825
|
+
EditAction.position = "table-row";
|
3767
3826
|
const StyledPencil = styledComponents.styled(Icons.Pencil)`
|
3768
3827
|
path {
|
3769
3828
|
fill: currentColor;
|
@@ -3840,6 +3899,7 @@ const CloneAction = ({ model, documentId }) => {
|
|
3840
3899
|
};
|
3841
3900
|
};
|
3842
3901
|
CloneAction.type = "clone";
|
3902
|
+
CloneAction.position = "table-row";
|
3843
3903
|
const StyledDuplicate = styledComponents.styled(Icons.Duplicate)`
|
3844
3904
|
path {
|
3845
3905
|
fill: currentColor;
|
@@ -3926,7 +3986,14 @@ class ContentManagerPlugin {
|
|
3926
3986
|
addDocumentHeaderAction: this.addDocumentHeaderAction.bind(this),
|
3927
3987
|
addEditViewSidePanel: this.addEditViewSidePanel.bind(this),
|
3928
3988
|
getBulkActions: () => this.bulkActions,
|
3929
|
-
getDocumentActions: () =>
|
3989
|
+
getDocumentActions: (position) => {
|
3990
|
+
if (position) {
|
3991
|
+
return this.documentActions.filter(
|
3992
|
+
(action) => action.position == void 0 || [action.position].flat().includes(position)
|
3993
|
+
);
|
3994
|
+
}
|
3995
|
+
return this.documentActions;
|
3996
|
+
},
|
3930
3997
|
getEditViewSidePanels: () => this.editViewSidePanels,
|
3931
3998
|
getHeaderActions: () => this.headerActions
|
3932
3999
|
}
|
@@ -3936,10 +4003,8 @@ class ContentManagerPlugin {
|
|
3936
4003
|
const getPrintableType = (value) => {
|
3937
4004
|
const nativeType = typeof value;
|
3938
4005
|
if (nativeType === "object") {
|
3939
|
-
if (value === null)
|
3940
|
-
|
3941
|
-
if (Array.isArray(value))
|
3942
|
-
return "array";
|
4006
|
+
if (value === null) return "null";
|
4007
|
+
if (Array.isArray(value)) return "array";
|
3943
4008
|
if (value instanceof Object && value.constructor.name !== "Object") {
|
3944
4009
|
return value.constructor.name;
|
3945
4010
|
}
|
@@ -3992,6 +4057,7 @@ const HistoryAction = ({ model, document }) => {
|
|
3992
4057
|
};
|
3993
4058
|
};
|
3994
4059
|
HistoryAction.type = "history";
|
4060
|
+
HistoryAction.position = "header";
|
3995
4061
|
const historyAdmin = {
|
3996
4062
|
bootstrap(app) {
|
3997
4063
|
const { addDocumentAction } = app.getPlugin("content-manager").apis;
|
@@ -4054,11 +4120,18 @@ const previewApi = contentManagerApi.injectEndpoints({
|
|
4054
4120
|
})
|
4055
4121
|
});
|
4056
4122
|
const { useGetPreviewUrlQuery } = previewApi;
|
4123
|
+
const ConditionalTooltip = ({ isShown, label, children }) => {
|
4124
|
+
if (isShown) {
|
4125
|
+
return /* @__PURE__ */ jsxRuntime.jsx(designSystem.Tooltip, { label, children });
|
4126
|
+
}
|
4127
|
+
return children;
|
4128
|
+
};
|
4057
4129
|
const PreviewSidePanel = ({ model, documentId, document }) => {
|
4058
4130
|
const { formatMessage } = reactIntl.useIntl();
|
4059
4131
|
const { trackUsage } = strapiAdmin.useTracking();
|
4060
4132
|
const { pathname } = reactRouterDom.useLocation();
|
4061
4133
|
const [{ query }] = strapiAdmin.useQueryParams();
|
4134
|
+
const isModified = strapiAdmin.useForm("PreviewSidePanel", (state) => state.modified);
|
4062
4135
|
const { data, error } = useGetPreviewUrlQuery({
|
4063
4136
|
params: {
|
4064
4137
|
contentType: model
|
@@ -4078,28 +4151,37 @@ const PreviewSidePanel = ({ model, documentId, document }) => {
|
|
4078
4151
|
};
|
4079
4152
|
return {
|
4080
4153
|
title: formatMessage({ id: "content-manager.preview.panel.title", defaultMessage: "Preview" }),
|
4081
|
-
content: /* @__PURE__ */ jsxRuntime.jsx(
|
4082
|
-
|
4154
|
+
content: /* @__PURE__ */ jsxRuntime.jsx(
|
4155
|
+
ConditionalTooltip,
|
4083
4156
|
{
|
4084
|
-
|
4085
|
-
|
4086
|
-
|
4087
|
-
|
4088
|
-
|
4089
|
-
children:
|
4090
|
-
|
4091
|
-
|
4092
|
-
|
4157
|
+
label: formatMessage({
|
4158
|
+
id: "content-manager.preview.panel.button-disabled-tooltip",
|
4159
|
+
defaultMessage: "Please save to open the preview"
|
4160
|
+
}),
|
4161
|
+
isShown: isModified,
|
4162
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(designSystem.Box, { cursor: "not-allowed", width: "100%", children: /* @__PURE__ */ jsxRuntime.jsx(
|
4163
|
+
designSystem.Button,
|
4164
|
+
{
|
4165
|
+
variant: "tertiary",
|
4166
|
+
tag: reactRouterDom.Link,
|
4167
|
+
to: { pathname: "preview", search: qs.stringify(query, { encode: false }) },
|
4168
|
+
onClick: trackNavigation,
|
4169
|
+
width: "100%",
|
4170
|
+
disabled: isModified,
|
4171
|
+
pointerEvents: isModified ? "none" : void 0,
|
4172
|
+
tabIndex: isModified ? -1 : void 0,
|
4173
|
+
children: formatMessage({
|
4174
|
+
id: "content-manager.preview.panel.button",
|
4175
|
+
defaultMessage: "Open preview"
|
4176
|
+
})
|
4177
|
+
}
|
4178
|
+
) })
|
4093
4179
|
}
|
4094
|
-
)
|
4180
|
+
)
|
4095
4181
|
};
|
4096
4182
|
};
|
4097
|
-
const FEATURE_ID = "preview";
|
4098
4183
|
const previewAdmin = {
|
4099
4184
|
bootstrap(app) {
|
4100
|
-
if (!window.strapi.future.isEnabled(FEATURE_ID)) {
|
4101
|
-
return;
|
4102
|
-
}
|
4103
4185
|
const contentManagerPluginApis = app.getPlugin("content-manager").apis;
|
4104
4186
|
contentManagerPluginApis.addEditViewSidePanel([PreviewSidePanel]);
|
4105
4187
|
}
|
@@ -4123,7 +4205,7 @@ const index = {
|
|
4123
4205
|
app.router.addRoute({
|
4124
4206
|
path: "content-manager/*",
|
4125
4207
|
lazy: async () => {
|
4126
|
-
const { Layout } = await Promise.resolve().then(() => require("./layout-
|
4208
|
+
const { Layout } = await Promise.resolve().then(() => require("./layout-B_qdWGny.js"));
|
4127
4209
|
return {
|
4128
4210
|
Component: Layout
|
4129
4211
|
};
|
@@ -4143,7 +4225,7 @@ const index = {
|
|
4143
4225
|
async registerTrads({ locales }) {
|
4144
4226
|
const importedTrads = await Promise.all(
|
4145
4227
|
locales.map((locale) => {
|
4146
|
-
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-
|
4228
|
+
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-BK8Xyl5I.js")), "./translations/es.json": () => Promise.resolve().then(() => require("./es-9K52xZIr.js")), "./translations/eu.json": () => Promise.resolve().then(() => require("./eu-VDH-3ovk.js")), "./translations/fr.json": () => Promise.resolve().then(() => require("./fr-B2Kyv8Z9.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-7sfIbjxE.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`, 3).then(({ default: data }) => {
|
4147
4229
|
return {
|
4148
4230
|
data: prefixPluginTranslations(data, PLUGIN_ID),
|
4149
4231
|
locale
|
@@ -4203,4 +4285,4 @@ exports.useGetContentTypeConfigurationQuery = useGetContentTypeConfigurationQuer
|
|
4203
4285
|
exports.useGetInitialDataQuery = useGetInitialDataQuery;
|
4204
4286
|
exports.useGetPreviewUrlQuery = useGetPreviewUrlQuery;
|
4205
4287
|
exports.useUpdateContentTypeConfigurationMutation = useUpdateContentTypeConfigurationMutation;
|
4206
|
-
//# sourceMappingURL=index-
|
4288
|
+
//# sourceMappingURL=index-CnX_j5h-.js.map
|