@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.
- package/HeadlessCMS.js +5 -2
- package/HeadlessCMS.js.map +1 -1
- package/admin/components/ContentEntryForm/Header/Header.js +3 -6
- package/admin/components/ContentEntryForm/Header/Header.js.map +1 -1
- package/admin/components/ContentEntryForm/Header/RevisionSelector/RevisionSelector.js +1 -1
- package/admin/components/ContentEntryForm/Header/RevisionSelector/RevisionSelector.js.map +1 -1
- package/admin/contexts/Cms/index.js +32 -2
- package/admin/contexts/Cms/index.js.map +1 -1
- package/admin/hooks/usePermission.js +132 -125
- package/admin/hooks/usePermission.js.map +1 -1
- package/admin/plugins/apiInformation/index.js +3 -3
- package/admin/plugins/apiInformation/index.js.map +1 -1
- package/admin/plugins/apiInformation/placeholder.manage.graphql.d.ts +1 -0
- package/admin/plugins/apiInformation/placeholder.manage.graphql.js +22 -0
- package/admin/plugins/apiInformation/placeholder.manage.graphql.js.map +1 -0
- package/admin/plugins/apiInformation/placeholder.preview.graphql.d.ts +1 -0
- package/admin/plugins/apiInformation/placeholder.preview.graphql.js +19 -0
- package/admin/plugins/apiInformation/placeholder.preview.graphql.js.map +1 -0
- package/admin/plugins/apiInformation/placeholder.read.graphql.d.ts +1 -0
- package/admin/plugins/apiInformation/placeholder.read.graphql.js +20 -0
- package/admin/plugins/apiInformation/placeholder.read.graphql.js.map +1 -0
- package/admin/views/contentEntries/ContentEntriesContext.js +5 -15
- package/admin/views/contentEntries/ContentEntriesContext.js.map +1 -1
- package/admin/views/contentEntries/ContentEntriesModule.js +20 -14
- package/admin/views/contentEntries/ContentEntriesModule.js.map +1 -1
- package/admin/views/contentModels/ContentModelsDataList.js +103 -88
- package/admin/views/contentModels/ContentModelsDataList.js.map +1 -1
- package/domain/permissionsSchema.d.ts +31 -0
- package/domain/permissionsSchema.js +34 -0
- package/domain/permissionsSchema.js.map +1 -0
- package/exports/admin/cms.d.ts +3 -0
- package/exports/admin/cms.js +4 -0
- package/exports/admin/cms.js.map +1 -1
- package/features/ListCache.d.ts +29 -0
- package/features/ListCache.js +43 -0
- package/features/ListCache.js.map +1 -0
- package/features/contentEntry/events/EntryAfterCreateEvent.d.ts +10 -0
- package/features/contentEntry/events/EntryAfterCreateEvent.js +10 -0
- package/features/contentEntry/events/EntryAfterCreateEvent.js.map +1 -0
- package/features/contentEntry/events/EntryAfterDeleteEvent.d.ts +11 -0
- package/features/contentEntry/events/EntryAfterDeleteEvent.js +10 -0
- package/features/contentEntry/events/EntryAfterDeleteEvent.js.map +1 -0
- package/features/contentEntry/events/EntryAfterUpdateEvent.d.ts +10 -0
- package/features/contentEntry/events/EntryAfterUpdateEvent.js +10 -0
- package/features/contentEntry/events/EntryAfterUpdateEvent.js.map +1 -0
- package/features/contentEntry/events/abstractions.d.ts +19 -0
- package/features/contentEntry/events/abstractions.js +6 -0
- package/features/contentEntry/events/abstractions.js.map +1 -0
- package/features/contentEntry/events/index.d.ts +7 -0
- package/features/contentEntry/events/index.js +6 -0
- package/features/contentEntry/events/index.js.map +1 -0
- package/features/graphQLClient/CmsGraphQLClient.d.ts +13 -0
- package/features/graphQLClient/CmsGraphQLClient.js +21 -0
- package/features/graphQLClient/CmsGraphQLClient.js.map +1 -0
- package/features/graphQLClient/abstractions.d.ts +17 -0
- package/features/graphQLClient/abstractions.js +4 -0
- package/features/graphQLClient/abstractions.js.map +1 -0
- package/features/graphQLClient/feature.d.ts +3 -0
- package/features/graphQLClient/feature.js +16 -0
- package/features/graphQLClient/feature.js.map +1 -0
- package/features/graphQLClient/index.d.ts +1 -0
- package/features/graphQLClient/index.js +3 -0
- package/features/graphQLClient/index.js.map +1 -0
- package/features/modelGroup/abstractions.d.ts +6 -0
- package/features/modelGroup/abstractions.js +4 -0
- package/features/modelGroup/abstractions.js.map +1 -0
- package/features/modelGroup/createModelGroup/CreateModelGroupGateway.d.ts +23 -0
- package/features/modelGroup/createModelGroup/CreateModelGroupGateway.js +59 -0
- package/features/modelGroup/createModelGroup/CreateModelGroupGateway.js.map +1 -0
- package/features/modelGroup/createModelGroup/CreateModelGroupRepository.d.ts +13 -0
- package/features/modelGroup/createModelGroup/CreateModelGroupRepository.js +19 -0
- package/features/modelGroup/createModelGroup/CreateModelGroupRepository.js.map +1 -0
- package/features/modelGroup/createModelGroup/CreateModelGroupUseCase.d.ts +10 -0
- package/features/modelGroup/createModelGroup/CreateModelGroupUseCase.js +15 -0
- package/features/modelGroup/createModelGroup/CreateModelGroupUseCase.js.map +1 -0
- package/features/modelGroup/createModelGroup/abstractions.d.ts +29 -0
- package/features/modelGroup/createModelGroup/abstractions.js +15 -0
- package/features/modelGroup/createModelGroup/abstractions.js.map +1 -0
- package/features/modelGroup/createModelGroup/feature.d.ts +3 -0
- package/features/modelGroup/createModelGroup/feature.js +20 -0
- package/features/modelGroup/createModelGroup/feature.js.map +1 -0
- package/features/modelGroup/deleteModelGroup/DeleteModelGroupGateway.d.ts +21 -0
- package/features/modelGroup/deleteModelGroup/DeleteModelGroupGateway.js +41 -0
- package/features/modelGroup/deleteModelGroup/DeleteModelGroupGateway.js.map +1 -0
- package/features/modelGroup/deleteModelGroup/DeleteModelGroupRepository.d.ts +12 -0
- package/features/modelGroup/deleteModelGroup/DeleteModelGroupRepository.js +18 -0
- package/features/modelGroup/deleteModelGroup/DeleteModelGroupRepository.js.map +1 -0
- package/features/modelGroup/deleteModelGroup/DeleteModelGroupUseCase.d.ts +10 -0
- package/features/modelGroup/deleteModelGroup/DeleteModelGroupUseCase.js +15 -0
- package/features/modelGroup/deleteModelGroup/DeleteModelGroupUseCase.js.map +1 -0
- package/features/modelGroup/deleteModelGroup/abstractions.d.ts +21 -0
- package/features/modelGroup/deleteModelGroup/abstractions.js +15 -0
- package/features/modelGroup/deleteModelGroup/abstractions.js.map +1 -0
- package/features/modelGroup/deleteModelGroup/feature.d.ts +3 -0
- package/features/modelGroup/deleteModelGroup/feature.js +20 -0
- package/features/modelGroup/deleteModelGroup/feature.js.map +1 -0
- package/features/modelGroup/feature.d.ts +1 -0
- package/features/modelGroup/feature.js +21 -0
- package/features/modelGroup/feature.js.map +1 -0
- package/features/modelGroup/getModelGroup/GetModelGroupGateway.d.ts +22 -0
- package/features/modelGroup/getModelGroup/GetModelGroupGateway.js +55 -0
- package/features/modelGroup/getModelGroup/GetModelGroupGateway.js.map +1 -0
- package/features/modelGroup/getModelGroup/GetModelGroupRepository.d.ts +12 -0
- package/features/modelGroup/getModelGroup/GetModelGroupRepository.js +19 -0
- package/features/modelGroup/getModelGroup/GetModelGroupRepository.js.map +1 -0
- package/features/modelGroup/getModelGroup/GetModelGroupUseCase.d.ts +10 -0
- package/features/modelGroup/getModelGroup/GetModelGroupUseCase.js +15 -0
- package/features/modelGroup/getModelGroup/GetModelGroupUseCase.js.map +1 -0
- package/features/modelGroup/getModelGroup/abstractions.d.ts +22 -0
- package/features/modelGroup/getModelGroup/abstractions.js +15 -0
- package/features/modelGroup/getModelGroup/abstractions.js.map +1 -0
- package/features/modelGroup/getModelGroup/feature.d.ts +3 -0
- package/features/modelGroup/getModelGroup/feature.js +20 -0
- package/features/modelGroup/getModelGroup/feature.js.map +1 -0
- package/features/modelGroup/listModelGroups/ListModelGroupsGateway.d.ts +19 -0
- package/features/modelGroup/listModelGroups/ListModelGroupsGateway.js +56 -0
- package/features/modelGroup/listModelGroups/ListModelGroupsGateway.js.map +1 -0
- package/features/modelGroup/listModelGroups/ListModelGroupsRepository.d.ts +12 -0
- package/features/modelGroup/listModelGroups/ListModelGroupsRepository.js +23 -0
- package/features/modelGroup/listModelGroups/ListModelGroupsRepository.js.map +1 -0
- package/features/modelGroup/listModelGroups/ListModelGroupsUseCase.d.ts +10 -0
- package/features/modelGroup/listModelGroups/ListModelGroupsUseCase.js +15 -0
- package/features/modelGroup/listModelGroups/ListModelGroupsUseCase.js.map +1 -0
- package/features/modelGroup/listModelGroups/abstractions.d.ts +39 -0
- package/features/modelGroup/listModelGroups/abstractions.js +15 -0
- package/features/modelGroup/listModelGroups/abstractions.js.map +1 -0
- package/features/modelGroup/listModelGroups/feature.d.ts +3 -0
- package/features/modelGroup/listModelGroups/feature.js +20 -0
- package/features/modelGroup/listModelGroups/feature.js.map +1 -0
- package/features/modelGroup/updateModelGroup/UpdateModelGroupGateway.d.ts +24 -0
- package/features/modelGroup/updateModelGroup/UpdateModelGroupGateway.js +56 -0
- package/features/modelGroup/updateModelGroup/UpdateModelGroupGateway.js.map +1 -0
- package/features/modelGroup/updateModelGroup/UpdateModelGroupRepository.d.ts +13 -0
- package/features/modelGroup/updateModelGroup/UpdateModelGroupRepository.js +31 -0
- package/features/modelGroup/updateModelGroup/UpdateModelGroupRepository.js.map +1 -0
- package/features/modelGroup/updateModelGroup/UpdateModelGroupUseCase.d.ts +10 -0
- package/features/modelGroup/updateModelGroup/UpdateModelGroupUseCase.js +15 -0
- package/features/modelGroup/updateModelGroup/UpdateModelGroupUseCase.js.map +1 -0
- package/features/modelGroup/updateModelGroup/abstractions.d.ts +30 -0
- package/features/modelGroup/updateModelGroup/abstractions.js +15 -0
- package/features/modelGroup/updateModelGroup/abstractions.js.map +1 -0
- package/features/modelGroup/updateModelGroup/feature.d.ts +3 -0
- package/features/modelGroup/updateModelGroup/feature.js +20 -0
- package/features/modelGroup/updateModelGroup/feature.js.map +1 -0
- package/features/permissions/abstractions.d.ts +17 -0
- package/features/permissions/abstractions.js +5 -0
- package/features/permissions/abstractions.js.map +1 -0
- package/features/permissions/feature.d.ts +14 -0
- package/features/permissions/feature.js +6 -0
- package/features/permissions/feature.js.map +1 -0
- package/package.json +29 -30
- package/presentation/modelGroup/hooks/index.d.ts +5 -0
- package/presentation/modelGroup/hooks/index.js +7 -0
- package/presentation/modelGroup/hooks/index.js.map +1 -0
- package/presentation/modelGroup/hooks/useCreateModelGroup.d.ts +4 -0
- package/presentation/modelGroup/hooks/useCreateModelGroup.js +12 -0
- package/presentation/modelGroup/hooks/useCreateModelGroup.js.map +1 -0
- package/presentation/modelGroup/hooks/useDeleteModelGroup.d.ts +3 -0
- package/presentation/modelGroup/hooks/useDeleteModelGroup.js +12 -0
- package/presentation/modelGroup/hooks/useDeleteModelGroup.js.map +1 -0
- package/presentation/modelGroup/hooks/useGetModelGroup.d.ts +3 -0
- package/presentation/modelGroup/hooks/useGetModelGroup.js +12 -0
- package/presentation/modelGroup/hooks/useGetModelGroup.js.map +1 -0
- package/presentation/modelGroup/hooks/useListModelGroups.d.ts +3 -0
- package/presentation/modelGroup/hooks/useListModelGroups.js +16 -0
- package/presentation/modelGroup/hooks/useListModelGroups.js.map +1 -0
- package/presentation/modelGroup/hooks/useUpdateModelGroup.d.ts +4 -0
- package/presentation/modelGroup/hooks/useUpdateModelGroup.js +12 -0
- package/presentation/modelGroup/hooks/useUpdateModelGroup.js.map +1 -0
- package/admin/plugins/apiInformation/placeholder.manage.graphql +0 -18
- package/admin/plugins/apiInformation/placeholder.preview.graphql +0 -15
- 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
|
-
|
|
89
|
+
truncate: false
|
|
91
90
|
}), /*#__PURE__*/React.createElement(Browser.Table.Column, {
|
|
92
91
|
name: "live",
|
|
93
92
|
header: "Live",
|
|
94
|
-
|
|
95
|
-
|
|
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
|
-
|
|
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
|
-
}) =>
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
}) :
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
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":"AAAA;AACA;AACA;AACA,OAAOA,KAAK,IAAIC,WAAW,EAAEC,OAAO,EAAEC,QAAQ,QAAQ,OAAO;AAC7D,SAASC,OAAO,QAAQ,6BAA6B;AACrD,SAASC,QAAQ,EAAEC,SAAS,QAAQ,mBAAmB;AACvD,SAASC,cAAc,IAAIC,OAAO,QAAQ,uBAAuB;AACjE,SACID,cAAc,IAAIE,gBAAgB,EAClCF,cAAc,IAAIG,UAAU,QACzB,iCAAiC;AACxC,SAASH,cAAc,IAAII,cAAc,QAAQ,+BAA+B;AAChF,SAASJ,cAAc,IAAIK,QAAQ,QAAQ,wBAAwB;AACnE,SAASL,cAAc,IAAIM,QAAQ,QAAQ,wBAAwB;AACnE,SAASN,cAAc,IAAIO,YAAY,QAAQ,6BAA6B;AAC5E,SAASP,cAAc,IAAIQ,UAAU,QAAQ,0BAA0B;AACvE,SAASR,cAAc,IAAIS,SAAS,QAAQ,iCAAiC;AAC7E,SAASC,SAAS;AAClB,OAAO,KAAKC,GAAG,MAAM,0BAA0B;AAC/C,SAASC,IAAI,QAAQ,2BAA2B;AAChD,SAASC,kBAAkB;AAC3B,OAAOC,OAAO,MAAM,mBAAmB;AAEvC,SAASC,aAAa;AACtB,SAASC,eAAe,QAAQ,gCAAgC;AAEhE,SAASC,cAAc;AACvB,SAASC,mBAAmB;AAC5B,SAASC,sBAAsB;AAC/B,SAASC,MAAM,EAAEC,YAAY,EAAEC,IAAI,EAAEC,UAAU,EAAEC,MAAM,EAAEC,OAAO,QAAQ,kBAAkB;AAC1F,SAASC,uBAAuB,QAAQ,iCAAiC;AACzE,SAASC,MAAM;AACf,SAASC,aAAa;AAEtB,MAAMC,CAAC,GAAGjB,IAAI,CAACkB,SAAS,CAAC,gCAAgC,CAAC;AAO1D,MAAMC,OAAiB,GAAG,CACtB;EACIC,KAAK,EAAEH,CAAC,kBAAkB;EAC1BI,OAAO,EAAE;AACb,CAAC,EACD;EACID,KAAK,EAAEH,CAAC,kBAAkB;EAC1BI,OAAO,EAAE;AACb,CAAC,EACD;EACID,KAAK,EAAEH,CAAC,UAAU;EAClBI,OAAO,EAAE;AACb,CAAC,EACD;EACID,KAAK,EAAEH,CAAC,UAAU;EAClBI,OAAO,EAAE;AACb,CAAC,CACJ;AAaD,MAAMC,WAAW,GAAGA,CAAC;EAAEC;AAAiB,CAAC,KAAK;EAC1C,IAAI,CAACA,KAAK,CAACC,IAAI,EAAE;IACb,OAAO,IAAI;EACf;EACA,oBACI3C,KAAA,CAAA4C,aAAA,CAAC1B,GAAG,CAAC2B,eAAe,qBAChB7C,KAAA,CAAA4C,aAAA;IAAKE,SAAS,EAAE;EAAqB,gBACjC9C,KAAA,CAAA4C,aAAA,CAACf,IAAI;IACDkB,IAAI,EAAE,IAAK;IACXC,KAAK,EAAE,SAAU;IACjBT,KAAK,EAAE,oBAAqB;IAC5BI,IAAI,eAAE3C,KAAA,CAAA4C,aAAA,CAACrB,eAAe;MAACoB,IAAI,EAAER,aAAa,CAACO,KAAK,CAACC,IAAI;IAAc,CAAE;EAAE,CAC1E,CACA,CACY,CAAC;AAE9B,CAAC;AAED,MAAMM,qBAAqB,GAAGA,CAAC;EAC3BC,SAAS;EACTC,QAAQ;EACRC,OAAO;EACPC;AACwB,CAAC,KAAK;EAC9B,MAAM,CAACC,MAAM,EAAEC,SAAS,CAAC,GAAGpD,QAAQ,CAAS,EAAE,CAAC;EAChD,MAAM,CAACqD,IAAI,EAAEC,OAAO,CAAC,GAAGtD,QAAQ,CAASmC,OAAO,CAAC,CAAC,CAAC,CAACE,OAAO,CAAC;EAC5D,MAAM;IAAEkB;EAAU,CAAC,GAAGpD,SAAS,CAAC,CAAC;EACjC,MAAM;IAAEqD,MAAM;IAAEC,OAAO;IAAEC;EAAQ,CAAC,GAAG5C,SAAS,CAAC,CAAC;EAChD,MAAM;IAAE6C,SAAS;IAAEC;EAAQ,CAAC,GAAGzC,aAAa,CAAC,CAAC;EAE9C,MAAM,CAAC0C,gBAAgB,EAAEC,mBAAmB,CAAC,GAAG9D,QAAQ,CAAkB,IAAI,CAAC;EAE/E,MAAM+D,UAAU,GAAGjE,WAAW,CAC1B,CAAC;IAAEkE;EAA6B,CAAC,KAAc;IAC3C,OAAOA,IAAI,CAACC,WAAW,CAAC,CAAC,CAACC,QAAQ,CAACf,MAAM,CAAC;EAC9C,CAAC,EACD,CAACA,MAAM,CACX,CAAC;EAED,MAAMgB,QAAQ,GAAGrE,WAAW,CACvBsE,IAAgB,IAAiB;IAC9B,IAAI,CAACf,IAAI,EAAE;MACP,OAAOe,IAAI;IACf;IACA,MAAM,CAACC,SAAS,EAAEC,WAAW,CAAC,GAAGrD,kBAAkB,CAACoC,IAAI,CAAC;IACzD,OAAOnC,OAAO,CAACkD,IAAI,EAAE,CAACC,SAAS,CAAC,EAAE,CAACC,WAAW,CAAC,CAAC;EACpD,CAAC,EACD,CAACjB,IAAI,CACT,CAAC;EAED,MAAMkB,UAAU,GAAIC,YAAsB,IAAW;IACjDjB,SAAS,CAACxB,MAAM,CAAC0C,aAAa,CAACC,MAAM,EAAE;MAAEC,OAAO,EAAEH,YAAY,CAACG;IAAQ,CAAC,CAAC;EAC7E,CAAC;EAED,MAAMC,kBAAkB,GAAG9E,WAAW,CAAE0E,YAAuC,IAAK;IAChF,OAAO,MAAM;MACTjB,SAAS,CAACxB,MAAM,CAAC8C,cAAc,CAACC,IAAI,EAAE;QAAEH,OAAO,EAAEH,YAAY,CAACG;MAAQ,CAAC,CAAC;IAC5E,CAAC;EACL,CAAC,EAAE,EAAE,CAAC;EAEN,MAAMI,iCAAiC,GAAGhF,OAAO,CAC7C,mBACIF,KAAA,CAAA4C,aAAA,CAAC1B,GAAG,CAACiE,oBAAoB,qBACrBnF,KAAA,CAAA4C,aAAA,CAACb,MAAM;IACHqD,KAAK,EAAE5B,IAAK;IACZ6B,QAAQ,EAAE5B,OAAQ;IAClBlB,KAAK,EAAEH,CAAC,SAAU;IAClBkD,OAAO,EAAEhD,OAAO,CAACiD,GAAG,CAACC,MAAM,KAAK;MAC5BjD,KAAK,EAAEiD,MAAM,CAACjD,KAAK;MACnB6C,KAAK,EAAEI,MAAM,CAAChD;IAClB,CAAC,CAAC;EAAE,CACP,CACqB,CAC7B,EACD,CAACgB,IAAI,CACT,CAAC;EAED,MAAMiC,YAAY,GAAGnC,MAAM,KAAK,EAAE,GAAGK,MAAM,GAAGA,MAAM,CAACL,MAAM,CAACY,UAAU,CAAC;EACvE,MAAMwB,aAAa,GAAGpB,QAAQ,CAACmB,YAAY,CAAC;EAE5C,MAAM;IAAEE,kBAAkB;IAAEC;EAAkB,CAAC,GAAGpE,cAAc,CAAC,CAAC;EAElE,MAAMqE,cAAc,GAAG5F,WAAW,CAAC,MAAM;IACrC4D,OAAO,CAAC,CAAC;EACb,CAAC,EAAE,EAAE,CAAC;EAEN,oBACI7D,KAAA,CAAA4C,aAAA,CAAA5C,KAAA,CAAA8F,QAAA,qBACI9F,KAAA,CAAA4C,aAAA,CAAC1B,GAAG,CAAC6E,QAAQ;IACTnC,OAAO,EAAEA,OAAQ;IACjBoC,IAAI,EAAEN,aAAc;IACpBO,KAAK,EAAE7D,CAAC,gBAAiB;IACzB8D,OAAO,eACHlG,KAAA,CAAA4C,aAAA;MAAKE,SAAS,EAAE;IAAuC,gBACnD9C,KAAA,CAAA4C,aAAA,CAACZ,OAAO;MACJmE,OAAO,EAAE,mBAAoB;MAC7BC,OAAO,eACHpG,KAAA,CAAA4C,aAAA,CAACd,UAAU;QACPa,IAAI,eAAE3C,KAAA,CAAA4C,aAAA,CAACnC,gBAAgB,MAAE,CAAE;QAC3BsC,IAAI,EAAE,IAAK;QACXsD,OAAO,EAAE,OAAQ;QACjBC,OAAO,EAAEA,CAAA,KAAMX,kBAAkB,CAAC;MAAE,CACvC;IACJ,CACJ,CAAC,eACF3F,KAAA,CAAA4C,aAAA,CAACZ,OAAO;MACJmE,OAAO,EAAE,eAAgB;MACzBC,OAAO,eACHpG,KAAA,CAAA4C,aAAA,CAACd,UAAU;QACPa,IAAI,eAAE3C,KAAA,CAAA4C,aAAA,CAACjC,cAAc,MAAE,CAAE;QACzBoC,IAAI,EAAE,IAAK;QACXsD,OAAO,EAAE,OAAQ;QACjBC,OAAO,EAAEA,CAAA,KAAMjD,oBAAoB,CAAC;MAAE,CACzC;IACJ,CACJ,CAAC,EACDH,SAAS,gBACNlD,KAAA,CAAA4C,aAAA,CAACjB,MAAM;MACH,eAAY,mBAAmB;MAC/B2E,OAAO,EAAEnD,QAAS;MAClBoD,IAAI,EAAEnE,CAAC,KAAM;MACbO,IAAI,eAAE3C,KAAA,CAAA4C,aAAA,CAACpC,OAAO,MAAE,CAAE;MAClBuC,IAAI,EAAE,IAAK;MACXD,SAAS,EAAE;IAAQ,CACtB,CAAC,GACF,IACH,CACR;IACD0D,MAAM,eACFxG,KAAA,CAAA4C,aAAA,CAACvC,QAAQ;MACL+E,KAAK,EAAE9B,MAAO;MACd+B,QAAQ,EAAE9B,SAAU;MACpBkD,gBAAgB,EAAErE,CAAC;IAA0B,CAChD,CACJ;IACDsE,YAAY,EAAExB,iCAAkC;IAChDyB,kBAAkB,eACd3G,KAAA,CAAA4C,aAAA,CAAC1B,GAAG,CAAC0F,0BAA0B;MAAC,eAAa;IAA2B,CAAE,CAC7E;IACD/C,OAAO,EAAEgC;EAAe,GAEvB,CAAC;IAAEG,IAAI,GAAG;EAAyB,CAAC,kBACjChG,KAAA,CAAA4C,aAAA,CAAC1B,GAAG,CAAC+D,IAAI;IAAC,eAAY;EAAmB,GACpCe,IAAI,CAACT,GAAG,CAACZ,YAAY,IAAI;IACtB,MAAMkC,kBAAkB,GAAGlC,YAAY,CAACmC,MAAM,CAACC,MAAM,KAAK,CAAC;IAC3D,MAAMC,UAAU,GAAGA,CAAA,KAAM;MACrB,IAAIH,kBAAkB,EAAE;QACpB,OAAO,uEAAuE;MAClF;MAEA,IAAIlC,YAAY,CAACsC,IAAI,CAAC5C,QAAQ,CAACpC,uBAAuB,CAAC,EAAE;QACrD,OAAO,MAAM;MACjB;MAEA,OAAO,cAAc;IACzB,CAAC;IAED,oBACIjC,KAAA,CAAA4C,aAAA,CAAC1B,GAAG,CAACgG,QAAQ;MAACC,GAAG,EAAExC,YAAY,CAACG,OAAQ;MAAChC,SAAS,EAAE;IAAa,gBAC7D9C,KAAA,CAAA4C,aAAA,CAAC1B,GAAG,CAACkG,YAAY,qBACbpH,KAAA,CAAA4C,aAAA,CAACH,WAAW;MAACC,KAAK,EAAEiC;IAAa,CAAE,CAAC,eACpC3E,KAAA,CAAA4C,aAAA,CAAC1B,GAAG,CAACmG,mBAAmB,QACnB1C,YAAY,CAACR,IACO,CAAC,eAC1BnE,KAAA,CAAA4C,aAAA,CAAC1B,GAAG,CAACoG,qBAAqB,QACrBlF,CAAC,wBAAwB,CAAC;MACvBmF,IAAI,EAAE5C,YAAY,CAAC6C,OAAO,gBACtBxH,KAAA,CAAA4C,aAAA,CAACxC,OAAO;QAACqH,QAAQ,EAAE9C,YAAY,CAAC6C;MAAQ,CAAE,CAAC,GAE3C;IAER,CAAC,CACsB,CACb,CAAC,eACnBxH,KAAA,CAAA4C,aAAA,CAAC1B,GAAG,CAACwG,YAAY,qBACb1H,KAAA,CAAA4C,aAAA,CAAC1B,GAAG,CAACyG,WAAW,qBACZ3H,KAAA,CAAA4C,aAAA,CAACnB,mBAAmB;MAACiB,KAAK,EAAEiC;IAAa,gBACrC3E,KAAA,CAAA4C,aAAA;MACIE,SAAS,EAAE;IAAqC,gBAEhD9C,KAAA,CAAA4C,aAAA,CAACZ,OAAO;MACJ4F,IAAI,EAAE,KAAM;MACZzB,OAAO,EAAEa,UAAU,CAAC,CAAE;MACtBZ,OAAO,eACHpG,KAAA,CAAA4C,aAAA,CAACjB,MAAM;QACH4E,IAAI,EAAE,cAAe;QACrB5D,IAAI,eAAE3C,KAAA,CAAA4C,aAAA,CAAChC,QAAQ,MAAE,CAAE;QACnByF,OAAO,EAAE,WAAY;QACrBtD,IAAI,EAAE,IAAK;QACX,eACI,+BACH;QACDuD,OAAO,EAAEvB,kBAAkB,CACvBJ,YACJ,CAAE;QACFkD,QAAQ,EAAEhB;MAAmB,CAChC;IACJ,CACJ,CACC,CAAC,EAEN9C,OAAO,CAACY,YAAY,EAAE,kBAAkB,CAAC,iBACtC3E,KAAA,CAAA4C,aAAA;MACIE,SAAS,EACL;IACH,gBAED9C,KAAA,CAAA4C,aAAA,CAACZ,OAAO;MACJ4F,IAAI,EAAE,KAAM;MACZzB,OAAO,EACHxB,YAAY,CAACmD,MAAM,GACb1F,CAAC,2CAA2C,GAC5CA,CAAC,oBACV;MACDgE,OAAO,eACHpG,KAAA,CAAA4C,aAAA,CAACjB,MAAM;QACH4E,IAAI,EAAE,MAAO;QACb5D,IAAI,eAAE3C,KAAA,CAAA4C,aAAA,CAAC/B,QAAQ,MAAE,CAAE;QACnBwF,OAAO,EAAE,WAAY;QACrBtD,IAAI,EAAE,IAAK;QACX8E,QAAQ,EAAElD,YAAY,CAACmD,MAAO;QAC9BxB,OAAO,EAAEA,CAAA,KACL5B,UAAU,CAACC,YAAY,CAC1B;QACD,eACI;MACH,CACJ;IACJ,CACJ,CACC,CACT,eAED3E,KAAA,CAAA4C,aAAA,CAAChB,YAAY;MACTwE,OAAO,eACHpG,KAAA,CAAA4C,aAAA,CAACd,UAAU;QACPa,IAAI,eAAE3C,KAAA,CAAA4C,aAAA,CAAC9B,YAAY,MAAE,CAAE;QACvBiC,IAAI,EAAE,IAAK;QACXsD,OAAO,EAAE;MAAQ,CACpB;IACJ,GAEAtC,OAAO,CAACY,YAAY,EAAE,kBAAkB,CAAC,iBACtC3E,KAAA,CAAA4C,aAAA,CAAChB,YAAY,CAACmG,IAAI;MACdxB,IAAI,EAAE,OAAQ;MACd5D,IAAI,eACA3C,KAAA,CAAA4C,aAAA,CAAChB,YAAY,CAACmG,IAAI,CAAClG,IAAI;QACnBU,KAAK,EAAE,OAAQ;QACfyF,OAAO,eAAEhI,KAAA,CAAA4C,aAAA,CAAC5B,SAAS,MAAE;MAAE,CAC1B,CACJ;MACD,eACI,gCACH;MACDsF,OAAO,EAAEA,CAAA,KAAMlD,OAAO,CAACuB,YAAY;IAAE,CACxC,CACJ,eAED3E,KAAA,CAAA4C,aAAA,CAAChB,YAAY,CAACmG,IAAI;MACdxB,IAAI,EAAE,QAAS;MACf5D,IAAI,eACA3C,KAAA,CAAA4C,aAAA,CAAChB,YAAY,CAACmG,IAAI,CAAClG,IAAI;QACnBU,KAAK,EAAE,QAAS;QAChByF,OAAO,eAAEhI,KAAA,CAAA4C,aAAA,CAAClC,UAAU,MAAE;MAAE,CAC3B,CACJ;MACD,eACI,iCACH;MACD4F,OAAO,EAAEV,iBAAiB,CAACjB,YAAY;IAAE,CAC5C,CAAC,EAEDb,SAAS,CACNa,YAAY,EACZ,kBACJ,CAAC,iBACG3E,KAAA,CAAA4C,aAAA,CAAChB,YAAY,CAACmG,IAAI;MACdxB,IAAI,EAAE,QAAS;MACf5D,IAAI,eACA3C,KAAA,CAAA4C,aAAA,CAAChB,YAAY,CAACmG,IAAI,CAAClG,IAAI;QACnBU,KAAK,EAAE,QAAS;QAChByF,OAAO,eAAEhI,KAAA,CAAA4C,aAAA,CAAC7B,UAAU,MAAE;MAAE,CAC3B,CACJ;MACDuF,OAAO,EAAEA,CAAA,KAAM;QACXrC,mBAAmB,CAACU,YAAY,CAAC;MACrC,CAAE;MACF,eACI,iCACH;MACD7B,SAAS,EACL;IACH,CACJ,CAEK,CACG,CACR,CACH,CACR,CAAC;EAEvB,CAAC,CACK,CAEJ,CAAC,EACdkB,gBAAgB,gBACbhE,KAAA,CAAA4C,aAAA,CAAClB,sBAAsB;IACnBgB,KAAK,EAAEsB,gBAAiB;IACxBiE,OAAO,EAAEA,CAAA,KAAM;MACXhE,mBAAmB,CAAC,IAAI,CAAC;IAC7B;EAAE,CACL,CAAC,GACF,IACN,CAAC;AAEX,CAAC;AAED,eAAehB,qBAAqB","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":[]}
|