@strapi/content-manager 5.4.2 → 5.5.1
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-BaJMOQyq.mjs → ComponentConfigurationPage-CzVt9QCC.mjs} +3 -3
- package/dist/_chunks/{ComponentConfigurationPage-BaJMOQyq.mjs.map → ComponentConfigurationPage-CzVt9QCC.mjs.map} +1 -1
- package/dist/_chunks/{ComponentConfigurationPage-N-CTtgQa.js → ComponentConfigurationPage-DYq8aqos.js} +4 -5
- package/dist/_chunks/{ComponentConfigurationPage-N-CTtgQa.js.map → ComponentConfigurationPage-DYq8aqos.js.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-C9IATpr0.js} +4 -5
- package/dist/_chunks/{EditConfigurationPage-BHkjAbxH.js.map → EditConfigurationPage-C9IATpr0.js.map} +1 -1
- package/dist/_chunks/{EditConfigurationPage-CKK-5LfX.mjs → EditConfigurationPage-CLDwrUv5.mjs} +3 -3
- package/dist/_chunks/{EditConfigurationPage-CKK-5LfX.mjs.map → EditConfigurationPage-CLDwrUv5.mjs.map} +1 -1
- package/dist/_chunks/{EditViewPage-QPUftxUd.js → EditViewPage-Ch-uBvbv.js} +4 -5
- package/dist/_chunks/{EditViewPage-QPUftxUd.js.map → EditViewPage-Ch-uBvbv.js.map} +1 -1
- package/dist/_chunks/{EditViewPage-B11aeMcf.mjs → EditViewPage-DtKM7Jgw.mjs} +3 -3
- package/dist/_chunks/{EditViewPage-B11aeMcf.mjs.map → EditViewPage-DtKM7Jgw.mjs.map} +1 -1
- package/dist/_chunks/{Field-DUK83cfh.js → Field-B9ADaInZ.js} +27 -47
- package/dist/_chunks/Field-B9ADaInZ.js.map +1 -0
- package/dist/_chunks/{Field-Bj_RgtGo.mjs → Field-Bn1jgMeF.mjs} +25 -44
- package/dist/_chunks/Field-Bn1jgMeF.mjs.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-BB5i9Pxl.mjs} +3 -3
- package/dist/_chunks/{Form-DLMSoXV7.mjs.map → Form-BB5i9Pxl.mjs.map} +1 -1
- package/dist/_chunks/{Form-DHmBRlHd.js → Form-C3kjKrPw.js} +5 -6
- package/dist/_chunks/{Form-DHmBRlHd.js.map → Form-C3kjKrPw.js.map} +1 -1
- package/dist/_chunks/{History-Di3zm4HT.js → History-AwrK0-SA.js} +5 -6
- package/dist/_chunks/{History-Di3zm4HT.js.map → History-AwrK0-SA.js.map} +1 -1
- package/dist/_chunks/{History-CfCSNlG9.mjs → History-Cw2Q7OQL.mjs} +4 -4
- package/dist/_chunks/{History-CfCSNlG9.mjs.map → History-Cw2Q7OQL.mjs.map} +1 -1
- package/dist/_chunks/{ListConfigurationPage-0mtv_iqk.mjs → ListConfigurationPage-B47JIu1e.mjs} +3 -3
- package/dist/_chunks/{ListConfigurationPage-0mtv_iqk.mjs.map → ListConfigurationPage-B47JIu1e.mjs.map} +1 -1
- package/dist/_chunks/{ListConfigurationPage-Cq361KIt.js → ListConfigurationPage-CNTJ0DBm.js} +4 -5
- package/dist/_chunks/{ListConfigurationPage-Cq361KIt.js.map → ListConfigurationPage-CNTJ0DBm.js.map} +1 -1
- package/dist/_chunks/{ListViewPage-DFDcG8gM.js → ListViewPage-Be_UEBar.js} +4 -5
- package/dist/_chunks/{ListViewPage-DFDcG8gM.js.map → ListViewPage-Be_UEBar.js.map} +1 -1
- package/dist/_chunks/{ListViewPage-BxLVROX8.mjs → ListViewPage-DuvjX6ra.mjs} +3 -3
- package/dist/_chunks/{ListViewPage-BxLVROX8.mjs.map → ListViewPage-DuvjX6ra.mjs.map} +1 -1
- package/dist/_chunks/{NoContentTypePage-BSyvnDZZ.js → NoContentTypePage-B1J0KUCO.js} +2 -2
- package/dist/_chunks/{NoContentTypePage-BSyvnDZZ.js.map → NoContentTypePage-B1J0KUCO.js.map} +1 -1
- package/dist/_chunks/{NoContentTypePage-BRfDd67_.mjs → NoContentTypePage-C6M-Q0Tv.mjs} +2 -2
- package/dist/_chunks/{NoContentTypePage-BRfDd67_.mjs.map → NoContentTypePage-C6M-Q0Tv.mjs.map} +1 -1
- package/dist/_chunks/{NoPermissionsPage-CV9V8KWa.mjs → NoPermissionsPage-CAi3zCAD.mjs} +2 -2
- package/dist/_chunks/{NoPermissionsPage-CV9V8KWa.mjs.map → NoPermissionsPage-CAi3zCAD.mjs.map} +1 -1
- package/dist/_chunks/{NoPermissionsPage-DyLphsn_.js → NoPermissionsPage-CN34TlEE.js} +2 -2
- package/dist/_chunks/{NoPermissionsPage-DyLphsn_.js.map → NoPermissionsPage-CN34TlEE.js.map} +1 -1
- package/dist/_chunks/{Preview-C_B1nx3g.mjs → Preview-BrBRcL10.mjs} +31 -10
- package/dist/_chunks/Preview-BrBRcL10.mjs.map +1 -0
- package/dist/_chunks/{Preview-D_3aO6Ly.js → Preview-DOqm5jcJ.js} +31 -11
- package/dist/_chunks/Preview-DOqm5jcJ.js.map +1 -0
- package/dist/_chunks/{Relations-C6pwmDXh.mjs → Relations-_K-HYOiM.mjs} +6 -8
- package/dist/_chunks/{Relations-C6pwmDXh.mjs.map → Relations-_K-HYOiM.mjs.map} +1 -1
- package/dist/_chunks/{Relations-Cne2AlrL.js → Relations-xtKZHtTN.js} +7 -10
- package/dist/_chunks/{Relations-Cne2AlrL.js.map → Relations-xtKZHtTN.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-BlX-OdHL.js} +193 -119
- package/dist/_chunks/index-BlX-OdHL.js.map +1 -0
- package/dist/_chunks/{index-BpxR3En4.mjs → index-tETMKK2G.mjs} +192 -117
- package/dist/_chunks/index-tETMKK2G.mjs.map +1 -0
- package/dist/_chunks/{layout-DhMZ_lDx.mjs → layout-BaQBaz56.mjs} +4 -4
- package/dist/_chunks/{layout-DhMZ_lDx.mjs.map → layout-BaQBaz56.mjs.map} +1 -1
- package/dist/_chunks/{layout-BEuNwv-F.js → layout-D8Sz3KxF.js} +5 -6
- package/dist/_chunks/{layout-BEuNwv-F.js.map → layout-D8Sz3KxF.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-CAbbX8Sa.js} +2 -2
- package/dist/_chunks/{relations-kLcuobLk.js.map → relations-CAbbX8Sa.js.map} +1 -1
- package/dist/_chunks/{relations-BdnxoX6f.mjs → relations-CsfmCqOU.mjs} +2 -2
- package/dist/_chunks/{relations-BdnxoX6f.mjs.map → relations-CsfmCqOU.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/server/index.js +18 -36
- package/dist/server/index.js.map +1 -1
- package/dist/server/index.mjs +17 -34
- package/dist/server/index.mjs.map +1 -1
- package/package.json +9 -10
- 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
@@ -14,13 +14,20 @@ import { stringify } from "qs";
|
|
14
14
|
import pipe from "lodash/fp/pipe";
|
15
15
|
import { intervalToDuration, isPast } from "date-fns";
|
16
16
|
import { createSlice, combineReducers } from "@reduxjs/toolkit";
|
17
|
-
const __variableDynamicImportRuntimeHelper = (glob, path) => {
|
17
|
+
const __variableDynamicImportRuntimeHelper = (glob, path, segs) => {
|
18
18
|
const v = glob[path];
|
19
19
|
if (v) {
|
20
20
|
return typeof v === "function" ? v() : Promise.resolve(v);
|
21
21
|
}
|
22
22
|
return new Promise((_, reject) => {
|
23
|
-
(typeof queueMicrotask === "function" ? queueMicrotask : setTimeout)(
|
23
|
+
(typeof queueMicrotask === "function" ? queueMicrotask : setTimeout)(
|
24
|
+
reject.bind(
|
25
|
+
null,
|
26
|
+
new Error(
|
27
|
+
"Unknown variable dynamic import: " + path + (path.split("/").length !== segs ? ". Note that variables only represent file names one level deep." : "")
|
28
|
+
)
|
29
|
+
)
|
30
|
+
);
|
24
31
|
});
|
25
32
|
};
|
26
33
|
const PLUGIN_ID = "content-manager";
|
@@ -453,8 +460,7 @@ const {
|
|
453
460
|
useUnpublishManyDocumentsMutation
|
454
461
|
} = documentApi;
|
455
462
|
const buildValidParams = (query) => {
|
456
|
-
if (!query)
|
457
|
-
return query;
|
463
|
+
if (!query) return query;
|
458
464
|
const { plugins: _, ...validQueryParams } = {
|
459
465
|
...query,
|
460
466
|
...Object.values(query?.plugins ?? {}).reduce(
|
@@ -1661,7 +1667,7 @@ const useDocumentActions = () => {
|
|
1661
1667
|
};
|
1662
1668
|
};
|
1663
1669
|
const ProtectedHistoryPage = React.lazy(
|
1664
|
-
() => import("./History-
|
1670
|
+
() => import("./History-Cw2Q7OQL.mjs").then((mod) => ({ default: mod.ProtectedHistoryPage }))
|
1665
1671
|
);
|
1666
1672
|
const routes$2 = [
|
1667
1673
|
{
|
@@ -1674,7 +1680,7 @@ const routes$2 = [
|
|
1674
1680
|
}
|
1675
1681
|
];
|
1676
1682
|
const ProtectedPreviewPage = React.lazy(
|
1677
|
-
() => import("./Preview-
|
1683
|
+
() => import("./Preview-BrBRcL10.mjs").then((mod) => ({ default: mod.ProtectedPreviewPage }))
|
1678
1684
|
);
|
1679
1685
|
const routes$1 = [
|
1680
1686
|
{
|
@@ -1687,31 +1693,31 @@ const routes$1 = [
|
|
1687
1693
|
}
|
1688
1694
|
];
|
1689
1695
|
const ProtectedEditViewPage = lazy(
|
1690
|
-
() => import("./EditViewPage-
|
1696
|
+
() => import("./EditViewPage-DtKM7Jgw.mjs").then((mod) => ({ default: mod.ProtectedEditViewPage }))
|
1691
1697
|
);
|
1692
1698
|
const ProtectedListViewPage = lazy(
|
1693
|
-
() => import("./ListViewPage-
|
1699
|
+
() => import("./ListViewPage-DuvjX6ra.mjs").then((mod) => ({ default: mod.ProtectedListViewPage }))
|
1694
1700
|
);
|
1695
1701
|
const ProtectedListConfiguration = lazy(
|
1696
|
-
() => import("./ListConfigurationPage-
|
1702
|
+
() => import("./ListConfigurationPage-B47JIu1e.mjs").then((mod) => ({
|
1697
1703
|
default: mod.ProtectedListConfiguration
|
1698
1704
|
}))
|
1699
1705
|
);
|
1700
1706
|
const ProtectedEditConfigurationPage = lazy(
|
1701
|
-
() => import("./EditConfigurationPage-
|
1707
|
+
() => import("./EditConfigurationPage-CLDwrUv5.mjs").then((mod) => ({
|
1702
1708
|
default: mod.ProtectedEditConfigurationPage
|
1703
1709
|
}))
|
1704
1710
|
);
|
1705
1711
|
const ProtectedComponentConfigurationPage = lazy(
|
1706
|
-
() => import("./ComponentConfigurationPage-
|
1712
|
+
() => import("./ComponentConfigurationPage-CzVt9QCC.mjs").then((mod) => ({
|
1707
1713
|
default: mod.ProtectedComponentConfigurationPage
|
1708
1714
|
}))
|
1709
1715
|
);
|
1710
1716
|
const NoPermissions = lazy(
|
1711
|
-
() => import("./NoPermissionsPage-
|
1717
|
+
() => import("./NoPermissionsPage-CAi3zCAD.mjs").then((mod) => ({ default: mod.NoPermissions }))
|
1712
1718
|
);
|
1713
1719
|
const NoContentType = lazy(
|
1714
|
-
() => import("./NoContentTypePage-
|
1720
|
+
() => import("./NoContentTypePage-C6M-Q0Tv.mjs").then((mod) => ({ default: mod.NoContentType }))
|
1715
1721
|
);
|
1716
1722
|
const CollectionTypePages = () => {
|
1717
1723
|
const { collectionType } = useParams();
|
@@ -2242,6 +2248,7 @@ const PublishAction$1 = ({
|
|
2242
2248
|
};
|
2243
2249
|
};
|
2244
2250
|
PublishAction$1.type = "publish";
|
2251
|
+
PublishAction$1.position = "panel";
|
2245
2252
|
const UpdateAction = ({
|
2246
2253
|
activeTab,
|
2247
2254
|
documentId,
|
@@ -2264,6 +2271,117 @@ const UpdateAction = ({
|
|
2264
2271
|
const validate = useForm("UpdateAction", (state) => state.validate);
|
2265
2272
|
const setErrors = useForm("UpdateAction", (state) => state.setErrors);
|
2266
2273
|
const resetForm = useForm("PublishAction", ({ resetForm: resetForm2 }) => resetForm2);
|
2274
|
+
const handleUpdate = React.useCallback(async () => {
|
2275
|
+
setSubmitting(true);
|
2276
|
+
try {
|
2277
|
+
if (!modified) {
|
2278
|
+
return;
|
2279
|
+
}
|
2280
|
+
const { errors } = await validate(true, {
|
2281
|
+
status: "draft"
|
2282
|
+
});
|
2283
|
+
if (errors) {
|
2284
|
+
toggleNotification({
|
2285
|
+
type: "danger",
|
2286
|
+
message: formatMessage({
|
2287
|
+
id: "content-manager.validation.error",
|
2288
|
+
defaultMessage: "There are validation errors in your document. Please fix them before saving."
|
2289
|
+
})
|
2290
|
+
});
|
2291
|
+
return;
|
2292
|
+
}
|
2293
|
+
if (isCloning) {
|
2294
|
+
const res = await clone(
|
2295
|
+
{
|
2296
|
+
model,
|
2297
|
+
documentId: cloneMatch.params.origin,
|
2298
|
+
params
|
2299
|
+
},
|
2300
|
+
transformData(document)
|
2301
|
+
);
|
2302
|
+
if ("data" in res) {
|
2303
|
+
navigate(
|
2304
|
+
{
|
2305
|
+
pathname: `../${res.data.documentId}`,
|
2306
|
+
search: rawQuery
|
2307
|
+
},
|
2308
|
+
{ relative: "path" }
|
2309
|
+
);
|
2310
|
+
} else if ("error" in res && isBaseQueryError(res.error) && res.error.name === "ValidationError") {
|
2311
|
+
setErrors(formatValidationErrors(res.error));
|
2312
|
+
}
|
2313
|
+
} else if (documentId || collectionType === SINGLE_TYPES) {
|
2314
|
+
const res = await update(
|
2315
|
+
{
|
2316
|
+
collectionType,
|
2317
|
+
model,
|
2318
|
+
documentId,
|
2319
|
+
params
|
2320
|
+
},
|
2321
|
+
transformData(document)
|
2322
|
+
);
|
2323
|
+
if ("error" in res && isBaseQueryError(res.error) && res.error.name === "ValidationError") {
|
2324
|
+
setErrors(formatValidationErrors(res.error));
|
2325
|
+
} else {
|
2326
|
+
resetForm();
|
2327
|
+
}
|
2328
|
+
} else {
|
2329
|
+
const res = await create(
|
2330
|
+
{
|
2331
|
+
model,
|
2332
|
+
params
|
2333
|
+
},
|
2334
|
+
transformData(document)
|
2335
|
+
);
|
2336
|
+
if ("data" in res && collectionType !== SINGLE_TYPES) {
|
2337
|
+
navigate(
|
2338
|
+
{
|
2339
|
+
pathname: `../${res.data.documentId}`,
|
2340
|
+
search: rawQuery
|
2341
|
+
},
|
2342
|
+
{ replace: true, relative: "path" }
|
2343
|
+
);
|
2344
|
+
} else if ("error" in res && isBaseQueryError(res.error) && res.error.name === "ValidationError") {
|
2345
|
+
setErrors(formatValidationErrors(res.error));
|
2346
|
+
}
|
2347
|
+
}
|
2348
|
+
} finally {
|
2349
|
+
setSubmitting(false);
|
2350
|
+
}
|
2351
|
+
}, [
|
2352
|
+
clone,
|
2353
|
+
cloneMatch?.params.origin,
|
2354
|
+
collectionType,
|
2355
|
+
create,
|
2356
|
+
document,
|
2357
|
+
documentId,
|
2358
|
+
formatMessage,
|
2359
|
+
formatValidationErrors,
|
2360
|
+
isCloning,
|
2361
|
+
model,
|
2362
|
+
modified,
|
2363
|
+
navigate,
|
2364
|
+
params,
|
2365
|
+
rawQuery,
|
2366
|
+
resetForm,
|
2367
|
+
setErrors,
|
2368
|
+
setSubmitting,
|
2369
|
+
toggleNotification,
|
2370
|
+
update,
|
2371
|
+
validate
|
2372
|
+
]);
|
2373
|
+
React.useEffect(() => {
|
2374
|
+
const handleKeyDown = (e) => {
|
2375
|
+
if (e.key === "Enter" && (e.metaKey || e.ctrlKey)) {
|
2376
|
+
e.preventDefault();
|
2377
|
+
handleUpdate();
|
2378
|
+
}
|
2379
|
+
};
|
2380
|
+
window.addEventListener("keydown", handleKeyDown);
|
2381
|
+
return () => {
|
2382
|
+
window.removeEventListener("keydown", handleKeyDown);
|
2383
|
+
};
|
2384
|
+
}, [handleUpdate]);
|
2267
2385
|
return {
|
2268
2386
|
/**
|
2269
2387
|
* Disabled when:
|
@@ -2276,84 +2394,11 @@ const UpdateAction = ({
|
|
2276
2394
|
id: "global.save",
|
2277
2395
|
defaultMessage: "Save"
|
2278
2396
|
}),
|
2279
|
-
onClick:
|
2280
|
-
setSubmitting(true);
|
2281
|
-
try {
|
2282
|
-
const { errors } = await validate(true, {
|
2283
|
-
status: "draft"
|
2284
|
-
});
|
2285
|
-
if (errors) {
|
2286
|
-
toggleNotification({
|
2287
|
-
type: "danger",
|
2288
|
-
message: formatMessage({
|
2289
|
-
id: "content-manager.validation.error",
|
2290
|
-
defaultMessage: "There are validation errors in your document. Please fix them before saving."
|
2291
|
-
})
|
2292
|
-
});
|
2293
|
-
return;
|
2294
|
-
}
|
2295
|
-
if (isCloning) {
|
2296
|
-
const res = await clone(
|
2297
|
-
{
|
2298
|
-
model,
|
2299
|
-
documentId: cloneMatch.params.origin,
|
2300
|
-
params
|
2301
|
-
},
|
2302
|
-
transformData(document)
|
2303
|
-
);
|
2304
|
-
if ("data" in res) {
|
2305
|
-
navigate(
|
2306
|
-
{
|
2307
|
-
pathname: `../${res.data.documentId}`,
|
2308
|
-
search: rawQuery
|
2309
|
-
},
|
2310
|
-
{ relative: "path" }
|
2311
|
-
);
|
2312
|
-
} else if ("error" in res && isBaseQueryError(res.error) && res.error.name === "ValidationError") {
|
2313
|
-
setErrors(formatValidationErrors(res.error));
|
2314
|
-
}
|
2315
|
-
} else if (documentId || collectionType === SINGLE_TYPES) {
|
2316
|
-
const res = await update(
|
2317
|
-
{
|
2318
|
-
collectionType,
|
2319
|
-
model,
|
2320
|
-
documentId,
|
2321
|
-
params
|
2322
|
-
},
|
2323
|
-
transformData(document)
|
2324
|
-
);
|
2325
|
-
if ("error" in res && isBaseQueryError(res.error) && res.error.name === "ValidationError") {
|
2326
|
-
setErrors(formatValidationErrors(res.error));
|
2327
|
-
} else {
|
2328
|
-
resetForm();
|
2329
|
-
}
|
2330
|
-
} else {
|
2331
|
-
const res = await create(
|
2332
|
-
{
|
2333
|
-
model,
|
2334
|
-
params
|
2335
|
-
},
|
2336
|
-
transformData(document)
|
2337
|
-
);
|
2338
|
-
if ("data" in res && collectionType !== SINGLE_TYPES) {
|
2339
|
-
navigate(
|
2340
|
-
{
|
2341
|
-
pathname: `../${res.data.documentId}`,
|
2342
|
-
search: rawQuery
|
2343
|
-
},
|
2344
|
-
{ replace: true, relative: "path" }
|
2345
|
-
);
|
2346
|
-
} else if ("error" in res && isBaseQueryError(res.error) && res.error.name === "ValidationError") {
|
2347
|
-
setErrors(formatValidationErrors(res.error));
|
2348
|
-
}
|
2349
|
-
}
|
2350
|
-
} finally {
|
2351
|
-
setSubmitting(false);
|
2352
|
-
}
|
2353
|
-
}
|
2397
|
+
onClick: handleUpdate
|
2354
2398
|
};
|
2355
2399
|
};
|
2356
2400
|
UpdateAction.type = "update";
|
2401
|
+
UpdateAction.position = "panel";
|
2357
2402
|
const UNPUBLISH_DRAFT_OPTIONS = {
|
2358
2403
|
KEEP: "keep",
|
2359
2404
|
DISCARD: "discard"
|
@@ -2476,6 +2521,7 @@ const UnpublishAction$1 = ({
|
|
2476
2521
|
};
|
2477
2522
|
};
|
2478
2523
|
UnpublishAction$1.type = "unpublish";
|
2524
|
+
UnpublishAction$1.position = "panel";
|
2479
2525
|
const DiscardAction = ({
|
2480
2526
|
activeTab,
|
2481
2527
|
documentId,
|
@@ -2526,6 +2572,7 @@ const DiscardAction = ({
|
|
2526
2572
|
};
|
2527
2573
|
};
|
2528
2574
|
DiscardAction.type = "discard";
|
2575
|
+
DiscardAction.position = "panel";
|
2529
2576
|
const DEFAULT_ACTIONS = [PublishAction$1, UpdateAction, UnpublishAction$1, DiscardAction];
|
2530
2577
|
const intervals = ["years", "months", "days", "hours", "minutes", "seconds"];
|
2531
2578
|
const RelativeTime = React.forwardRef(
|
@@ -2645,7 +2692,7 @@ const HeaderToolbar = () => {
|
|
2645
2692
|
meta: isCloning ? void 0 : meta,
|
2646
2693
|
collectionType
|
2647
2694
|
},
|
2648
|
-
descriptions: plugins["content-manager"].apis.getDocumentActions(),
|
2695
|
+
descriptions: plugins["content-manager"].apis.getDocumentActions("header"),
|
2649
2696
|
children: (actions2) => {
|
2650
2697
|
const headerActions = actions2.filter((action) => {
|
2651
2698
|
const positions = Array.isArray(action.position) ? action.position : [action.position];
|
@@ -2853,6 +2900,7 @@ const ConfigureTheViewAction = ({ collectionType, model }) => {
|
|
2853
2900
|
};
|
2854
2901
|
};
|
2855
2902
|
ConfigureTheViewAction.type = "configure-the-view";
|
2903
|
+
ConfigureTheViewAction.position = "header";
|
2856
2904
|
const EditTheModelAction = ({ model }) => {
|
2857
2905
|
const navigate = useNavigate();
|
2858
2906
|
const { formatMessage } = useIntl();
|
@@ -2869,6 +2917,7 @@ const EditTheModelAction = ({ model }) => {
|
|
2869
2917
|
};
|
2870
2918
|
};
|
2871
2919
|
EditTheModelAction.type = "edit-the-model";
|
2920
|
+
EditTheModelAction.position = "header";
|
2872
2921
|
const DeleteAction$1 = ({ documentId, model, collectionType, document }) => {
|
2873
2922
|
const navigate = useNavigate();
|
2874
2923
|
const { formatMessage } = useIntl();
|
@@ -2942,6 +2991,7 @@ const DeleteAction$1 = ({ documentId, model, collectionType, document }) => {
|
|
2942
2991
|
};
|
2943
2992
|
};
|
2944
2993
|
DeleteAction$1.type = "delete";
|
2994
|
+
DeleteAction$1.position = ["header", "table-row"];
|
2945
2995
|
const DEFAULT_HEADER_ACTIONS = [EditTheModelAction, ConfigureTheViewAction, DeleteAction$1];
|
2946
2996
|
const Panels = () => {
|
2947
2997
|
const isCloning = useMatch(CLONE_PATH) !== null;
|
@@ -3004,7 +3054,7 @@ const ActionsPanelContent = () => {
|
|
3004
3054
|
DescriptionComponentRenderer,
|
3005
3055
|
{
|
3006
3056
|
props,
|
3007
|
-
descriptions: plugins["content-manager"].apis.getDocumentActions(),
|
3057
|
+
descriptions: plugins["content-manager"].apis.getDocumentActions("panel"),
|
3008
3058
|
children: (actions2) => /* @__PURE__ */ jsx(DocumentActions, { actions: actions2 })
|
3009
3059
|
}
|
3010
3060
|
),
|
@@ -3458,8 +3508,7 @@ const PublishAction = ({ documents, model }) => {
|
|
3458
3508
|
const refetchList = () => {
|
3459
3509
|
contentManagerApi.util.invalidateTags([{ type: "Document", id: `${model}_LIST` }]);
|
3460
3510
|
};
|
3461
|
-
if (!showPublishButton)
|
3462
|
-
return null;
|
3511
|
+
if (!showPublishButton) return null;
|
3463
3512
|
return {
|
3464
3513
|
actionType: "publish",
|
3465
3514
|
variant: "tertiary",
|
@@ -3527,8 +3576,7 @@ const DeleteAction = ({ documents, model }) => {
|
|
3527
3576
|
selectRow([]);
|
3528
3577
|
}
|
3529
3578
|
};
|
3530
|
-
if (!hasDeletePermission)
|
3531
|
-
return null;
|
3579
|
+
if (!hasDeletePermission) return null;
|
3532
3580
|
return {
|
3533
3581
|
variant: "danger-light",
|
3534
3582
|
label: formatMessage({ id: "global.delete", defaultMessage: "Delete" }),
|
@@ -3577,8 +3625,7 @@ const UnpublishAction = ({ documents, model }) => {
|
|
3577
3625
|
}
|
3578
3626
|
};
|
3579
3627
|
const showUnpublishButton = hasDraftAndPublishEnabled && hasPublishPermission && documents.some((entry) => entry.status === "published" || entry.status === "modified");
|
3580
|
-
if (!showUnpublishButton)
|
3581
|
-
return null;
|
3628
|
+
if (!showUnpublishButton) return null;
|
3582
3629
|
return {
|
3583
3630
|
variant: "tertiary",
|
3584
3631
|
label: formatMessage({ id: "app.utils.unpublish", defaultMessage: "Unpublish" }),
|
@@ -3683,7 +3730,7 @@ const TableActions = ({ document }) => {
|
|
3683
3730
|
DescriptionComponentRenderer,
|
3684
3731
|
{
|
3685
3732
|
props,
|
3686
|
-
descriptions: plugins["content-manager"].apis.getDocumentActions().filter((action) => action.name !== "PublishAction"),
|
3733
|
+
descriptions: plugins["content-manager"].apis.getDocumentActions("table-row").filter((action) => action.name !== "PublishAction"),
|
3687
3734
|
children: (actions2) => {
|
3688
3735
|
const tableRowActions = actions2.filter((action) => {
|
3689
3736
|
const positions = Array.isArray(action.position) ? action.position : [action.position];
|
@@ -3742,6 +3789,7 @@ const EditAction = ({ documentId }) => {
|
|
3742
3789
|
};
|
3743
3790
|
};
|
3744
3791
|
EditAction.type = "edit";
|
3792
|
+
EditAction.position = "table-row";
|
3745
3793
|
const StyledPencil = styled(Pencil)`
|
3746
3794
|
path {
|
3747
3795
|
fill: currentColor;
|
@@ -3818,6 +3866,7 @@ const CloneAction = ({ model, documentId }) => {
|
|
3818
3866
|
};
|
3819
3867
|
};
|
3820
3868
|
CloneAction.type = "clone";
|
3869
|
+
CloneAction.position = "table-row";
|
3821
3870
|
const StyledDuplicate = styled(Duplicate)`
|
3822
3871
|
path {
|
3823
3872
|
fill: currentColor;
|
@@ -3904,7 +3953,14 @@ class ContentManagerPlugin {
|
|
3904
3953
|
addDocumentHeaderAction: this.addDocumentHeaderAction.bind(this),
|
3905
3954
|
addEditViewSidePanel: this.addEditViewSidePanel.bind(this),
|
3906
3955
|
getBulkActions: () => this.bulkActions,
|
3907
|
-
getDocumentActions: () =>
|
3956
|
+
getDocumentActions: (position) => {
|
3957
|
+
if (position) {
|
3958
|
+
return this.documentActions.filter(
|
3959
|
+
(action) => action.position == void 0 || [action.position].flat().includes(position)
|
3960
|
+
);
|
3961
|
+
}
|
3962
|
+
return this.documentActions;
|
3963
|
+
},
|
3908
3964
|
getEditViewSidePanels: () => this.editViewSidePanels,
|
3909
3965
|
getHeaderActions: () => this.headerActions
|
3910
3966
|
}
|
@@ -3914,10 +3970,8 @@ class ContentManagerPlugin {
|
|
3914
3970
|
const getPrintableType = (value) => {
|
3915
3971
|
const nativeType = typeof value;
|
3916
3972
|
if (nativeType === "object") {
|
3917
|
-
if (value === null)
|
3918
|
-
|
3919
|
-
if (Array.isArray(value))
|
3920
|
-
return "array";
|
3973
|
+
if (value === null) return "null";
|
3974
|
+
if (Array.isArray(value)) return "array";
|
3921
3975
|
if (value instanceof Object && value.constructor.name !== "Object") {
|
3922
3976
|
return value.constructor.name;
|
3923
3977
|
}
|
@@ -3970,6 +4024,7 @@ const HistoryAction = ({ model, document }) => {
|
|
3970
4024
|
};
|
3971
4025
|
};
|
3972
4026
|
HistoryAction.type = "history";
|
4027
|
+
HistoryAction.position = "header";
|
3973
4028
|
const historyAdmin = {
|
3974
4029
|
bootstrap(app) {
|
3975
4030
|
const { addDocumentAction } = app.getPlugin("content-manager").apis;
|
@@ -4032,11 +4087,18 @@ const previewApi = contentManagerApi.injectEndpoints({
|
|
4032
4087
|
})
|
4033
4088
|
});
|
4034
4089
|
const { useGetPreviewUrlQuery } = previewApi;
|
4090
|
+
const ConditionalTooltip = ({ isShown, label, children }) => {
|
4091
|
+
if (isShown) {
|
4092
|
+
return /* @__PURE__ */ jsx(Tooltip, { label, children });
|
4093
|
+
}
|
4094
|
+
return children;
|
4095
|
+
};
|
4035
4096
|
const PreviewSidePanel = ({ model, documentId, document }) => {
|
4036
4097
|
const { formatMessage } = useIntl();
|
4037
4098
|
const { trackUsage } = useTracking();
|
4038
4099
|
const { pathname } = useLocation();
|
4039
4100
|
const [{ query }] = useQueryParams();
|
4101
|
+
const isModified = useForm("PreviewSidePanel", (state) => state.modified);
|
4040
4102
|
const { data, error } = useGetPreviewUrlQuery({
|
4041
4103
|
params: {
|
4042
4104
|
contentType: model
|
@@ -4056,20 +4118,33 @@ const PreviewSidePanel = ({ model, documentId, document }) => {
|
|
4056
4118
|
};
|
4057
4119
|
return {
|
4058
4120
|
title: formatMessage({ id: "content-manager.preview.panel.title", defaultMessage: "Preview" }),
|
4059
|
-
content: /* @__PURE__ */ jsx(
|
4060
|
-
|
4121
|
+
content: /* @__PURE__ */ jsx(
|
4122
|
+
ConditionalTooltip,
|
4061
4123
|
{
|
4062
|
-
|
4063
|
-
|
4064
|
-
|
4065
|
-
|
4066
|
-
|
4067
|
-
children:
|
4068
|
-
|
4069
|
-
|
4070
|
-
|
4124
|
+
label: formatMessage({
|
4125
|
+
id: "content-manager.preview.panel.button-disabled-tooltip",
|
4126
|
+
defaultMessage: "Please save to open the preview"
|
4127
|
+
}),
|
4128
|
+
isShown: isModified,
|
4129
|
+
children: /* @__PURE__ */ jsx(Box, { cursor: "not-allowed", width: "100%", children: /* @__PURE__ */ jsx(
|
4130
|
+
Button,
|
4131
|
+
{
|
4132
|
+
variant: "tertiary",
|
4133
|
+
tag: Link,
|
4134
|
+
to: { pathname: "preview", search: stringify(query, { encode: false }) },
|
4135
|
+
onClick: trackNavigation,
|
4136
|
+
width: "100%",
|
4137
|
+
disabled: isModified,
|
4138
|
+
pointerEvents: isModified ? "none" : void 0,
|
4139
|
+
tabIndex: isModified ? -1 : void 0,
|
4140
|
+
children: formatMessage({
|
4141
|
+
id: "content-manager.preview.panel.button",
|
4142
|
+
defaultMessage: "Open preview"
|
4143
|
+
})
|
4144
|
+
}
|
4145
|
+
) })
|
4071
4146
|
}
|
4072
|
-
)
|
4147
|
+
)
|
4073
4148
|
};
|
4074
4149
|
};
|
4075
4150
|
const FEATURE_ID = "preview";
|
@@ -4101,7 +4176,7 @@ const index = {
|
|
4101
4176
|
app.router.addRoute({
|
4102
4177
|
path: "content-manager/*",
|
4103
4178
|
lazy: async () => {
|
4104
|
-
const { Layout } = await import("./layout-
|
4179
|
+
const { Layout } = await import("./layout-BaQBaz56.mjs");
|
4105
4180
|
return {
|
4106
4181
|
Component: Layout
|
4107
4182
|
};
|
@@ -4121,7 +4196,7 @@ const index = {
|
|
4121
4196
|
async registerTrads({ locales }) {
|
4122
4197
|
const importedTrads = await Promise.all(
|
4123
4198
|
locales.map((locale) => {
|
4124
|
-
return __variableDynamicImportRuntimeHelper(/* @__PURE__ */ Object.assign({ "./translations/ar.json": () => import("./ar-CCEVvqGG.mjs"), "./translations/ca.json": () => import("./ca-5U32ON2v.mjs"), "./translations/cs.json": () => import("./cs-CM2aBUar.mjs"), "./translations/de.json": () => import("./de-C72KDNOl.mjs"), "./translations/en.json": () => import("./en-
|
4199
|
+
return __variableDynamicImportRuntimeHelper(/* @__PURE__ */ Object.assign({ "./translations/ar.json": () => import("./ar-CCEVvqGG.mjs"), "./translations/ca.json": () => import("./ca-5U32ON2v.mjs"), "./translations/cs.json": () => import("./cs-CM2aBUar.mjs"), "./translations/de.json": () => import("./de-C72KDNOl.mjs"), "./translations/en.json": () => import("./en-Dtk_ot79.mjs"), "./translations/es.json": () => import("./es-D34tqjMw.mjs"), "./translations/eu.json": () => import("./eu-CdALomew.mjs"), "./translations/fr.json": () => import("./fr--pg5jUbt.mjs"), "./translations/gu.json": () => import("./gu-CNpaMDpH.mjs"), "./translations/hi.json": () => import("./hi-Dwvd04m3.mjs"), "./translations/hu.json": () => import("./hu-CeYvaaO0.mjs"), "./translations/id.json": () => import("./id-BtwA9WJT.mjs"), "./translations/it.json": () => import("./it-BrVPqaf1.mjs"), "./translations/ja.json": () => import("./ja-BHqhDq4V.mjs"), "./translations/ko.json": () => import("./ko-HVQRlfUI.mjs"), "./translations/ml.json": () => import("./ml-BihZwQit.mjs"), "./translations/ms.json": () => import("./ms-m_WjyWx7.mjs"), "./translations/nl.json": () => import("./nl-D4R9gHx5.mjs"), "./translations/pl.json": () => import("./pl-sbx9mSt_.mjs"), "./translations/pt-BR.json": () => import("./pt-BR-C71iDxnh.mjs"), "./translations/pt.json": () => import("./pt-BsaFvS8-.mjs"), "./translations/ru.json": () => import("./ru-BE6A4Exp.mjs"), "./translations/sa.json": () => import("./sa-Dag0k-Z8.mjs"), "./translations/sk.json": () => import("./sk-BFg-R8qJ.mjs"), "./translations/sv.json": () => import("./sv-CUnfWGsh.mjs"), "./translations/th.json": () => import("./th-BqbI8lIT.mjs"), "./translations/tr.json": () => import("./tr-CgeK3wJM.mjs"), "./translations/uk.json": () => import("./uk-CR-zDhAY.mjs"), "./translations/vi.json": () => import("./vi-DUXIk_fw.mjs"), "./translations/zh-Hans.json": () => import("./zh-Hans-BPQcRIyH.mjs"), "./translations/zh.json": () => import("./zh-BWZspA60.mjs") }), `./translations/${locale}.json`, 3).then(({ default: data }) => {
|
4125
4200
|
return {
|
4126
4201
|
data: prefixPluginTranslations(data, PLUGIN_ID),
|
4127
4202
|
locale
|
@@ -4183,4 +4258,4 @@ export {
|
|
4183
4258
|
capitalise as y,
|
4184
4259
|
useUpdateContentTypeConfigurationMutation as z
|
4185
4260
|
};
|
4186
|
-
//# sourceMappingURL=index-
|
4261
|
+
//# sourceMappingURL=index-tETMKK2G.mjs.map
|