@strapi/content-manager 0.0.0-experimental.65b9961ce81496e349024ceb95be1d5946f2c429 → 0.0.0-experimental.691d2b5196cc7faea5a7c4d25476984d37d7c3a4
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-CO977CPh.js → ComponentConfigurationPage-2VkuOOYr.js} +4 -5
- package/dist/_chunks/{ComponentConfigurationPage-CO977CPh.js.map → ComponentConfigurationPage-2VkuOOYr.js.map} +1 -1
- package/dist/_chunks/{ComponentConfigurationPage-CQroR9Qk.mjs → ComponentConfigurationPage-SrapFfwJ.mjs} +3 -3
- package/dist/_chunks/{ComponentConfigurationPage-CQroR9Qk.mjs.map → ComponentConfigurationPage-SrapFfwJ.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-tVCJ5vWC.mjs → EditConfigurationPage-BaXHpoyN.mjs} +3 -3
- package/dist/_chunks/{EditConfigurationPage-tVCJ5vWC.mjs.map → EditConfigurationPage-BaXHpoyN.mjs.map} +1 -1
- package/dist/_chunks/{EditConfigurationPage-BPgoE-kf.js → EditConfigurationPage-Djm8wb1Y.js} +4 -5
- package/dist/_chunks/{EditConfigurationPage-BPgoE-kf.js.map → EditConfigurationPage-Djm8wb1Y.js.map} +1 -1
- package/dist/_chunks/{EditViewPage-BMVgUNOX.js → EditViewPage-CZ4LrV-l.js} +38 -9
- package/dist/_chunks/EditViewPage-CZ4LrV-l.js.map +1 -0
- package/dist/_chunks/{EditViewPage-8mOu02ji.mjs → EditViewPage-Wiz1gQp3.mjs} +38 -8
- package/dist/_chunks/EditViewPage-Wiz1gQp3.mjs.map +1 -0
- package/dist/_chunks/{Field-CdSLKFQk.js → Field-DJoWPKVJ.js} +151 -72
- package/dist/_chunks/Field-DJoWPKVJ.js.map +1 -0
- package/dist/_chunks/{Field-CJPYzwD7.mjs → Field-OWmo5QQW.mjs} +149 -70
- package/dist/_chunks/Field-OWmo5QQW.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-DJOJ-GF1.mjs → Form-BhecEYBS.mjs} +3 -3
- package/dist/_chunks/{Form-DJOJ-GF1.mjs.map → Form-BhecEYBS.mjs.map} +1 -1
- package/dist/_chunks/{Form-eP5bZwap.js → Form-XGWM-zvH.js} +5 -6
- package/dist/_chunks/{Form-eP5bZwap.js.map → Form-XGWM-zvH.js.map} +1 -1
- package/dist/_chunks/{History-MnQLtk1g.mjs → History-B1s27OP8.mjs} +23 -93
- package/dist/_chunks/History-B1s27OP8.mjs.map +1 -0
- package/dist/_chunks/{History-B-Mrquzu.js → History-BRlM_ftM.js} +23 -94
- package/dist/_chunks/History-BRlM_ftM.js.map +1 -0
- package/dist/_chunks/{ListConfigurationPage-C0n4rUzH.js → ListConfigurationPage-B4AZXRwe.js} +6 -6
- package/dist/_chunks/ListConfigurationPage-B4AZXRwe.js.map +1 -0
- package/dist/_chunks/{ListConfigurationPage-BcycI8Lw.mjs → ListConfigurationPage-QfLx0B1W.mjs} +6 -5
- package/dist/_chunks/ListConfigurationPage-QfLx0B1W.mjs.map +1 -0
- package/dist/_chunks/{ListViewPage-q0SHVPUS.js → ListViewPage-CVP6oaIp.js} +63 -41
- package/dist/_chunks/ListViewPage-CVP6oaIp.js.map +1 -0
- package/dist/_chunks/{ListViewPage-CRXONXwZ.mjs → ListViewPage-cKB332iw.mjs} +62 -39
- package/dist/_chunks/ListViewPage-cKB332iw.mjs.map +1 -0
- package/dist/_chunks/{NoContentTypePage-ukzFRF3z.mjs → NoContentTypePage-CbB86Gae.mjs} +2 -2
- package/dist/_chunks/{NoContentTypePage-ukzFRF3z.mjs.map → NoContentTypePage-CbB86Gae.mjs.map} +1 -1
- package/dist/_chunks/{NoContentTypePage-Bh3komDV.js → NoContentTypePage-g1Ehw2a0.js} +2 -2
- package/dist/_chunks/{NoContentTypePage-Bh3komDV.js.map → NoContentTypePage-g1Ehw2a0.js.map} +1 -1
- package/dist/_chunks/{NoPermissionsPage-B4sD7Ble.mjs → NoPermissionsPage-BqlR5MlW.mjs} +2 -2
- package/dist/_chunks/{NoPermissionsPage-B4sD7Ble.mjs.map → NoPermissionsPage-BqlR5MlW.mjs.map} +1 -1
- package/dist/_chunks/{NoPermissionsPage-BGBpj_Y1.js → NoPermissionsPage-ftLrJ4GX.js} +2 -2
- package/dist/_chunks/{NoPermissionsPage-BGBpj_Y1.js.map → NoPermissionsPage-ftLrJ4GX.js.map} +1 -1
- package/dist/_chunks/Preview-Bs0qQJIk.mjs +294 -0
- package/dist/_chunks/Preview-Bs0qQJIk.mjs.map +1 -0
- package/dist/_chunks/Preview-DgfJYT-q.js +312 -0
- package/dist/_chunks/Preview-DgfJYT-q.js.map +1 -0
- package/dist/_chunks/{Relations-CIexb8gr.mjs → Relations-7-hdL6ij.mjs} +47 -22
- package/dist/_chunks/Relations-7-hdL6ij.mjs.map +1 -0
- package/dist/_chunks/{Relations-B53wYe8g.js → Relations-CdzluOWH.js} +47 -23
- package/dist/_chunks/Relations-CdzluOWH.js.map +1 -0
- package/dist/_chunks/{en-Bm0D0IWz.js → en-BK8Xyl5I.js} +16 -4
- package/dist/_chunks/{en-Bm0D0IWz.js.map → en-BK8Xyl5I.js.map} +1 -1
- package/dist/_chunks/{en-DKV44jRb.mjs → en-Dtk_ot79.mjs} +16 -4
- package/dist/_chunks/{en-DKV44jRb.mjs.map → en-Dtk_ot79.mjs.map} +1 -1
- package/dist/_chunks/{es-EUonQTon.js → es-9K52xZIr.js} +2 -2
- package/dist/_chunks/{ja-CcFe8diO.js.map → es-9K52xZIr.js.map} +1 -1
- package/dist/_chunks/{es-CeXiYflN.mjs → es-D34tqjMw.mjs} +2 -2
- package/dist/_chunks/{es-CeXiYflN.mjs.map → es-D34tqjMw.mjs.map} +1 -1
- package/dist/_chunks/{fr-CD9VFbPM.mjs → fr--pg5jUbt.mjs} +13 -3
- package/dist/_chunks/{fr-CD9VFbPM.mjs.map → fr--pg5jUbt.mjs.map} +1 -1
- package/dist/_chunks/{fr-B7kGGg3E.js → fr-B2Kyv8Z9.js} +13 -3
- package/dist/_chunks/{fr-B7kGGg3E.js.map → fr-B2Kyv8Z9.js.map} +1 -1
- package/dist/_chunks/hooks-BAaaKPS_.js.map +1 -1
- package/dist/_chunks/{index-DbT2sx-Q.js → index-092_Fn90.js} +349 -179
- package/dist/_chunks/index-092_Fn90.js.map +1 -0
- package/dist/_chunks/{index-CJ2vYwuT.mjs → index-ChZpuvhX.mjs} +351 -181
- package/dist/_chunks/index-ChZpuvhX.mjs.map +1 -0
- package/dist/_chunks/{ja-CcFe8diO.js → ja-7sfIbjxE.js} +2 -2
- package/dist/_chunks/{es-EUonQTon.js.map → ja-7sfIbjxE.js.map} +1 -1
- package/dist/_chunks/{ja-CtsUxOvk.mjs → ja-BHqhDq4V.mjs} +2 -2
- package/dist/_chunks/{ja-CtsUxOvk.mjs.map → ja-BHqhDq4V.mjs.map} +1 -1
- package/dist/_chunks/{layout-vzKSrr7p.mjs → layout-BH5DUsgt.mjs} +4 -4
- package/dist/_chunks/{layout-vzKSrr7p.mjs.map → layout-BH5DUsgt.mjs.map} +1 -1
- package/dist/_chunks/{layout-CeBSIkmP.js → layout-Ur1fMqO3.js} +5 -6
- package/dist/_chunks/{layout-CeBSIkmP.js.map → layout-Ur1fMqO3.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-Cl-6t9iz.js → relations-BacnkRuU.js} +6 -7
- package/dist/_chunks/relations-BacnkRuU.js.map +1 -0
- package/dist/_chunks/{relations-DI0lguF0.mjs → relations-D6hi0DM0.mjs} +6 -7
- package/dist/_chunks/relations-D6hi0DM0.mjs.map +1 -0
- 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 +4 -4
- package/dist/admin/src/content-manager.d.ts +3 -2
- package/dist/admin/src/pages/EditView/EditViewPage.d.ts +9 -1
- package/dist/admin/src/pages/EditView/components/DocumentActions.d.ts +1 -1
- package/dist/admin/src/pages/EditView/components/DocumentStatus.d.ts +2 -2
- 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/admin/src/preview/components/PreviewContent.d.ts +2 -0
- package/dist/admin/src/preview/components/PreviewHeader.d.ts +2 -0
- package/dist/admin/src/preview/components/PreviewSidePanel.d.ts +3 -0
- package/dist/admin/src/preview/index.d.ts +4 -0
- package/dist/admin/src/preview/pages/Preview.d.ts +11 -0
- package/dist/admin/src/preview/routes.d.ts +3 -0
- package/dist/admin/src/preview/services/preview.d.ts +3 -0
- package/dist/admin/src/router.d.ts +1 -1
- package/dist/admin/src/services/documents.d.ts +0 -3
- package/dist/server/index.js +405 -180
- package/dist/server/index.js.map +1 -1
- package/dist/server/index.mjs +405 -179
- package/dist/server/index.mjs.map +1 -1
- package/dist/server/src/bootstrap.d.ts.map +1 -1
- package/dist/server/src/controllers/index.d.ts.map +1 -1
- package/dist/server/src/controllers/relations.d.ts.map +1 -1
- package/dist/server/src/controllers/utils/metadata.d.ts +15 -1
- package/dist/server/src/controllers/utils/metadata.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 +2 -3
- package/dist/server/src/history/services/utils.d.ts.map +1 -1
- package/dist/server/src/index.d.ts +4 -4
- package/dist/server/src/preview/controllers/index.d.ts +2 -0
- package/dist/server/src/preview/controllers/index.d.ts.map +1 -0
- package/dist/server/src/preview/controllers/preview.d.ts +13 -0
- package/dist/server/src/preview/controllers/preview.d.ts.map +1 -0
- package/dist/server/src/preview/controllers/validation/preview.d.ts +6 -0
- package/dist/server/src/preview/controllers/validation/preview.d.ts.map +1 -0
- package/dist/server/src/preview/index.d.ts +4 -0
- package/dist/server/src/preview/index.d.ts.map +1 -0
- package/dist/server/src/preview/routes/index.d.ts +8 -0
- package/dist/server/src/preview/routes/index.d.ts.map +1 -0
- package/dist/server/src/preview/routes/preview.d.ts +4 -0
- package/dist/server/src/preview/routes/preview.d.ts.map +1 -0
- package/dist/server/src/preview/services/index.d.ts +16 -0
- package/dist/server/src/preview/services/index.d.ts.map +1 -0
- package/dist/server/src/preview/services/preview-config.d.ts +32 -0
- package/dist/server/src/preview/services/preview-config.d.ts.map +1 -0
- package/dist/server/src/preview/services/preview.d.ts +12 -0
- package/dist/server/src/preview/services/preview.d.ts.map +1 -0
- package/dist/server/src/preview/utils.d.ts +19 -0
- package/dist/server/src/preview/utils.d.ts.map +1 -0
- package/dist/server/src/register.d.ts.map +1 -1
- package/dist/server/src/routes/index.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 +8 -8
- package/dist/server/src/services/document-metadata.d.ts.map +1 -1
- package/dist/server/src/services/index.d.ts +4 -4
- 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/utils/index.d.ts +2 -0
- package/dist/server/src/utils/index.d.ts.map +1 -1
- package/dist/shared/contracts/index.d.ts +1 -0
- package/dist/shared/contracts/index.d.ts.map +1 -1
- package/dist/shared/contracts/preview.d.ts +27 -0
- package/dist/shared/contracts/preview.d.ts.map +1 -0
- package/dist/shared/index.js +4 -0
- package/dist/shared/index.js.map +1 -1
- package/dist/shared/index.mjs +4 -0
- package/dist/shared/index.mjs.map +1 -1
- package/package.json +13 -11
- package/dist/_chunks/EditViewPage-8mOu02ji.mjs.map +0 -1
- package/dist/_chunks/EditViewPage-BMVgUNOX.js.map +0 -1
- package/dist/_chunks/Field-CJPYzwD7.mjs.map +0 -1
- package/dist/_chunks/Field-CdSLKFQk.js.map +0 -1
- package/dist/_chunks/History-B-Mrquzu.js.map +0 -1
- package/dist/_chunks/History-MnQLtk1g.mjs.map +0 -1
- package/dist/_chunks/ListConfigurationPage-BcycI8Lw.mjs.map +0 -1
- package/dist/_chunks/ListConfigurationPage-C0n4rUzH.js.map +0 -1
- package/dist/_chunks/ListViewPage-CRXONXwZ.mjs.map +0 -1
- package/dist/_chunks/ListViewPage-q0SHVPUS.js.map +0 -1
- package/dist/_chunks/Relations-B53wYe8g.js.map +0 -1
- package/dist/_chunks/Relations-CIexb8gr.mjs.map +0 -1
- package/dist/_chunks/index-CJ2vYwuT.mjs.map +0 -1
- package/dist/_chunks/index-DbT2sx-Q.js.map +0 -1
- package/dist/_chunks/relations-Cl-6t9iz.js.map +0 -1
- package/dist/_chunks/relations-DI0lguF0.mjs.map +0 -1
@@ -4,18 +4,18 @@ const jsxRuntime = require("react/jsx-runtime");
|
|
4
4
|
const strapiAdmin = require("@strapi/admin/strapi-admin");
|
5
5
|
const React = require("react");
|
6
6
|
const designSystem = require("@strapi/design-system");
|
7
|
+
const mapValues = require("lodash/fp/mapValues");
|
7
8
|
const reactIntl = require("react-intl");
|
8
9
|
const reactRouterDom = require("react-router-dom");
|
10
|
+
const styledComponents = require("styled-components");
|
9
11
|
const yup = require("yup");
|
12
|
+
const qs = require("qs");
|
10
13
|
const pipe = require("lodash/fp/pipe");
|
11
14
|
const dateFns = require("date-fns");
|
12
|
-
const styledComponents = require("styled-components");
|
13
|
-
const qs = require("qs");
|
14
15
|
const toolkit = require("@reduxjs/toolkit");
|
15
16
|
const _interopDefault = (e) => e && e.__esModule ? e : { default: e };
|
16
17
|
function _interopNamespace(e) {
|
17
|
-
if (e && e.__esModule)
|
18
|
-
return e;
|
18
|
+
if (e && e.__esModule) return e;
|
19
19
|
const n = Object.create(null, { [Symbol.toStringTag]: { value: "Module" } });
|
20
20
|
if (e) {
|
21
21
|
for (const k in e) {
|
@@ -32,15 +32,23 @@ function _interopNamespace(e) {
|
|
32
32
|
return Object.freeze(n);
|
33
33
|
}
|
34
34
|
const React__namespace = /* @__PURE__ */ _interopNamespace(React);
|
35
|
+
const mapValues__default = /* @__PURE__ */ _interopDefault(mapValues);
|
35
36
|
const yup__namespace = /* @__PURE__ */ _interopNamespace(yup);
|
36
37
|
const pipe__default = /* @__PURE__ */ _interopDefault(pipe);
|
37
|
-
const __variableDynamicImportRuntimeHelper = (glob, path) => {
|
38
|
+
const __variableDynamicImportRuntimeHelper = (glob, path, segs) => {
|
38
39
|
const v = glob[path];
|
39
40
|
if (v) {
|
40
41
|
return typeof v === "function" ? v() : Promise.resolve(v);
|
41
42
|
}
|
42
43
|
return new Promise((_, reject) => {
|
43
|
-
(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
|
+
);
|
44
52
|
});
|
45
53
|
};
|
46
54
|
const PLUGIN_ID = "content-manager";
|
@@ -294,7 +302,7 @@ const documentApi = contentManagerApi.injectEndpoints({
|
|
294
302
|
url: `/content-manager/collection-types/${model}`,
|
295
303
|
method: "GET",
|
296
304
|
config: {
|
297
|
-
params
|
305
|
+
params: qs.stringify(params, { encode: true })
|
298
306
|
}
|
299
307
|
}),
|
300
308
|
providesTags: (result, _error, arg) => {
|
@@ -473,8 +481,7 @@ const {
|
|
473
481
|
useUnpublishManyDocumentsMutation
|
474
482
|
} = documentApi;
|
475
483
|
const buildValidParams = (query) => {
|
476
|
-
if (!query)
|
477
|
-
return query;
|
484
|
+
if (!query) return query;
|
478
485
|
const { plugins: _, ...validQueryParams } = {
|
479
486
|
...query,
|
480
487
|
...Object.values(query?.plugins ?? {}).reduce(
|
@@ -482,9 +489,6 @@ const buildValidParams = (query) => {
|
|
482
489
|
{}
|
483
490
|
)
|
484
491
|
};
|
485
|
-
if ("_q" in validQueryParams) {
|
486
|
-
validQueryParams._q = encodeURIComponent(validQueryParams._q);
|
487
|
-
}
|
488
492
|
return validQueryParams;
|
489
493
|
};
|
490
494
|
const isBaseQueryError = (error) => {
|
@@ -989,9 +993,10 @@ const formatEditLayout = (data, {
|
|
989
993
|
currentPanelIndex += 2;
|
990
994
|
} else {
|
991
995
|
if (!panels[currentPanelIndex]) {
|
992
|
-
panels.push([]);
|
996
|
+
panels.push([row]);
|
997
|
+
} else {
|
998
|
+
panels[currentPanelIndex].push(row);
|
993
999
|
}
|
994
|
-
panels[currentPanelIndex].push(row);
|
995
1000
|
}
|
996
1001
|
return panels;
|
997
1002
|
}, []);
|
@@ -1682,10 +1687,10 @@ const useDocumentActions = () => {
|
|
1682
1687
|
update
|
1683
1688
|
};
|
1684
1689
|
};
|
1685
|
-
const ProtectedHistoryPage =
|
1686
|
-
() => Promise.resolve().then(() => require("./History-
|
1690
|
+
const ProtectedHistoryPage = React__namespace.lazy(
|
1691
|
+
() => Promise.resolve().then(() => require("./History-BRlM_ftM.js")).then((mod) => ({ default: mod.ProtectedHistoryPage }))
|
1687
1692
|
);
|
1688
|
-
const routes$
|
1693
|
+
const routes$2 = [
|
1689
1694
|
{
|
1690
1695
|
path: ":collectionType/:slug/:id/history",
|
1691
1696
|
Component: ProtectedHistoryPage
|
@@ -1695,32 +1700,45 @@ const routes$1 = [
|
|
1695
1700
|
Component: ProtectedHistoryPage
|
1696
1701
|
}
|
1697
1702
|
];
|
1703
|
+
const ProtectedPreviewPage = React__namespace.lazy(
|
1704
|
+
() => Promise.resolve().then(() => require("./Preview-DgfJYT-q.js")).then((mod) => ({ default: mod.ProtectedPreviewPage }))
|
1705
|
+
);
|
1706
|
+
const routes$1 = [
|
1707
|
+
{
|
1708
|
+
path: ":collectionType/:slug/:id/preview",
|
1709
|
+
Component: ProtectedPreviewPage
|
1710
|
+
},
|
1711
|
+
{
|
1712
|
+
path: ":collectionType/:slug/preview",
|
1713
|
+
Component: ProtectedPreviewPage
|
1714
|
+
}
|
1715
|
+
];
|
1698
1716
|
const ProtectedEditViewPage = React.lazy(
|
1699
|
-
() => Promise.resolve().then(() => require("./EditViewPage-
|
1717
|
+
() => Promise.resolve().then(() => require("./EditViewPage-CZ4LrV-l.js")).then((mod) => ({ default: mod.ProtectedEditViewPage }))
|
1700
1718
|
);
|
1701
1719
|
const ProtectedListViewPage = React.lazy(
|
1702
|
-
() => Promise.resolve().then(() => require("./ListViewPage-
|
1720
|
+
() => Promise.resolve().then(() => require("./ListViewPage-CVP6oaIp.js")).then((mod) => ({ default: mod.ProtectedListViewPage }))
|
1703
1721
|
);
|
1704
1722
|
const ProtectedListConfiguration = React.lazy(
|
1705
|
-
() => Promise.resolve().then(() => require("./ListConfigurationPage-
|
1723
|
+
() => Promise.resolve().then(() => require("./ListConfigurationPage-B4AZXRwe.js")).then((mod) => ({
|
1706
1724
|
default: mod.ProtectedListConfiguration
|
1707
1725
|
}))
|
1708
1726
|
);
|
1709
1727
|
const ProtectedEditConfigurationPage = React.lazy(
|
1710
|
-
() => Promise.resolve().then(() => require("./EditConfigurationPage-
|
1728
|
+
() => Promise.resolve().then(() => require("./EditConfigurationPage-Djm8wb1Y.js")).then((mod) => ({
|
1711
1729
|
default: mod.ProtectedEditConfigurationPage
|
1712
1730
|
}))
|
1713
1731
|
);
|
1714
1732
|
const ProtectedComponentConfigurationPage = React.lazy(
|
1715
|
-
() => Promise.resolve().then(() => require("./ComponentConfigurationPage-
|
1733
|
+
() => Promise.resolve().then(() => require("./ComponentConfigurationPage-2VkuOOYr.js")).then((mod) => ({
|
1716
1734
|
default: mod.ProtectedComponentConfigurationPage
|
1717
1735
|
}))
|
1718
1736
|
);
|
1719
1737
|
const NoPermissions = React.lazy(
|
1720
|
-
() => Promise.resolve().then(() => require("./NoPermissionsPage-
|
1738
|
+
() => Promise.resolve().then(() => require("./NoPermissionsPage-ftLrJ4GX.js")).then((mod) => ({ default: mod.NoPermissions }))
|
1721
1739
|
);
|
1722
1740
|
const NoContentType = React.lazy(
|
1723
|
-
() => Promise.resolve().then(() => require("./NoContentTypePage-
|
1741
|
+
() => Promise.resolve().then(() => require("./NoContentTypePage-g1Ehw2a0.js")).then((mod) => ({ default: mod.NoContentType }))
|
1724
1742
|
);
|
1725
1743
|
const CollectionTypePages = () => {
|
1726
1744
|
const { collectionType } = reactRouterDom.useParams();
|
@@ -1732,7 +1750,7 @@ const CollectionTypePages = () => {
|
|
1732
1750
|
const CLONE_RELATIVE_PATH = ":collectionType/:slug/clone/:origin";
|
1733
1751
|
const CLONE_PATH = `/content-manager/${CLONE_RELATIVE_PATH}`;
|
1734
1752
|
const LIST_RELATIVE_PATH = ":collectionType/:slug";
|
1735
|
-
const LIST_PATH = `/content-manager
|
1753
|
+
const LIST_PATH = `/content-manager/collection-types/:slug`;
|
1736
1754
|
const routes = [
|
1737
1755
|
{
|
1738
1756
|
path: LIST_RELATIVE_PATH,
|
@@ -1766,6 +1784,7 @@ const routes = [
|
|
1766
1784
|
path: "no-content-types",
|
1767
1785
|
Component: NoContentType
|
1768
1786
|
},
|
1787
|
+
...routes$2,
|
1769
1788
|
...routes$1
|
1770
1789
|
];
|
1771
1790
|
const DocumentActions = ({ actions: actions2 }) => {
|
@@ -1864,6 +1883,11 @@ const DocumentActionButton = (action) => {
|
|
1864
1883
|
) : null
|
1865
1884
|
] });
|
1866
1885
|
};
|
1886
|
+
const MenuItem = styledComponents.styled(designSystem.Menu.Item)`
|
1887
|
+
&:hover {
|
1888
|
+
background: ${({ theme, isVariantDanger, isDisabled }) => isVariantDanger && !isDisabled ? theme.colors.danger100 : "neutral"};
|
1889
|
+
}
|
1890
|
+
`;
|
1867
1891
|
const DocumentActionsMenu = ({
|
1868
1892
|
actions: actions2,
|
1869
1893
|
children,
|
@@ -1922,48 +1946,32 @@ const DocumentActionsMenu = ({
|
|
1922
1946
|
/* @__PURE__ */ jsxRuntime.jsxs(designSystem.Menu.Content, { maxHeight: void 0, popoverPlacement: "bottom-end", children: [
|
1923
1947
|
actions2.map((action) => {
|
1924
1948
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
1925
|
-
|
1949
|
+
MenuItem,
|
1926
1950
|
{
|
1927
1951
|
disabled: action.disabled,
|
1928
1952
|
onSelect: handleClick(action),
|
1929
1953
|
display: "block",
|
1930
|
-
|
1931
|
-
|
1932
|
-
|
1933
|
-
|
1934
|
-
|
1935
|
-
|
1936
|
-
|
1937
|
-
|
1938
|
-
|
1939
|
-
|
1940
|
-
|
1941
|
-
|
1942
|
-
|
1943
|
-
|
1944
|
-
|
1945
|
-
|
1946
|
-
|
1947
|
-
|
1948
|
-
|
1949
|
-
|
1950
|
-
|
1951
|
-
designSystem.Flex,
|
1952
|
-
{
|
1953
|
-
alignItems: "center",
|
1954
|
-
background: "alternative100",
|
1955
|
-
borderStyle: "solid",
|
1956
|
-
borderColor: "alternative200",
|
1957
|
-
borderWidth: "1px",
|
1958
|
-
height: 5,
|
1959
|
-
paddingLeft: 2,
|
1960
|
-
paddingRight: 2,
|
1961
|
-
hasRadius: true,
|
1962
|
-
color: "alternative600",
|
1963
|
-
children: /* @__PURE__ */ jsxRuntime.jsx(designSystem.Typography, { variant: "sigma", fontWeight: "bold", lineHeight: 1, children: formatMessage({ id: "global.new", defaultMessage: "New" }) })
|
1964
|
-
}
|
1965
|
-
)
|
1966
|
-
] })
|
1954
|
+
isVariantDanger: action.variant === "danger",
|
1955
|
+
isDisabled: action.disabled,
|
1956
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(designSystem.Flex, { justifyContent: "space-between", gap: 4, children: /* @__PURE__ */ jsxRuntime.jsxs(
|
1957
|
+
designSystem.Flex,
|
1958
|
+
{
|
1959
|
+
color: !action.disabled ? convertActionVariantToColor(action.variant) : "inherit",
|
1960
|
+
gap: 2,
|
1961
|
+
tag: "span",
|
1962
|
+
children: [
|
1963
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
1964
|
+
designSystem.Flex,
|
1965
|
+
{
|
1966
|
+
tag: "span",
|
1967
|
+
color: !action.disabled ? convertActionVariantToIconColor(action.variant) : "inherit",
|
1968
|
+
children: action.icon
|
1969
|
+
}
|
1970
|
+
),
|
1971
|
+
action.label
|
1972
|
+
]
|
1973
|
+
}
|
1974
|
+
) })
|
1967
1975
|
},
|
1968
1976
|
action.id
|
1969
1977
|
);
|
@@ -2074,6 +2082,18 @@ const DocumentActionModal = ({
|
|
2074
2082
|
typeof Footer === "function" ? /* @__PURE__ */ jsxRuntime.jsx(Footer, { onClose: handleClose }) : Footer
|
2075
2083
|
] }) });
|
2076
2084
|
};
|
2085
|
+
const transformData = (data) => {
|
2086
|
+
if (Array.isArray(data)) {
|
2087
|
+
return data.map(transformData);
|
2088
|
+
}
|
2089
|
+
if (typeof data === "object" && data !== null) {
|
2090
|
+
if ("apiData" in data) {
|
2091
|
+
return data.apiData;
|
2092
|
+
}
|
2093
|
+
return mapValues__default.default(transformData)(data);
|
2094
|
+
}
|
2095
|
+
return data;
|
2096
|
+
};
|
2077
2097
|
const PublishAction$1 = ({
|
2078
2098
|
activeTab,
|
2079
2099
|
documentId,
|
@@ -2088,6 +2108,7 @@ const PublishAction$1 = ({
|
|
2088
2108
|
const { _unstableFormatValidationErrors: formatValidationErrors } = strapiAdmin.useAPIErrorHandler();
|
2089
2109
|
const isListView = reactRouterDom.useMatch(LIST_PATH) !== null;
|
2090
2110
|
const isCloning = reactRouterDom.useMatch(CLONE_PATH) !== null;
|
2111
|
+
const { id } = reactRouterDom.useParams();
|
2091
2112
|
const { formatMessage } = reactIntl.useIntl();
|
2092
2113
|
const canPublish = useDocumentRBAC("PublishAction", ({ canPublish: canPublish2 }) => canPublish2);
|
2093
2114
|
const { publish } = useDocumentActions();
|
@@ -2187,13 +2208,15 @@ const PublishAction$1 = ({
|
|
2187
2208
|
documentId,
|
2188
2209
|
params
|
2189
2210
|
},
|
2190
|
-
formValues
|
2211
|
+
transformData(formValues)
|
2191
2212
|
);
|
2192
2213
|
if ("data" in res && collectionType !== SINGLE_TYPES) {
|
2193
|
-
|
2194
|
-
|
2195
|
-
|
2196
|
-
|
2214
|
+
if (id === "create") {
|
2215
|
+
navigate({
|
2216
|
+
pathname: `../${collectionType}/${model}/${res.data.documentId}`,
|
2217
|
+
search: rawQuery
|
2218
|
+
});
|
2219
|
+
}
|
2197
2220
|
} else if ("error" in res && isBaseQueryError(res.error) && res.error.name === "ValidationError") {
|
2198
2221
|
setErrors(formatValidationErrors(res.error));
|
2199
2222
|
}
|
@@ -2246,6 +2269,7 @@ const PublishAction$1 = ({
|
|
2246
2269
|
};
|
2247
2270
|
};
|
2248
2271
|
PublishAction$1.type = "publish";
|
2272
|
+
PublishAction$1.position = "panel";
|
2249
2273
|
const UpdateAction = ({
|
2250
2274
|
activeTab,
|
2251
2275
|
documentId,
|
@@ -2268,96 +2292,134 @@ const UpdateAction = ({
|
|
2268
2292
|
const validate = strapiAdmin.useForm("UpdateAction", (state) => state.validate);
|
2269
2293
|
const setErrors = strapiAdmin.useForm("UpdateAction", (state) => state.setErrors);
|
2270
2294
|
const resetForm = strapiAdmin.useForm("PublishAction", ({ resetForm: resetForm2 }) => resetForm2);
|
2271
|
-
|
2272
|
-
|
2273
|
-
|
2274
|
-
|
2275
|
-
|
2276
|
-
|
2277
|
-
|
2278
|
-
|
2279
|
-
|
2280
|
-
|
2281
|
-
|
2282
|
-
|
2283
|
-
|
2284
|
-
|
2285
|
-
|
2286
|
-
|
2287
|
-
status: "draft"
|
2295
|
+
const handleUpdate = React__namespace.useCallback(async () => {
|
2296
|
+
setSubmitting(true);
|
2297
|
+
try {
|
2298
|
+
if (!modified) {
|
2299
|
+
return;
|
2300
|
+
}
|
2301
|
+
const { errors } = await validate(true, {
|
2302
|
+
status: "draft"
|
2303
|
+
});
|
2304
|
+
if (errors) {
|
2305
|
+
toggleNotification({
|
2306
|
+
type: "danger",
|
2307
|
+
message: formatMessage({
|
2308
|
+
id: "content-manager.validation.error",
|
2309
|
+
defaultMessage: "There are validation errors in your document. Please fix them before saving."
|
2310
|
+
})
|
2288
2311
|
});
|
2289
|
-
|
2290
|
-
|
2291
|
-
|
2292
|
-
|
2293
|
-
|
2294
|
-
|
2295
|
-
|
2296
|
-
|
2297
|
-
|
2298
|
-
|
2299
|
-
|
2300
|
-
|
2301
|
-
|
2302
|
-
model,
|
2303
|
-
documentId: cloneMatch.params.origin,
|
2304
|
-
params
|
2305
|
-
},
|
2306
|
-
document
|
2307
|
-
);
|
2308
|
-
if ("data" in res) {
|
2309
|
-
navigate(
|
2310
|
-
{
|
2311
|
-
pathname: `../${res.data.documentId}`,
|
2312
|
-
search: rawQuery
|
2313
|
-
},
|
2314
|
-
{ relative: "path" }
|
2315
|
-
);
|
2316
|
-
} else if ("error" in res && isBaseQueryError(res.error) && res.error.name === "ValidationError") {
|
2317
|
-
setErrors(formatValidationErrors(res.error));
|
2318
|
-
}
|
2319
|
-
} else if (documentId || collectionType === SINGLE_TYPES) {
|
2320
|
-
const res = await update(
|
2312
|
+
return;
|
2313
|
+
}
|
2314
|
+
if (isCloning) {
|
2315
|
+
const res = await clone(
|
2316
|
+
{
|
2317
|
+
model,
|
2318
|
+
documentId: cloneMatch.params.origin,
|
2319
|
+
params
|
2320
|
+
},
|
2321
|
+
transformData(document)
|
2322
|
+
);
|
2323
|
+
if ("data" in res) {
|
2324
|
+
navigate(
|
2321
2325
|
{
|
2322
|
-
|
2323
|
-
|
2324
|
-
documentId,
|
2325
|
-
params
|
2326
|
+
pathname: `../${res.data.documentId}`,
|
2327
|
+
search: rawQuery
|
2326
2328
|
},
|
2327
|
-
|
2329
|
+
{ relative: "path" }
|
2328
2330
|
);
|
2329
|
-
|
2330
|
-
|
2331
|
-
|
2332
|
-
|
2333
|
-
|
2331
|
+
} else if ("error" in res && isBaseQueryError(res.error) && res.error.name === "ValidationError") {
|
2332
|
+
setErrors(formatValidationErrors(res.error));
|
2333
|
+
}
|
2334
|
+
} else if (documentId || collectionType === SINGLE_TYPES) {
|
2335
|
+
const res = await update(
|
2336
|
+
{
|
2337
|
+
collectionType,
|
2338
|
+
model,
|
2339
|
+
documentId,
|
2340
|
+
params
|
2341
|
+
},
|
2342
|
+
transformData(document)
|
2343
|
+
);
|
2344
|
+
if ("error" in res && isBaseQueryError(res.error) && res.error.name === "ValidationError") {
|
2345
|
+
setErrors(formatValidationErrors(res.error));
|
2334
2346
|
} else {
|
2335
|
-
|
2347
|
+
resetForm();
|
2348
|
+
}
|
2349
|
+
} else {
|
2350
|
+
const res = await create(
|
2351
|
+
{
|
2352
|
+
model,
|
2353
|
+
params
|
2354
|
+
},
|
2355
|
+
transformData(document)
|
2356
|
+
);
|
2357
|
+
if ("data" in res && collectionType !== SINGLE_TYPES) {
|
2358
|
+
navigate(
|
2336
2359
|
{
|
2337
|
-
|
2338
|
-
|
2360
|
+
pathname: `../${res.data.documentId}`,
|
2361
|
+
search: rawQuery
|
2339
2362
|
},
|
2340
|
-
|
2363
|
+
{ replace: true, relative: "path" }
|
2341
2364
|
);
|
2342
|
-
|
2343
|
-
|
2344
|
-
{
|
2345
|
-
pathname: `../${res.data.documentId}`,
|
2346
|
-
search: rawQuery
|
2347
|
-
},
|
2348
|
-
{ replace: true, relative: "path" }
|
2349
|
-
);
|
2350
|
-
} else if ("error" in res && isBaseQueryError(res.error) && res.error.name === "ValidationError") {
|
2351
|
-
setErrors(formatValidationErrors(res.error));
|
2352
|
-
}
|
2365
|
+
} else if ("error" in res && isBaseQueryError(res.error) && res.error.name === "ValidationError") {
|
2366
|
+
setErrors(formatValidationErrors(res.error));
|
2353
2367
|
}
|
2354
|
-
} finally {
|
2355
|
-
setSubmitting(false);
|
2356
2368
|
}
|
2369
|
+
} finally {
|
2370
|
+
setSubmitting(false);
|
2357
2371
|
}
|
2372
|
+
}, [
|
2373
|
+
clone,
|
2374
|
+
cloneMatch?.params.origin,
|
2375
|
+
collectionType,
|
2376
|
+
create,
|
2377
|
+
document,
|
2378
|
+
documentId,
|
2379
|
+
formatMessage,
|
2380
|
+
formatValidationErrors,
|
2381
|
+
isCloning,
|
2382
|
+
model,
|
2383
|
+
modified,
|
2384
|
+
navigate,
|
2385
|
+
params,
|
2386
|
+
rawQuery,
|
2387
|
+
resetForm,
|
2388
|
+
setErrors,
|
2389
|
+
setSubmitting,
|
2390
|
+
toggleNotification,
|
2391
|
+
update,
|
2392
|
+
validate
|
2393
|
+
]);
|
2394
|
+
React__namespace.useEffect(() => {
|
2395
|
+
const handleKeyDown = (e) => {
|
2396
|
+
if (e.key === "Enter" && (e.metaKey || e.ctrlKey)) {
|
2397
|
+
e.preventDefault();
|
2398
|
+
handleUpdate();
|
2399
|
+
}
|
2400
|
+
};
|
2401
|
+
window.addEventListener("keydown", handleKeyDown);
|
2402
|
+
return () => {
|
2403
|
+
window.removeEventListener("keydown", handleKeyDown);
|
2404
|
+
};
|
2405
|
+
}, [handleUpdate]);
|
2406
|
+
return {
|
2407
|
+
/**
|
2408
|
+
* Disabled when:
|
2409
|
+
* - the form is submitting
|
2410
|
+
* - the document is not modified & we're not cloning (you can save a clone entity straight away)
|
2411
|
+
* - the active tab is the published tab
|
2412
|
+
*/
|
2413
|
+
disabled: isSubmitting || !modified && !isCloning || activeTab === "published",
|
2414
|
+
label: formatMessage({
|
2415
|
+
id: "global.save",
|
2416
|
+
defaultMessage: "Save"
|
2417
|
+
}),
|
2418
|
+
onClick: handleUpdate
|
2358
2419
|
};
|
2359
2420
|
};
|
2360
2421
|
UpdateAction.type = "update";
|
2422
|
+
UpdateAction.position = "panel";
|
2361
2423
|
const UNPUBLISH_DRAFT_OPTIONS = {
|
2362
2424
|
KEEP: "keep",
|
2363
2425
|
DISCARD: "discard"
|
@@ -2480,6 +2542,7 @@ const UnpublishAction$1 = ({
|
|
2480
2542
|
};
|
2481
2543
|
};
|
2482
2544
|
UnpublishAction$1.type = "unpublish";
|
2545
|
+
UnpublishAction$1.position = "panel";
|
2483
2546
|
const DiscardAction = ({
|
2484
2547
|
activeTab,
|
2485
2548
|
documentId,
|
@@ -2530,6 +2593,7 @@ const DiscardAction = ({
|
|
2530
2593
|
};
|
2531
2594
|
};
|
2532
2595
|
DiscardAction.type = "discard";
|
2596
|
+
DiscardAction.position = "panel";
|
2533
2597
|
const DEFAULT_ACTIONS = [PublishAction$1, UpdateAction, UnpublishAction$1, DiscardAction];
|
2534
2598
|
const intervals = ["years", "months", "days", "hours", "minutes", "seconds"];
|
2535
2599
|
const RelativeTime = React__namespace.forwardRef(
|
@@ -2542,7 +2606,7 @@ const RelativeTime = React__namespace.forwardRef(
|
|
2542
2606
|
});
|
2543
2607
|
const unit = intervals.find((intervalUnit) => {
|
2544
2608
|
return interval[intervalUnit] > 0 && Object.keys(interval).includes(intervalUnit);
|
2545
|
-
});
|
2609
|
+
}) ?? "seconds";
|
2546
2610
|
const relativeTime = dateFns.isPast(timestamp) ? -interval[unit] : interval[unit];
|
2547
2611
|
const customInterval = customIntervals.find(
|
2548
2612
|
(custom) => interval[custom.unit] < custom.threshold
|
@@ -2576,19 +2640,29 @@ const getDisplayName = ({
|
|
2576
2640
|
return email ?? "";
|
2577
2641
|
};
|
2578
2642
|
const capitalise = (str) => str.charAt(0).toUpperCase() + str.slice(1);
|
2579
|
-
const DocumentStatus = ({ status = "draft", ...restProps }) => {
|
2643
|
+
const DocumentStatus = ({ status = "draft", size = "S", ...restProps }) => {
|
2580
2644
|
const statusVariant = status === "draft" ? "secondary" : status === "published" ? "success" : "alternative";
|
2581
|
-
|
2645
|
+
const { formatMessage } = reactIntl.useIntl();
|
2646
|
+
return /* @__PURE__ */ jsxRuntime.jsx(designSystem.Status, { ...restProps, size, variant: statusVariant, children: /* @__PURE__ */ jsxRuntime.jsx(designSystem.Typography, { tag: "span", variant: "omega", fontWeight: "bold", children: formatMessage({
|
2647
|
+
id: `content-manager.containers.List.${status}`,
|
2648
|
+
defaultMessage: capitalise(status)
|
2649
|
+
}) }) });
|
2582
2650
|
};
|
2583
2651
|
const Header = ({ isCreating, status, title: documentTitle = "Untitled" }) => {
|
2584
2652
|
const { formatMessage } = reactIntl.useIntl();
|
2585
2653
|
const isCloning = reactRouterDom.useMatch(CLONE_PATH) !== null;
|
2654
|
+
const params = reactRouterDom.useParams();
|
2586
2655
|
const title = isCreating ? formatMessage({
|
2587
2656
|
id: "content-manager.containers.edit.title.new",
|
2588
2657
|
defaultMessage: "Create an entry"
|
2589
2658
|
}) : documentTitle;
|
2590
2659
|
return /* @__PURE__ */ jsxRuntime.jsxs(designSystem.Flex, { direction: "column", alignItems: "flex-start", paddingTop: 6, paddingBottom: 4, gap: 2, children: [
|
2591
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
2660
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
2661
|
+
strapiAdmin.BackButton,
|
2662
|
+
{
|
2663
|
+
fallback: params.collectionType === SINGLE_TYPES ? void 0 : `../${COLLECTION_TYPES}/${params.slug}`
|
2664
|
+
}
|
2665
|
+
),
|
2592
2666
|
/* @__PURE__ */ jsxRuntime.jsxs(designSystem.Flex, { width: "100%", justifyContent: "space-between", gap: "80px", alignItems: "flex-start", children: [
|
2593
2667
|
/* @__PURE__ */ jsxRuntime.jsx(designSystem.Typography, { variant: "alpha", tag: "h1", children: title }),
|
2594
2668
|
/* @__PURE__ */ jsxRuntime.jsx(HeaderToolbar, {})
|
@@ -2639,7 +2713,7 @@ const HeaderToolbar = () => {
|
|
2639
2713
|
meta: isCloning ? void 0 : meta,
|
2640
2714
|
collectionType
|
2641
2715
|
},
|
2642
|
-
descriptions: plugins["content-manager"].apis.getDocumentActions(),
|
2716
|
+
descriptions: plugins["content-manager"].apis.getDocumentActions("header"),
|
2643
2717
|
children: (actions2) => {
|
2644
2718
|
const headerActions = actions2.filter((action) => {
|
2645
2719
|
const positions = Array.isArray(action.position) ? action.position : [action.position];
|
@@ -2847,6 +2921,7 @@ const ConfigureTheViewAction = ({ collectionType, model }) => {
|
|
2847
2921
|
};
|
2848
2922
|
};
|
2849
2923
|
ConfigureTheViewAction.type = "configure-the-view";
|
2924
|
+
ConfigureTheViewAction.position = "header";
|
2850
2925
|
const EditTheModelAction = ({ model }) => {
|
2851
2926
|
const navigate = reactRouterDom.useNavigate();
|
2852
2927
|
const { formatMessage } = reactIntl.useIntl();
|
@@ -2863,6 +2938,7 @@ const EditTheModelAction = ({ model }) => {
|
|
2863
2938
|
};
|
2864
2939
|
};
|
2865
2940
|
EditTheModelAction.type = "edit-the-model";
|
2941
|
+
EditTheModelAction.position = "header";
|
2866
2942
|
const DeleteAction$1 = ({ documentId, model, collectionType, document }) => {
|
2867
2943
|
const navigate = reactRouterDom.useNavigate();
|
2868
2944
|
const { formatMessage } = reactIntl.useIntl();
|
@@ -2936,6 +3012,7 @@ const DeleteAction$1 = ({ documentId, model, collectionType, document }) => {
|
|
2936
3012
|
};
|
2937
3013
|
};
|
2938
3014
|
DeleteAction$1.type = "delete";
|
3015
|
+
DeleteAction$1.position = ["header", "table-row"];
|
2939
3016
|
const DEFAULT_HEADER_ACTIONS = [EditTheModelAction, ConfigureTheViewAction, DeleteAction$1];
|
2940
3017
|
const Panels = () => {
|
2941
3018
|
const isCloning = reactRouterDom.useMatch(CLONE_PATH) !== null;
|
@@ -2998,7 +3075,7 @@ const ActionsPanelContent = () => {
|
|
2998
3075
|
strapiAdmin.DescriptionComponentRenderer,
|
2999
3076
|
{
|
3000
3077
|
props,
|
3001
|
-
descriptions: plugins["content-manager"].apis.getDocumentActions(),
|
3078
|
+
descriptions: plugins["content-manager"].apis.getDocumentActions("panel"),
|
3002
3079
|
children: (actions2) => /* @__PURE__ */ jsxRuntime.jsx(DocumentActions, { actions: actions2 })
|
3003
3080
|
}
|
3004
3081
|
),
|
@@ -3025,7 +3102,7 @@ const Panel = React__namespace.forwardRef(({ children, title }, ref) => {
|
|
3025
3102
|
justifyContent: "stretch",
|
3026
3103
|
alignItems: "flex-start",
|
3027
3104
|
children: [
|
3028
|
-
/* @__PURE__ */ jsxRuntime.jsx(designSystem.Typography, { tag: "h2", variant: "sigma", textTransform: "uppercase", children: title }),
|
3105
|
+
/* @__PURE__ */ jsxRuntime.jsx(designSystem.Typography, { tag: "h2", variant: "sigma", textTransform: "uppercase", textColor: "neutral600", children: title }),
|
3029
3106
|
children
|
3030
3107
|
]
|
3031
3108
|
}
|
@@ -3275,18 +3352,10 @@ const SelectedEntriesTableContent = ({
|
|
3275
3352
|
search: row.locale && `?plugins[i18n][locale]=${row.locale}`
|
3276
3353
|
},
|
3277
3354
|
state: { from: pathname },
|
3278
|
-
label: formatMessage(
|
3279
|
-
|
3280
|
-
|
3281
|
-
|
3282
|
-
{
|
3283
|
-
id: "content-manager.components.ListViewHelperPluginTable.row-line",
|
3284
|
-
defaultMessage: "item line {number}"
|
3285
|
-
},
|
3286
|
-
{ number: index2 + 1 }
|
3287
|
-
)
|
3288
|
-
}
|
3289
|
-
),
|
3355
|
+
label: formatMessage({
|
3356
|
+
id: "content-manager.bulk-publish.edit",
|
3357
|
+
defaultMessage: "Edit"
|
3358
|
+
}),
|
3290
3359
|
target: "_blank",
|
3291
3360
|
marginLeft: "auto",
|
3292
3361
|
variant: "ghost",
|
@@ -3460,8 +3529,7 @@ const PublishAction = ({ documents, model }) => {
|
|
3460
3529
|
const refetchList = () => {
|
3461
3530
|
contentManagerApi.util.invalidateTags([{ type: "Document", id: `${model}_LIST` }]);
|
3462
3531
|
};
|
3463
|
-
if (!showPublishButton)
|
3464
|
-
return null;
|
3532
|
+
if (!showPublishButton) return null;
|
3465
3533
|
return {
|
3466
3534
|
actionType: "publish",
|
3467
3535
|
variant: "tertiary",
|
@@ -3529,8 +3597,7 @@ const DeleteAction = ({ documents, model }) => {
|
|
3529
3597
|
selectRow([]);
|
3530
3598
|
}
|
3531
3599
|
};
|
3532
|
-
if (!hasDeletePermission)
|
3533
|
-
return null;
|
3600
|
+
if (!hasDeletePermission) return null;
|
3534
3601
|
return {
|
3535
3602
|
variant: "danger-light",
|
3536
3603
|
label: formatMessage({ id: "global.delete", defaultMessage: "Delete" }),
|
@@ -3579,8 +3646,7 @@ const UnpublishAction = ({ documents, model }) => {
|
|
3579
3646
|
}
|
3580
3647
|
};
|
3581
3648
|
const showUnpublishButton = hasDraftAndPublishEnabled && hasPublishPermission && documents.some((entry) => entry.status === "published" || entry.status === "modified");
|
3582
|
-
if (!showUnpublishButton)
|
3583
|
-
return null;
|
3649
|
+
if (!showUnpublishButton) return null;
|
3584
3650
|
return {
|
3585
3651
|
variant: "tertiary",
|
3586
3652
|
label: formatMessage({ id: "app.utils.unpublish", defaultMessage: "Unpublish" }),
|
@@ -3685,7 +3751,7 @@ const TableActions = ({ document }) => {
|
|
3685
3751
|
strapiAdmin.DescriptionComponentRenderer,
|
3686
3752
|
{
|
3687
3753
|
props,
|
3688
|
-
descriptions: plugins["content-manager"].apis.getDocumentActions().filter((action) => action.name !== "PublishAction"),
|
3754
|
+
descriptions: plugins["content-manager"].apis.getDocumentActions("table-row").filter((action) => action.name !== "PublishAction"),
|
3689
3755
|
children: (actions2) => {
|
3690
3756
|
const tableRowActions = actions2.filter((action) => {
|
3691
3757
|
const positions = Array.isArray(action.position) ? action.position : [action.position];
|
@@ -3744,6 +3810,7 @@ const EditAction = ({ documentId }) => {
|
|
3744
3810
|
};
|
3745
3811
|
};
|
3746
3812
|
EditAction.type = "edit";
|
3813
|
+
EditAction.position = "table-row";
|
3747
3814
|
const StyledPencil = styledComponents.styled(Icons.Pencil)`
|
3748
3815
|
path {
|
3749
3816
|
fill: currentColor;
|
@@ -3820,6 +3887,7 @@ const CloneAction = ({ model, documentId }) => {
|
|
3820
3887
|
};
|
3821
3888
|
};
|
3822
3889
|
CloneAction.type = "clone";
|
3890
|
+
CloneAction.position = "table-row";
|
3823
3891
|
const StyledDuplicate = styledComponents.styled(Icons.Duplicate)`
|
3824
3892
|
path {
|
3825
3893
|
fill: currentColor;
|
@@ -3906,7 +3974,14 @@ class ContentManagerPlugin {
|
|
3906
3974
|
addDocumentHeaderAction: this.addDocumentHeaderAction.bind(this),
|
3907
3975
|
addEditViewSidePanel: this.addEditViewSidePanel.bind(this),
|
3908
3976
|
getBulkActions: () => this.bulkActions,
|
3909
|
-
getDocumentActions: () =>
|
3977
|
+
getDocumentActions: (position) => {
|
3978
|
+
if (position) {
|
3979
|
+
return this.documentActions.filter(
|
3980
|
+
(action) => action.position == void 0 || [action.position].flat().includes(position)
|
3981
|
+
);
|
3982
|
+
}
|
3983
|
+
return this.documentActions;
|
3984
|
+
},
|
3910
3985
|
getEditViewSidePanels: () => this.editViewSidePanels,
|
3911
3986
|
getHeaderActions: () => this.headerActions
|
3912
3987
|
}
|
@@ -3916,10 +3991,8 @@ class ContentManagerPlugin {
|
|
3916
3991
|
const getPrintableType = (value) => {
|
3917
3992
|
const nativeType = typeof value;
|
3918
3993
|
if (nativeType === "object") {
|
3919
|
-
if (value === null)
|
3920
|
-
|
3921
|
-
if (Array.isArray(value))
|
3922
|
-
return "array";
|
3994
|
+
if (value === null) return "null";
|
3995
|
+
if (Array.isArray(value)) return "array";
|
3923
3996
|
if (value instanceof Object && value.constructor.name !== "Object") {
|
3924
3997
|
return value.constructor.name;
|
3925
3998
|
}
|
@@ -3930,17 +4003,27 @@ const HistoryAction = ({ model, document }) => {
|
|
3930
4003
|
const { formatMessage } = reactIntl.useIntl();
|
3931
4004
|
const [{ query }] = strapiAdmin.useQueryParams();
|
3932
4005
|
const navigate = reactRouterDom.useNavigate();
|
4006
|
+
const { trackUsage } = strapiAdmin.useTracking();
|
4007
|
+
const { pathname } = reactRouterDom.useLocation();
|
3933
4008
|
const pluginsQueryParams = qs.stringify({ plugins: query.plugins }, { encode: false });
|
3934
4009
|
if (!window.strapi.features.isEnabled("cms-content-history")) {
|
3935
4010
|
return null;
|
3936
4011
|
}
|
4012
|
+
const handleOnClick = () => {
|
4013
|
+
const destination = { pathname: "history", search: pluginsQueryParams };
|
4014
|
+
trackUsage("willNavigate", {
|
4015
|
+
from: pathname,
|
4016
|
+
to: `${pathname}/${destination.pathname}`
|
4017
|
+
});
|
4018
|
+
navigate(destination);
|
4019
|
+
};
|
3937
4020
|
return {
|
3938
4021
|
icon: /* @__PURE__ */ jsxRuntime.jsx(Icons.ClockCounterClockwise, {}),
|
3939
4022
|
label: formatMessage({
|
3940
4023
|
id: "content-manager.history.document-action",
|
3941
4024
|
defaultMessage: "Content History"
|
3942
4025
|
}),
|
3943
|
-
onClick:
|
4026
|
+
onClick: handleOnClick,
|
3944
4027
|
disabled: (
|
3945
4028
|
/**
|
3946
4029
|
* The user is creating a new document.
|
@@ -3962,6 +4045,7 @@ const HistoryAction = ({ model, document }) => {
|
|
3962
4045
|
};
|
3963
4046
|
};
|
3964
4047
|
HistoryAction.type = "history";
|
4048
|
+
HistoryAction.position = "header";
|
3965
4049
|
const historyAdmin = {
|
3966
4050
|
bootstrap(app) {
|
3967
4051
|
const { addDocumentAction } = app.getPlugin("content-manager").apis;
|
@@ -4008,6 +4092,88 @@ const { setInitialData } = actions;
|
|
4008
4092
|
const reducer = toolkit.combineReducers({
|
4009
4093
|
app: reducer$1
|
4010
4094
|
});
|
4095
|
+
const previewApi = contentManagerApi.injectEndpoints({
|
4096
|
+
endpoints: (builder) => ({
|
4097
|
+
getPreviewUrl: builder.query({
|
4098
|
+
query({ query, params }) {
|
4099
|
+
return {
|
4100
|
+
url: `/content-manager/preview/url/${params.contentType}`,
|
4101
|
+
method: "GET",
|
4102
|
+
config: {
|
4103
|
+
params: query
|
4104
|
+
}
|
4105
|
+
};
|
4106
|
+
}
|
4107
|
+
})
|
4108
|
+
})
|
4109
|
+
});
|
4110
|
+
const { useGetPreviewUrlQuery } = previewApi;
|
4111
|
+
const ConditionalTooltip = ({ isShown, label, children }) => {
|
4112
|
+
if (isShown) {
|
4113
|
+
return /* @__PURE__ */ jsxRuntime.jsx(designSystem.Tooltip, { label, children });
|
4114
|
+
}
|
4115
|
+
return children;
|
4116
|
+
};
|
4117
|
+
const PreviewSidePanel = ({ model, documentId, document }) => {
|
4118
|
+
const { formatMessage } = reactIntl.useIntl();
|
4119
|
+
const { trackUsage } = strapiAdmin.useTracking();
|
4120
|
+
const { pathname } = reactRouterDom.useLocation();
|
4121
|
+
const [{ query }] = strapiAdmin.useQueryParams();
|
4122
|
+
const isModified = strapiAdmin.useForm("PreviewSidePanel", (state) => state.modified);
|
4123
|
+
const { data, error } = useGetPreviewUrlQuery({
|
4124
|
+
params: {
|
4125
|
+
contentType: model
|
4126
|
+
},
|
4127
|
+
query: {
|
4128
|
+
documentId,
|
4129
|
+
locale: document?.locale,
|
4130
|
+
status: document?.status
|
4131
|
+
}
|
4132
|
+
});
|
4133
|
+
if (!data?.data?.url || error) {
|
4134
|
+
return null;
|
4135
|
+
}
|
4136
|
+
const trackNavigation = () => {
|
4137
|
+
const destinationPathname = pathname.replace(/\/$/, "") + "/preview";
|
4138
|
+
trackUsage("willNavigate", { from: pathname, to: destinationPathname });
|
4139
|
+
};
|
4140
|
+
return {
|
4141
|
+
title: formatMessage({ id: "content-manager.preview.panel.title", defaultMessage: "Preview" }),
|
4142
|
+
content: /* @__PURE__ */ jsxRuntime.jsx(
|
4143
|
+
ConditionalTooltip,
|
4144
|
+
{
|
4145
|
+
label: formatMessage({
|
4146
|
+
id: "content-manager.preview.panel.button-disabled-tooltip",
|
4147
|
+
defaultMessage: "Please save to open the preview"
|
4148
|
+
}),
|
4149
|
+
isShown: isModified,
|
4150
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(designSystem.Box, { cursor: "not-allowed", width: "100%", children: /* @__PURE__ */ jsxRuntime.jsx(
|
4151
|
+
designSystem.Button,
|
4152
|
+
{
|
4153
|
+
variant: "tertiary",
|
4154
|
+
tag: reactRouterDom.Link,
|
4155
|
+
to: { pathname: "preview", search: qs.stringify(query, { encode: false }) },
|
4156
|
+
onClick: trackNavigation,
|
4157
|
+
width: "100%",
|
4158
|
+
disabled: isModified,
|
4159
|
+
pointerEvents: isModified ? "none" : void 0,
|
4160
|
+
tabIndex: isModified ? -1 : void 0,
|
4161
|
+
children: formatMessage({
|
4162
|
+
id: "content-manager.preview.panel.button",
|
4163
|
+
defaultMessage: "Open preview"
|
4164
|
+
})
|
4165
|
+
}
|
4166
|
+
) })
|
4167
|
+
}
|
4168
|
+
)
|
4169
|
+
};
|
4170
|
+
};
|
4171
|
+
const previewAdmin = {
|
4172
|
+
bootstrap(app) {
|
4173
|
+
const contentManagerPluginApis = app.getPlugin("content-manager").apis;
|
4174
|
+
contentManagerPluginApis.addEditViewSidePanel([PreviewSidePanel]);
|
4175
|
+
}
|
4176
|
+
};
|
4011
4177
|
const index = {
|
4012
4178
|
register(app) {
|
4013
4179
|
const cm = new ContentManagerPlugin();
|
@@ -4027,7 +4193,7 @@ const index = {
|
|
4027
4193
|
app.router.addRoute({
|
4028
4194
|
path: "content-manager/*",
|
4029
4195
|
lazy: async () => {
|
4030
|
-
const { Layout } = await Promise.resolve().then(() => require("./layout-
|
4196
|
+
const { Layout } = await Promise.resolve().then(() => require("./layout-Ur1fMqO3.js"));
|
4031
4197
|
return {
|
4032
4198
|
Component: Layout
|
4033
4199
|
};
|
@@ -4040,11 +4206,14 @@ const index = {
|
|
4040
4206
|
if (typeof historyAdmin.bootstrap === "function") {
|
4041
4207
|
historyAdmin.bootstrap(app);
|
4042
4208
|
}
|
4209
|
+
if (typeof previewAdmin.bootstrap === "function") {
|
4210
|
+
previewAdmin.bootstrap(app);
|
4211
|
+
}
|
4043
4212
|
},
|
4044
4213
|
async registerTrads({ locales }) {
|
4045
4214
|
const importedTrads = await Promise.all(
|
4046
4215
|
locales.map((locale) => {
|
4047
|
-
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-
|
4216
|
+
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 }) => {
|
4048
4217
|
return {
|
4049
4218
|
data: prefixPluginTranslations(data, PLUGIN_ID),
|
4050
4219
|
locale
|
@@ -4102,5 +4271,6 @@ exports.useGetAllContentTypeSettingsQuery = useGetAllContentTypeSettingsQuery;
|
|
4102
4271
|
exports.useGetAllDocumentsQuery = useGetAllDocumentsQuery;
|
4103
4272
|
exports.useGetContentTypeConfigurationQuery = useGetContentTypeConfigurationQuery;
|
4104
4273
|
exports.useGetInitialDataQuery = useGetInitialDataQuery;
|
4274
|
+
exports.useGetPreviewUrlQuery = useGetPreviewUrlQuery;
|
4105
4275
|
exports.useUpdateContentTypeConfigurationMutation = useUpdateContentTypeConfigurationMutation;
|
4106
|
-
//# sourceMappingURL=index-
|
4276
|
+
//# sourceMappingURL=index-092_Fn90.js.map
|