@webiny/app-headless-cms 5.29.0 → 5.30.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 -1
- package/HeadlessCMS.js.map +1 -1
- package/admin/components/ContentEntryForm/useBind.js +23 -1
- package/admin/components/ContentEntryForm/useBind.js.map +1 -1
- package/admin/components/ContentModelEditor/Editor.js +1 -1
- package/admin/components/ContentModelEditor/Editor.js.map +1 -1
- package/admin/components/FieldEditor/EditFieldDialog/AppearanceTab.js +1 -1
- package/admin/components/FieldEditor/EditFieldDialog/AppearanceTab.js.map +1 -1
- package/admin/components/FieldEditor/EditFieldDialog/GeneralTab.js +10 -5
- package/admin/components/FieldEditor/EditFieldDialog/GeneralTab.js.map +1 -1
- package/admin/components/FieldEditor/EditFieldDialog/ValidatorsTab.js +1 -0
- package/admin/components/FieldEditor/EditFieldDialog/ValidatorsTab.js.map +1 -1
- package/admin/components/FieldEditor/EditFieldDialog.js +8 -7
- package/admin/components/FieldEditor/EditFieldDialog.js.map +1 -1
- package/admin/contexts/Cms/index.d.ts +60 -0
- package/admin/contexts/Cms/index.js +107 -9
- package/admin/contexts/Cms/index.js.map +1 -1
- package/admin/plugins/editor/defaultBar/SaveContentModelButton.js +1 -0
- package/admin/plugins/editor/defaultBar/SaveContentModelButton.js.map +1 -1
- package/admin/plugins/entry/DefaultOnEntryDelete.d.ts +2 -0
- package/admin/plugins/entry/DefaultOnEntryDelete.js +204 -0
- package/admin/plugins/entry/DefaultOnEntryDelete.js.map +1 -0
- package/admin/plugins/entry/DefaultOnEntryPublish.d.ts +2 -0
- package/admin/plugins/entry/DefaultOnEntryPublish.js +176 -0
- package/admin/plugins/entry/DefaultOnEntryPublish.js.map +1 -0
- package/admin/plugins/fieldRenderers/Accordion.js +3 -0
- package/admin/plugins/fieldRenderers/Accordion.js.map +1 -1
- package/admin/plugins/fieldRenderers/DynamicSection.d.ts +11 -8
- package/admin/plugins/fieldRenderers/DynamicSection.js +0 -3
- package/admin/plugins/fieldRenderers/DynamicSection.js.map +1 -1
- package/admin/plugins/fieldRenderers/boolean/booleanSwitch.js +2 -1
- package/admin/plugins/fieldRenderers/boolean/booleanSwitch.js.map +1 -1
- package/admin/plugins/fieldRenderers/checkboxes.js +2 -1
- package/admin/plugins/fieldRenderers/checkboxes.js.map +1 -1
- package/admin/plugins/fieldRenderers/dateTime/Input.js +2 -1
- package/admin/plugins/fieldRenderers/dateTime/Input.js.map +1 -1
- package/admin/plugins/fieldRenderers/dateTime/Select.js +2 -1
- package/admin/plugins/fieldRenderers/dateTime/Select.js.map +1 -1
- package/admin/plugins/fieldRenderers/dateTime/utils.d.ts +3 -3
- package/admin/plugins/fieldRenderers/file/fileField.js +2 -1
- package/admin/plugins/fieldRenderers/file/fileField.js.map +1 -1
- package/admin/plugins/fieldRenderers/file/fileFields.js +4 -2
- package/admin/plugins/fieldRenderers/file/fileFields.js.map +1 -1
- package/admin/plugins/fieldRenderers/longText/longText.js +2 -1
- package/admin/plugins/fieldRenderers/longText/longText.js.map +1 -1
- package/admin/plugins/fieldRenderers/number/numberInput.js +2 -1
- package/admin/plugins/fieldRenderers/number/numberInput.js.map +1 -1
- package/admin/plugins/fieldRenderers/object/StyledComponents.d.ts +2 -0
- package/admin/plugins/fieldRenderers/object/StyledComponents.js +37 -2
- package/admin/plugins/fieldRenderers/object/StyledComponents.js.map +1 -1
- package/admin/plugins/fieldRenderers/object/arrow_drop_down.svg +1 -0
- package/admin/plugins/fieldRenderers/object/arrow_drop_up.svg +1 -0
- package/admin/plugins/fieldRenderers/object/multipleObjects.js +101 -47
- package/admin/plugins/fieldRenderers/object/multipleObjects.js.map +1 -1
- package/admin/plugins/fieldRenderers/radioButtons.js +2 -1
- package/admin/plugins/fieldRenderers/radioButtons.js.map +1 -1
- package/admin/plugins/fieldRenderers/ref/components/ContentEntriesAutocomplete.js +5 -5
- package/admin/plugins/fieldRenderers/ref/components/ContentEntriesAutocomplete.js.map +1 -1
- package/admin/plugins/fieldRenderers/ref/components/useReference.js +6 -1
- package/admin/plugins/fieldRenderers/ref/components/useReference.js.map +1 -1
- package/admin/plugins/fieldRenderers/richText/richTextInput.js +2 -1
- package/admin/plugins/fieldRenderers/richText/richTextInput.js.map +1 -1
- package/admin/plugins/fieldRenderers/richText/richTextInputs.js +2 -2
- package/admin/plugins/fieldRenderers/richText/richTextInputs.js.map +1 -1
- package/admin/plugins/fieldRenderers/select.js +2 -1
- package/admin/plugins/fieldRenderers/select.js.map +1 -1
- package/admin/plugins/fieldRenderers/text/textInput.js +2 -1
- package/admin/plugins/fieldRenderers/text/textInput.js.map +1 -1
- package/admin/plugins/fieldValidators/date/availableValidators.d.ts +1 -1
- package/admin/plugins/index.d.ts +1 -1
- package/admin/plugins/validators/unique.d.ts +1 -1
- package/admin/views/contentEntries/ContentEntriesList.js +7 -2
- package/admin/views/contentEntries/ContentEntriesList.js.map +1 -1
- package/admin/views/contentEntries/ContentEntry/ContentEntryContext.d.ts +4 -6
- package/admin/views/contentEntries/ContentEntry/ContentEntryContext.js +12 -71
- package/admin/views/contentEntries/ContentEntry/ContentEntryContext.js.map +1 -1
- package/admin/views/contentEntries/ContentEntry/PublishEntryRevisionListItem.d.ts +1 -0
- package/admin/views/contentEntries/ContentEntry/PublishEntryRevisionListItem.js +35 -0
- package/admin/views/contentEntries/ContentEntry/PublishEntryRevisionListItem.js.map +1 -0
- package/admin/views/contentEntries/ContentEntry/RevisionListItem.js +9 -11
- package/admin/views/contentEntries/ContentEntry/RevisionListItem.js.map +1 -1
- package/admin/views/contentEntries/ContentEntry/cache.js +47 -21
- package/admin/views/contentEntries/ContentEntry/cache.js.map +1 -1
- package/admin/views/contentEntries/ContentEntry/header/contentFormOptionsMenu/ContentFormOptionsMenu.js +32 -46
- package/admin/views/contentEntries/ContentEntry/header/contentFormOptionsMenu/ContentFormOptionsMenu.js.map +1 -1
- package/admin/views/contentEntries/ContentEntry/header/index.js +6 -6
- package/admin/views/contentEntries/ContentEntry/header/index.js.map +1 -1
- package/admin/views/contentEntries/ContentEntry/header/requestChanges/RequestChanges.d.ts +1 -2
- package/admin/views/contentEntries/ContentEntry/header/requestChanges/RequestChanges.js +6 -4
- package/admin/views/contentEntries/ContentEntry/header/requestChanges/RequestChanges.js.map +1 -1
- package/admin/views/contentEntries/ContentEntry/header/requestReview/RequestReview.d.ts +1 -3
- package/admin/views/contentEntries/ContentEntry/header/requestReview/RequestReview.js +6 -4
- package/admin/views/contentEntries/ContentEntry/header/requestReview/RequestReview.js.map +1 -1
- package/admin/views/contentEntries/ContentEntry/header/saveAndPublishContent/SaveAndPublishContent.d.ts +1 -3
- package/admin/views/contentEntries/ContentEntry/header/saveAndPublishContent/SaveAndPublishContent.js +45 -38
- package/admin/views/contentEntries/ContentEntry/header/saveAndPublishContent/SaveAndPublishContent.js.map +1 -1
- package/admin/views/contentEntries/ContentEntry/useRevision.js +57 -70
- package/admin/views/contentEntries/ContentEntry/useRevision.js.map +1 -1
- package/admin/views/contentEntries/ContentEntry.js +2 -4
- package/admin/views/contentEntries/ContentEntry.js.map +1 -1
- package/admin/views/contentEntries/hooks/useContentEntry.js +7 -1
- package/admin/views/contentEntries/hooks/useContentEntry.js.map +1 -1
- package/admin/views/contentModels/NewContentModelDialog.js +6 -3
- package/admin/views/contentModels/NewContentModelDialog.js.map +1 -1
- package/package.json +21 -20
- package/types.d.ts +10 -7
- package/types.js.map +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["t","i18n","ns","primaryColor","css","color","revisionsMenu","width","right","left","getIcon","rev","meta","locked","status","icon","text","RevisionListItem","revision","useRevision","createRevision","deleteRevision","publishRevision","unpublishRevision","editRevision","useContentEntry","entry","tabs","usePermission","canEdit","canDelete","canPublish","canUnpublish","tooltipText","version","showConfirmation","title","time","savedOn","id","current","switchTab"],"sources":["RevisionListItem.tsx"],"sourcesContent":["import React from \"react\";\nimport { css } from \"emotion\";\n/**\n * Package timeago-react does not have types.\n */\n// @ts-ignore\nimport TimeAgo from \"timeago-react\";\nimport {\n ListItem,\n ListItemText,\n ListItemTextPrimary,\n ListItemTextSecondary,\n ListItemGraphic,\n ListItemMeta\n} from \"@webiny/ui/List\";\nimport { IconButton } from \"@webiny/ui/Button\";\nimport { Icon } from \"@webiny/ui/Icon\";\nimport { MenuItem, Menu, MenuDivider } from \"@webiny/ui/Menu\";\nimport { ConfirmationDialog } from \"@webiny/ui/ConfirmationDialog\";\nimport { Tooltip } from \"@webiny/ui/Tooltip\";\nimport { ReactComponent as MoreVerticalIcon } from \"~/admin/icons/more_vert.svg\";\nimport { ReactComponent as LockIcon } from \"~/admin/icons/lock.svg\";\nimport { ReactComponent as BeenHereIcon } from \"~/admin/icons/beenhere.svg\";\nimport { ReactComponent as GestureIcon } from \"~/admin/icons/gesture.svg\";\nimport { ReactComponent as AddIcon } from \"~/admin/icons/add.svg\";\nimport { ReactComponent as EditIcon } from \"~/admin/icons/edit.svg\";\nimport { ReactComponent as PublishIcon } from \"~/admin/icons/publish.svg\";\nimport { ReactComponent as UnpublishIcon } from \"~/admin/icons/unpublish.svg\";\nimport { ReactComponent as DeleteIcon } from \"~/admin/icons/delete.svg\";\nimport { CmsEditorContentEntry } from \"~/types\";\nimport { i18n } from \"@webiny/app/i18n\";\nimport { useRevision } from \"./useRevision\";\nimport usePermission from \"~/admin/hooks/usePermission\";\nimport { useContentEntry } from \"~/admin/views/contentEntries/hooks/useContentEntry\";\n\nconst t = i18n.ns(\"app-headless-cms/admin/plugins/content-details/content-revisions\");\n\nconst primaryColor = css({ color: \"var(--mdc-theme-primary)\" });\n\nconst revisionsMenu = css({\n width: 250,\n right: -105,\n left: \"auto !important\"\n});\n\nconst getIcon = (rev: CmsEditorContentEntry) => {\n switch (true) {\n case rev.meta.locked && rev.meta.status !== \"published\":\n return {\n icon: <Icon icon={<LockIcon />} data-testid={\"cms.revision.status.locked\"} />,\n text: \"This revision is locked (it has already been published)\"\n };\n case rev.meta.status === \"published\":\n return {\n icon: (\n <Icon\n icon={<BeenHereIcon />}\n className={primaryColor}\n data-testid={\"cms.revision.status.published\"}\n />\n ),\n text: \"This revision is currently published!\"\n };\n default:\n return {\n icon: <Icon icon={<GestureIcon />} data-testid={\"cms.revision.status.draft\"} />,\n text: \"This is a draft\"\n };\n }\n};\n\ninterface RevisionListItemProps {\n revision: CmsEditorContentEntry;\n}\n\nconst RevisionListItem: React.FC<RevisionListItemProps> = ({ revision }) => {\n const { createRevision, deleteRevision, publishRevision, unpublishRevision, editRevision } =\n useRevision({\n revision\n });\n\n const { entry, tabs } = useContentEntry();\n const { canEdit, canDelete, canPublish, canUnpublish } = usePermission();\n const { icon, text: tooltipText } = getIcon(revision);\n\n return (\n <ConfirmationDialog\n title={t`Confirmation required!`}\n message={\n <span>\n {t`You are about to delete revision {revision}. Are you sure you want to continue?`(\n {\n revision: <strong>#{revision.meta.version}</strong>\n }\n )}\n </span>\n }\n >\n {({ showConfirmation }) => (\n <ListItem>\n <ListItemGraphic>\n <Tooltip content={tooltipText} placement={\"bottom\"}>\n {icon}\n </Tooltip>\n </ListItemGraphic>\n <ListItemText>\n <ListItemTextPrimary>{revision.meta.title || t`N/A`}</ListItemTextPrimary>\n <ListItemTextSecondary>\n {t`Last modified {time} (#{version})`({\n time: <TimeAgo datetime={revision.savedOn} />,\n version: revision.meta.version\n })}\n </ListItemTextSecondary>\n </ListItemText>\n <ListItemMeta>\n <Menu\n handle={<IconButton icon={<MoreVerticalIcon />} />}\n className={revisionsMenu}\n data-testid={\"cms.content-form.revisions.more-options\"}\n >\n {canEdit(entry, \"cms.contentEntry\") && (\n <MenuItem\n onClick={() => createRevision(revision.id)}\n data-testid={\"cms.revision.create-revision\"}\n >\n <ListItemGraphic>\n <Icon icon={<AddIcon />} />\n </ListItemGraphic>\n {t`New from current`}\n </MenuItem>\n )}\n\n {!revision.meta.locked && canEdit(entry, \"cms.contentEntry\") && (\n <MenuItem\n onClick={() => {\n editRevision();\n if (!tabs.current) {\n return;\n }\n tabs.current.switchTab(0);\n }}\n >\n <ListItemGraphic>\n <Icon icon={<EditIcon />} />\n </ListItemGraphic>\n {t` Edit`}\n </MenuItem>\n )}\n\n {revision.meta.status !== \"published\" &&\n canPublish(\"cms.contentEntry\") && (\n <MenuItem onClick={() => publishRevision(revision.id)}>\n <ListItemGraphic>\n <Icon icon={<PublishIcon />} />\n </ListItemGraphic>\n {t`Publish`}\n </MenuItem>\n )}\n\n {revision.meta.status === \"published\" &&\n canUnpublish(\"cms.contentEntry\") && (\n <MenuItem\n onClick={() => unpublishRevision(revision.id)}\n data-testid={\"cms.revision.unpublish\"}\n >\n <ListItemGraphic>\n <Icon icon={<UnpublishIcon />} />\n </ListItemGraphic>\n {t`Unpublish`}\n </MenuItem>\n )}\n\n {!revision.meta.locked && canDelete(entry, \"cms.contentEntry\") && (\n <div>\n <MenuDivider />\n <MenuItem onClick={() => showConfirmation(deleteRevision)}>\n <ListItemGraphic>\n <Icon icon={<DeleteIcon />} />\n </ListItemGraphic>\n {t` Delete`}\n </MenuItem>\n </div>\n )}\n </Menu>\n </ListItemMeta>\n </ListItem>\n )}\n </ConfirmationDialog>\n );\n};\n\nexport default RevisionListItem;\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["t","i18n","ns","primaryColor","css","color","revisionsMenu","width","right","left","getIcon","rev","meta","locked","status","icon","text","RevisionListItem","revision","useRevision","createRevision","deleteRevision","publishRevision","unpublishRevision","editRevision","useContentEntry","entry","tabsRef","usePermission","canEdit","canDelete","canPublish","canUnpublish","tooltipText","version","showConfirmation","title","time","savedOn","id","current","switchTab"],"sources":["RevisionListItem.tsx"],"sourcesContent":["import React from \"react\";\nimport { css } from \"emotion\";\n/**\n * Package timeago-react does not have types.\n */\n// @ts-ignore\nimport TimeAgo from \"timeago-react\";\nimport {\n ListItem,\n ListItemText,\n ListItemTextPrimary,\n ListItemTextSecondary,\n ListItemGraphic,\n ListItemMeta\n} from \"@webiny/ui/List\";\nimport { IconButton } from \"@webiny/ui/Button\";\nimport { Icon } from \"@webiny/ui/Icon\";\nimport { MenuItem, Menu, MenuDivider } from \"@webiny/ui/Menu\";\nimport { ConfirmationDialog } from \"@webiny/ui/ConfirmationDialog\";\nimport { Tooltip } from \"@webiny/ui/Tooltip\";\nimport { ReactComponent as MoreVerticalIcon } from \"~/admin/icons/more_vert.svg\";\nimport { ReactComponent as LockIcon } from \"~/admin/icons/lock.svg\";\nimport { ReactComponent as BeenHereIcon } from \"~/admin/icons/beenhere.svg\";\nimport { ReactComponent as GestureIcon } from \"~/admin/icons/gesture.svg\";\nimport { ReactComponent as AddIcon } from \"~/admin/icons/add.svg\";\nimport { ReactComponent as EditIcon } from \"~/admin/icons/edit.svg\";\nimport { ReactComponent as UnpublishIcon } from \"~/admin/icons/unpublish.svg\";\nimport { ReactComponent as DeleteIcon } from \"~/admin/icons/delete.svg\";\nimport { CmsEditorContentEntry } from \"~/types\";\nimport { i18n } from \"@webiny/app/i18n\";\nimport { useRevision } from \"./useRevision\";\nimport usePermission from \"~/admin/hooks/usePermission\";\nimport { useContentEntry } from \"~/admin/views/contentEntries/hooks/useContentEntry\";\nimport { PublishEntryRevisionListItem } from \"./PublishEntryRevisionListItem\";\n\nconst t = i18n.ns(\"app-headless-cms/admin/plugins/content-details/content-revisions\");\n\nconst primaryColor = css({ color: \"var(--mdc-theme-primary)\" });\n\nconst revisionsMenu = css({\n width: 250,\n right: -105,\n left: \"auto !important\"\n});\n\nconst getIcon = (rev: CmsEditorContentEntry) => {\n switch (true) {\n case rev.meta.locked && rev.meta.status !== \"published\":\n return {\n icon: <Icon icon={<LockIcon />} data-testid={\"cms.revision.status.locked\"} />,\n text: \"This revision is locked (it has already been published)\"\n };\n case rev.meta.status === \"published\":\n return {\n icon: (\n <Icon\n icon={<BeenHereIcon />}\n className={primaryColor}\n data-testid={\"cms.revision.status.published\"}\n />\n ),\n text: \"This revision is currently published!\"\n };\n default:\n return {\n icon: <Icon icon={<GestureIcon />} data-testid={\"cms.revision.status.draft\"} />,\n text: \"This is a draft\"\n };\n }\n};\n\ninterface RevisionListItemProps {\n revision: CmsEditorContentEntry;\n}\n\nconst RevisionListItem: React.FC<RevisionListItemProps> = ({ revision }) => {\n const { createRevision, deleteRevision, publishRevision, unpublishRevision, editRevision } =\n useRevision({\n revision\n });\n\n const { entry, tabsRef } = useContentEntry();\n const { canEdit, canDelete, canPublish, canUnpublish } = usePermission();\n const { icon, text: tooltipText } = getIcon(revision);\n\n return (\n <ConfirmationDialog\n title={t`Confirmation required!`}\n message={\n <span>\n {t`You are about to delete revision {revision}. Are you sure you want to continue?`(\n {\n revision: <strong>#{revision.meta.version}</strong>\n }\n )}\n </span>\n }\n >\n {({ showConfirmation }) => (\n <ListItem>\n <ListItemGraphic>\n <Tooltip content={tooltipText} placement={\"bottom\"}>\n {icon}\n </Tooltip>\n </ListItemGraphic>\n <ListItemText>\n <ListItemTextPrimary>{revision.meta.title || t`N/A`}</ListItemTextPrimary>\n <ListItemTextSecondary>\n {t`Last modified {time} (#{version})`({\n time: <TimeAgo datetime={revision.savedOn} />,\n version: revision.meta.version\n })}\n </ListItemTextSecondary>\n </ListItemText>\n <ListItemMeta>\n <Menu\n handle={<IconButton icon={<MoreVerticalIcon />} />}\n className={revisionsMenu}\n data-testid={\"cms.content-form.revisions.more-options\"}\n >\n {canEdit(entry, \"cms.contentEntry\") && (\n <MenuItem\n onClick={() => createRevision(revision.id)}\n data-testid={\"cms.revision.create-revision\"}\n >\n <ListItemGraphic>\n <Icon icon={<AddIcon />} />\n </ListItemGraphic>\n {t`New from current`}\n </MenuItem>\n )}\n\n {!revision.meta.locked && canEdit(entry, \"cms.contentEntry\") && (\n <MenuItem\n onClick={() => {\n editRevision();\n if (!tabsRef.current) {\n return;\n }\n tabsRef.current.switchTab(0);\n }}\n >\n <ListItemGraphic>\n <Icon icon={<EditIcon />} />\n </ListItemGraphic>\n {t` Edit`}\n </MenuItem>\n )}\n\n {revision.meta.status !== \"published\" &&\n canPublish(\"cms.contentEntry\") && (\n <MenuItem onClick={() => publishRevision(revision.id)}>\n <PublishEntryRevisionListItem />\n </MenuItem>\n )}\n\n {revision.meta.status === \"published\" &&\n canUnpublish(\"cms.contentEntry\") && (\n <MenuItem\n onClick={() => unpublishRevision(revision.id)}\n data-testid={\"cms.revision.unpublish\"}\n >\n <ListItemGraphic>\n <Icon icon={<UnpublishIcon />} />\n </ListItemGraphic>\n {t`Unpublish`}\n </MenuItem>\n )}\n\n {!revision.meta.locked && canDelete(entry, \"cms.contentEntry\") && (\n <div>\n <MenuDivider />\n <MenuItem onClick={() => showConfirmation(deleteRevision)}>\n <ListItemGraphic>\n <Icon icon={<DeleteIcon />} />\n </ListItemGraphic>\n {t` Delete`}\n </MenuItem>\n </div>\n )}\n </Menu>\n </ListItemMeta>\n </ListItem>\n )}\n </ConfirmationDialog>\n );\n};\n\nexport default RevisionListItem;\n"],"mappings":"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"}
|
|
@@ -31,7 +31,7 @@ var sortEntries = function sortEntries(list, sort) {
|
|
|
31
31
|
if (!sort) {
|
|
32
32
|
return list;
|
|
33
33
|
} else if (Array.isArray(sort) === false) {
|
|
34
|
-
console.
|
|
34
|
+
console.warn("Sort is not an Array of strings.");
|
|
35
35
|
return list;
|
|
36
36
|
} else if (sort.length === 0) {
|
|
37
37
|
return list;
|
|
@@ -78,9 +78,8 @@ var updateLatestRevisionInListCache = function updateLatestRevisionInListCache(m
|
|
|
78
78
|
variables: variables
|
|
79
79
|
};
|
|
80
80
|
|
|
81
|
-
var
|
|
82
|
-
|
|
83
|
-
uniqueId = _revision$id$split2[0];
|
|
81
|
+
var _parseIdentifier = (0, _utils.parseIdentifier)(revision.id),
|
|
82
|
+
uniqueId = _parseIdentifier.id;
|
|
84
83
|
|
|
85
84
|
var response = cache.readQuery(gqlParams);
|
|
86
85
|
|
|
@@ -120,8 +119,8 @@ var removeEntryFromListCache = function removeEntryFromListCache(model, cache, r
|
|
|
120
119
|
|
|
121
120
|
var content = response.content;
|
|
122
121
|
|
|
123
|
-
var
|
|
124
|
-
entryId =
|
|
122
|
+
var _parseIdentifier2 = (0, _utils.parseIdentifier)(revision.id),
|
|
123
|
+
entryId = _parseIdentifier2.id;
|
|
125
124
|
|
|
126
125
|
var index = content.data.findIndex(function (item) {
|
|
127
126
|
return item.id.startsWith(entryId);
|
|
@@ -141,10 +140,13 @@ var removeEntryFromListCache = function removeEntryFromListCache(model, cache, r
|
|
|
141
140
|
exports.removeEntryFromListCache = removeEntryFromListCache;
|
|
142
141
|
|
|
143
142
|
var removeRevisionFromEntryCache = function removeRevisionFromEntryCache(model, cache, revision) {
|
|
143
|
+
var _parseIdentifier3 = (0, _utils.parseIdentifier)(revision.id),
|
|
144
|
+
id = _parseIdentifier3.id;
|
|
145
|
+
|
|
144
146
|
var gqlParams = {
|
|
145
147
|
query: GQL.createRevisionsQuery(model),
|
|
146
148
|
variables: {
|
|
147
|
-
id:
|
|
149
|
+
id: id
|
|
148
150
|
}
|
|
149
151
|
};
|
|
150
152
|
var response = cache.readQuery(gqlParams);
|
|
@@ -153,25 +155,31 @@ var removeRevisionFromEntryCache = function removeRevisionFromEntryCache(model,
|
|
|
153
155
|
return [];
|
|
154
156
|
}
|
|
155
157
|
|
|
156
|
-
var
|
|
157
|
-
var
|
|
158
|
+
var revisions = response.revisions;
|
|
159
|
+
var data = revisions.data.filter(function (item) {
|
|
158
160
|
return item.id !== revision.id;
|
|
159
161
|
});
|
|
160
|
-
|
|
162
|
+
var query = (0, _objectSpread2.default)((0, _objectSpread2.default)({}, gqlParams), {}, {
|
|
161
163
|
data: {
|
|
162
|
-
revisions: revisions
|
|
164
|
+
revisions: (0, _objectSpread2.default)((0, _objectSpread2.default)({}, revisions), {}, {
|
|
165
|
+
data: data
|
|
166
|
+
})
|
|
163
167
|
}
|
|
164
|
-
})
|
|
165
|
-
|
|
168
|
+
});
|
|
169
|
+
cache.writeQuery(query);
|
|
170
|
+
return data;
|
|
166
171
|
};
|
|
167
172
|
|
|
168
173
|
exports.removeRevisionFromEntryCache = removeRevisionFromEntryCache;
|
|
169
174
|
|
|
170
175
|
var addRevisionToRevisionsCache = function addRevisionToRevisionsCache(model, cache, revision) {
|
|
176
|
+
var _parseIdentifier4 = (0, _utils.parseIdentifier)(revision.id),
|
|
177
|
+
id = _parseIdentifier4.id;
|
|
178
|
+
|
|
171
179
|
var gqlParams = {
|
|
172
180
|
query: GQL.createRevisionsQuery(model),
|
|
173
181
|
variables: {
|
|
174
|
-
id:
|
|
182
|
+
id: id
|
|
175
183
|
}
|
|
176
184
|
};
|
|
177
185
|
var response = cache.readQuery(gqlParams);
|
|
@@ -191,32 +199,50 @@ var addRevisionToRevisionsCache = function addRevisionToRevisionsCache(model, ca
|
|
|
191
199
|
exports.addRevisionToRevisionsCache = addRevisionToRevisionsCache;
|
|
192
200
|
|
|
193
201
|
var unpublishPreviouslyPublishedRevision = function unpublishPreviouslyPublishedRevision(model, cache, publishedId) {
|
|
202
|
+
var _response$revisions;
|
|
203
|
+
|
|
204
|
+
var _parseIdentifier5 = (0, _utils.parseIdentifier)(publishedId),
|
|
205
|
+
id = _parseIdentifier5.id;
|
|
206
|
+
|
|
194
207
|
var gqlParams = {
|
|
195
208
|
query: GQL.createRevisionsQuery(model),
|
|
196
209
|
variables: {
|
|
197
|
-
id:
|
|
210
|
+
id: id
|
|
198
211
|
}
|
|
199
212
|
};
|
|
200
213
|
var response = cache.readQuery(gqlParams);
|
|
201
214
|
|
|
202
|
-
if (!response
|
|
215
|
+
if (!(response !== null && response !== void 0 && (_response$revisions = response.revisions) !== null && _response$revisions !== void 0 && _response$revisions.data)) {
|
|
203
216
|
return;
|
|
204
217
|
}
|
|
205
218
|
|
|
206
219
|
var revisions = response.revisions;
|
|
207
|
-
var prevPublished = revisions.data.
|
|
220
|
+
var prevPublished = revisions.data.find(function (item) {
|
|
208
221
|
return item.id !== publishedId && item.meta.status === "published";
|
|
209
222
|
});
|
|
210
223
|
|
|
211
|
-
if (prevPublished
|
|
224
|
+
if (!prevPublished) {
|
|
212
225
|
return;
|
|
213
226
|
}
|
|
214
227
|
|
|
215
|
-
|
|
228
|
+
var query = (0, _objectSpread2.default)((0, _objectSpread2.default)({}, gqlParams), {}, {
|
|
216
229
|
data: {
|
|
217
|
-
revisions:
|
|
230
|
+
revisions: (0, _objectSpread2.default)((0, _objectSpread2.default)({}, revisions), {}, {
|
|
231
|
+
data: revisions.data.map(function (revision) {
|
|
232
|
+
if (revision.id !== prevPublished.id) {
|
|
233
|
+
return (0, _objectSpread2.default)({}, revision);
|
|
234
|
+
}
|
|
235
|
+
|
|
236
|
+
return (0, _objectSpread2.default)((0, _objectSpread2.default)({}, revision), {}, {
|
|
237
|
+
meta: (0, _objectSpread2.default)((0, _objectSpread2.default)({}, revision.meta), {}, {
|
|
238
|
+
status: "unpublished"
|
|
239
|
+
})
|
|
240
|
+
});
|
|
241
|
+
})
|
|
242
|
+
})
|
|
218
243
|
}
|
|
219
|
-
})
|
|
244
|
+
});
|
|
245
|
+
cache.writeQuery(query);
|
|
220
246
|
};
|
|
221
247
|
|
|
222
248
|
exports.unpublishPreviouslyPublishedRevision = unpublishPreviouslyPublishedRevision;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["sortEntries","list","sort","Array","isArray","console","log","length","sortBy","split","key","value","order","toLowerCase","orderBy","addEntryToListCache","model","cache","entry","variables","gqlParams","query","GQL","createListQuery","response","readQuery","content","data","writeQuery","updateLatestRevisionInListCache","revision","id","uniqueId","index","findIndex","item","startsWith","dotProp","set","removeEntryFromListCache","parseIdentifier","entryId","delete","removeRevisionFromEntryCache","createRevisionsQuery","revisions","revisionsData","filter","addRevisionToRevisionsCache","unpublishPreviouslyPublishedRevision","publishedId","prevPublished","meta","status"],"sources":["cache.ts"],"sourcesContent":["import dotProp from \"dot-prop-immutable\";\nimport orderBy from \"lodash/orderBy\";\nimport { CmsContentEntryRevision, CmsEditorContentEntry, CmsModel } from \"~/types\";\nimport * as GQL from \"~/admin/graphql/contentEntries\";\nimport { parseIdentifier } from \"@webiny/utils\";\nimport { DataProxy } from \"apollo-cache\";\nimport {\n CmsEntriesListQueryResponse,\n CmsEntriesListQueryVariables,\n CmsEntriesListRevisionsQueryResponse,\n CmsEntriesListRevisionsQueryVariables\n} from \"~/admin/graphql/contentEntries\";\n\n/*\n * We need to preserve the order of entries with new entry addition\n * because we're not re-fetching the list but updating it directly inside cache.\n * */\nconst sortEntries = (\n list: CmsEditorContentEntry[],\n sort?: string[] | null\n): CmsEditorContentEntry[] => {\n if (!sort) {\n return list;\n } else if (Array.isArray(sort) === false) {\n console.log(\"Sort is not an Array of strings.\");\n return list;\n } else if (sort.length === 0) {\n return list;\n }\n const [sortBy] = sort;\n const [key, value] = sortBy.split(\"_\");\n const order = value.toLowerCase() as \"asc\" | \"desc\";\n return orderBy(list, [key], [order]);\n};\n\nexport const addEntryToListCache = (\n model: CmsModel,\n cache: DataProxy,\n entry: CmsEditorContentEntry,\n variables: CmsEntriesListQueryVariables\n): void => {\n const gqlParams = { query: GQL.createListQuery(model), variables };\n const response = cache.readQuery<CmsEntriesListQueryResponse, CmsEntriesListQueryVariables>(\n gqlParams\n );\n if (!response || !response.content || !response.content.data) {\n return;\n }\n const { content } = response;\n cache.writeQuery({\n ...gqlParams,\n data: {\n content: {\n ...content,\n data: sortEntries([entry, ...content.data], variables.sort)\n }\n }\n });\n};\n\nexport const updateLatestRevisionInListCache = (\n model: CmsModel,\n cache: DataProxy,\n revision: CmsContentEntryRevision,\n variables: CmsEntriesListQueryVariables\n): void => {\n const gqlParams = { query: GQL.createListQuery(model), variables };\n\n const [uniqueId] = revision.id.split(\"#\");\n\n const response = cache.readQuery<CmsEntriesListQueryResponse, CmsEntriesListQueryVariables>(\n gqlParams\n );\n if (!response || !response.content || !response.content.data) {\n return;\n }\n const { content } = response;\n const index = content.data.findIndex(item => item.id.startsWith(uniqueId));\n if (index === -1) {\n return;\n }\n\n cache.writeQuery({\n ...gqlParams,\n data: {\n content: dotProp.set(content, `data.${index}`, revision)\n }\n });\n};\n\nexport const removeEntryFromListCache = (\n model: CmsModel,\n cache: DataProxy,\n revision: CmsContentEntryRevision,\n variables: CmsEntriesListQueryVariables\n): void => {\n // Delete the item from list cache\n const gqlParams = { query: GQL.createListQuery(model), variables };\n const response = cache.readQuery<CmsEntriesListQueryResponse, CmsEntriesListQueryVariables>(\n gqlParams\n );\n if (!response || !response.content || !response.content.data) {\n return;\n }\n const { content } = response;\n const { id: entryId } = parseIdentifier(revision.id);\n const index = content.data.findIndex(item => item.id.startsWith(entryId));\n if (index === -1) {\n return;\n }\n\n cache.writeQuery({\n ...gqlParams,\n data: {\n content: dotProp.delete(content, `data.${index}`)\n }\n });\n};\n\nexport const removeRevisionFromEntryCache = (\n model: CmsModel,\n cache: DataProxy,\n revision: CmsContentEntryRevision\n): CmsContentEntryRevision[] => {\n const gqlParams = {\n query: GQL.createRevisionsQuery(model),\n variables: { id: revision.id.split(\"#\")[0] }\n };\n\n const response = cache.readQuery<\n CmsEntriesListRevisionsQueryResponse,\n CmsEntriesListRevisionsQueryVariables\n >(gqlParams);\n if (\n !response ||\n !response.revisions ||\n !response.revisions.data ||\n response.revisions.data.length === 0\n ) {\n return [];\n }\n\n const { revisions: revisionsData } = response;\n\n const revisions = revisionsData.data.filter(item => {\n return item.id !== revision.id;\n });\n\n cache.writeQuery({\n ...gqlParams,\n data: {\n revisions\n }\n });\n\n return revisions;\n};\n\nexport const addRevisionToRevisionsCache = (\n model: CmsModel,\n cache: DataProxy,\n revision: CmsContentEntryRevision\n): void => {\n const gqlParams = {\n query: GQL.createRevisionsQuery(model),\n variables: { id: revision.id.split(\"#\")[0] }\n };\n\n const response = cache.readQuery<\n CmsEntriesListRevisionsQueryResponse,\n CmsEntriesListRevisionsQueryVariables\n >(gqlParams);\n\n if (!response || !response.revisions || !response.revisions.data) {\n return;\n }\n const { revisions } = response;\n\n cache.writeQuery({\n ...gqlParams,\n data: {\n revisions: dotProp.set(revisions, `data`, [revision, ...revisions.data])\n }\n });\n};\n\nexport const unpublishPreviouslyPublishedRevision = (\n model: CmsModel,\n cache: DataProxy,\n publishedId: string\n): void => {\n const gqlParams = {\n query: GQL.createRevisionsQuery(model),\n variables: { id: publishedId.split(\"#\")[0] }\n };\n\n const response = cache.readQuery<\n CmsEntriesListRevisionsQueryResponse,\n CmsEntriesListRevisionsQueryVariables\n >(gqlParams);\n\n if (!response || !response.revisions || !response.revisions.data) {\n return;\n }\n const { revisions } = response;\n\n const prevPublished = revisions.data.findIndex(\n item => item.id !== publishedId && item.meta.status === \"published\"\n );\n\n if (prevPublished === -1) {\n return;\n }\n\n cache.writeQuery({\n ...gqlParams,\n data: {\n revisions: dotProp.set(revisions, `data.${prevPublished}.meta.status`, \"unpublished\")\n }\n });\n};\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["sortEntries","list","sort","Array","isArray","console","warn","length","sortBy","split","key","value","order","toLowerCase","orderBy","addEntryToListCache","model","cache","entry","variables","gqlParams","query","GQL","createListQuery","response","readQuery","content","data","writeQuery","updateLatestRevisionInListCache","revision","parseIdentifier","id","uniqueId","index","findIndex","item","startsWith","dotProp","set","removeEntryFromListCache","entryId","delete","removeRevisionFromEntryCache","createRevisionsQuery","revisions","filter","addRevisionToRevisionsCache","unpublishPreviouslyPublishedRevision","publishedId","prevPublished","find","meta","status","map"],"sources":["cache.ts"],"sourcesContent":["import dotProp from \"dot-prop-immutable\";\nimport orderBy from \"lodash/orderBy\";\nimport { CmsContentEntryRevision, CmsEditorContentEntry, CmsModel } from \"~/types\";\nimport * as GQL from \"~/admin/graphql/contentEntries\";\nimport { parseIdentifier } from \"@webiny/utils\";\nimport { DataProxy } from \"apollo-cache\";\nimport {\n CmsEntriesListQueryResponse,\n CmsEntriesListQueryVariables,\n CmsEntriesListRevisionsQueryResponse,\n CmsEntriesListRevisionsQueryVariables\n} from \"~/admin/graphql/contentEntries\";\n\n/*\n * We need to preserve the order of entries with new entry addition\n * because we're not re-fetching the list but updating it directly inside cache.\n * */\nconst sortEntries = (\n list: CmsEditorContentEntry[],\n sort?: string[] | null\n): CmsEditorContentEntry[] => {\n if (!sort) {\n return list;\n } else if (Array.isArray(sort) === false) {\n console.warn(\"Sort is not an Array of strings.\");\n return list;\n } else if (sort.length === 0) {\n return list;\n }\n const [sortBy] = sort;\n const [key, value] = sortBy.split(\"_\");\n const order = value.toLowerCase() as \"asc\" | \"desc\";\n return orderBy(list, [key], [order]);\n};\n\nexport const addEntryToListCache = (\n model: CmsModel,\n cache: DataProxy,\n entry: CmsEditorContentEntry,\n variables: CmsEntriesListQueryVariables\n): void => {\n const gqlParams = { query: GQL.createListQuery(model), variables };\n const response = cache.readQuery<CmsEntriesListQueryResponse, CmsEntriesListQueryVariables>(\n gqlParams\n );\n if (!response || !response.content || !response.content.data) {\n return;\n }\n const { content } = response;\n cache.writeQuery({\n ...gqlParams,\n data: {\n content: {\n ...content,\n data: sortEntries([entry, ...content.data], variables.sort)\n }\n }\n });\n};\n\nexport const updateLatestRevisionInListCache = (\n model: CmsModel,\n cache: DataProxy,\n revision: CmsContentEntryRevision,\n variables: CmsEntriesListQueryVariables\n): void => {\n const gqlParams = { query: GQL.createListQuery(model), variables };\n\n const { id: uniqueId } = parseIdentifier(revision.id);\n\n const response = cache.readQuery<CmsEntriesListQueryResponse, CmsEntriesListQueryVariables>(\n gqlParams\n );\n if (!response || !response.content || !response.content.data) {\n return;\n }\n const { content } = response;\n const index = content.data.findIndex(item => item.id.startsWith(uniqueId));\n if (index === -1) {\n return;\n }\n\n cache.writeQuery({\n ...gqlParams,\n data: {\n content: dotProp.set(content, `data.${index}`, revision)\n }\n });\n};\n\nexport const removeEntryFromListCache = (\n model: CmsModel,\n cache: DataProxy,\n revision: CmsContentEntryRevision,\n variables: CmsEntriesListQueryVariables\n): void => {\n // Delete the item from list cache\n const gqlParams = { query: GQL.createListQuery(model), variables };\n const response = cache.readQuery<CmsEntriesListQueryResponse, CmsEntriesListQueryVariables>(\n gqlParams\n );\n if (!response || !response.content || !response.content.data) {\n return;\n }\n const { content } = response;\n const { id: entryId } = parseIdentifier(revision.id);\n const index = content.data.findIndex(item => item.id.startsWith(entryId));\n if (index === -1) {\n return;\n }\n\n cache.writeQuery({\n ...gqlParams,\n data: {\n content: dotProp.delete(content, `data.${index}`)\n }\n });\n};\n\nexport const removeRevisionFromEntryCache = (\n model: CmsModel,\n cache: DataProxy,\n revision: CmsContentEntryRevision\n): CmsContentEntryRevision[] => {\n const { id } = parseIdentifier(revision.id);\n const gqlParams = {\n query: GQL.createRevisionsQuery(model),\n variables: {\n id\n }\n };\n\n const response = cache.readQuery<\n CmsEntriesListRevisionsQueryResponse,\n CmsEntriesListRevisionsQueryVariables\n >(gqlParams);\n if (\n !response ||\n !response.revisions ||\n !response.revisions.data ||\n response.revisions.data.length === 0\n ) {\n return [];\n }\n\n const { revisions } = response;\n\n const data = revisions.data.filter(item => {\n return item.id !== revision.id;\n });\n\n const query = {\n ...gqlParams,\n data: {\n revisions: {\n ...revisions,\n data\n }\n }\n };\n\n cache.writeQuery(query);\n\n return data;\n};\n\nexport const addRevisionToRevisionsCache = (\n model: CmsModel,\n cache: DataProxy,\n revision: CmsContentEntryRevision\n): void => {\n const { id } = parseIdentifier(revision.id);\n const gqlParams = {\n query: GQL.createRevisionsQuery(model),\n variables: {\n id\n }\n };\n\n const response = cache.readQuery<\n CmsEntriesListRevisionsQueryResponse,\n CmsEntriesListRevisionsQueryVariables\n >(gqlParams);\n\n if (!response || !response.revisions || !response.revisions.data) {\n return;\n }\n const { revisions } = response;\n\n cache.writeQuery({\n ...gqlParams,\n data: {\n revisions: dotProp.set(revisions, `data`, [revision, ...revisions.data])\n }\n });\n};\n\nexport const unpublishPreviouslyPublishedRevision = (\n model: CmsModel,\n cache: DataProxy,\n publishedId: string\n): void => {\n const { id } = parseIdentifier(publishedId);\n const gqlParams = {\n query: GQL.createRevisionsQuery(model),\n variables: {\n id\n }\n };\n\n const response = cache.readQuery<\n CmsEntriesListRevisionsQueryResponse,\n CmsEntriesListRevisionsQueryVariables\n >(gqlParams);\n\n if (!response?.revisions?.data) {\n return;\n }\n const { revisions } = response;\n\n const prevPublished = revisions.data.find(\n item => item.id !== publishedId && item.meta.status === \"published\"\n );\n\n if (!prevPublished) {\n return;\n }\n\n const query: DataProxy.WriteQueryOptions<\n CmsEntriesListRevisionsQueryResponse,\n CmsEntriesListRevisionsQueryVariables\n > = {\n ...gqlParams,\n data: {\n revisions: {\n ...revisions,\n data: revisions.data.map(revision => {\n if (revision.id !== prevPublished.id) {\n return {\n ...revision\n };\n }\n return {\n ...revision,\n meta: {\n ...revision.meta,\n status: \"unpublished\"\n }\n };\n })\n }\n }\n };\n\n cache.writeQuery(query);\n};\n"],"mappings":";;;;;;;;;;;;;;;;;AAAA;;AACA;;AAEA;;AACA;;AASA;AACA;AACA;AACA;AACA,IAAMA,WAAW,GAAG,SAAdA,WAAc,CAChBC,IADgB,EAEhBC,IAFgB,EAGU;EAC1B,IAAI,CAACA,IAAL,EAAW;IACP,OAAOD,IAAP;EACH,CAFD,MAEO,IAAIE,KAAK,CAACC,OAAN,CAAcF,IAAd,MAAwB,KAA5B,EAAmC;IACtCG,OAAO,CAACC,IAAR,CAAa,kCAAb;IACA,OAAOL,IAAP;EACH,CAHM,MAGA,IAAIC,IAAI,CAACK,MAAL,KAAgB,CAApB,EAAuB;IAC1B,OAAON,IAAP;EACH;;EACD,yCAAiBC,IAAjB;EAAA,IAAOM,MAAP;;EACA,oBAAqBA,MAAM,CAACC,KAAP,CAAa,GAAb,CAArB;EAAA;EAAA,IAAOC,GAAP;EAAA,IAAYC,KAAZ;;EACA,IAAMC,KAAK,GAAGD,KAAK,CAACE,WAAN,EAAd;EACA,OAAO,IAAAC,gBAAA,EAAQb,IAAR,EAAc,CAACS,GAAD,CAAd,EAAqB,CAACE,KAAD,CAArB,CAAP;AACH,CAhBD;;AAkBO,IAAMG,mBAAmB,GAAG,SAAtBA,mBAAsB,CAC/BC,KAD+B,EAE/BC,KAF+B,EAG/BC,KAH+B,EAI/BC,SAJ+B,EAKxB;EACP,IAAMC,SAAS,GAAG;IAAEC,KAAK,EAAEC,GAAG,CAACC,eAAJ,CAAoBP,KAApB,CAAT;IAAqCG,SAAS,EAATA;EAArC,CAAlB;EACA,IAAMK,QAAQ,GAAGP,KAAK,CAACQ,SAAN,CACbL,SADa,CAAjB;;EAGA,IAAI,CAACI,QAAD,IAAa,CAACA,QAAQ,CAACE,OAAvB,IAAkC,CAACF,QAAQ,CAACE,OAAT,CAAiBC,IAAxD,EAA8D;IAC1D;EACH;;EACD,IAAQD,OAAR,GAAoBF,QAApB,CAAQE,OAAR;EACAT,KAAK,CAACW,UAAN,6DACOR,SADP;IAEIO,IAAI,EAAE;MACFD,OAAO,8DACAA,OADA;QAEHC,IAAI,EAAE3B,WAAW,EAAEkB,KAAF,0CAAYQ,OAAO,CAACC,IAApB,IAA2BR,SAAS,CAACjB,IAArC;MAFd;IADL;EAFV;AASH,CAvBM;;;;AAyBA,IAAM2B,+BAA+B,GAAG,SAAlCA,+BAAkC,CAC3Cb,KAD2C,EAE3CC,KAF2C,EAG3Ca,QAH2C,EAI3CX,SAJ2C,EAKpC;EACP,IAAMC,SAAS,GAAG;IAAEC,KAAK,EAAEC,GAAG,CAACC,eAAJ,CAAoBP,KAApB,CAAT;IAAqCG,SAAS,EAATA;EAArC,CAAlB;;EAEA,uBAAyB,IAAAY,sBAAA,EAAgBD,QAAQ,CAACE,EAAzB,CAAzB;EAAA,IAAYC,QAAZ,oBAAQD,EAAR;;EAEA,IAAMR,QAAQ,GAAGP,KAAK,CAACQ,SAAN,CACbL,SADa,CAAjB;;EAGA,IAAI,CAACI,QAAD,IAAa,CAACA,QAAQ,CAACE,OAAvB,IAAkC,CAACF,QAAQ,CAACE,OAAT,CAAiBC,IAAxD,EAA8D;IAC1D;EACH;;EACD,IAAQD,OAAR,GAAoBF,QAApB,CAAQE,OAAR;EACA,IAAMQ,KAAK,GAAGR,OAAO,CAACC,IAAR,CAAaQ,SAAb,CAAuB,UAAAC,IAAI;IAAA,OAAIA,IAAI,CAACJ,EAAL,CAAQK,UAAR,CAAmBJ,QAAnB,CAAJ;EAAA,CAA3B,CAAd;;EACA,IAAIC,KAAK,KAAK,CAAC,CAAf,EAAkB;IACd;EACH;;EAEDjB,KAAK,CAACW,UAAN,6DACOR,SADP;IAEIO,IAAI,EAAE;MACFD,OAAO,EAAEY,yBAAA,CAAQC,GAAR,CAAYb,OAAZ,iBAA6BQ,KAA7B,GAAsCJ,QAAtC;IADP;EAFV;AAMH,CA5BM;;;;AA8BA,IAAMU,wBAAwB,GAAG,SAA3BA,wBAA2B,CACpCxB,KADoC,EAEpCC,KAFoC,EAGpCa,QAHoC,EAIpCX,SAJoC,EAK7B;EACP;EACA,IAAMC,SAAS,GAAG;IAAEC,KAAK,EAAEC,GAAG,CAACC,eAAJ,CAAoBP,KAApB,CAAT;IAAqCG,SAAS,EAATA;EAArC,CAAlB;EACA,IAAMK,QAAQ,GAAGP,KAAK,CAACQ,SAAN,CACbL,SADa,CAAjB;;EAGA,IAAI,CAACI,QAAD,IAAa,CAACA,QAAQ,CAACE,OAAvB,IAAkC,CAACF,QAAQ,CAACE,OAAT,CAAiBC,IAAxD,EAA8D;IAC1D;EACH;;EACD,IAAQD,OAAR,GAAoBF,QAApB,CAAQE,OAAR;;EACA,wBAAwB,IAAAK,sBAAA,EAAgBD,QAAQ,CAACE,EAAzB,CAAxB;EAAA,IAAYS,OAAZ,qBAAQT,EAAR;;EACA,IAAME,KAAK,GAAGR,OAAO,CAACC,IAAR,CAAaQ,SAAb,CAAuB,UAAAC,IAAI;IAAA,OAAIA,IAAI,CAACJ,EAAL,CAAQK,UAAR,CAAmBI,OAAnB,CAAJ;EAAA,CAA3B,CAAd;;EACA,IAAIP,KAAK,KAAK,CAAC,CAAf,EAAkB;IACd;EACH;;EAEDjB,KAAK,CAACW,UAAN,6DACOR,SADP;IAEIO,IAAI,EAAE;MACFD,OAAO,EAAEY,yBAAA,CAAQI,MAAR,CAAehB,OAAf,iBAAgCQ,KAAhC;IADP;EAFV;AAMH,CA3BM;;;;AA6BA,IAAMS,4BAA4B,GAAG,SAA/BA,4BAA+B,CACxC3B,KADwC,EAExCC,KAFwC,EAGxCa,QAHwC,EAIZ;EAC5B,wBAAe,IAAAC,sBAAA,EAAgBD,QAAQ,CAACE,EAAzB,CAAf;EAAA,IAAQA,EAAR,qBAAQA,EAAR;;EACA,IAAMZ,SAAS,GAAG;IACdC,KAAK,EAAEC,GAAG,CAACsB,oBAAJ,CAAyB5B,KAAzB,CADO;IAEdG,SAAS,EAAE;MACPa,EAAE,EAAFA;IADO;EAFG,CAAlB;EAOA,IAAMR,QAAQ,GAAGP,KAAK,CAACQ,SAAN,CAGfL,SAHe,CAAjB;;EAIA,IACI,CAACI,QAAD,IACA,CAACA,QAAQ,CAACqB,SADV,IAEA,CAACrB,QAAQ,CAACqB,SAAT,CAAmBlB,IAFpB,IAGAH,QAAQ,CAACqB,SAAT,CAAmBlB,IAAnB,CAAwBpB,MAAxB,KAAmC,CAJvC,EAKE;IACE,OAAO,EAAP;EACH;;EAED,IAAQsC,SAAR,GAAsBrB,QAAtB,CAAQqB,SAAR;EAEA,IAAMlB,IAAI,GAAGkB,SAAS,CAAClB,IAAV,CAAemB,MAAf,CAAsB,UAAAV,IAAI,EAAI;IACvC,OAAOA,IAAI,CAACJ,EAAL,KAAYF,QAAQ,CAACE,EAA5B;EACH,CAFY,CAAb;EAIA,IAAMX,KAAK,+DACJD,SADI;IAEPO,IAAI,EAAE;MACFkB,SAAS,8DACFA,SADE;QAELlB,IAAI,EAAJA;MAFK;IADP;EAFC,EAAX;EAUAV,KAAK,CAACW,UAAN,CAAiBP,KAAjB;EAEA,OAAOM,IAAP;AACH,CA7CM;;;;AA+CA,IAAMoB,2BAA2B,GAAG,SAA9BA,2BAA8B,CACvC/B,KADuC,EAEvCC,KAFuC,EAGvCa,QAHuC,EAIhC;EACP,wBAAe,IAAAC,sBAAA,EAAgBD,QAAQ,CAACE,EAAzB,CAAf;EAAA,IAAQA,EAAR,qBAAQA,EAAR;;EACA,IAAMZ,SAAS,GAAG;IACdC,KAAK,EAAEC,GAAG,CAACsB,oBAAJ,CAAyB5B,KAAzB,CADO;IAEdG,SAAS,EAAE;MACPa,EAAE,EAAFA;IADO;EAFG,CAAlB;EAOA,IAAMR,QAAQ,GAAGP,KAAK,CAACQ,SAAN,CAGfL,SAHe,CAAjB;;EAKA,IAAI,CAACI,QAAD,IAAa,CAACA,QAAQ,CAACqB,SAAvB,IAAoC,CAACrB,QAAQ,CAACqB,SAAT,CAAmBlB,IAA5D,EAAkE;IAC9D;EACH;;EACD,IAAQkB,SAAR,GAAsBrB,QAAtB,CAAQqB,SAAR;EAEA5B,KAAK,CAACW,UAAN,6DACOR,SADP;IAEIO,IAAI,EAAE;MACFkB,SAAS,EAAEP,yBAAA,CAAQC,GAAR,CAAYM,SAAZ,WAAgCf,QAAhC,0CAA6Ce,SAAS,CAAClB,IAAvD;IADT;EAFV;AAMH,CA7BM;;;;AA+BA,IAAMqB,oCAAoC,GAAG,SAAvCA,oCAAuC,CAChDhC,KADgD,EAEhDC,KAFgD,EAGhDgC,WAHgD,EAIzC;EAAA;;EACP,wBAAe,IAAAlB,sBAAA,EAAgBkB,WAAhB,CAAf;EAAA,IAAQjB,EAAR,qBAAQA,EAAR;;EACA,IAAMZ,SAAS,GAAG;IACdC,KAAK,EAAEC,GAAG,CAACsB,oBAAJ,CAAyB5B,KAAzB,CADO;IAEdG,SAAS,EAAE;MACPa,EAAE,EAAFA;IADO;EAFG,CAAlB;EAOA,IAAMR,QAAQ,GAAGP,KAAK,CAACQ,SAAN,CAGfL,SAHe,CAAjB;;EAKA,IAAI,EAACI,QAAD,aAACA,QAAD,sCAACA,QAAQ,CAAEqB,SAAX,gDAAC,oBAAqBlB,IAAtB,CAAJ,EAAgC;IAC5B;EACH;;EACD,IAAQkB,SAAR,GAAsBrB,QAAtB,CAAQqB,SAAR;EAEA,IAAMK,aAAa,GAAGL,SAAS,CAAClB,IAAV,CAAewB,IAAf,CAClB,UAAAf,IAAI;IAAA,OAAIA,IAAI,CAACJ,EAAL,KAAYiB,WAAZ,IAA2Bb,IAAI,CAACgB,IAAL,CAAUC,MAAV,KAAqB,WAApD;EAAA,CADc,CAAtB;;EAIA,IAAI,CAACH,aAAL,EAAoB;IAChB;EACH;;EAED,IAAM7B,KAGL,+DACMD,SADN;IAEGO,IAAI,EAAE;MACFkB,SAAS,8DACFA,SADE;QAELlB,IAAI,EAAEkB,SAAS,CAAClB,IAAV,CAAe2B,GAAf,CAAmB,UAAAxB,QAAQ,EAAI;UACjC,IAAIA,QAAQ,CAACE,EAAT,KAAgBkB,aAAa,CAAClB,EAAlC,EAAsC;YAClC,uCACOF,QADP;UAGH;;UACD,mEACOA,QADP;YAEIsB,IAAI,8DACGtB,QAAQ,CAACsB,IADZ;cAEAC,MAAM,EAAE;YAFR;UAFR;QAOH,CAbK;MAFD;IADP;EAFT,EAHD;EA0BApC,KAAK,CAACW,UAAN,CAAiBP,KAAjB;AACH,CA1DM"}
|
|
@@ -15,8 +15,6 @@ var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/
|
|
|
15
15
|
|
|
16
16
|
var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
|
|
17
17
|
|
|
18
|
-
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
19
|
-
|
|
20
18
|
var _react = _interopRequireWildcard(require("react"));
|
|
21
19
|
|
|
22
20
|
var _emotion = require("emotion");
|
|
@@ -41,21 +39,19 @@ var _useConfirmationDialog = require("@webiny/app-admin/hooks/useConfirmationDia
|
|
|
41
39
|
|
|
42
40
|
var _i18n = require("@webiny/app/i18n");
|
|
43
41
|
|
|
44
|
-
var _contentEntries = require("../../../../../graphql/contentEntries");
|
|
45
|
-
|
|
46
42
|
var _usePermission2 = _interopRequireDefault(require("../../../../../hooks/usePermission"));
|
|
47
43
|
|
|
48
44
|
var _more_vert = require("../../../../../icons/more_vert.svg");
|
|
49
45
|
|
|
50
46
|
var _delete = require("../../../../../icons/delete.svg");
|
|
51
47
|
|
|
52
|
-
var _cache = require("../../cache");
|
|
53
|
-
|
|
54
48
|
var _hooks = require("../../../../../hooks");
|
|
55
49
|
|
|
56
50
|
var _useContentEntry2 = require("../../../hooks/useContentEntry");
|
|
57
51
|
|
|
58
|
-
var
|
|
52
|
+
var _utils = require("@webiny/utils");
|
|
53
|
+
|
|
54
|
+
var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5;
|
|
59
55
|
|
|
60
56
|
var t = _i18n.i18n.ns("app-headless-cms/admin/plugins/content-details/header/content-form-options-menu");
|
|
61
57
|
|
|
@@ -70,6 +66,9 @@ var menuStyles = /*#__PURE__*/(0, _emotion.css)({
|
|
|
70
66
|
}, "label:menuStyles;");
|
|
71
67
|
|
|
72
68
|
var ContentFormOptionsMenu = function ContentFormOptionsMenu() {
|
|
69
|
+
var _useCms = (0, _hooks.useCms)(),
|
|
70
|
+
deleteEntry = _useCms.deleteEntry;
|
|
71
|
+
|
|
73
72
|
var _useContentEntry = (0, _useContentEntry2.useContentEntry)(),
|
|
74
73
|
contentModel = _useContentEntry.contentModel,
|
|
75
74
|
entry = _useContentEntry.entry,
|
|
@@ -89,14 +88,6 @@ var ContentFormOptionsMenu = function ContentFormOptionsMenu() {
|
|
|
89
88
|
var _usePermission = (0, _usePermission2.default)(),
|
|
90
89
|
canDelete = _usePermission.canDelete;
|
|
91
90
|
|
|
92
|
-
var DELETE_CONTENT = (0, _react.useMemo)(function () {
|
|
93
|
-
return (0, _contentEntries.createDeleteMutation)(contentModel);
|
|
94
|
-
}, [contentModel.modelId]);
|
|
95
|
-
|
|
96
|
-
var _useMutation = (0, _hooks.useMutation)(DELETE_CONTENT),
|
|
97
|
-
_useMutation2 = (0, _slicedToArray2.default)(_useMutation, 1),
|
|
98
|
-
deleteContentMutation = _useMutation2[0];
|
|
99
|
-
|
|
100
91
|
var title = (0, _get.default)(entry, "meta.title");
|
|
101
92
|
|
|
102
93
|
var _useConfirmationDialo = (0, _useConfirmationDialog.useConfirmationDialog)({
|
|
@@ -110,49 +101,44 @@ var ContentFormOptionsMenu = function ContentFormOptionsMenu() {
|
|
|
110
101
|
|
|
111
102
|
var confirmDelete = (0, _react.useCallback)(function () {
|
|
112
103
|
showConfirmation( /*#__PURE__*/(0, _asyncToGenerator2.default)( /*#__PURE__*/(0, _regeneratorRuntime2.default)().mark(function _callee() {
|
|
113
|
-
var
|
|
104
|
+
var _parseIdentifier, entryId, _yield$deleteEntry, error;
|
|
114
105
|
|
|
115
106
|
return (0, _regeneratorRuntime2.default)().wrap(function _callee$(_context) {
|
|
116
107
|
while (1) {
|
|
117
108
|
switch (_context.prev = _context.next) {
|
|
118
109
|
case 0:
|
|
119
110
|
setLoading(true);
|
|
120
|
-
|
|
111
|
+
_parseIdentifier = (0, _utils.parseIdentifier)(entry.id), entryId = _parseIdentifier.id;
|
|
121
112
|
_context.next = 4;
|
|
122
|
-
return
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
if (!response.data) {
|
|
128
|
-
showDialog("Missing response data on Delete Entry Mutation.", {
|
|
129
|
-
title: t(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2.default)(["Could not delete content"])))
|
|
130
|
-
});
|
|
131
|
-
return;
|
|
132
|
-
}
|
|
133
|
-
|
|
134
|
-
var error = response.data.content.error;
|
|
135
|
-
|
|
136
|
-
if (error) {
|
|
137
|
-
showDialog(error.message, {
|
|
138
|
-
title: t(_templateObject5 || (_templateObject5 = (0, _taggedTemplateLiteral2.default)(["Could not delete content"])))
|
|
139
|
-
});
|
|
140
|
-
return;
|
|
141
|
-
}
|
|
142
|
-
|
|
143
|
-
setLoading(false);
|
|
144
|
-
(0, _cache.removeEntryFromListCache)(contentModel, cache, entry, listQueryVariables);
|
|
145
|
-
showSnackbar(t(_templateObject6 || (_templateObject6 = (0, _taggedTemplateLiteral2.default)(["{title} was deleted successfully!"])))({
|
|
146
|
-
title: /*#__PURE__*/_react.default.createElement("strong", null, title)
|
|
147
|
-
}));
|
|
148
|
-
history.push("/cms/content-entries/".concat(contentModel.modelId));
|
|
149
|
-
}
|
|
113
|
+
return deleteEntry({
|
|
114
|
+
model: contentModel,
|
|
115
|
+
entry: entry,
|
|
116
|
+
id: entryId,
|
|
117
|
+
listQueryVariables: listQueryVariables
|
|
150
118
|
});
|
|
151
119
|
|
|
152
120
|
case 4:
|
|
121
|
+
_yield$deleteEntry = _context.sent;
|
|
122
|
+
error = _yield$deleteEntry.error;
|
|
153
123
|
setLoading(false);
|
|
154
124
|
|
|
155
|
-
|
|
125
|
+
if (!error) {
|
|
126
|
+
_context.next = 10;
|
|
127
|
+
break;
|
|
128
|
+
}
|
|
129
|
+
|
|
130
|
+
showDialog(error.message, {
|
|
131
|
+
title: t(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2.default)(["Could not delete content"])))
|
|
132
|
+
});
|
|
133
|
+
return _context.abrupt("return");
|
|
134
|
+
|
|
135
|
+
case 10:
|
|
136
|
+
showSnackbar(t(_templateObject5 || (_templateObject5 = (0, _taggedTemplateLiteral2.default)(["{title} was deleted successfully!"])))({
|
|
137
|
+
title: /*#__PURE__*/_react.default.createElement("strong", null, title)
|
|
138
|
+
}));
|
|
139
|
+
history.push("/cms/content-entries/".concat(contentModel.modelId));
|
|
140
|
+
|
|
141
|
+
case 12:
|
|
156
142
|
case "end":
|
|
157
143
|
return _context.stop();
|
|
158
144
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["t","i18n","ns","menuStyles","css","width","right","left","opacity","pointerEvents","ContentFormOptionsMenu","useContentEntry","contentModel","entry","loading","setLoading","listQueryVariables","useSnackbar","showSnackbar","useRouter","history","useDialog","showDialog","usePermission","canDelete","
|
|
1
|
+
{"version":3,"names":["t","i18n","ns","menuStyles","css","width","right","left","opacity","pointerEvents","ContentFormOptionsMenu","useCms","deleteEntry","useContentEntry","contentModel","entry","loading","setLoading","listQueryVariables","useSnackbar","showSnackbar","useRouter","history","useDialog","showDialog","usePermission","canDelete","title","get","useConfirmationDialog","message","dataTestId","showConfirmation","confirmDelete","useCallback","parseIdentifier","id","entryId","model","error","push","modelId"],"sources":["ContentFormOptionsMenu.tsx"],"sourcesContent":["import React, { useCallback } from \"react\";\nimport { css } from \"emotion\";\nimport get from \"lodash/get\";\nimport { IconButton } from \"@webiny/ui/Button\";\nimport { Menu, MenuItem } from \"@webiny/ui/Menu\";\nimport { ListItemGraphic } from \"@webiny/ui/List\";\nimport { Icon } from \"@webiny/ui/Icon\";\nimport { useRouter } from \"@webiny/react-router\";\nimport { useSnackbar } from \"@webiny/app-admin/hooks/useSnackbar\";\nimport { useDialog } from \"@webiny/app-admin/hooks/useDialog\";\nimport { useConfirmationDialog } from \"@webiny/app-admin/hooks/useConfirmationDialog\";\nimport { i18n } from \"@webiny/app/i18n\";\nimport usePermission from \"~/admin/hooks/usePermission\";\nimport { ReactComponent as MoreVerticalIcon } from \"~/admin/icons/more_vert.svg\";\nimport { ReactComponent as DeleteIcon } from \"~/admin/icons/delete.svg\";\nimport { useCms } from \"~/admin/hooks\";\nimport { useContentEntry } from \"~/admin/views/contentEntries/hooks/useContentEntry\";\nimport { parseIdentifier } from \"@webiny/utils\";\n\nconst t = i18n.ns(\n \"app-headless-cms/admin/plugins/content-details/header/content-form-options-menu\"\n);\n\nconst menuStyles = css({\n width: 250,\n right: -105,\n left: \"auto !important\",\n \".disabled\": {\n opacity: 0.5,\n pointerEvents: \"none\"\n }\n});\n\nconst ContentFormOptionsMenu: React.FC = () => {\n const { deleteEntry } = useCms();\n const { contentModel, entry, loading, setLoading, listQueryVariables } = useContentEntry();\n const { showSnackbar } = useSnackbar();\n const { history } = useRouter();\n const { showDialog } = useDialog();\n const { canDelete } = usePermission();\n\n const title = get(entry, \"meta.title\");\n\n const { showConfirmation } = useConfirmationDialog({\n title: t`Delete content entry`,\n message: (\n <p>\n {t`You are about to delete this content entry and all of its revisions!`}\n <br />\n {t`Are you sure you want to permanently delete {title}?`({\n title: <strong>{title}</strong>\n })}\n </p>\n ),\n dataTestId: \"cms.content-form.header.delete-dialog\"\n });\n\n const confirmDelete = useCallback((): void => {\n showConfirmation(async (): Promise<void> => {\n setLoading(true);\n\n const { id: entryId } = parseIdentifier(entry.id);\n const { error } = await deleteEntry({\n model: contentModel,\n entry,\n id: entryId,\n listQueryVariables\n });\n\n setLoading(false);\n\n if (error) {\n showDialog(error.message, { title: t`Could not delete content` });\n return;\n }\n\n showSnackbar(t`{title} was deleted successfully!`({ title: <strong>{title}</strong> }));\n history.push(`/cms/content-entries/${contentModel.modelId}`);\n });\n }, [entry]);\n\n if (!canDelete(entry, \"cms.contentEntry\")) {\n return null;\n }\n\n return (\n <Menu\n className={menuStyles}\n handle={\n <IconButton\n icon={<MoreVerticalIcon />}\n data-testid={\"cms.content-form.header.more-options\"}\n />\n }\n >\n <MenuItem\n onClick={confirmDelete}\n disabled={!entry.id || loading}\n data-testid={\"cms.content-form.header.delete\"}\n >\n <ListItemGraphic>\n <Icon icon={<DeleteIcon />} />\n </ListItemGraphic>\n Delete\n </MenuItem>\n </Menu>\n );\n};\n\nexport default ContentFormOptionsMenu;\n"],"mappings":"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"}
|
|
@@ -13,13 +13,13 @@ var React = _interopRequireWildcard(require("react"));
|
|
|
13
13
|
|
|
14
14
|
var _RevisionSelector = _interopRequireDefault(require("./revisionSelector/RevisionSelector"));
|
|
15
15
|
|
|
16
|
-
var _RequestReview =
|
|
16
|
+
var _RequestReview = require("./requestReview/RequestReview");
|
|
17
17
|
|
|
18
|
-
var _RequestChanges =
|
|
18
|
+
var _RequestChanges = require("./requestChanges/RequestChanges");
|
|
19
19
|
|
|
20
20
|
var _SaveContent = _interopRequireDefault(require("./saveContent/SaveContent"));
|
|
21
21
|
|
|
22
|
-
var _SaveAndPublishContent =
|
|
22
|
+
var _SaveAndPublishContent = require("./saveAndPublishContent/SaveAndPublishContent");
|
|
23
23
|
|
|
24
24
|
var _ContentFormOptionsMenu = _interopRequireDefault(require("./contentFormOptionsMenu/ContentFormOptionsMenu"));
|
|
25
25
|
|
|
@@ -33,13 +33,13 @@ var plugins = [{
|
|
|
33
33
|
name: "cms-content-details-header-request-review",
|
|
34
34
|
type: "cms-content-details-header-right",
|
|
35
35
|
render: function render(props) {
|
|
36
|
-
return /*#__PURE__*/React.createElement(_RequestReview.
|
|
36
|
+
return /*#__PURE__*/React.createElement(_RequestReview.RequestReview, props);
|
|
37
37
|
}
|
|
38
38
|
}, {
|
|
39
39
|
name: "cms-content-details-header-request-changes",
|
|
40
40
|
type: "cms-content-details-header-right",
|
|
41
41
|
render: function render(props) {
|
|
42
|
-
return /*#__PURE__*/React.createElement(_RequestChanges.
|
|
42
|
+
return /*#__PURE__*/React.createElement(_RequestChanges.RequestChanges, props);
|
|
43
43
|
}
|
|
44
44
|
}, {
|
|
45
45
|
name: "cms-content-details-header-save",
|
|
@@ -51,7 +51,7 @@ var plugins = [{
|
|
|
51
51
|
name: "cms-content-details-header-save-and-publish",
|
|
52
52
|
type: "cms-content-details-header-right",
|
|
53
53
|
render: function render(props) {
|
|
54
|
-
return /*#__PURE__*/React.createElement(_SaveAndPublishContent.
|
|
54
|
+
return /*#__PURE__*/React.createElement(_SaveAndPublishContent.SaveAndPublishButton, props);
|
|
55
55
|
}
|
|
56
56
|
}, {
|
|
57
57
|
name: "cms-content-details-header-option-menu",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["plugins","name","type","render","props"],"sources":["index.tsx"],"sourcesContent":["import * as React from \"react\";\nimport { CmsContentDetailsPlugin } from \"~/types\";\nimport RevisionSelector from \"./revisionSelector/RevisionSelector\";\nimport RequestReview from \"./requestReview/RequestReview\";\nimport RequestChanges from \"./requestChanges/RequestChanges\";\nimport SaveContentButton from \"./saveContent/SaveContent\";\nimport SaveAndPublishButton from \"./saveAndPublishContent/SaveAndPublishContent\";\nimport ContentFormOptionsMenu from \"./contentFormOptionsMenu/ContentFormOptionsMenu\";\n\nconst plugins: CmsContentDetailsPlugin[] = [\n {\n name: \"cms-content-details-revision-selector\",\n type: \"cms-content-details-header-left\",\n render(props) {\n return <RevisionSelector {...props} />;\n }\n },\n {\n name: \"cms-content-details-header-request-review\",\n type: \"cms-content-details-header-right\",\n render(props) {\n return <RequestReview {...props} />;\n }\n },\n {\n name: \"cms-content-details-header-request-changes\",\n type: \"cms-content-details-header-right\",\n render(props) {\n return <RequestChanges {...props} />;\n }\n },\n {\n name: \"cms-content-details-header-save\",\n type: \"cms-content-details-header-right\",\n render(props) {\n return <SaveContentButton {...props} />;\n }\n },\n {\n name: \"cms-content-details-header-save-and-publish\",\n type: \"cms-content-details-header-right\",\n render(props) {\n return <SaveAndPublishButton {...props} />;\n }\n },\n {\n name: \"cms-content-details-header-option-menu\",\n type: \"cms-content-details-header-right\",\n render(props) {\n return <ContentFormOptionsMenu {...props} />;\n }\n }\n];\n\nexport default plugins;\n"],"mappings":";;;;;;;;;;;AAAA;;AAEA;;AACA;;AACA;;AACA;;AACA;;AACA;;AAEA,IAAMA,OAAkC,GAAG,CACvC;EACIC,IAAI,EAAE,uCADV;EAEIC,IAAI,EAAE,iCAFV;EAGIC,MAHJ,kBAGWC,KAHX,EAGkB;IACV,oBAAO,oBAAC,yBAAD,EAAsBA,KAAtB,CAAP;EACH;AALL,CADuC,EAQvC;EACIH,IAAI,EAAE,2CADV;EAEIC,IAAI,EAAE,kCAFV;EAGIC,MAHJ,kBAGWC,KAHX,EAGkB;IACV,oBAAO,oBAAC,
|
|
1
|
+
{"version":3,"names":["plugins","name","type","render","props"],"sources":["index.tsx"],"sourcesContent":["import * as React from \"react\";\nimport { CmsContentDetailsPlugin } from \"~/types\";\nimport RevisionSelector from \"./revisionSelector/RevisionSelector\";\nimport { RequestReview } from \"./requestReview/RequestReview\";\nimport { RequestChanges } from \"./requestChanges/RequestChanges\";\nimport SaveContentButton from \"./saveContent/SaveContent\";\nimport { SaveAndPublishButton } from \"./saveAndPublishContent/SaveAndPublishContent\";\nimport ContentFormOptionsMenu from \"./contentFormOptionsMenu/ContentFormOptionsMenu\";\n\nconst plugins: CmsContentDetailsPlugin[] = [\n {\n name: \"cms-content-details-revision-selector\",\n type: \"cms-content-details-header-left\",\n render(props) {\n return <RevisionSelector {...props} />;\n }\n },\n {\n name: \"cms-content-details-header-request-review\",\n type: \"cms-content-details-header-right\",\n render(props) {\n return <RequestReview {...props} />;\n }\n },\n {\n name: \"cms-content-details-header-request-changes\",\n type: \"cms-content-details-header-right\",\n render(props) {\n return <RequestChanges {...props} />;\n }\n },\n {\n name: \"cms-content-details-header-save\",\n type: \"cms-content-details-header-right\",\n render(props) {\n return <SaveContentButton {...props} />;\n }\n },\n {\n name: \"cms-content-details-header-save-and-publish\",\n type: \"cms-content-details-header-right\",\n render(props) {\n return <SaveAndPublishButton {...props} />;\n }\n },\n {\n name: \"cms-content-details-header-option-menu\",\n type: \"cms-content-details-header-right\",\n render(props) {\n return <ContentFormOptionsMenu {...props} />;\n }\n }\n];\n\nexport default plugins;\n"],"mappings":";;;;;;;;;;;AAAA;;AAEA;;AACA;;AACA;;AACA;;AACA;;AACA;;AAEA,IAAMA,OAAkC,GAAG,CACvC;EACIC,IAAI,EAAE,uCADV;EAEIC,IAAI,EAAE,iCAFV;EAGIC,MAHJ,kBAGWC,KAHX,EAGkB;IACV,oBAAO,oBAAC,yBAAD,EAAsBA,KAAtB,CAAP;EACH;AALL,CADuC,EAQvC;EACIH,IAAI,EAAE,2CADV;EAEIC,IAAI,EAAE,kCAFV;EAGIC,MAHJ,kBAGWC,KAHX,EAGkB;IACV,oBAAO,oBAAC,4BAAD,EAAmBA,KAAnB,CAAP;EACH;AALL,CARuC,EAevC;EACIH,IAAI,EAAE,4CADV;EAEIC,IAAI,EAAE,kCAFV;EAGIC,MAHJ,kBAGWC,KAHX,EAGkB;IACV,oBAAO,oBAAC,8BAAD,EAAoBA,KAApB,CAAP;EACH;AALL,CAfuC,EAsBvC;EACIH,IAAI,EAAE,iCADV;EAEIC,IAAI,EAAE,kCAFV;EAGIC,MAHJ,kBAGWC,KAHX,EAGkB;IACV,oBAAO,oBAAC,oBAAD,EAAuBA,KAAvB,CAAP;EACH;AALL,CAtBuC,EA6BvC;EACIH,IAAI,EAAE,6CADV;EAEIC,IAAI,EAAE,kCAFV;EAGIC,MAHJ,kBAGWC,KAHX,EAGkB;IACV,oBAAO,oBAAC,2CAAD,EAA0BA,KAA1B,CAAP;EACH;AALL,CA7BuC,EAoCvC;EACIH,IAAI,EAAE,wCADV;EAEIC,IAAI,EAAE,kCAFV;EAGIC,MAHJ,kBAGWC,KAHX,EAGkB;IACV,oBAAO,oBAAC,+BAAD,EAA4BA,KAA5B,CAAP;EACH;AALL,CApCuC,CAA3C;eA6CeJ,O"}
|
|
@@ -1,2 +1 @@
|
|
|
1
|
-
declare const RequestChanges: ()
|
|
2
|
-
export default RequestChanges;
|
|
1
|
+
export declare const RequestChanges: import("@webiny/react-composition").ComposableFC<{}>;
|
|
@@ -5,7 +5,7 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
|
|
|
5
5
|
Object.defineProperty(exports, "__esModule", {
|
|
6
6
|
value: true
|
|
7
7
|
});
|
|
8
|
-
exports.
|
|
8
|
+
exports.RequestChanges = void 0;
|
|
9
9
|
|
|
10
10
|
var _regeneratorRuntime2 = _interopRequireDefault(require("@babel/runtime/helpers/regeneratorRuntime"));
|
|
11
11
|
|
|
@@ -31,11 +31,13 @@ var _useRevision2 = require("../../useRevision");
|
|
|
31
31
|
|
|
32
32
|
var _useContentEntry2 = require("../../../hooks/useContentEntry");
|
|
33
33
|
|
|
34
|
+
var _reactComposition = require("@webiny/react-composition");
|
|
35
|
+
|
|
34
36
|
var _templateObject, _templateObject2, _templateObject3;
|
|
35
37
|
|
|
36
38
|
var t = _i18n.i18n.ns("app-headless-cms/admin/content-details/header/request-review");
|
|
37
39
|
|
|
38
|
-
var
|
|
40
|
+
var RequestChangesComponent = function RequestChangesComponent() {
|
|
39
41
|
var _useContentEntry = (0, _useContentEntry2.useContentEntry)(),
|
|
40
42
|
entry = _useContentEntry.entry;
|
|
41
43
|
|
|
@@ -84,5 +86,5 @@ var RequestChanges = function RequestChanges() {
|
|
|
84
86
|
})));
|
|
85
87
|
};
|
|
86
88
|
|
|
87
|
-
var
|
|
88
|
-
exports.
|
|
89
|
+
var RequestChanges = (0, _reactComposition.makeComposable)("RequestChanges", RequestChangesComponent);
|
|
90
|
+
exports.RequestChanges = RequestChanges;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["t","i18n","ns","
|
|
1
|
+
{"version":3,"names":["t","i18n","ns","RequestChangesComponent","useContentEntry","entry","useRevision","revision","requestChanges","usePermission","canRequestChange","useConfirmationDialog","title","message","showConfirmation","buttonEnabled","id","meta","status","RequestChanges","makeComposable"],"sources":["RequestChanges.tsx"],"sourcesContent":["import React from \"react\";\nimport { IconButton } from \"@webiny/ui/Button\";\nimport { Tooltip } from \"@webiny/ui/Tooltip\";\nimport { useConfirmationDialog } from \"@webiny/app-admin/hooks/useConfirmationDialog\";\nimport { i18n } from \"@webiny/app/i18n\";\nimport { ReactComponent as RequestChangesIcon } from \"./rule-24px.svg\";\nimport usePermission from \"~/admin/hooks/usePermission\";\nimport { useRevision } from \"~/admin/views/contentEntries/ContentEntry/useRevision\";\nimport { useContentEntry } from \"~/admin/views/contentEntries/hooks/useContentEntry\";\nimport { makeComposable } from \"@webiny/react-composition\";\n\nconst t = i18n.ns(\"app-headless-cms/admin/content-details/header/request-review\");\n\nconst RequestChangesComponent: React.FC = () => {\n const { entry } = useContentEntry();\n const { requestChanges } = useRevision({ revision: entry });\n const { canRequestChange } = usePermission();\n\n const { showConfirmation } = useConfirmationDialog({\n title: t`Request Changes`,\n message: (\n <p>{t`You are about to request changes on this content entry. Are you sure you want to continue?`}</p>\n )\n });\n\n if (!canRequestChange(\"cms.contentEntry\")) {\n return null;\n }\n\n const buttonEnabled =\n entry.id && (entry.meta.status === \"draft\" || entry.meta.status === \"reviewRequested\");\n\n return (\n <React.Fragment>\n <Tooltip content={t`Request Changes`} placement={\"top\"}>\n <IconButton\n disabled={!buttonEnabled}\n icon={<RequestChangesIcon />}\n onClick={() =>\n showConfirmation(async () => {\n await requestChanges(entry.id);\n })\n }\n />\n </Tooltip>\n </React.Fragment>\n );\n};\n\nexport const RequestChanges = makeComposable(\"RequestChanges\", RequestChangesComponent);\n"],"mappings":";;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;;;AAEA,IAAMA,CAAC,GAAGC,UAAA,CAAKC,EAAL,CAAQ,8DAAR,CAAV;;AAEA,IAAMC,uBAAiC,GAAG,SAApCA,uBAAoC,GAAM;EAC5C,uBAAkB,IAAAC,iCAAA,GAAlB;EAAA,IAAQC,KAAR,oBAAQA,KAAR;;EACA,mBAA2B,IAAAC,yBAAA,EAAY;IAAEC,QAAQ,EAAEF;EAAZ,CAAZ,CAA3B;EAAA,IAAQG,cAAR,gBAAQA,cAAR;;EACA,qBAA6B,IAAAC,uBAAA,GAA7B;EAAA,IAAQC,gBAAR,kBAAQA,gBAAR;;EAEA,4BAA6B,IAAAC,4CAAA,EAAsB;IAC/CC,KAAK,EAAEZ,CAAF,kGAD0C;IAE/Ca,OAAO,eACH,wCAAIb,CAAJ;EAH2C,CAAtB,CAA7B;EAAA,IAAQc,gBAAR,yBAAQA,gBAAR;;EAOA,IAAI,CAACJ,gBAAgB,CAAC,kBAAD,CAArB,EAA2C;IACvC,OAAO,IAAP;EACH;;EAED,IAAMK,aAAa,GACfV,KAAK,CAACW,EAAN,KAAaX,KAAK,CAACY,IAAN,CAAWC,MAAX,KAAsB,OAAtB,IAAiCb,KAAK,CAACY,IAAN,CAAWC,MAAX,KAAsB,iBAApE,CADJ;EAGA,oBACI,6BAAC,cAAD,CAAO,QAAP,qBACI,6BAAC,gBAAD;IAAS,OAAO,EAAElB,CAAF,oGAAhB;IAAsC,SAAS,EAAE;EAAjD,gBACI,6BAAC,kBAAD;IACI,QAAQ,EAAE,CAACe,aADf;IAEI,IAAI,eAAE,6BAAC,wBAAD,OAFV;IAGI,OAAO,EAAE;MAAA,OACLD,gBAAgB,sGAAC;QAAA;UAAA;YAAA;cAAA;gBAAA;gBAAA,OACPN,cAAc,CAACH,KAAK,CAACW,EAAP,CADP;;cAAA;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,CAAD,GADX;IAAA;EAHb,EADJ,CADJ,CADJ;AAeH,CAlCD;;AAoCO,IAAMG,cAAc,GAAG,IAAAC,gCAAA,EAAe,gBAAf,EAAiCjB,uBAAjC,CAAvB"}
|
|
@@ -7,7 +7,7 @@ var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWild
|
|
|
7
7
|
Object.defineProperty(exports, "__esModule", {
|
|
8
8
|
value: true
|
|
9
9
|
});
|
|
10
|
-
exports.
|
|
10
|
+
exports.RequestReview = void 0;
|
|
11
11
|
|
|
12
12
|
var _regeneratorRuntime2 = _interopRequireDefault(require("@babel/runtime/helpers/regeneratorRuntime"));
|
|
13
13
|
|
|
@@ -33,11 +33,13 @@ var _usePermission2 = _interopRequireDefault(require("../../../../../hooks/usePe
|
|
|
33
33
|
|
|
34
34
|
var _useContentEntry2 = require("../../../hooks/useContentEntry");
|
|
35
35
|
|
|
36
|
+
var _reactComposition = require("@webiny/react-composition");
|
|
37
|
+
|
|
36
38
|
var _templateObject, _templateObject2, _templateObject3;
|
|
37
39
|
|
|
38
40
|
var t = _i18n.i18n.ns("app-headless-cms/admin/content-details/header/request-review");
|
|
39
41
|
|
|
40
|
-
var
|
|
42
|
+
var RequestReviewComponent = function RequestReviewComponent() {
|
|
41
43
|
var _useContentEntry = (0, _useContentEntry2.useContentEntry)(),
|
|
42
44
|
entry = _useContentEntry.entry;
|
|
43
45
|
|
|
@@ -88,5 +90,5 @@ var RequestReview = function RequestReview() {
|
|
|
88
90
|
})));
|
|
89
91
|
};
|
|
90
92
|
|
|
91
|
-
var
|
|
92
|
-
exports.
|
|
93
|
+
var RequestReview = (0, _reactComposition.makeComposable)("RequestReview", RequestReviewComponent);
|
|
94
|
+
exports.RequestReview = RequestReview;
|