@webiny/app-headless-cms 6.1.0-beta.3 → 6.2.0-beta.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 (172) hide show
  1. package/HeadlessCMS.js +5 -2
  2. package/HeadlessCMS.js.map +1 -1
  3. package/admin/components/ContentEntryForm/Header/Header.js +3 -6
  4. package/admin/components/ContentEntryForm/Header/Header.js.map +1 -1
  5. package/admin/components/ContentEntryForm/Header/RevisionSelector/RevisionSelector.js +1 -1
  6. package/admin/components/ContentEntryForm/Header/RevisionSelector/RevisionSelector.js.map +1 -1
  7. package/admin/contexts/Cms/index.js +32 -2
  8. package/admin/contexts/Cms/index.js.map +1 -1
  9. package/admin/hooks/usePermission.js +132 -125
  10. package/admin/hooks/usePermission.js.map +1 -1
  11. package/admin/plugins/apiInformation/index.js +3 -3
  12. package/admin/plugins/apiInformation/index.js.map +1 -1
  13. package/admin/plugins/apiInformation/placeholder.manage.graphql.d.ts +1 -0
  14. package/admin/plugins/apiInformation/placeholder.manage.graphql.js +22 -0
  15. package/admin/plugins/apiInformation/placeholder.manage.graphql.js.map +1 -0
  16. package/admin/plugins/apiInformation/placeholder.preview.graphql.d.ts +1 -0
  17. package/admin/plugins/apiInformation/placeholder.preview.graphql.js +19 -0
  18. package/admin/plugins/apiInformation/placeholder.preview.graphql.js.map +1 -0
  19. package/admin/plugins/apiInformation/placeholder.read.graphql.d.ts +1 -0
  20. package/admin/plugins/apiInformation/placeholder.read.graphql.js +20 -0
  21. package/admin/plugins/apiInformation/placeholder.read.graphql.js.map +1 -0
  22. package/admin/views/contentEntries/ContentEntriesContext.js +5 -15
  23. package/admin/views/contentEntries/ContentEntriesContext.js.map +1 -1
  24. package/admin/views/contentEntries/ContentEntriesModule.js +20 -14
  25. package/admin/views/contentEntries/ContentEntriesModule.js.map +1 -1
  26. package/admin/views/contentModels/ContentModelsDataList.js +103 -88
  27. package/admin/views/contentModels/ContentModelsDataList.js.map +1 -1
  28. package/domain/permissionsSchema.d.ts +31 -0
  29. package/domain/permissionsSchema.js +34 -0
  30. package/domain/permissionsSchema.js.map +1 -0
  31. package/exports/admin/cms.d.ts +3 -0
  32. package/exports/admin/cms.js +4 -0
  33. package/exports/admin/cms.js.map +1 -1
  34. package/features/ListCache.d.ts +29 -0
  35. package/features/ListCache.js +43 -0
  36. package/features/ListCache.js.map +1 -0
  37. package/features/contentEntry/events/EntryAfterCreateEvent.d.ts +10 -0
  38. package/features/contentEntry/events/EntryAfterCreateEvent.js +10 -0
  39. package/features/contentEntry/events/EntryAfterCreateEvent.js.map +1 -0
  40. package/features/contentEntry/events/EntryAfterDeleteEvent.d.ts +11 -0
  41. package/features/contentEntry/events/EntryAfterDeleteEvent.js +10 -0
  42. package/features/contentEntry/events/EntryAfterDeleteEvent.js.map +1 -0
  43. package/features/contentEntry/events/EntryAfterUpdateEvent.d.ts +10 -0
  44. package/features/contentEntry/events/EntryAfterUpdateEvent.js +10 -0
  45. package/features/contentEntry/events/EntryAfterUpdateEvent.js.map +1 -0
  46. package/features/contentEntry/events/abstractions.d.ts +19 -0
  47. package/features/contentEntry/events/abstractions.js +6 -0
  48. package/features/contentEntry/events/abstractions.js.map +1 -0
  49. package/features/contentEntry/events/index.d.ts +7 -0
  50. package/features/contentEntry/events/index.js +6 -0
  51. package/features/contentEntry/events/index.js.map +1 -0
  52. package/features/graphQLClient/CmsGraphQLClient.d.ts +13 -0
  53. package/features/graphQLClient/CmsGraphQLClient.js +21 -0
  54. package/features/graphQLClient/CmsGraphQLClient.js.map +1 -0
  55. package/features/graphQLClient/abstractions.d.ts +17 -0
  56. package/features/graphQLClient/abstractions.js +4 -0
  57. package/features/graphQLClient/abstractions.js.map +1 -0
  58. package/features/graphQLClient/feature.d.ts +3 -0
  59. package/features/graphQLClient/feature.js +16 -0
  60. package/features/graphQLClient/feature.js.map +1 -0
  61. package/features/graphQLClient/index.d.ts +1 -0
  62. package/features/graphQLClient/index.js +3 -0
  63. package/features/graphQLClient/index.js.map +1 -0
  64. package/features/modelGroup/abstractions.d.ts +6 -0
  65. package/features/modelGroup/abstractions.js +4 -0
  66. package/features/modelGroup/abstractions.js.map +1 -0
  67. package/features/modelGroup/createModelGroup/CreateModelGroupGateway.d.ts +23 -0
  68. package/features/modelGroup/createModelGroup/CreateModelGroupGateway.js +59 -0
  69. package/features/modelGroup/createModelGroup/CreateModelGroupGateway.js.map +1 -0
  70. package/features/modelGroup/createModelGroup/CreateModelGroupRepository.d.ts +13 -0
  71. package/features/modelGroup/createModelGroup/CreateModelGroupRepository.js +19 -0
  72. package/features/modelGroup/createModelGroup/CreateModelGroupRepository.js.map +1 -0
  73. package/features/modelGroup/createModelGroup/CreateModelGroupUseCase.d.ts +10 -0
  74. package/features/modelGroup/createModelGroup/CreateModelGroupUseCase.js +15 -0
  75. package/features/modelGroup/createModelGroup/CreateModelGroupUseCase.js.map +1 -0
  76. package/features/modelGroup/createModelGroup/abstractions.d.ts +29 -0
  77. package/features/modelGroup/createModelGroup/abstractions.js +15 -0
  78. package/features/modelGroup/createModelGroup/abstractions.js.map +1 -0
  79. package/features/modelGroup/createModelGroup/feature.d.ts +3 -0
  80. package/features/modelGroup/createModelGroup/feature.js +20 -0
  81. package/features/modelGroup/createModelGroup/feature.js.map +1 -0
  82. package/features/modelGroup/deleteModelGroup/DeleteModelGroupGateway.d.ts +21 -0
  83. package/features/modelGroup/deleteModelGroup/DeleteModelGroupGateway.js +41 -0
  84. package/features/modelGroup/deleteModelGroup/DeleteModelGroupGateway.js.map +1 -0
  85. package/features/modelGroup/deleteModelGroup/DeleteModelGroupRepository.d.ts +12 -0
  86. package/features/modelGroup/deleteModelGroup/DeleteModelGroupRepository.js +18 -0
  87. package/features/modelGroup/deleteModelGroup/DeleteModelGroupRepository.js.map +1 -0
  88. package/features/modelGroup/deleteModelGroup/DeleteModelGroupUseCase.d.ts +10 -0
  89. package/features/modelGroup/deleteModelGroup/DeleteModelGroupUseCase.js +15 -0
  90. package/features/modelGroup/deleteModelGroup/DeleteModelGroupUseCase.js.map +1 -0
  91. package/features/modelGroup/deleteModelGroup/abstractions.d.ts +21 -0
  92. package/features/modelGroup/deleteModelGroup/abstractions.js +15 -0
  93. package/features/modelGroup/deleteModelGroup/abstractions.js.map +1 -0
  94. package/features/modelGroup/deleteModelGroup/feature.d.ts +3 -0
  95. package/features/modelGroup/deleteModelGroup/feature.js +20 -0
  96. package/features/modelGroup/deleteModelGroup/feature.js.map +1 -0
  97. package/features/modelGroup/feature.d.ts +1 -0
  98. package/features/modelGroup/feature.js +21 -0
  99. package/features/modelGroup/feature.js.map +1 -0
  100. package/features/modelGroup/getModelGroup/GetModelGroupGateway.d.ts +22 -0
  101. package/features/modelGroup/getModelGroup/GetModelGroupGateway.js +55 -0
  102. package/features/modelGroup/getModelGroup/GetModelGroupGateway.js.map +1 -0
  103. package/features/modelGroup/getModelGroup/GetModelGroupRepository.d.ts +12 -0
  104. package/features/modelGroup/getModelGroup/GetModelGroupRepository.js +19 -0
  105. package/features/modelGroup/getModelGroup/GetModelGroupRepository.js.map +1 -0
  106. package/features/modelGroup/getModelGroup/GetModelGroupUseCase.d.ts +10 -0
  107. package/features/modelGroup/getModelGroup/GetModelGroupUseCase.js +15 -0
  108. package/features/modelGroup/getModelGroup/GetModelGroupUseCase.js.map +1 -0
  109. package/features/modelGroup/getModelGroup/abstractions.d.ts +22 -0
  110. package/features/modelGroup/getModelGroup/abstractions.js +15 -0
  111. package/features/modelGroup/getModelGroup/abstractions.js.map +1 -0
  112. package/features/modelGroup/getModelGroup/feature.d.ts +3 -0
  113. package/features/modelGroup/getModelGroup/feature.js +20 -0
  114. package/features/modelGroup/getModelGroup/feature.js.map +1 -0
  115. package/features/modelGroup/listModelGroups/ListModelGroupsGateway.d.ts +19 -0
  116. package/features/modelGroup/listModelGroups/ListModelGroupsGateway.js +56 -0
  117. package/features/modelGroup/listModelGroups/ListModelGroupsGateway.js.map +1 -0
  118. package/features/modelGroup/listModelGroups/ListModelGroupsRepository.d.ts +12 -0
  119. package/features/modelGroup/listModelGroups/ListModelGroupsRepository.js +23 -0
  120. package/features/modelGroup/listModelGroups/ListModelGroupsRepository.js.map +1 -0
  121. package/features/modelGroup/listModelGroups/ListModelGroupsUseCase.d.ts +10 -0
  122. package/features/modelGroup/listModelGroups/ListModelGroupsUseCase.js +15 -0
  123. package/features/modelGroup/listModelGroups/ListModelGroupsUseCase.js.map +1 -0
  124. package/features/modelGroup/listModelGroups/abstractions.d.ts +39 -0
  125. package/features/modelGroup/listModelGroups/abstractions.js +15 -0
  126. package/features/modelGroup/listModelGroups/abstractions.js.map +1 -0
  127. package/features/modelGroup/listModelGroups/feature.d.ts +3 -0
  128. package/features/modelGroup/listModelGroups/feature.js +20 -0
  129. package/features/modelGroup/listModelGroups/feature.js.map +1 -0
  130. package/features/modelGroup/updateModelGroup/UpdateModelGroupGateway.d.ts +24 -0
  131. package/features/modelGroup/updateModelGroup/UpdateModelGroupGateway.js +56 -0
  132. package/features/modelGroup/updateModelGroup/UpdateModelGroupGateway.js.map +1 -0
  133. package/features/modelGroup/updateModelGroup/UpdateModelGroupRepository.d.ts +13 -0
  134. package/features/modelGroup/updateModelGroup/UpdateModelGroupRepository.js +31 -0
  135. package/features/modelGroup/updateModelGroup/UpdateModelGroupRepository.js.map +1 -0
  136. package/features/modelGroup/updateModelGroup/UpdateModelGroupUseCase.d.ts +10 -0
  137. package/features/modelGroup/updateModelGroup/UpdateModelGroupUseCase.js +15 -0
  138. package/features/modelGroup/updateModelGroup/UpdateModelGroupUseCase.js.map +1 -0
  139. package/features/modelGroup/updateModelGroup/abstractions.d.ts +30 -0
  140. package/features/modelGroup/updateModelGroup/abstractions.js +15 -0
  141. package/features/modelGroup/updateModelGroup/abstractions.js.map +1 -0
  142. package/features/modelGroup/updateModelGroup/feature.d.ts +3 -0
  143. package/features/modelGroup/updateModelGroup/feature.js +20 -0
  144. package/features/modelGroup/updateModelGroup/feature.js.map +1 -0
  145. package/features/permissions/abstractions.d.ts +17 -0
  146. package/features/permissions/abstractions.js +5 -0
  147. package/features/permissions/abstractions.js.map +1 -0
  148. package/features/permissions/feature.d.ts +14 -0
  149. package/features/permissions/feature.js +6 -0
  150. package/features/permissions/feature.js.map +1 -0
  151. package/package.json +29 -30
  152. package/presentation/modelGroup/hooks/index.d.ts +5 -0
  153. package/presentation/modelGroup/hooks/index.js +7 -0
  154. package/presentation/modelGroup/hooks/index.js.map +1 -0
  155. package/presentation/modelGroup/hooks/useCreateModelGroup.d.ts +4 -0
  156. package/presentation/modelGroup/hooks/useCreateModelGroup.js +12 -0
  157. package/presentation/modelGroup/hooks/useCreateModelGroup.js.map +1 -0
  158. package/presentation/modelGroup/hooks/useDeleteModelGroup.d.ts +3 -0
  159. package/presentation/modelGroup/hooks/useDeleteModelGroup.js +12 -0
  160. package/presentation/modelGroup/hooks/useDeleteModelGroup.js.map +1 -0
  161. package/presentation/modelGroup/hooks/useGetModelGroup.d.ts +3 -0
  162. package/presentation/modelGroup/hooks/useGetModelGroup.js +12 -0
  163. package/presentation/modelGroup/hooks/useGetModelGroup.js.map +1 -0
  164. package/presentation/modelGroup/hooks/useListModelGroups.d.ts +3 -0
  165. package/presentation/modelGroup/hooks/useListModelGroups.js +16 -0
  166. package/presentation/modelGroup/hooks/useListModelGroups.js.map +1 -0
  167. package/presentation/modelGroup/hooks/useUpdateModelGroup.d.ts +4 -0
  168. package/presentation/modelGroup/hooks/useUpdateModelGroup.js +12 -0
  169. package/presentation/modelGroup/hooks/useUpdateModelGroup.js.map +1 -0
  170. package/admin/plugins/apiInformation/placeholder.manage.graphql +0 -18
  171. package/admin/plugins/apiInformation/placeholder.preview.graphql +0 -15
  172. package/admin/plugins/apiInformation/placeholder.read.graphql +0 -16
@@ -15,6 +15,8 @@ import { FullScreenContentEntry } from "./ContentEntry/FullScreenContentEntry/in
15
15
  import { ShowRevisionList } from "../../components/ContentEntryForm/Header/ShowRevisionsList/index.js";
16
16
  import { AdvancedSearchConfigs } from "@webiny/app-aco/components/AdvancedSearch/AdvancedSearchConfigs";
17
17
  import { IsModelPublishable } from "../../components/IsModelPublishable.js";
18
+ import { ContentFormOptionsMenu } from "../../components/ContentEntryForm/Header/ContentFormOptionsMenu/index.js";
19
+ import { RevisionSelector } from "../../components/ContentEntryForm/Header/index.js";
18
20
  const {
19
21
  Browser
20
22
  } = InternalContentEntryListConfig;
@@ -57,42 +59,39 @@ export const ContentEntriesModule = () => {
57
59
  element: /*#__PURE__*/React.createElement(MoveEntry, null)
58
60
  }), /*#__PURE__*/React.createElement(Browser.Entry.Action, {
59
61
  name: "delete",
60
- element: /*#__PURE__*/React.createElement(DeleteEntry, null)
62
+ element: /*#__PURE__*/React.createElement(DeleteEntry, null),
63
+ after: "$last"
61
64
  }), /*#__PURE__*/React.createElement(Browser.Table.Column, {
62
65
  name: "name",
63
66
  header: "Name",
64
67
  cell: /*#__PURE__*/React.createElement(CellName, null),
65
68
  sortable: true,
66
69
  hideable: false,
67
- size: 200,
68
- className: "cms-aco-list-title"
70
+ size: 200
69
71
  }), /*#__PURE__*/React.createElement(Browser.Table.Column, {
70
72
  name: "createdBy",
71
73
  header: "Author",
72
- cell: /*#__PURE__*/React.createElement(CellAuthor, null),
73
- className: "cms-aco-list-createdBy"
74
+ cell: /*#__PURE__*/React.createElement(CellAuthor, null)
74
75
  }), /*#__PURE__*/React.createElement(Browser.Table.Column, {
75
76
  name: "createdOn",
76
77
  header: "Created",
77
78
  cell: /*#__PURE__*/React.createElement(CellCreated, null),
78
- sortable: true,
79
- className: "cms-aco-list-createdOn"
79
+ sortable: true
80
80
  }), /*#__PURE__*/React.createElement(Browser.Table.Column, {
81
81
  name: "savedOn",
82
82
  header: "Modified",
83
83
  cell: /*#__PURE__*/React.createElement(CellModified, null),
84
- sortable: true,
85
- className: "cms-aco-list-savedOn"
84
+ sortable: true
86
85
  }), /*#__PURE__*/React.createElement(IsModelPublishable, null, /*#__PURE__*/React.createElement(Browser.Table.Column, {
87
86
  name: "status",
88
87
  header: "Status",
89
88
  cell: /*#__PURE__*/React.createElement(CellStatus, null),
90
- className: "cms-aco-list-status"
89
+ truncate: false
91
90
  }), /*#__PURE__*/React.createElement(Browser.Table.Column, {
92
91
  name: "live",
93
92
  header: "Live",
94
- cell: /*#__PURE__*/React.createElement(CellLive, null),
95
- className: "cms-aco-list-live"
93
+ truncate: false,
94
+ cell: /*#__PURE__*/React.createElement(CellLive, null)
96
95
  })), /*#__PURE__*/React.createElement(Browser.Table.Column, {
97
96
  name: "actions",
98
97
  header: "",
@@ -100,12 +99,19 @@ export const ContentEntriesModule = () => {
100
99
  size: 56,
101
100
  resizable: false,
102
101
  hideable: false,
103
- className: "cms-aco-list-actions text-right"
102
+ truncate: false,
103
+ className: "flex justify-center"
104
104
  }), /*#__PURE__*/React.createElement(Browser.AdvancedSearch.FieldRenderer, {
105
105
  name: "ref",
106
106
  element: /*#__PURE__*/React.createElement(Ref, null),
107
107
  type: Browser.AdvancedSearch.FieldRenderer.FieldType.REF
108
- })), /*#__PURE__*/React.createElement(ContentEntryEditorConfig, null, /*#__PURE__*/React.createElement(ShowConfirmationOnPublish, null), /*#__PURE__*/React.createElement(ShowConfirmationOnUnpublish, null), /*#__PURE__*/React.createElement(ShowConfirmationOnDelete, null), /*#__PURE__*/React.createElement(ShowConfirmationOnDeleteRevision, null), /*#__PURE__*/React.createElement(Actions.ButtonAction, {
108
+ })), /*#__PURE__*/React.createElement(ContentEntryEditorConfig, null, /*#__PURE__*/React.createElement(ShowConfirmationOnPublish, null), /*#__PURE__*/React.createElement(ShowConfirmationOnUnpublish, null), /*#__PURE__*/React.createElement(ShowConfirmationOnDelete, null), /*#__PURE__*/React.createElement(ShowConfirmationOnDeleteRevision, null), /*#__PURE__*/React.createElement(IsModelPublishable, null, /*#__PURE__*/React.createElement(Actions.ButtonAction, {
109
+ name: "revisionSelector",
110
+ element: /*#__PURE__*/React.createElement(RevisionSelector, null)
111
+ })), /*#__PURE__*/React.createElement(Actions.ButtonAction, {
112
+ name: "optionsMenu",
113
+ element: /*#__PURE__*/React.createElement(ContentFormOptionsMenu, null)
114
+ }), /*#__PURE__*/React.createElement(Actions.ButtonAction, {
109
115
  name: "save",
110
116
  element: /*#__PURE__*/React.createElement(SaveContentButton, null)
111
117
  }), /*#__PURE__*/React.createElement(IsModelPublishable, null, /*#__PURE__*/React.createElement(Actions.ButtonAction, {
@@ -1 +1 @@
1
- {"version":3,"names":["React","ContentEntryEditorConfig","InternalContentEntryListConfig","ActionDelete","ActionMove","ActionPublish","ActionUnpublish","FilterByStatus","DeleteEntry","DeleteEntryMenuItem","SaveAndPublishButton","SaveContentButton","DeleteFolder","EditFolder","SetFolderPermissions","ChangeEntryStatus","EditEntry","MoveEntry","CellActions","CellAuthor","CellCreated","CellLive","CellModified","CellName","CellStatus","Ref","ShowConfirmationOnDelete","ShowConfirmationOnPublish","ShowConfirmationOnUnpublish","ShowConfirmationOnDeleteRevision","FullScreenContentEntry","ShowRevisionList","AdvancedSearchConfigs","IsModelPublishable","Browser","Actions","ContentEntriesModule","createElement","Fragment","Filter","name","element","BulkAction","Folder","Action","Entry","Table","Column","header","cell","sortable","hideable","size","className","resizable","AdvancedSearch","FieldRenderer","type","FieldType","REF","ButtonAction","MenuItemAction"],"sources":["ContentEntriesModule.tsx"],"sourcesContent":["import React from \"react\";\nimport {\n ContentEntryEditorConfig,\n InternalContentEntryListConfig\n} from \"~/admin/config/contentEntries/index.js\";\n\nimport {\n ActionDelete,\n ActionMove,\n ActionPublish,\n ActionUnpublish\n} from \"~/admin/components/ContentEntries/BulkActions/index.js\";\nimport { FilterByStatus } from \"~/admin/components/ContentEntries/Filters/index.js\";\nimport {\n DeleteEntry as DeleteEntryMenuItem,\n SaveAndPublishButton,\n SaveContentButton\n} from \"~/admin/components/ContentEntryForm/Header/index.js\";\nimport { DeleteFolder, EditFolder, SetFolderPermissions } from \"@webiny/app-aco\";\nimport {\n ChangeEntryStatus,\n DeleteEntry,\n EditEntry,\n MoveEntry\n} from \"~/admin/components/ContentEntries/Table/Actions/index.js\";\nimport {\n CellActions,\n CellAuthor,\n CellCreated,\n CellLive,\n CellModified,\n CellName,\n CellStatus\n} from \"~/admin/components/ContentEntries/Table/Cells/index.js\";\nimport { Ref } from \"~/admin/components/ContentEntries/Filters/RefFieldRenderer/index.js\";\nimport { ShowConfirmationOnDelete } from \"~/admin/components/Decorators/ShowConfirmationOnDelete.js\";\nimport { ShowConfirmationOnPublish } from \"~/admin/components/Decorators/ShowConfirmationOnPublish.js\";\nimport { ShowConfirmationOnUnpublish } from \"~/admin/components/Decorators/ShowConfirmationOnUnpublish.js\";\nimport { ShowConfirmationOnDeleteRevision } from \"~/admin/components/Decorators/ShowConfirmationOnDeleteRevision.js\";\nimport { FullScreenContentEntry } from \"~/admin/views/contentEntries/ContentEntry/FullScreenContentEntry/index.js\";\nimport { ShowRevisionList } from \"~/admin/components/ContentEntryForm/Header/ShowRevisionsList/index.js\";\nimport { AdvancedSearchConfigs } from \"@webiny/app-aco/components/AdvancedSearch/AdvancedSearchConfigs\";\nimport { IsModelPublishable } from \"~/admin/components/IsModelPublishable.js\";\n\nconst { Browser } = InternalContentEntryListConfig;\nconst { Actions } = ContentEntryEditorConfig;\n\nexport const ContentEntriesModule = () => {\n return (\n <>\n <InternalContentEntryListConfig>\n <AdvancedSearchConfigs />\n <IsModelPublishable>\n <Browser.Filter name={\"status\"} element={<FilterByStatus />} />\n <Browser.BulkAction name={\"publish\"} element={<ActionPublish />} />\n <Browser.BulkAction name={\"unpublish\"} element={<ActionUnpublish />} />\n </IsModelPublishable>\n <Browser.BulkAction name={\"move\"} element={<ActionMove />} />\n <Browser.BulkAction name={\"delete\"} element={<ActionDelete />} />\n <Browser.Folder.Action name={\"edit\"} element={<EditFolder />} />\n <Browser.Folder.Action name={\"permissions\"} element={<SetFolderPermissions />} />\n <Browser.Folder.Action name={\"delete\"} element={<DeleteFolder />} />\n <Browser.Entry.Action name={\"edit\"} element={<EditEntry />} />\n <IsModelPublishable>\n <Browser.Entry.Action name={\"status\"} element={<ChangeEntryStatus />} />\n </IsModelPublishable>\n <Browser.Entry.Action name={\"move\"} element={<MoveEntry />} />\n <Browser.Entry.Action name={\"delete\"} element={<DeleteEntry />} />\n <Browser.Table.Column\n name={\"name\"}\n header={\"Name\"}\n cell={<CellName />}\n sortable={true}\n hideable={false}\n size={200}\n className={\"cms-aco-list-title\"}\n />\n <Browser.Table.Column\n name={\"createdBy\"}\n header={\"Author\"}\n cell={<CellAuthor />}\n className={\"cms-aco-list-createdBy\"}\n />\n <Browser.Table.Column\n name={\"createdOn\"}\n header={\"Created\"}\n cell={<CellCreated />}\n sortable={true}\n className={\"cms-aco-list-createdOn\"}\n />\n <Browser.Table.Column\n name={\"savedOn\"}\n header={\"Modified\"}\n cell={<CellModified />}\n sortable={true}\n className={\"cms-aco-list-savedOn\"}\n />\n <IsModelPublishable>\n <Browser.Table.Column\n name={\"status\"}\n header={\"Status\"}\n cell={<CellStatus />}\n className={\"cms-aco-list-status\"}\n />\n <Browser.Table.Column\n name={\"live\"}\n header={\"Live\"}\n cell={<CellLive />}\n className={\"cms-aco-list-live\"}\n />\n </IsModelPublishable>\n <Browser.Table.Column\n name={\"actions\"}\n header={\"\"}\n cell={<CellActions />}\n size={56}\n resizable={false}\n hideable={false}\n className={\"cms-aco-list-actions text-right\"}\n />\n <Browser.AdvancedSearch.FieldRenderer\n name={\"ref\"}\n element={<Ref />}\n type={Browser.AdvancedSearch.FieldRenderer.FieldType.REF}\n />\n </InternalContentEntryListConfig>\n <ContentEntryEditorConfig>\n <ShowConfirmationOnPublish />\n <ShowConfirmationOnUnpublish />\n <ShowConfirmationOnDelete />\n <ShowConfirmationOnDeleteRevision />\n <Actions.ButtonAction name={\"save\"} element={<SaveContentButton />} />\n <IsModelPublishable>\n <Actions.ButtonAction name={\"publish\"} element={<SaveAndPublishButton />} />\n </IsModelPublishable>\n <Actions.MenuItemAction name={\"delete\"} element={<DeleteEntryMenuItem />} />\n <IsModelPublishable>\n <Actions.MenuItemAction\n name={\"showRevisionsList\"}\n element={<ShowRevisionList />}\n />\n </IsModelPublishable>\n </ContentEntryEditorConfig>\n <FullScreenContentEntry />\n </>\n );\n};\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["React","ContentEntryEditorConfig","InternalContentEntryListConfig","ActionDelete","ActionMove","ActionPublish","ActionUnpublish","FilterByStatus","DeleteEntry","DeleteEntryMenuItem","SaveAndPublishButton","SaveContentButton","DeleteFolder","EditFolder","SetFolderPermissions","ChangeEntryStatus","EditEntry","MoveEntry","CellActions","CellAuthor","CellCreated","CellLive","CellModified","CellName","CellStatus","Ref","ShowConfirmationOnDelete","ShowConfirmationOnPublish","ShowConfirmationOnUnpublish","ShowConfirmationOnDeleteRevision","FullScreenContentEntry","ShowRevisionList","AdvancedSearchConfigs","IsModelPublishable","ContentFormOptionsMenu","RevisionSelector","Browser","Actions","ContentEntriesModule","createElement","Fragment","Filter","name","element","BulkAction","Folder","Action","Entry","after","Table","Column","header","cell","sortable","hideable","size","truncate","resizable","className","AdvancedSearch","FieldRenderer","type","FieldType","REF","ButtonAction","MenuItemAction"],"sources":["ContentEntriesModule.tsx"],"sourcesContent":["import React from \"react\";\nimport {\n ContentEntryEditorConfig,\n InternalContentEntryListConfig\n} from \"~/admin/config/contentEntries/index.js\";\n\nimport {\n ActionDelete,\n ActionMove,\n ActionPublish,\n ActionUnpublish\n} from \"~/admin/components/ContentEntries/BulkActions/index.js\";\nimport { FilterByStatus } from \"~/admin/components/ContentEntries/Filters/index.js\";\nimport {\n DeleteEntry as DeleteEntryMenuItem,\n SaveAndPublishButton,\n SaveContentButton\n} from \"~/admin/components/ContentEntryForm/Header/index.js\";\nimport { DeleteFolder, EditFolder, SetFolderPermissions } from \"@webiny/app-aco\";\nimport {\n ChangeEntryStatus,\n DeleteEntry,\n EditEntry,\n MoveEntry\n} from \"~/admin/components/ContentEntries/Table/Actions/index.js\";\nimport {\n CellActions,\n CellAuthor,\n CellCreated,\n CellLive,\n CellModified,\n CellName,\n CellStatus\n} from \"~/admin/components/ContentEntries/Table/Cells/index.js\";\nimport { Ref } from \"~/admin/components/ContentEntries/Filters/RefFieldRenderer/index.js\";\nimport { ShowConfirmationOnDelete } from \"~/admin/components/Decorators/ShowConfirmationOnDelete.js\";\nimport { ShowConfirmationOnPublish } from \"~/admin/components/Decorators/ShowConfirmationOnPublish.js\";\nimport { ShowConfirmationOnUnpublish } from \"~/admin/components/Decorators/ShowConfirmationOnUnpublish.js\";\nimport { ShowConfirmationOnDeleteRevision } from \"~/admin/components/Decorators/ShowConfirmationOnDeleteRevision.js\";\nimport { FullScreenContentEntry } from \"~/admin/views/contentEntries/ContentEntry/FullScreenContentEntry/index.js\";\nimport { ShowRevisionList } from \"~/admin/components/ContentEntryForm/Header/ShowRevisionsList/index.js\";\nimport { AdvancedSearchConfigs } from \"@webiny/app-aco/components/AdvancedSearch/AdvancedSearchConfigs\";\nimport { IsModelPublishable } from \"~/admin/components/IsModelPublishable.js\";\nimport { ContentFormOptionsMenu } from \"~/admin/components/ContentEntryForm/Header/ContentFormOptionsMenu/index.js\";\nimport { RevisionSelector } from \"~/admin/components/ContentEntryForm/Header/index.js\";\n\nconst { Browser } = InternalContentEntryListConfig;\nconst { Actions } = ContentEntryEditorConfig;\n\nexport const ContentEntriesModule = () => {\n return (\n <>\n <InternalContentEntryListConfig>\n <AdvancedSearchConfigs />\n <IsModelPublishable>\n <Browser.Filter name={\"status\"} element={<FilterByStatus />} />\n <Browser.BulkAction name={\"publish\"} element={<ActionPublish />} />\n <Browser.BulkAction name={\"unpublish\"} element={<ActionUnpublish />} />\n </IsModelPublishable>\n <Browser.BulkAction name={\"move\"} element={<ActionMove />} />\n <Browser.BulkAction name={\"delete\"} element={<ActionDelete />} />\n <Browser.Folder.Action name={\"edit\"} element={<EditFolder />} />\n <Browser.Folder.Action name={\"permissions\"} element={<SetFolderPermissions />} />\n <Browser.Folder.Action name={\"delete\"} element={<DeleteFolder />} />\n <Browser.Entry.Action name={\"edit\"} element={<EditEntry />} />\n <IsModelPublishable>\n <Browser.Entry.Action name={\"status\"} element={<ChangeEntryStatus />} />\n </IsModelPublishable>\n <Browser.Entry.Action name={\"move\"} element={<MoveEntry />} />\n <Browser.Entry.Action name={\"delete\"} element={<DeleteEntry />} after={\"$last\"} />\n <Browser.Table.Column\n name={\"name\"}\n header={\"Name\"}\n cell={<CellName />}\n sortable={true}\n hideable={false}\n size={200}\n />\n <Browser.Table.Column name={\"createdBy\"} header={\"Author\"} cell={<CellAuthor />} />\n <Browser.Table.Column\n name={\"createdOn\"}\n header={\"Created\"}\n cell={<CellCreated />}\n sortable={true}\n />\n <Browser.Table.Column\n name={\"savedOn\"}\n header={\"Modified\"}\n cell={<CellModified />}\n sortable={true}\n />\n <IsModelPublishable>\n <Browser.Table.Column\n name={\"status\"}\n header={\"Status\"}\n cell={<CellStatus />}\n truncate={false}\n />\n <Browser.Table.Column\n name={\"live\"}\n header={\"Live\"}\n truncate={false}\n cell={<CellLive />}\n />\n </IsModelPublishable>\n <Browser.Table.Column\n name={\"actions\"}\n header={\"\"}\n cell={<CellActions />}\n size={56}\n resizable={false}\n hideable={false}\n truncate={false}\n className={\"flex justify-center\"}\n />\n <Browser.AdvancedSearch.FieldRenderer\n name={\"ref\"}\n element={<Ref />}\n type={Browser.AdvancedSearch.FieldRenderer.FieldType.REF}\n />\n </InternalContentEntryListConfig>\n <ContentEntryEditorConfig>\n <ShowConfirmationOnPublish />\n <ShowConfirmationOnUnpublish />\n <ShowConfirmationOnDelete />\n <ShowConfirmationOnDeleteRevision />\n <IsModelPublishable>\n <Actions.ButtonAction\n name={\"revisionSelector\"}\n element={<RevisionSelector />}\n />\n </IsModelPublishable>\n <Actions.ButtonAction name={\"optionsMenu\"} element={<ContentFormOptionsMenu />} />\n <Actions.ButtonAction name={\"save\"} element={<SaveContentButton />} />\n <IsModelPublishable>\n <Actions.ButtonAction name={\"publish\"} element={<SaveAndPublishButton />} />\n </IsModelPublishable>\n <Actions.MenuItemAction name={\"delete\"} element={<DeleteEntryMenuItem />} />\n <IsModelPublishable>\n <Actions.MenuItemAction\n name={\"showRevisionsList\"}\n element={<ShowRevisionList />}\n />\n </IsModelPublishable>\n </ContentEntryEditorConfig>\n <FullScreenContentEntry />\n </>\n );\n};\n"],"mappings":"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","ignoreList":[]}
@@ -57,6 +57,12 @@ const DisplayIcon = ({
57
57
  })
58
58
  })));
59
59
  };
60
+ const isHidden = model => {
61
+ if (!model.tags?.length) {
62
+ return false;
63
+ }
64
+ return model.tags.includes("$hidden:true");
65
+ };
60
66
  const ContentModelsDataList = ({
61
67
  canCreate,
62
68
  onCreate,
@@ -69,7 +75,7 @@ const ContentModelsDataList = ({
69
75
  goToRoute
70
76
  } = useRouter();
71
77
  const {
72
- models,
78
+ models: initialModels,
73
79
  loading,
74
80
  refresh
75
81
  } = useModels();
@@ -77,6 +83,11 @@ const ContentModelsDataList = ({
77
83
  canDelete,
78
84
  canEdit
79
85
  } = usePermission();
86
+ const models = useMemo(() => {
87
+ return initialModels.filter(model => {
88
+ return !isHidden(model);
89
+ });
90
+ }, [initialModels]);
80
91
  const [modelToBeDeleted, setModelToBeDeleted] = useState(null);
81
92
  const filterData = useCallback(({
82
93
  name
@@ -162,93 +173,97 @@ const ContentModelsDataList = ({
162
173
  refresh: onRefreshClick
163
174
  }, ({
164
175
  data = []
165
- }) => /*#__PURE__*/React.createElement(UIL.List, {
166
- "data-testid": "default-data-list"
167
- }, data.map(contentModel => {
168
- const disableViewContent = contentModel.fields.length === 0;
169
- const getMessage = () => {
170
- if (disableViewContent) {
171
- return "To view the entries, you first need to add a field and save the model";
172
- }
173
- if (contentModel.tags.includes(CMS_MODEL_SINGLETON_TAG)) {
174
- return "View";
175
- }
176
- return "View entries";
177
- };
178
- return /*#__PURE__*/React.createElement(UIL.ListItem, {
179
- key: contentModel.modelId,
180
- className: "group/item"
181
- }, /*#__PURE__*/React.createElement(UIL.ListItemText, null, /*#__PURE__*/React.createElement(DisplayIcon, {
182
- model: contentModel
183
- }), /*#__PURE__*/React.createElement(UIL.ListItemTextPrimary, null, contentModel.name), /*#__PURE__*/React.createElement(UIL.ListItemTextSecondary, null, t`Last modified: {time}.`({
184
- time: contentModel.savedOn ? /*#__PURE__*/React.createElement(TimeAgo, {
185
- datetime: contentModel.savedOn
186
- }) : "N/A"
187
- }))), /*#__PURE__*/React.createElement(UIL.ListItemMeta, null, /*#__PURE__*/React.createElement(UIL.ListActions, null, /*#__PURE__*/React.createElement(ModelIsBeingDeleted, {
188
- model: contentModel
189
- }, /*#__PURE__*/React.createElement("span", {
190
- className: "invisible group-hover/item:visible"
191
- }, /*#__PURE__*/React.createElement(Tooltip, {
192
- side: "top",
193
- content: getMessage(),
194
- trigger: /*#__PURE__*/React.createElement(Button, {
195
- text: "View entries",
196
- icon: /*#__PURE__*/React.createElement(ListIcon, null),
197
- variant: "secondary",
198
- size: "sm",
199
- "data-testid": "cms-view-content-model-button",
200
- onClick: viewContentEntries(contentModel),
201
- disabled: disableViewContent
202
- })
203
- })), canEdit(contentModel, "cms.contentModel") && /*#__PURE__*/React.createElement("span", {
204
- className: "invisible group-hover/item:visible"
205
- }, /*#__PURE__*/React.createElement(Tooltip, {
206
- side: "top",
207
- content: contentModel.plugin ? t`Content model is registered via a plugin.` : t`Edit content model`,
208
- trigger: /*#__PURE__*/React.createElement(Button, {
209
- text: "Edit",
210
- icon: /*#__PURE__*/React.createElement(EditIcon, null),
211
- variant: "secondary",
212
- size: "sm",
213
- disabled: contentModel.plugin,
214
- onClick: () => editRecord(contentModel),
215
- "data-testid": "cms-edit-content-model-button"
216
- })
217
- })), /*#__PURE__*/React.createElement(DropdownMenu, {
218
- trigger: /*#__PURE__*/React.createElement(IconButton, {
219
- icon: /*#__PURE__*/React.createElement(MoreVertIcon, null),
220
- size: "sm",
221
- variant: "ghost"
222
- })
223
- }, canEdit(contentModel, "cms.contentModel") && /*#__PURE__*/React.createElement(DropdownMenu.Item, {
224
- text: "Clone",
225
- icon: /*#__PURE__*/React.createElement(DropdownMenu.Item.Icon, {
226
- label: "Clone",
227
- element: /*#__PURE__*/React.createElement(CloneIcon, null)
228
- }),
229
- "data-testid": "cms-clone-content-model-button",
230
- onClick: () => onClone(contentModel)
231
- }), /*#__PURE__*/React.createElement(DropdownMenu.Item, {
232
- text: "Export",
233
- icon: /*#__PURE__*/React.createElement(DropdownMenu.Item.Icon, {
234
- label: "Export",
235
- element: /*#__PURE__*/React.createElement(ExportIcon, null)
236
- }),
237
- "data-testid": "cms-export-content-model-button",
238
- onClick: handleModelExport(contentModel)
239
- }), canDelete(contentModel, "cms.contentModel") && /*#__PURE__*/React.createElement(DropdownMenu.Item, {
240
- text: "Delete",
241
- icon: /*#__PURE__*/React.createElement(DropdownMenu.Item.Icon, {
242
- label: "Delete",
243
- element: /*#__PURE__*/React.createElement(DeleteIcon, null)
244
- }),
245
- onClick: () => {
246
- setModelToBeDeleted(contentModel);
247
- },
248
- "data-testid": "cms-delete-content-model-button",
249
- className: "text-destructive-primary! [&_svg]:fill-destructive"
250
- }))))));
251
- }))), modelToBeDeleted ? /*#__PURE__*/React.createElement(FullyDeleteModelDialog, {
176
+ }) => {
177
+ return /*#__PURE__*/React.createElement(UIL.List, {
178
+ "data-testid": "default-data-list"
179
+ }, data.map(contentModel => {
180
+ const disableViewContent = contentModel.fields.length === 0;
181
+ const getMessage = () => {
182
+ if (disableViewContent) {
183
+ return "To view the entries, you first need to add a field and save the model";
184
+ }
185
+ if (contentModel.tags.includes(CMS_MODEL_SINGLETON_TAG)) {
186
+ return "View";
187
+ }
188
+ return "View entries";
189
+ };
190
+ const canDeleteModel = canDelete(contentModel, "cms.contentModel");
191
+ const canEditModel = canEdit(contentModel, "cms.contentModel");
192
+ return /*#__PURE__*/React.createElement(UIL.ListItem, {
193
+ key: contentModel.modelId,
194
+ className: "group/item"
195
+ }, /*#__PURE__*/React.createElement(UIL.ListItemText, null, /*#__PURE__*/React.createElement(DisplayIcon, {
196
+ model: contentModel
197
+ }), /*#__PURE__*/React.createElement(UIL.ListItemTextPrimary, null, contentModel.name), /*#__PURE__*/React.createElement(UIL.ListItemTextSecondary, null, t`Last modified: {time}.`({
198
+ time: contentModel.savedOn ? /*#__PURE__*/React.createElement(TimeAgo, {
199
+ datetime: contentModel.savedOn
200
+ }) : "N/A"
201
+ }))), /*#__PURE__*/React.createElement(UIL.ListItemMeta, null, /*#__PURE__*/React.createElement(UIL.ListActions, null, /*#__PURE__*/React.createElement(ModelIsBeingDeleted, {
202
+ model: contentModel
203
+ }, /*#__PURE__*/React.createElement("span", {
204
+ className: "invisible group-hover/item:visible"
205
+ }, /*#__PURE__*/React.createElement(Tooltip, {
206
+ side: "top",
207
+ content: getMessage(),
208
+ trigger: /*#__PURE__*/React.createElement(Button, {
209
+ text: "View entries",
210
+ icon: /*#__PURE__*/React.createElement(ListIcon, null),
211
+ variant: "secondary",
212
+ size: "sm",
213
+ "data-testid": "cms-view-content-model-button",
214
+ onClick: viewContentEntries(contentModel),
215
+ disabled: disableViewContent
216
+ })
217
+ })), canEdit(contentModel, "cms.contentModel") && /*#__PURE__*/React.createElement("span", {
218
+ className: "invisible group-hover/item:visible"
219
+ }, /*#__PURE__*/React.createElement(Tooltip, {
220
+ side: "top",
221
+ content: contentModel.plugin ? t`Content model is registered via a plugin.` : t`Edit content model`,
222
+ trigger: /*#__PURE__*/React.createElement(Button, {
223
+ text: "Edit",
224
+ icon: /*#__PURE__*/React.createElement(EditIcon, null),
225
+ variant: "secondary",
226
+ size: "sm",
227
+ disabled: contentModel.plugin,
228
+ onClick: () => editRecord(contentModel),
229
+ "data-testid": "cms-edit-content-model-button"
230
+ })
231
+ })), /*#__PURE__*/React.createElement(DropdownMenu, {
232
+ trigger: /*#__PURE__*/React.createElement(IconButton, {
233
+ icon: /*#__PURE__*/React.createElement(MoreVertIcon, null),
234
+ size: "sm",
235
+ variant: "ghost"
236
+ })
237
+ }, canEditModel && /*#__PURE__*/React.createElement(DropdownMenu.Item, {
238
+ text: "Clone",
239
+ icon: /*#__PURE__*/React.createElement(DropdownMenu.Item.Icon, {
240
+ label: "Clone",
241
+ element: /*#__PURE__*/React.createElement(CloneIcon, null)
242
+ }),
243
+ "data-testid": "cms-clone-content-model-button",
244
+ onClick: () => onClone(contentModel)
245
+ }), /*#__PURE__*/React.createElement(DropdownMenu.Item, {
246
+ text: "Export",
247
+ icon: /*#__PURE__*/React.createElement(DropdownMenu.Item.Icon, {
248
+ label: "Export",
249
+ element: /*#__PURE__*/React.createElement(ExportIcon, null)
250
+ }),
251
+ "data-testid": "cms-export-content-model-button",
252
+ onClick: handleModelExport(contentModel)
253
+ }), canDeleteModel && /*#__PURE__*/React.createElement(DropdownMenu.Item, {
254
+ text: "Delete",
255
+ icon: /*#__PURE__*/React.createElement(DropdownMenu.Item.Icon, {
256
+ label: "Delete",
257
+ element: /*#__PURE__*/React.createElement(DeleteIcon, null)
258
+ }),
259
+ onClick: () => {
260
+ setModelToBeDeleted(contentModel);
261
+ },
262
+ "data-testid": "cms-delete-content-model-button",
263
+ className: "text-destructive-primary! [&_svg]:fill-destructive"
264
+ }))))));
265
+ }));
266
+ }), modelToBeDeleted ? /*#__PURE__*/React.createElement(FullyDeleteModelDialog, {
252
267
  model: modelToBeDeleted,
253
268
  onClose: () => {
254
269
  setModelToBeDeleted(null);
@@ -1 +1 @@
1
- {"version":3,"names":["React","useCallback","useMemo","useState","TimeAgo","SearchUI","useRouter","ReactComponent","AddIcon","DownloadFileIcon","ExportIcon","UploadFileIcon","ListIcon","EditIcon","MoreVertIcon","DeleteIcon","CloneIcon","useModels","UIL","i18n","deserializeSorters","orderBy","usePermission","FontAwesomeIcon","useModelExport","ModelIsBeingDeleted","FullyDeleteModelDialog","Button","DropdownMenu","Icon","IconButton","Select","Tooltip","CMS_MODEL_SINGLETON_TAG","Routes","normalizeIcon","t","namespace","SORTERS","label","sorters","DisplayIcon","model","icon","createElement","ListItemGraphic","className","size","color","ContentModelsDataList","canCreate","onCreate","onClone","showImportModelModal","filter","setFilter","sort","setSort","goToRoute","models","loading","refresh","canDelete","canEdit","modelToBeDeleted","setModelToBeDeleted","filterData","name","toLowerCase","includes","sortData","list","sortField","sortOrderBy","editRecord","contentModel","ContentModels","Editor","modelId","viewContentEntries","ContentEntries","List","contentModelsDataListModalOverlay","DataListModalOverlay","value","onChange","options","map","sorter","filteredData","contentModels","handleModelsExport","handleModelExport","onRefreshClick","Fragment","DataList","data","title","actions","content","trigger","variant","onClick","text","search","inputPlaceholder","modalOverlay","modalOverlayAction","DataListModalOverlayAction","disableViewContent","fields","length","getMessage","tags","ListItem","key","ListItemText","ListItemTextPrimary","ListItemTextSecondary","time","savedOn","datetime","ListItemMeta","ListActions","side","disabled","plugin","Item","element","onClose"],"sources":["ContentModelsDataList.tsx"],"sourcesContent":["/**\n * TODO remove regular model delete at some point.\n */\nimport React, { useCallback, useMemo, useState } from \"react\";\nimport { TimeAgo } from \"@webiny/ui/TimeAgo/index.js\";\nimport { SearchUI, useRouter } from \"@webiny/app-admin\";\nimport { ReactComponent as AddIcon } from \"@webiny/icons/add.svg\";\nimport {\n ReactComponent as DownloadFileIcon,\n ReactComponent as ExportIcon\n} from \"@webiny/icons/file_download.svg\";\nimport { ReactComponent as UploadFileIcon } from \"@webiny/icons/file_upload.svg\";\nimport { ReactComponent as ListIcon } from \"@webiny/icons/list.svg\";\nimport { ReactComponent as EditIcon } from \"@webiny/icons/edit.svg\";\nimport { ReactComponent as MoreVertIcon } from \"@webiny/icons/more_vert.svg\";\nimport { ReactComponent as DeleteIcon } from \"@webiny/icons/delete.svg\";\nimport { ReactComponent as CloneIcon } from \"@webiny/icons/flip_to_front.svg\";\nimport { useModels } from \"../../hooks/index.js\";\nimport * as UIL from \"@webiny/ui/List/index.js\";\nimport { i18n } from \"@webiny/app/i18n/index.js\";\nimport { deserializeSorters } from \"../utils.js\";\nimport orderBy from \"lodash/orderBy.js\";\nimport type { CmsEditorContentModel, CmsModel } from \"~/types.js\";\nimport { usePermission } from \"~/admin/hooks/usePermission.js\";\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\nimport type { IconProp } from \"@fortawesome/fontawesome-svg-core\";\nimport { useModelExport } from \"./exporting/useModelExport.js\";\nimport { ModelIsBeingDeleted } from \"./fullDelete/ModelIsBeingDeleted.js\";\nimport { FullyDeleteModelDialog } from \"~/admin/views/contentModels/fullDelete/FullyDeleteModelDialog.js\";\nimport { Button, DropdownMenu, Icon, IconButton, Select, Tooltip } from \"@webiny/admin-ui\";\nimport { CMS_MODEL_SINGLETON_TAG } from \"@webiny/app-headless-cms-common\";\nimport { Routes } from \"~/routes.js\";\nimport { normalizeIcon } from \"~/utils/normalizeIcon.js\";\n\nconst t = i18n.namespace(\"FormsApp.ContentModelsDataList\");\n\ninterface Sorter {\n label: string;\n sorters: string;\n}\n\nconst SORTERS: Sorter[] = [\n {\n label: t`Newest to oldest`,\n sorters: \"savedOn_DESC\"\n },\n {\n label: t`Oldest to newest`,\n sorters: \"savedOn_ASC\"\n },\n {\n label: t`Name A-Z`,\n sorters: \"name_ASC\"\n },\n {\n label: t`Name Z-A`,\n sorters: \"name_DESC\"\n }\n];\n\ninterface ContentModelsDataListProps {\n canCreate: boolean;\n onCreate: () => void;\n onClone: (contentModel: CmsEditorContentModel) => void;\n showImportModelModal: () => void;\n}\n\ninterface IconProps {\n model: Pick<CmsModel, \"icon\">;\n}\n\nconst DisplayIcon = ({ model }: IconProps) => {\n if (!model.icon) {\n return null;\n }\n return (\n <UIL.ListItemGraphic>\n <div className={\"text-neutral-muted\"}>\n <Icon\n size={\"lg\"}\n color={\"inherit\"}\n label={\"Content model icon\"}\n icon={<FontAwesomeIcon icon={normalizeIcon(model.icon) as IconProp} />}\n />\n </div>\n </UIL.ListItemGraphic>\n );\n};\n\nconst ContentModelsDataList = ({\n canCreate,\n onCreate,\n onClone,\n showImportModelModal\n}: ContentModelsDataListProps) => {\n const [filter, setFilter] = useState<string>(\"\");\n const [sort, setSort] = useState<string>(SORTERS[0].sorters);\n const { goToRoute } = useRouter();\n const { models, loading, refresh } = useModels();\n const { canDelete, canEdit } = usePermission();\n\n const [modelToBeDeleted, setModelToBeDeleted] = useState<CmsModel | null>(null);\n\n const filterData = useCallback(\n ({ name }: Pick<CmsModel, \"name\">): boolean => {\n return name.toLowerCase().includes(filter);\n },\n [filter]\n );\n\n const sortData = useCallback(\n (list: CmsModel[]): CmsModel[] => {\n if (!sort) {\n return list;\n }\n const [sortField, sortOrderBy] = deserializeSorters(sort);\n return orderBy(list, [sortField], [sortOrderBy]);\n },\n [sort]\n );\n\n const editRecord = (contentModel: CmsModel): void => {\n goToRoute(Routes.ContentModels.Editor, { modelId: contentModel.modelId });\n };\n\n const viewContentEntries = useCallback((contentModel: Pick<CmsModel, \"modelId\">) => {\n return () => {\n goToRoute(Routes.ContentEntries.List, { modelId: contentModel.modelId });\n };\n }, []);\n\n const contentModelsDataListModalOverlay = useMemo(\n () => (\n <UIL.DataListModalOverlay>\n <Select\n value={sort}\n onChange={setSort}\n label={t`Sort by`}\n options={SORTERS.map(sorter => ({\n label: sorter.label,\n value: sorter.sorters\n }))}\n />\n </UIL.DataListModalOverlay>\n ),\n [sort]\n );\n\n const filteredData = filter === \"\" ? models : models.filter(filterData);\n const contentModels = sortData(filteredData);\n\n const { handleModelsExport, handleModelExport } = useModelExport();\n\n const onRefreshClick = useCallback(() => {\n refresh();\n }, []);\n\n return (\n <>\n <UIL.DataList\n loading={loading}\n data={contentModels}\n title={t`Content Models`}\n actions={\n <div className={\"flex items-center justify-end gap-xs\"}>\n <Tooltip\n content={\"Export all models\"}\n trigger={\n <IconButton\n icon={<DownloadFileIcon />}\n size={\"sm\"}\n variant={\"ghost\"}\n onClick={() => handleModelsExport()}\n />\n }\n />\n <Tooltip\n content={\"Import models\"}\n trigger={\n <IconButton\n icon={<UploadFileIcon />}\n size={\"sm\"}\n variant={\"ghost\"}\n onClick={() => showImportModelModal()}\n />\n }\n />\n {canCreate ? (\n <Button\n data-testid=\"new-record-button\"\n onClick={onCreate}\n text={t`New`}\n icon={<AddIcon />}\n size={\"sm\"}\n className={\"ml-xs\"}\n />\n ) : null}\n </div>\n }\n search={\n <SearchUI\n value={filter}\n onChange={setFilter}\n inputPlaceholder={t`Search content model...`}\n />\n }\n modalOverlay={contentModelsDataListModalOverlay}\n modalOverlayAction={\n <UIL.DataListModalOverlayAction data-testid={\"default-data-list.filter\"} />\n }\n refresh={onRefreshClick}\n >\n {({ data = [] }: { data: CmsModel[] }) => (\n <UIL.List data-testid=\"default-data-list\">\n {data.map(contentModel => {\n const disableViewContent = contentModel.fields.length === 0;\n const getMessage = () => {\n if (disableViewContent) {\n return \"To view the entries, you first need to add a field and save the model\";\n }\n\n if (contentModel.tags.includes(CMS_MODEL_SINGLETON_TAG)) {\n return \"View\";\n }\n\n return \"View entries\";\n };\n\n return (\n <UIL.ListItem key={contentModel.modelId} className={\"group/item\"}>\n <UIL.ListItemText>\n <DisplayIcon model={contentModel} />\n <UIL.ListItemTextPrimary>\n {contentModel.name}\n </UIL.ListItemTextPrimary>\n <UIL.ListItemTextSecondary>\n {t`Last modified: {time}.`({\n time: contentModel.savedOn ? (\n <TimeAgo datetime={contentModel.savedOn} />\n ) : (\n \"N/A\"\n )\n })}\n </UIL.ListItemTextSecondary>\n </UIL.ListItemText>\n <UIL.ListItemMeta>\n <UIL.ListActions>\n <ModelIsBeingDeleted model={contentModel}>\n <span\n className={\"invisible group-hover/item:visible\"}\n >\n <Tooltip\n side={\"top\"}\n content={getMessage()}\n trigger={\n <Button\n text={\"View entries\"}\n icon={<ListIcon />}\n variant={\"secondary\"}\n size={\"sm\"}\n data-testid={\n \"cms-view-content-model-button\"\n }\n onClick={viewContentEntries(\n contentModel\n )}\n disabled={disableViewContent}\n />\n }\n />\n </span>\n\n {canEdit(contentModel, \"cms.contentModel\") && (\n <span\n className={\n \"invisible group-hover/item:visible\"\n }\n >\n <Tooltip\n side={\"top\"}\n content={\n contentModel.plugin\n ? t`Content model is registered via a plugin.`\n : t`Edit content model`\n }\n trigger={\n <Button\n text={\"Edit\"}\n icon={<EditIcon />}\n variant={\"secondary\"}\n size={\"sm\"}\n disabled={contentModel.plugin}\n onClick={() =>\n editRecord(contentModel)\n }\n data-testid={\n \"cms-edit-content-model-button\"\n }\n />\n }\n />\n </span>\n )}\n\n <DropdownMenu\n trigger={\n <IconButton\n icon={<MoreVertIcon />}\n size={\"sm\"}\n variant={\"ghost\"}\n />\n }\n >\n {canEdit(contentModel, \"cms.contentModel\") && (\n <DropdownMenu.Item\n text={\"Clone\"}\n icon={\n <DropdownMenu.Item.Icon\n label={\"Clone\"}\n element={<CloneIcon />}\n />\n }\n data-testid={\n \"cms-clone-content-model-button\"\n }\n onClick={() => onClone(contentModel)}\n />\n )}\n\n <DropdownMenu.Item\n text={\"Export\"}\n icon={\n <DropdownMenu.Item.Icon\n label={\"Export\"}\n element={<ExportIcon />}\n />\n }\n data-testid={\n \"cms-export-content-model-button\"\n }\n onClick={handleModelExport(contentModel)}\n />\n\n {canDelete(\n contentModel,\n \"cms.contentModel\"\n ) && (\n <DropdownMenu.Item\n text={\"Delete\"}\n icon={\n <DropdownMenu.Item.Icon\n label={\"Delete\"}\n element={<DeleteIcon />}\n />\n }\n onClick={() => {\n setModelToBeDeleted(contentModel);\n }}\n data-testid={\n \"cms-delete-content-model-button\"\n }\n className={\n \"text-destructive-primary! [&_svg]:fill-destructive\"\n }\n />\n )}\n </DropdownMenu>\n </ModelIsBeingDeleted>\n </UIL.ListActions>\n </UIL.ListItemMeta>\n </UIL.ListItem>\n );\n })}\n </UIL.List>\n )}\n </UIL.DataList>\n {modelToBeDeleted ? (\n <FullyDeleteModelDialog\n model={modelToBeDeleted}\n onClose={() => {\n setModelToBeDeleted(null);\n }}\n />\n ) : null}\n </>\n );\n};\n\nexport default ContentModelsDataList;\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["React","useCallback","useMemo","useState","TimeAgo","SearchUI","useRouter","ReactComponent","AddIcon","DownloadFileIcon","ExportIcon","UploadFileIcon","ListIcon","EditIcon","MoreVertIcon","DeleteIcon","CloneIcon","useModels","UIL","i18n","deserializeSorters","orderBy","usePermission","FontAwesomeIcon","useModelExport","ModelIsBeingDeleted","FullyDeleteModelDialog","Button","DropdownMenu","Icon","IconButton","Select","Tooltip","CMS_MODEL_SINGLETON_TAG","Routes","normalizeIcon","t","namespace","SORTERS","label","sorters","DisplayIcon","model","icon","createElement","ListItemGraphic","className","size","color","isHidden","tags","length","includes","ContentModelsDataList","canCreate","onCreate","onClone","showImportModelModal","filter","setFilter","sort","setSort","goToRoute","models","initialModels","loading","refresh","canDelete","canEdit","modelToBeDeleted","setModelToBeDeleted","filterData","name","toLowerCase","sortData","list","sortField","sortOrderBy","editRecord","contentModel","ContentModels","Editor","modelId","viewContentEntries","ContentEntries","List","contentModelsDataListModalOverlay","DataListModalOverlay","value","onChange","options","map","sorter","filteredData","contentModels","handleModelsExport","handleModelExport","onRefreshClick","Fragment","DataList","data","title","actions","content","trigger","variant","onClick","text","search","inputPlaceholder","modalOverlay","modalOverlayAction","DataListModalOverlayAction","disableViewContent","fields","getMessage","canDeleteModel","canEditModel","ListItem","key","ListItemText","ListItemTextPrimary","ListItemTextSecondary","time","savedOn","datetime","ListItemMeta","ListActions","side","disabled","plugin","Item","element","onClose"],"sources":["ContentModelsDataList.tsx"],"sourcesContent":["/**\n * TODO remove regular model delete at some point.\n */\nimport React, { useCallback, useMemo, useState } from \"react\";\nimport { TimeAgo } from \"@webiny/ui/TimeAgo/index.js\";\nimport { SearchUI, useRouter } from \"@webiny/app-admin\";\nimport { ReactComponent as AddIcon } from \"@webiny/icons/add.svg\";\nimport {\n ReactComponent as DownloadFileIcon,\n ReactComponent as ExportIcon\n} from \"@webiny/icons/file_download.svg\";\nimport { ReactComponent as UploadFileIcon } from \"@webiny/icons/file_upload.svg\";\nimport { ReactComponent as ListIcon } from \"@webiny/icons/list.svg\";\nimport { ReactComponent as EditIcon } from \"@webiny/icons/edit.svg\";\nimport { ReactComponent as MoreVertIcon } from \"@webiny/icons/more_vert.svg\";\nimport { ReactComponent as DeleteIcon } from \"@webiny/icons/delete.svg\";\nimport { ReactComponent as CloneIcon } from \"@webiny/icons/flip_to_front.svg\";\nimport { useModels } from \"../../hooks/index.js\";\nimport * as UIL from \"@webiny/ui/List/index.js\";\nimport { i18n } from \"@webiny/app/i18n/index.js\";\nimport { deserializeSorters } from \"../utils.js\";\nimport orderBy from \"lodash/orderBy.js\";\nimport type { CmsEditorContentModel, CmsModel } from \"~/types.js\";\nimport { usePermission } from \"~/admin/hooks/usePermission.js\";\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\nimport type { IconProp } from \"@fortawesome/fontawesome-svg-core\";\nimport { useModelExport } from \"./exporting/useModelExport.js\";\nimport { ModelIsBeingDeleted } from \"./fullDelete/ModelIsBeingDeleted.js\";\nimport { FullyDeleteModelDialog } from \"~/admin/views/contentModels/fullDelete/FullyDeleteModelDialog.js\";\nimport { Button, DropdownMenu, Icon, IconButton, Select, Tooltip } from \"@webiny/admin-ui\";\nimport { CMS_MODEL_SINGLETON_TAG } from \"@webiny/app-headless-cms-common\";\nimport { Routes } from \"~/routes.js\";\nimport { normalizeIcon } from \"~/utils/normalizeIcon.js\";\n\nconst t = i18n.namespace(\"FormsApp.ContentModelsDataList\");\n\ninterface Sorter {\n label: string;\n sorters: string;\n}\n\nconst SORTERS: Sorter[] = [\n {\n label: t`Newest to oldest`,\n sorters: \"savedOn_DESC\"\n },\n {\n label: t`Oldest to newest`,\n sorters: \"savedOn_ASC\"\n },\n {\n label: t`Name A-Z`,\n sorters: \"name_ASC\"\n },\n {\n label: t`Name Z-A`,\n sorters: \"name_DESC\"\n }\n];\n\ninterface ContentModelsDataListProps {\n canCreate: boolean;\n onCreate: () => void;\n onClone: (contentModel: CmsEditorContentModel) => void;\n showImportModelModal: () => void;\n}\n\ninterface IconProps {\n model: Pick<CmsModel, \"icon\">;\n}\n\nconst DisplayIcon = ({ model }: IconProps) => {\n if (!model.icon) {\n return null;\n }\n return (\n <UIL.ListItemGraphic>\n <div className={\"text-neutral-muted\"}>\n <Icon\n size={\"lg\"}\n color={\"inherit\"}\n label={\"Content model icon\"}\n icon={<FontAwesomeIcon icon={normalizeIcon(model.icon) as IconProp} />}\n />\n </div>\n </UIL.ListItemGraphic>\n );\n};\n\nconst isHidden = (model: Pick<CmsModel, \"tags\">) => {\n if (!model.tags?.length) {\n return false;\n }\n return model.tags.includes(\"$hidden:true\");\n};\n\nconst ContentModelsDataList = ({\n canCreate,\n onCreate,\n onClone,\n showImportModelModal\n}: ContentModelsDataListProps) => {\n const [filter, setFilter] = useState<string>(\"\");\n const [sort, setSort] = useState<string>(SORTERS[0].sorters);\n const { goToRoute } = useRouter();\n const { models: initialModels, loading, refresh } = useModels();\n const { canDelete, canEdit } = usePermission();\n\n const models = useMemo(() => {\n return initialModels.filter(model => {\n return !isHidden(model);\n });\n }, [initialModels]);\n\n const [modelToBeDeleted, setModelToBeDeleted] = useState<CmsModel | null>(null);\n\n const filterData = useCallback(\n ({ name }: Pick<CmsModel, \"name\">): boolean => {\n return name.toLowerCase().includes(filter);\n },\n [filter]\n );\n\n const sortData = useCallback(\n (list: CmsModel[]): CmsModel[] => {\n if (!sort) {\n return list;\n }\n const [sortField, sortOrderBy] = deserializeSorters(sort);\n return orderBy(list, [sortField], [sortOrderBy]);\n },\n [sort]\n );\n\n const editRecord = (contentModel: CmsModel): void => {\n goToRoute(Routes.ContentModels.Editor, { modelId: contentModel.modelId });\n };\n\n const viewContentEntries = useCallback((contentModel: Pick<CmsModel, \"modelId\">) => {\n return () => {\n goToRoute(Routes.ContentEntries.List, { modelId: contentModel.modelId });\n };\n }, []);\n\n const contentModelsDataListModalOverlay = useMemo(\n () => (\n <UIL.DataListModalOverlay>\n <Select\n value={sort}\n onChange={setSort}\n label={t`Sort by`}\n options={SORTERS.map(sorter => ({\n label: sorter.label,\n value: sorter.sorters\n }))}\n />\n </UIL.DataListModalOverlay>\n ),\n [sort]\n );\n\n const filteredData = filter === \"\" ? models : models.filter(filterData);\n const contentModels = sortData(filteredData);\n\n const { handleModelsExport, handleModelExport } = useModelExport();\n\n const onRefreshClick = useCallback(() => {\n refresh();\n }, []);\n\n return (\n <>\n <UIL.DataList\n loading={loading}\n data={contentModels}\n title={t`Content Models`}\n actions={\n <div className={\"flex items-center justify-end gap-xs\"}>\n <Tooltip\n content={\"Export all models\"}\n trigger={\n <IconButton\n icon={<DownloadFileIcon />}\n size={\"sm\"}\n variant={\"ghost\"}\n onClick={() => handleModelsExport()}\n />\n }\n />\n <Tooltip\n content={\"Import models\"}\n trigger={\n <IconButton\n icon={<UploadFileIcon />}\n size={\"sm\"}\n variant={\"ghost\"}\n onClick={() => showImportModelModal()}\n />\n }\n />\n {canCreate ? (\n <Button\n data-testid=\"new-record-button\"\n onClick={onCreate}\n text={t`New`}\n icon={<AddIcon />}\n size={\"sm\"}\n className={\"ml-xs\"}\n />\n ) : null}\n </div>\n }\n search={\n <SearchUI\n value={filter}\n onChange={setFilter}\n inputPlaceholder={t`Search content model...`}\n />\n }\n modalOverlay={contentModelsDataListModalOverlay}\n modalOverlayAction={\n <UIL.DataListModalOverlayAction data-testid={\"default-data-list.filter\"} />\n }\n refresh={onRefreshClick}\n >\n {({ data = [] }: { data: CmsModel[] }) => {\n return (\n <UIL.List data-testid=\"default-data-list\">\n {data.map(contentModel => {\n const disableViewContent = contentModel.fields.length === 0;\n const getMessage = () => {\n if (disableViewContent) {\n return \"To view the entries, you first need to add a field and save the model\";\n }\n\n if (contentModel.tags.includes(CMS_MODEL_SINGLETON_TAG)) {\n return \"View\";\n }\n\n return \"View entries\";\n };\n\n const canDeleteModel = canDelete(contentModel, \"cms.contentModel\");\n const canEditModel = canEdit(contentModel, \"cms.contentModel\");\n\n return (\n <UIL.ListItem\n key={contentModel.modelId}\n className={\"group/item\"}\n >\n <UIL.ListItemText>\n <DisplayIcon model={contentModel} />\n <UIL.ListItemTextPrimary>\n {contentModel.name}\n </UIL.ListItemTextPrimary>\n <UIL.ListItemTextSecondary>\n {t`Last modified: {time}.`({\n time: contentModel.savedOn ? (\n <TimeAgo datetime={contentModel.savedOn} />\n ) : (\n \"N/A\"\n )\n })}\n </UIL.ListItemTextSecondary>\n </UIL.ListItemText>\n <UIL.ListItemMeta>\n <UIL.ListActions>\n <ModelIsBeingDeleted model={contentModel}>\n <span\n className={\n \"invisible group-hover/item:visible\"\n }\n >\n <Tooltip\n side={\"top\"}\n content={getMessage()}\n trigger={\n <Button\n text={\"View entries\"}\n icon={<ListIcon />}\n variant={\"secondary\"}\n size={\"sm\"}\n data-testid={\n \"cms-view-content-model-button\"\n }\n onClick={viewContentEntries(\n contentModel\n )}\n disabled={disableViewContent}\n />\n }\n />\n </span>\n\n {canEdit(contentModel, \"cms.contentModel\") && (\n <span\n className={\n \"invisible group-hover/item:visible\"\n }\n >\n <Tooltip\n side={\"top\"}\n content={\n contentModel.plugin\n ? t`Content model is registered via a plugin.`\n : t`Edit content model`\n }\n trigger={\n <Button\n text={\"Edit\"}\n icon={<EditIcon />}\n variant={\"secondary\"}\n size={\"sm\"}\n disabled={\n contentModel.plugin\n }\n onClick={() =>\n editRecord(contentModel)\n }\n data-testid={\n \"cms-edit-content-model-button\"\n }\n />\n }\n />\n </span>\n )}\n\n <DropdownMenu\n trigger={\n <IconButton\n icon={<MoreVertIcon />}\n size={\"sm\"}\n variant={\"ghost\"}\n />\n }\n >\n {canEditModel && (\n <DropdownMenu.Item\n text={\"Clone\"}\n icon={\n <DropdownMenu.Item.Icon\n label={\"Clone\"}\n element={<CloneIcon />}\n />\n }\n data-testid={\n \"cms-clone-content-model-button\"\n }\n onClick={() =>\n onClone(contentModel)\n }\n />\n )}\n\n <DropdownMenu.Item\n text={\"Export\"}\n icon={\n <DropdownMenu.Item.Icon\n label={\"Export\"}\n element={<ExportIcon />}\n />\n }\n data-testid={\n \"cms-export-content-model-button\"\n }\n onClick={handleModelExport(\n contentModel\n )}\n />\n\n {canDeleteModel && (\n <DropdownMenu.Item\n text={\"Delete\"}\n icon={\n <DropdownMenu.Item.Icon\n label={\"Delete\"}\n element={<DeleteIcon />}\n />\n }\n onClick={() => {\n setModelToBeDeleted(\n contentModel\n );\n }}\n data-testid={\n \"cms-delete-content-model-button\"\n }\n className={\n \"text-destructive-primary! [&_svg]:fill-destructive\"\n }\n />\n )}\n </DropdownMenu>\n </ModelIsBeingDeleted>\n </UIL.ListActions>\n </UIL.ListItemMeta>\n </UIL.ListItem>\n );\n })}\n </UIL.List>\n );\n }}\n </UIL.DataList>\n {modelToBeDeleted ? (\n <FullyDeleteModelDialog\n model={modelToBeDeleted}\n onClose={() => {\n setModelToBeDeleted(null);\n }}\n />\n ) : null}\n </>\n );\n};\n\nexport default ContentModelsDataList;\n"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,31 @@
1
+ export declare const CMS_PERMISSIONS_SCHEMA: {
2
+ readonly prefix: "cms";
3
+ readonly fullAccess: true;
4
+ readonly entities: [{
5
+ readonly id: "contentModelGroup";
6
+ readonly title: "Content Model Groups";
7
+ readonly permission: "cms.contentModelGroup";
8
+ readonly scopes: ["full", "own"];
9
+ readonly actions: [{
10
+ readonly name: "rwd";
11
+ }];
12
+ }, {
13
+ readonly id: "contentModel";
14
+ readonly title: "Content Models";
15
+ readonly permission: "cms.contentModel";
16
+ readonly scopes: ["full", "own"];
17
+ readonly actions: [{
18
+ readonly name: "rwd";
19
+ }];
20
+ }, {
21
+ readonly id: "contentEntry";
22
+ readonly title: "Content Entries";
23
+ readonly permission: "cms.contentEntry";
24
+ readonly scopes: ["full", "own"];
25
+ readonly actions: [{
26
+ readonly name: "rwd";
27
+ }, {
28
+ readonly name: "pw";
29
+ }];
30
+ }];
31
+ };
@@ -0,0 +1,34 @@
1
+ import { createPermissionSchema } from "@webiny/app-admin";
2
+ export const CMS_PERMISSIONS_SCHEMA = createPermissionSchema({
3
+ prefix: "cms",
4
+ fullAccess: true,
5
+ entities: [{
6
+ id: "contentModelGroup",
7
+ title: "Content Model Groups",
8
+ permission: "cms.contentModelGroup",
9
+ scopes: ["full", "own"],
10
+ actions: [{
11
+ name: "rwd"
12
+ }]
13
+ }, {
14
+ id: "contentModel",
15
+ title: "Content Models",
16
+ permission: "cms.contentModel",
17
+ scopes: ["full", "own"],
18
+ actions: [{
19
+ name: "rwd"
20
+ }]
21
+ }, {
22
+ id: "contentEntry",
23
+ title: "Content Entries",
24
+ permission: "cms.contentEntry",
25
+ scopes: ["full", "own"],
26
+ actions: [{
27
+ name: "rwd"
28
+ }, {
29
+ name: "pw"
30
+ }]
31
+ }]
32
+ });
33
+
34
+ //# sourceMappingURL=permissionsSchema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["createPermissionSchema","CMS_PERMISSIONS_SCHEMA","prefix","fullAccess","entities","id","title","permission","scopes","actions","name"],"sources":["permissionsSchema.ts"],"sourcesContent":["import { createPermissionSchema } from \"@webiny/app-admin\";\n\nexport const CMS_PERMISSIONS_SCHEMA = createPermissionSchema({\n prefix: \"cms\",\n fullAccess: true,\n entities: [\n {\n id: \"contentModelGroup\",\n title: \"Content Model Groups\",\n permission: \"cms.contentModelGroup\",\n scopes: [\"full\", \"own\"],\n actions: [{ name: \"rwd\" }]\n },\n {\n id: \"contentModel\",\n title: \"Content Models\",\n permission: \"cms.contentModel\",\n scopes: [\"full\", \"own\"],\n actions: [{ name: \"rwd\" }]\n },\n {\n id: \"contentEntry\",\n title: \"Content Entries\",\n permission: \"cms.contentEntry\",\n scopes: [\"full\", \"own\"],\n actions: [{ name: \"rwd\" }, { name: \"pw\" }]\n }\n ]\n});\n"],"mappings":"AAAA,SAASA,sBAAsB,QAAQ,mBAAmB;AAE1D,OAAO,MAAMC,sBAAsB,GAAGD,sBAAsB,CAAC;EACzDE,MAAM,EAAE,KAAK;EACbC,UAAU,EAAE,IAAI;EAChBC,QAAQ,EAAE,CACN;IACIC,EAAE,EAAE,mBAAmB;IACvBC,KAAK,EAAE,sBAAsB;IAC7BC,UAAU,EAAE,uBAAuB;IACnCC,MAAM,EAAE,CAAC,MAAM,EAAE,KAAK,CAAC;IACvBC,OAAO,EAAE,CAAC;MAAEC,IAAI,EAAE;IAAM,CAAC;EAC7B,CAAC,EACD;IACIL,EAAE,EAAE,cAAc;IAClBC,KAAK,EAAE,gBAAgB;IACvBC,UAAU,EAAE,kBAAkB;IAC9BC,MAAM,EAAE,CAAC,MAAM,EAAE,KAAK,CAAC;IACvBC,OAAO,EAAE,CAAC;MAAEC,IAAI,EAAE;IAAM,CAAC;EAC7B,CAAC,EACD;IACIL,EAAE,EAAE,cAAc;IAClBC,KAAK,EAAE,iBAAiB;IACxBC,UAAU,EAAE,kBAAkB;IAC9BC,MAAM,EAAE,CAAC,MAAM,EAAE,KAAK,CAAC;IACvBC,OAAO,EAAE,CAAC;MAAEC,IAAI,EAAE;IAAM,CAAC,EAAE;MAAEA,IAAI,EAAE;IAAK,CAAC;EAC7C,CAAC;AAET,CAAC,CAAC","ignoreList":[]}