@strapi/content-manager 5.0.0-beta.8 → 5.0.0-rc.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (100) hide show
  1. package/LICENSE +18 -3
  2. package/dist/_chunks/{ComponentConfigurationPage-by0e_kNd.js → ComponentConfigurationPage-DVY3LwHo.js} +3 -3
  3. package/dist/_chunks/{ComponentConfigurationPage-by0e_kNd.js.map → ComponentConfigurationPage-DVY3LwHo.js.map} +1 -1
  4. package/dist/_chunks/{ComponentConfigurationPage-CuWgXugY.mjs → ComponentConfigurationPage-Dy9BQQ2V.mjs} +3 -3
  5. package/dist/_chunks/{ComponentConfigurationPage-CuWgXugY.mjs.map → ComponentConfigurationPage-Dy9BQQ2V.mjs.map} +1 -1
  6. package/dist/_chunks/{EditConfigurationPage-DbI4KMyz.mjs → EditConfigurationPage-DbR8mWH5.mjs} +3 -3
  7. package/dist/_chunks/{EditConfigurationPage-DbI4KMyz.mjs.map → EditConfigurationPage-DbR8mWH5.mjs.map} +1 -1
  8. package/dist/_chunks/{EditConfigurationPage-CqBeCPGH.js → EditConfigurationPage-b6V7YHfo.js} +3 -3
  9. package/dist/_chunks/{EditConfigurationPage-CqBeCPGH.js.map → EditConfigurationPage-b6V7YHfo.js.map} +1 -1
  10. package/dist/_chunks/{EditViewPage-dFPBya9U.mjs → EditViewPage-CPrukwtO.mjs} +46 -46
  11. package/dist/_chunks/EditViewPage-CPrukwtO.mjs.map +1 -0
  12. package/dist/_chunks/{EditViewPage-ChgloMyO.js → EditViewPage-DhttErmY.js} +45 -45
  13. package/dist/_chunks/EditViewPage-DhttErmY.js.map +1 -0
  14. package/dist/_chunks/{Field-dLk-vgLL.js → Field-CBRV4uan.js} +416 -136
  15. package/dist/_chunks/Field-CBRV4uan.js.map +1 -0
  16. package/dist/_chunks/{Field-C1nUKcdS.mjs → Field-DrgIgQPw.mjs} +417 -137
  17. package/dist/_chunks/Field-DrgIgQPw.mjs.map +1 -0
  18. package/dist/_chunks/{Form-CbXtmHC_.js → Form-Bk3v7Frl.js} +25 -26
  19. package/dist/_chunks/Form-Bk3v7Frl.js.map +1 -0
  20. package/dist/_chunks/{Form-DOlpi7Js.mjs → Form-Dxk4txLJ.mjs} +27 -28
  21. package/dist/_chunks/Form-Dxk4txLJ.mjs.map +1 -0
  22. package/dist/_chunks/{History-BFNUAiGc.mjs → History-DSU-y4Hg.mjs} +126 -31
  23. package/dist/_chunks/History-DSU-y4Hg.mjs.map +1 -0
  24. package/dist/_chunks/{History-BjDfohBr.js → History-xNH_9UuV.js} +125 -30
  25. package/dist/_chunks/History-xNH_9UuV.js.map +1 -0
  26. package/dist/_chunks/{ListConfigurationPage-IQBgWTaa.js → ListConfigurationPage-BCPzXk5W.js} +48 -47
  27. package/dist/_chunks/ListConfigurationPage-BCPzXk5W.js.map +1 -0
  28. package/dist/_chunks/{ListConfigurationPage-DDi0KqFm.mjs → ListConfigurationPage-BWwZ-uMJ.mjs} +49 -49
  29. package/dist/_chunks/ListConfigurationPage-BWwZ-uMJ.mjs.map +1 -0
  30. package/dist/_chunks/{ListViewPage-BPjljUsH.mjs → ListViewPage-D9UmehuA.mjs} +74 -70
  31. package/dist/_chunks/ListViewPage-D9UmehuA.mjs.map +1 -0
  32. package/dist/_chunks/{ListViewPage-CZYGqlvF.js → ListViewPage-ZIvstfvl.js} +72 -68
  33. package/dist/_chunks/ListViewPage-ZIvstfvl.js.map +1 -0
  34. package/dist/_chunks/{NoContentTypePage-DaWw67K-.mjs → NoContentTypePage-CstnyWv2.mjs} +2 -2
  35. package/dist/_chunks/{NoContentTypePage-DaWw67K-.mjs.map → NoContentTypePage-CstnyWv2.mjs.map} +1 -1
  36. package/dist/_chunks/{NoContentTypePage-BOAI6VZ1.js → NoContentTypePage-h7FcuMjI.js} +2 -2
  37. package/dist/_chunks/{NoContentTypePage-BOAI6VZ1.js.map → NoContentTypePage-h7FcuMjI.js.map} +1 -1
  38. package/dist/_chunks/{NoPermissionsPage-cYEtLc_e.js → NoPermissionsPage-DofU68cO.js} +2 -2
  39. package/dist/_chunks/{NoPermissionsPage-cYEtLc_e.js.map → NoPermissionsPage-DofU68cO.js.map} +1 -1
  40. package/dist/_chunks/{NoPermissionsPage-CZrJH00p.mjs → NoPermissionsPage-aFCCLbsf.mjs} +2 -2
  41. package/dist/_chunks/{NoPermissionsPage-CZrJH00p.mjs.map → NoPermissionsPage-aFCCLbsf.mjs.map} +1 -1
  42. package/dist/_chunks/{Relations-DTowyge2.mjs → Relations-7v66IP7b.mjs} +4 -4
  43. package/dist/_chunks/Relations-7v66IP7b.mjs.map +1 -0
  44. package/dist/_chunks/{Relations-DU6B7irU.js → Relations-DAS_DKG5.js} +4 -4
  45. package/dist/_chunks/Relations-DAS_DKG5.js.map +1 -0
  46. package/dist/_chunks/{en-GCOTL6jR.mjs → en-BrCTWlZv.mjs} +9 -4
  47. package/dist/_chunks/{en-GCOTL6jR.mjs.map → en-BrCTWlZv.mjs.map} +1 -1
  48. package/dist/_chunks/{en-DTULi5-d.js → en-uOUIxfcQ.js} +9 -4
  49. package/dist/_chunks/{en-DTULi5-d.js.map → en-uOUIxfcQ.js.map} +1 -1
  50. package/dist/_chunks/{index-CCJeB7Rw.js → index-CAlLHIrI.js} +1198 -784
  51. package/dist/_chunks/index-CAlLHIrI.js.map +1 -0
  52. package/dist/_chunks/{index-BaGHmIir.mjs → index-DIQ7Io-l.mjs} +1229 -815
  53. package/dist/_chunks/index-DIQ7Io-l.mjs.map +1 -0
  54. package/dist/_chunks/{layout-ni_L9kT1.js → layout-B1ZS-usI.js} +21 -16
  55. package/dist/_chunks/layout-B1ZS-usI.js.map +1 -0
  56. package/dist/_chunks/{layout-BinjszSQ.mjs → layout-DHe2GdT4.mjs} +22 -17
  57. package/dist/_chunks/layout-DHe2GdT4.mjs.map +1 -0
  58. package/dist/_chunks/{relations-c91ji5eR.mjs → relations-BUieBWhT.mjs} +2 -2
  59. package/dist/_chunks/{relations-c91ji5eR.mjs.map → relations-BUieBWhT.mjs.map} +1 -1
  60. package/dist/_chunks/{relations-CeJAJc5I.js → relations-yXHkSG1Z.js} +2 -2
  61. package/dist/_chunks/{relations-CeJAJc5I.js.map → relations-yXHkSG1Z.js.map} +1 -1
  62. package/dist/admin/index.js +1 -1
  63. package/dist/admin/index.mjs +8 -8
  64. package/dist/admin/src/history/components/VersionInputRenderer.d.ts +1 -1
  65. package/dist/admin/src/hooks/useDocumentActions.d.ts +1 -1
  66. package/dist/admin/src/pages/EditView/components/DocumentActions.d.ts +8 -3
  67. package/dist/admin/src/pages/EditView/components/FormInputs/BlocksInput/utils/constants.d.ts +4 -0
  68. package/dist/admin/src/pages/EditView/components/FormInputs/Relations.d.ts +20 -0
  69. package/dist/admin/src/pages/EditView/components/FormInputs/Wysiwyg/WysiwygStyles.d.ts +2 -10
  70. package/dist/admin/src/pages/ListView/components/BulkActions/Actions.d.ts +3 -30
  71. package/dist/admin/src/pages/ListView/components/BulkActions/ConfirmBulkActionDialog.d.ts +2 -2
  72. package/dist/admin/src/pages/ListView/components/BulkActions/PublishAction.d.ts +14 -0
  73. package/dist/server/index.js +26 -17
  74. package/dist/server/index.js.map +1 -1
  75. package/dist/server/index.mjs +26 -17
  76. package/dist/server/index.mjs.map +1 -1
  77. package/dist/server/src/controllers/collection-types.d.ts.map +1 -1
  78. package/dist/server/src/controllers/single-types.d.ts.map +1 -1
  79. package/dist/server/src/history/services/lifecycles.d.ts.map +1 -1
  80. package/dist/server/src/history/services/utils.d.ts.map +1 -1
  81. package/dist/server/src/services/utils/populate.d.ts.map +1 -1
  82. package/package.json +8 -8
  83. package/dist/_chunks/EditViewPage-ChgloMyO.js.map +0 -1
  84. package/dist/_chunks/EditViewPage-dFPBya9U.mjs.map +0 -1
  85. package/dist/_chunks/Field-C1nUKcdS.mjs.map +0 -1
  86. package/dist/_chunks/Field-dLk-vgLL.js.map +0 -1
  87. package/dist/_chunks/Form-CbXtmHC_.js.map +0 -1
  88. package/dist/_chunks/Form-DOlpi7Js.mjs.map +0 -1
  89. package/dist/_chunks/History-BFNUAiGc.mjs.map +0 -1
  90. package/dist/_chunks/History-BjDfohBr.js.map +0 -1
  91. package/dist/_chunks/ListConfigurationPage-DDi0KqFm.mjs.map +0 -1
  92. package/dist/_chunks/ListConfigurationPage-IQBgWTaa.js.map +0 -1
  93. package/dist/_chunks/ListViewPage-BPjljUsH.mjs.map +0 -1
  94. package/dist/_chunks/ListViewPage-CZYGqlvF.js.map +0 -1
  95. package/dist/_chunks/Relations-DTowyge2.mjs.map +0 -1
  96. package/dist/_chunks/Relations-DU6B7irU.js.map +0 -1
  97. package/dist/_chunks/index-BaGHmIir.mjs.map +0 -1
  98. package/dist/_chunks/index-CCJeB7Rw.js.map +0 -1
  99. package/dist/_chunks/layout-BinjszSQ.mjs.map +0 -1
  100. package/dist/_chunks/layout-ni_L9kT1.js.map +0 -1
@@ -206,6 +206,10 @@ const createServiceUtils = ({ strapi: strapi2 }) => {
206
206
  return attributes.reduce((acc, [attributeName, attribute]) => {
207
207
  switch (attribute.type) {
208
208
  case "relation": {
209
+ const isMorphRelation = attribute.relation.toLowerCase().startsWith("morph");
210
+ if (isMorphRelation) {
211
+ break;
212
+ }
209
213
  const isVisible2 = contentTypes$1.isVisibleAttribute(model, attributeName);
210
214
  if (isVisible2) {
211
215
  acc[attributeName] = { fields: ["documentId", "locale", "publishedAt"] };
@@ -469,8 +473,6 @@ const createLifecyclesService = ({ strapi: strapi2 }) => {
469
473
  deleteExpiredJob: null,
470
474
  isInitialized: false
471
475
  };
472
- const query = strapi2.db.query(HISTORY_VERSION_UID);
473
- const historyService = getService(strapi2, "history");
474
476
  const serviceUtils = createServiceUtils({ strapi: strapi2 });
475
477
  return {
476
478
  async bootstrap() {
@@ -481,7 +483,10 @@ const createLifecyclesService = ({ strapi: strapi2 }) => {
481
483
  if (!strapi2.requestContext.get()?.request.url.startsWith("/content-manager")) {
482
484
  return next();
483
485
  }
484
- if (context.action !== "create" && context.action !== "update" && context.action !== "publish" && context.action !== "unpublish" && context.action !== "discardDraft") {
486
+ if (context.action !== "create" && context.action !== "update" && context.action !== "clone" && context.action !== "publish" && context.action !== "unpublish" && context.action !== "discardDraft") {
487
+ return next();
488
+ }
489
+ if (context.action === "update" && strapi2.requestContext.get()?.request.url.endsWith("/actions/publish")) {
485
490
  return next();
486
491
  }
487
492
  const contentTypeUid = context.contentType.uid;
@@ -489,7 +494,10 @@ const createLifecyclesService = ({ strapi: strapi2 }) => {
489
494
  return next();
490
495
  }
491
496
  const result = await next();
492
- const documentContext = context.action === "create" ? { documentId: result.documentId, locale: context.params?.locale } : { documentId: context.params.documentId, locale: context.params?.locale };
497
+ const documentContext = {
498
+ documentId: context.action === "create" || context.action === "clone" ? result.documentId : context.params.documentId,
499
+ locale: context.params?.locale
500
+ };
493
501
  const defaultLocale = await serviceUtils.getDefaultLocale();
494
502
  const locale = documentContext.locale || defaultLocale;
495
503
  if (Array.isArray(locale)) {
@@ -520,7 +528,7 @@ const createLifecyclesService = ({ strapi: strapi2 }) => {
520
528
  }, {});
521
529
  await strapi2.db.transaction(async ({ onCommit }) => {
522
530
  onCommit(() => {
523
- historyService.createVersion({
531
+ getService(strapi2, "history").createVersion({
524
532
  contentType: contentTypeUid,
525
533
  data: omit(FIELDS_TO_IGNORE, document),
526
534
  schema: omit(FIELDS_TO_IGNORE, attributesSchema),
@@ -533,11 +541,10 @@ const createLifecyclesService = ({ strapi: strapi2 }) => {
533
541
  });
534
542
  return result;
535
543
  });
536
- const retentionDays = serviceUtils.getRetentionDays();
537
544
  state.deleteExpiredJob = scheduleJob("0 0 * * *", () => {
538
- const retentionDaysInMilliseconds = retentionDays * 24 * 60 * 60 * 1e3;
545
+ const retentionDaysInMilliseconds = serviceUtils.getRetentionDays() * 24 * 60 * 60 * 1e3;
539
546
  const expirationDate = new Date(Date.now() - retentionDaysInMilliseconds);
540
- query.deleteMany({
547
+ strapi2.db.query(HISTORY_VERSION_UID).deleteMany({
541
548
  where: {
542
549
  created_at: {
543
550
  $lt: expirationDate.toISOString()
@@ -2054,7 +2061,7 @@ const collectionTypes = {
2054
2061
  if (permissionChecker2.cannot.read()) {
2055
2062
  return ctx.forbidden();
2056
2063
  }
2057
- const entities = await documentManager2.findMany(
2064
+ const documents = await documentManager2.findMany(
2058
2065
  {
2059
2066
  filters: {
2060
2067
  documentId: ids
@@ -2063,7 +2070,7 @@ const collectionTypes = {
2063
2070
  },
2064
2071
  model
2065
2072
  );
2066
- if (!entities) {
2073
+ if (!documents) {
2067
2074
  return ctx.notFound();
2068
2075
  }
2069
2076
  const number = await documentManager2.countManyEntriesDraftRelations(ids, model, locale);
@@ -3729,22 +3736,24 @@ const getDeepPopulateDraftCount = (uid2) => {
3729
3736
  attribute.component
3730
3737
  );
3731
3738
  if (childHasRelations) {
3732
- populateAcc[attributeName] = { populate: populate2 };
3739
+ populateAcc[attributeName] = {
3740
+ populate: populate2
3741
+ };
3733
3742
  hasRelations = true;
3734
3743
  }
3735
3744
  break;
3736
3745
  }
3737
3746
  case "dynamiczone": {
3738
- const dzPopulate = (attribute.components || []).reduce((acc, componentUID) => {
3739
- const { populate: populate2, hasRelations: childHasRelations } = getDeepPopulateDraftCount(componentUID);
3740
- if (childHasRelations) {
3747
+ const dzPopulateFragment = attribute.components?.reduce((acc, componentUID) => {
3748
+ const { populate: componentPopulate, hasRelations: componentHasRelations } = getDeepPopulateDraftCount(componentUID);
3749
+ if (componentHasRelations) {
3741
3750
  hasRelations = true;
3742
- return merge(acc, populate2);
3751
+ return { ...acc, [componentUID]: { populate: componentPopulate } };
3743
3752
  }
3744
3753
  return acc;
3745
3754
  }, {});
3746
- if (!isEmpty(dzPopulate)) {
3747
- populateAcc[attributeName] = { populate: dzPopulate };
3755
+ if (!isEmpty(dzPopulateFragment)) {
3756
+ populateAcc[attributeName] = { on: dzPopulateFragment };
3748
3757
  }
3749
3758
  break;
3750
3759
  }