@webiny/app-headless-cms 0.0.0-unstable.5e7233243f → 0.0.0-unstable.615a930a68

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (50) hide show
  1. package/admin/components/ContentEntryForm/Label.js +1 -1
  2. package/admin/components/ContentEntryForm/Label.js.map +1 -1
  3. package/admin/components/ContentModelEditor/Context.js +1 -1
  4. package/admin/components/ContentModelEditor/Context.js.map +1 -1
  5. package/admin/constants/statusLabels.js +2 -4
  6. package/admin/constants/statusLabels.js.map +1 -1
  7. package/admin/graphql/contentEntries.d.ts +2 -29
  8. package/admin/graphql/contentEntries.js +10 -30
  9. package/admin/graphql/contentEntries.js.map +1 -1
  10. package/admin/hooks/usePermission.d.ts +0 -2
  11. package/admin/hooks/usePermission.js +0 -36
  12. package/admin/hooks/usePermission.js.map +1 -1
  13. package/admin/menus/NothingToShowElement.js +4 -1
  14. package/admin/menus/NothingToShowElement.js.map +1 -1
  15. package/admin/plugins/editor/defaultBar/FormSettings/FormSettings.js +1 -1
  16. package/admin/plugins/editor/defaultBar/FormSettings/FormSettings.js.map +1 -1
  17. package/admin/plugins/fieldRenderers/object/multipleObjectsAccordion.d.ts +3 -0
  18. package/admin/plugins/fieldRenderers/object/multipleObjectsAccordion.js +146 -0
  19. package/admin/plugins/fieldRenderers/object/multipleObjectsAccordion.js.map +1 -0
  20. package/admin/plugins/fieldRenderers/object/singleObjectAccordion.d.ts +3 -0
  21. package/admin/plugins/fieldRenderers/object/singleObjectAccordion.js +54 -0
  22. package/admin/plugins/fieldRenderers/object/singleObjectAccordion.js.map +1 -0
  23. package/admin/plugins/fieldRenderers/object/singleObjectInline.d.ts +3 -0
  24. package/admin/plugins/fieldRenderers/object/singleObjectInline.js +64 -0
  25. package/admin/plugins/fieldRenderers/object/singleObjectInline.js.map +1 -0
  26. package/admin/plugins/fieldRenderers/ref/components/NewRefEntryFormDialog.js +1 -1
  27. package/admin/plugins/fieldRenderers/ref/components/NewRefEntryFormDialog.js.map +1 -1
  28. package/admin/plugins/permissionRenderer/components/ContentEntryPermission.js +11 -17
  29. package/admin/plugins/permissionRenderer/components/ContentEntryPermission.js.map +1 -1
  30. package/admin/views/contentEntries/ContentEntriesList.js +1 -1
  31. package/admin/views/contentEntries/ContentEntriesList.js.map +1 -1
  32. package/admin/views/contentEntries/ContentEntry/ContentEntryContext.js +16 -4
  33. package/admin/views/contentEntries/ContentEntry/ContentEntryContext.js.map +1 -1
  34. package/admin/views/contentEntries/ContentEntry/header/requestChanges/RequestChanges.d.ts +1 -1
  35. package/admin/views/contentEntries/ContentEntry/header/requestChanges/RequestChanges.js +3 -80
  36. package/admin/views/contentEntries/ContentEntry/header/requestChanges/RequestChanges.js.map +1 -1
  37. package/admin/views/contentEntries/ContentEntry/header/requestReview/RequestReview.d.ts +1 -1
  38. package/admin/views/contentEntries/ContentEntry/header/requestReview/RequestReview.js +3 -84
  39. package/admin/views/contentEntries/ContentEntry/header/requestReview/RequestReview.js.map +1 -1
  40. package/admin/views/contentEntries/ContentEntry/useRevision.d.ts +0 -8
  41. package/admin/views/contentEntries/ContentEntry/useRevision.js +4 -105
  42. package/admin/views/contentEntries/ContentEntry/useRevision.js.map +1 -1
  43. package/admin/views/contentEntries/experiment/ContentEntriesModule.d.ts +2 -2
  44. package/admin/views/contentEntries/experiment/ContentEntriesModule.js +13 -7
  45. package/admin/views/contentEntries/experiment/ContentEntriesModule.js.map +1 -1
  46. package/admin/views/contentEntries/hooks/useContentEntriesList.js.map +1 -1
  47. package/admin/views/contentModelGroups/ContentModelGroupsForm.js.map +1 -1
  48. package/package.json +28 -28
  49. package/types.d.ts +9 -1
  50. package/types.js.map +1 -1
@@ -112,10 +112,12 @@ var Provider = function Provider(_ref) {
112
112
  var contentId = typeof getContentId === "function" ? getContentId() : contentEntryProviderProps.getContentId();
113
113
  var revisionId = contentId ? decodeURIComponent(contentId) : null;
114
114
  var entryId = null;
115
+ var version = null;
115
116
 
116
117
  if (revisionId) {
117
118
  var result = (0, _utils.parseIdentifier)(revisionId);
118
- entryId = result ? result.id : null;
119
+ entryId = result.id;
120
+ version = result.version;
119
121
  }
120
122
 
121
123
  var tabsRef = (0, _react.useRef)();
@@ -140,10 +142,20 @@ var Provider = function Provider(_ref) {
140
142
  var createEntry = (0, _react.useCallback)(function () {
141
143
  history.push("/cms/content-entries/".concat(contentModel.modelId, "?new=true"));
142
144
  }, [contentModel.modelId]);
145
+ var variables = undefined;
146
+
147
+ if (version === null && entryId) {
148
+ variables = {
149
+ entryId: entryId
150
+ };
151
+ } else {
152
+ variables = {
153
+ revision: revisionId
154
+ };
155
+ }
156
+
143
157
  var getEntry = (0, _hooks.useQuery)(READ_CONTENT, {
144
- variables: {
145
- revision: revisionId || ""
146
- },
158
+ variables: variables,
147
159
  skip: !revisionId,
148
160
  onCompleted: function onCompleted(data) {
149
161
  if (!data) {
@@ -1 +1 @@
1
- {"version":3,"names":["Context","React","createContext","undefined","useContentEntryProviderProps","useRouter","location","query","URLSearchParams","search","isNewEntry","get","getContentId","Provider","children","useContentEntries","contentModel","canCreate","listQueryVariables","setListQueryVariables","sorters","formRef","useRef","submit","history","useSnackbar","showSnackbar","useState","isLoading","setLoading","contentEntryProviderProps","newEntry","contentId","revisionId","decodeURIComponent","entryId","result","parseIdentifier","id","tabsRef","useMemo","READ_CONTENT","createReadQuery","modelId","GET_REVISIONS","createRevisionsQuery","setFormRef","useCallback","form","current","createEntry","push","getEntry","useQuery","variables","revision","skip","onCompleted","data","error","content","message","getRevisions","loading","entry","value","revisions","refetchContent","refetch","showEmptyView","isEmpty","displayName"],"sources":["ContentEntryContext.tsx"],"sourcesContent":["import React, {\n useRef,\n useState,\n useCallback,\n useMemo,\n Dispatch,\n SetStateAction,\n MutableRefObject,\n RefObject\n} from \"react\";\nimport isEmpty from \"lodash/isEmpty\";\nimport get from \"lodash/get\";\nimport { useRouter } from \"@webiny/react-router\";\nimport { useSnackbar } from \"@webiny/app-admin/hooks/useSnackbar\";\nimport { useQuery } from \"~/admin/hooks\";\nimport { ContentEntriesContext } from \"~/admin/views/contentEntries/ContentEntriesContext\";\nimport { useContentEntries } from \"~/admin/views/contentEntries/hooks/useContentEntries\";\nimport { CmsContentEntryRevision, CmsEditorContentEntry } from \"~/types\";\nimport { TabsImperativeApi } from \"@webiny/ui/Tabs\";\nimport { parseIdentifier } from \"@webiny/utils\";\nimport {\n CmsEntriesListRevisionsQueryResponse,\n CmsEntriesListRevisionsQueryVariables,\n CmsEntryGetQueryResponse,\n CmsEntryGetQueryVariables,\n createReadQuery,\n createRevisionsQuery\n} from \"~/admin/graphql/contentEntries\";\n\ninterface ContentEntryContextForm {\n submit: (ev: React.SyntheticEvent) => Promise<CmsEditorContentEntry | null>;\n}\ntype ContentEntryContextFormRef = MutableRefObject<ContentEntryContextForm>;\nexport interface ContentEntryContext extends ContentEntriesContext {\n createEntry: () => void;\n entry: CmsEditorContentEntry;\n form: ContentEntryContextFormRef;\n setFormRef: (form: { submit: Function }) => void;\n loading: boolean;\n setLoading: Dispatch<SetStateAction<boolean>>;\n revisions: CmsContentEntryRevision[];\n refetchContent: () => void;\n tabsRef: RefObject<TabsImperativeApi | undefined>;\n showEmptyView: boolean;\n}\n\nexport const Context = React.createContext<ContentEntryContext | undefined>(undefined);\n\nexport interface ContentEntryContextProviderProps extends Partial<UseContentEntryProviderProps> {\n children: React.ReactNode;\n}\n\ninterface UseContentEntryProviderProps {\n getContentId: () => string | null;\n isNewEntry: () => boolean;\n}\n\nexport const useContentEntryProviderProps = (): UseContentEntryProviderProps => {\n const { location } = useRouter();\n const query = new URLSearchParams(location.search);\n\n const isNewEntry = (): boolean => {\n return query.get(\"new\") === \"true\";\n };\n\n const getContentId = (): string | null => {\n return query.get(\"id\") || null;\n };\n\n return {\n getContentId,\n isNewEntry\n };\n};\n\nexport const Provider: React.FC<ContentEntryContextProviderProps> = ({\n children,\n isNewEntry,\n getContentId\n}) => {\n const { contentModel, canCreate, listQueryVariables, setListQueryVariables, sorters } =\n useContentEntries();\n\n const formRef = useRef<ContentEntryContextForm>({\n submit: async () => {\n return null;\n }\n });\n const { history } = useRouter();\n const { showSnackbar } = useSnackbar();\n const [isLoading, setLoading] = useState<boolean>(false);\n\n const contentEntryProviderProps = useContentEntryProviderProps();\n\n const newEntry =\n typeof isNewEntry === \"function\" ? isNewEntry() : contentEntryProviderProps.isNewEntry();\n const contentId =\n typeof getContentId === \"function\"\n ? getContentId()\n : contentEntryProviderProps.getContentId();\n\n const revisionId = contentId ? decodeURIComponent(contentId) : null;\n let entryId: string | null = null;\n if (revisionId) {\n const result = parseIdentifier(revisionId);\n entryId = result ? result.id : null;\n }\n\n const tabsRef = useRef<TabsImperativeApi>();\n\n const { READ_CONTENT } = useMemo(() => {\n return {\n READ_CONTENT: createReadQuery(contentModel)\n };\n }, [contentModel.modelId]);\n\n const { GET_REVISIONS } = useMemo(() => {\n return {\n GET_REVISIONS: createRevisionsQuery(contentModel)\n };\n }, [contentModel.modelId]);\n\n const setFormRef = useCallback(\n form => {\n formRef.current = form;\n },\n [formRef]\n );\n\n const createEntry = useCallback((): void => {\n history.push(`/cms/content-entries/${contentModel.modelId}?new=true`);\n }, [contentModel.modelId]);\n\n const getEntry = useQuery<CmsEntryGetQueryResponse, CmsEntryGetQueryVariables>(READ_CONTENT, {\n variables: {\n revision: revisionId || \"\"\n },\n skip: !revisionId,\n onCompleted: data => {\n if (!data) {\n return;\n }\n\n const { error } = data.content;\n if (!error) {\n return;\n }\n history.push(`/cms/content-entries/${contentModel.modelId}`);\n showSnackbar(error.message);\n }\n });\n\n const getRevisions = useQuery<\n CmsEntriesListRevisionsQueryResponse,\n CmsEntriesListRevisionsQueryVariables\n >(GET_REVISIONS, {\n variables: {\n id: entryId as string\n },\n skip: !entryId\n });\n\n const loading = isLoading || getEntry.loading || getRevisions.loading;\n const entry: CmsEditorContentEntry = get(getEntry, \"data.content.data\") || {};\n\n const value: ContentEntryContext = {\n canCreate,\n contentModel,\n createEntry,\n listQueryVariables,\n setListQueryVariables,\n sorters,\n entry,\n form: formRef,\n loading,\n revisions: get(getRevisions, \"data.revisions.data\") || [],\n refetchContent: getEntry.refetch,\n setFormRef,\n setLoading,\n tabsRef,\n showEmptyView: !newEntry && !loading && isEmpty(entry)\n };\n\n return <Context.Provider value={value}>{children}</Context.Provider>;\n};\n\nProvider.displayName = \"ContentEntryProvider\";\n"],"mappings":"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"}
1
+ {"version":3,"names":["Context","React","createContext","undefined","useContentEntryProviderProps","useRouter","location","query","URLSearchParams","search","isNewEntry","get","getContentId","Provider","children","useContentEntries","contentModel","canCreate","listQueryVariables","setListQueryVariables","sorters","formRef","useRef","submit","history","useSnackbar","showSnackbar","useState","isLoading","setLoading","contentEntryProviderProps","newEntry","contentId","revisionId","decodeURIComponent","entryId","version","result","parseIdentifier","id","tabsRef","useMemo","READ_CONTENT","createReadQuery","modelId","GET_REVISIONS","createRevisionsQuery","setFormRef","useCallback","form","current","createEntry","push","variables","revision","getEntry","useQuery","skip","onCompleted","data","error","content","message","getRevisions","loading","entry","value","revisions","refetchContent","refetch","showEmptyView","isEmpty","displayName"],"sources":["ContentEntryContext.tsx"],"sourcesContent":["import React, {\n useRef,\n useState,\n useCallback,\n useMemo,\n Dispatch,\n SetStateAction,\n MutableRefObject,\n RefObject\n} from \"react\";\nimport isEmpty from \"lodash/isEmpty\";\nimport get from \"lodash/get\";\nimport { useRouter } from \"@webiny/react-router\";\nimport { useSnackbar } from \"@webiny/app-admin/hooks/useSnackbar\";\nimport { useQuery } from \"~/admin/hooks\";\nimport { ContentEntriesContext } from \"~/admin/views/contentEntries/ContentEntriesContext\";\nimport { useContentEntries } from \"~/admin/views/contentEntries/hooks/useContentEntries\";\nimport { CmsContentEntryRevision, CmsEditorContentEntry } from \"~/types\";\nimport { TabsImperativeApi } from \"@webiny/ui/Tabs\";\nimport { parseIdentifier } from \"@webiny/utils\";\nimport {\n CmsEntriesListRevisionsQueryResponse,\n CmsEntriesListRevisionsQueryVariables,\n CmsEntryGetQueryResponse,\n CmsEntryGetQueryVariables,\n createReadQuery,\n createRevisionsQuery\n} from \"~/admin/graphql/contentEntries\";\n\ninterface ContentEntryContextForm {\n submit: (ev: React.SyntheticEvent) => Promise<CmsEditorContentEntry | null>;\n}\ntype ContentEntryContextFormRef = MutableRefObject<ContentEntryContextForm>;\nexport interface ContentEntryContext extends ContentEntriesContext {\n createEntry: () => void;\n entry: CmsEditorContentEntry;\n form: ContentEntryContextFormRef;\n setFormRef: (form: { submit: Function }) => void;\n loading: boolean;\n setLoading: Dispatch<SetStateAction<boolean>>;\n revisions: CmsContentEntryRevision[];\n refetchContent: () => void;\n tabsRef: RefObject<TabsImperativeApi | undefined>;\n showEmptyView: boolean;\n}\n\nexport const Context = React.createContext<ContentEntryContext | undefined>(undefined);\n\nexport interface ContentEntryContextProviderProps extends Partial<UseContentEntryProviderProps> {\n children: React.ReactNode;\n}\n\ninterface UseContentEntryProviderProps {\n getContentId: () => string | null;\n isNewEntry: () => boolean;\n}\n\nexport const useContentEntryProviderProps = (): UseContentEntryProviderProps => {\n const { location } = useRouter();\n const query = new URLSearchParams(location.search);\n\n const isNewEntry = (): boolean => {\n return query.get(\"new\") === \"true\";\n };\n\n const getContentId = (): string | null => {\n return query.get(\"id\") || null;\n };\n\n return {\n getContentId,\n isNewEntry\n };\n};\n\nexport const Provider: React.FC<ContentEntryContextProviderProps> = ({\n children,\n isNewEntry,\n getContentId\n}) => {\n const { contentModel, canCreate, listQueryVariables, setListQueryVariables, sorters } =\n useContentEntries();\n\n const formRef = useRef<ContentEntryContextForm>({\n submit: async () => {\n return null;\n }\n });\n const { history } = useRouter();\n const { showSnackbar } = useSnackbar();\n const [isLoading, setLoading] = useState<boolean>(false);\n\n const contentEntryProviderProps = useContentEntryProviderProps();\n\n const newEntry =\n typeof isNewEntry === \"function\" ? isNewEntry() : contentEntryProviderProps.isNewEntry();\n const contentId =\n typeof getContentId === \"function\"\n ? getContentId()\n : contentEntryProviderProps.getContentId();\n\n const revisionId = contentId ? decodeURIComponent(contentId) : null;\n let entryId: string | null = null;\n let version: number | null = null;\n if (revisionId) {\n const result = parseIdentifier(revisionId);\n entryId = result.id;\n version = result.version;\n }\n\n const tabsRef = useRef<TabsImperativeApi>();\n\n const { READ_CONTENT } = useMemo(() => {\n return {\n READ_CONTENT: createReadQuery(contentModel)\n };\n }, [contentModel.modelId]);\n\n const { GET_REVISIONS } = useMemo(() => {\n return {\n GET_REVISIONS: createRevisionsQuery(contentModel)\n };\n }, [contentModel.modelId]);\n\n const setFormRef = useCallback(\n form => {\n formRef.current = form;\n },\n [formRef]\n );\n\n const createEntry = useCallback((): void => {\n history.push(`/cms/content-entries/${contentModel.modelId}?new=true`);\n }, [contentModel.modelId]);\n\n let variables: CmsEntryGetQueryVariables | undefined = undefined;\n if (version === null && entryId) {\n variables = {\n entryId\n };\n } else {\n variables = {\n revision: revisionId as string\n };\n }\n\n const getEntry = useQuery<CmsEntryGetQueryResponse, CmsEntryGetQueryVariables>(READ_CONTENT, {\n variables,\n skip: !revisionId,\n onCompleted: data => {\n if (!data) {\n return;\n }\n\n const { error } = data.content;\n if (!error) {\n return;\n }\n history.push(`/cms/content-entries/${contentModel.modelId}`);\n showSnackbar(error.message);\n }\n });\n\n const getRevisions = useQuery<\n CmsEntriesListRevisionsQueryResponse,\n CmsEntriesListRevisionsQueryVariables\n >(GET_REVISIONS, {\n variables: {\n id: entryId as string\n },\n skip: !entryId\n });\n\n const loading = isLoading || getEntry.loading || getRevisions.loading;\n const entry = (get(getEntry, \"data.content.data\") as unknown as CmsEditorContentEntry) || {};\n\n const value: ContentEntryContext = {\n canCreate,\n contentModel,\n createEntry,\n listQueryVariables,\n setListQueryVariables,\n sorters,\n entry,\n form: formRef,\n loading,\n revisions: get(getRevisions, \"data.revisions.data\") || [],\n refetchContent: getEntry.refetch,\n setFormRef,\n setLoading,\n tabsRef,\n showEmptyView: !newEntry && !loading && isEmpty(entry)\n };\n\n return <Context.Provider value={value}>{children}</Context.Provider>;\n};\n\nProvider.displayName = \"ContentEntryProvider\";\n"],"mappings":"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"}
@@ -1 +1 @@
1
- export declare const RequestChanges: import("@webiny/react-composition").ComposableFC<{}>;
1
+ export declare const RequestChanges: import("@webiny/react-composition").ComposableFC<unknown>;
@@ -1,90 +1,13 @@
1
1
  "use strict";
2
2
 
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
-
5
3
  Object.defineProperty(exports, "__esModule", {
6
4
  value: true
7
5
  });
8
6
  exports.RequestChanges = void 0;
9
7
 
10
- var _regeneratorRuntime2 = _interopRequireDefault(require("@babel/runtime/helpers/regeneratorRuntime"));
11
-
12
- var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
13
-
14
- var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
15
-
16
- var _react = _interopRequireDefault(require("react"));
17
-
18
- var _Button = require("@webiny/ui/Button");
19
-
20
- var _Tooltip = require("@webiny/ui/Tooltip");
21
-
22
- var _useConfirmationDialog = require("@webiny/app-admin/hooks/useConfirmationDialog");
23
-
24
- var _i18n = require("@webiny/app/i18n");
25
-
26
- var _rule24px = require("./rule-24px.svg");
27
-
28
- var _usePermission2 = _interopRequireDefault(require("../../../../../hooks/usePermission"));
29
-
30
- var _useRevision2 = require("../../useRevision");
31
-
32
- var _useContentEntry2 = require("../../../hooks/useContentEntry");
33
-
34
8
  var _reactComposition = require("@webiny/react-composition");
35
9
 
36
- var _templateObject, _templateObject2, _templateObject3;
37
-
38
- var t = _i18n.i18n.ns("app-headless-cms/admin/content-details/header/request-review");
39
-
40
- var RequestChangesComponent = function RequestChangesComponent() {
41
- var _useContentEntry = (0, _useContentEntry2.useContentEntry)(),
42
- entry = _useContentEntry.entry;
43
-
44
- var _useRevision = (0, _useRevision2.useRevision)({
45
- revision: entry
46
- }),
47
- requestChanges = _useRevision.requestChanges;
48
-
49
- var _usePermission = (0, _usePermission2.default)(),
50
- canRequestChange = _usePermission.canRequestChange;
51
-
52
- var _useConfirmationDialo = (0, _useConfirmationDialog.useConfirmationDialog)({
53
- title: t(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2.default)(["Request Changes"]))),
54
- message: /*#__PURE__*/_react.default.createElement("p", null, t(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2.default)(["You are about to request changes on this content entry. Are you sure you want to continue?"]))))
55
- }),
56
- showConfirmation = _useConfirmationDialo.showConfirmation;
57
-
58
- if (!canRequestChange("cms.contentEntry")) {
59
- return null;
60
- }
61
-
62
- var buttonEnabled = entry.id && (entry.meta.status === "draft" || entry.meta.status === "reviewRequested");
63
- return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_Tooltip.Tooltip, {
64
- content: t(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2.default)(["Request Changes"]))),
65
- placement: "top"
66
- }, /*#__PURE__*/_react.default.createElement(_Button.IconButton, {
67
- disabled: !buttonEnabled,
68
- icon: /*#__PURE__*/_react.default.createElement(_rule24px.ReactComponent, null),
69
- onClick: function onClick() {
70
- return showConfirmation( /*#__PURE__*/(0, _asyncToGenerator2.default)( /*#__PURE__*/(0, _regeneratorRuntime2.default)().mark(function _callee() {
71
- return (0, _regeneratorRuntime2.default)().wrap(function _callee$(_context) {
72
- while (1) {
73
- switch (_context.prev = _context.next) {
74
- case 0:
75
- _context.next = 2;
76
- return requestChanges(entry.id);
77
-
78
- case 2:
79
- case "end":
80
- return _context.stop();
81
- }
82
- }
83
- }, _callee);
84
- })));
85
- }
86
- })));
87
- };
88
-
89
- var RequestChanges = (0, _reactComposition.makeComposable)("RequestChanges", RequestChangesComponent);
10
+ var RequestChanges = (0, _reactComposition.makeComposable)("RequestChanges", function () {
11
+ return null;
12
+ });
90
13
  exports.RequestChanges = RequestChanges;
@@ -1 +1 @@
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"}
1
+ {"version":3,"names":["RequestChanges","makeComposable"],"sources":["RequestChanges.tsx"],"sourcesContent":["import { makeComposable } from \"@webiny/react-composition\";\n\nexport const RequestChanges = makeComposable(\"RequestChanges\", () => {\n return null;\n});\n"],"mappings":";;;;;;;AAAA;;AAEO,IAAMA,cAAc,GAAG,IAAAC,gCAAA,EAAe,gBAAf,EAAiC,YAAM;EACjE,OAAO,IAAP;AACH,CAF6B,CAAvB"}
@@ -1 +1 @@
1
- export declare const RequestReview: import("@webiny/react-composition").ComposableFC<{}>;
1
+ export declare const RequestReview: import("@webiny/react-composition").ComposableFC<unknown>;
@@ -1,94 +1,13 @@
1
1
  "use strict";
2
2
 
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
-
5
- var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
6
-
7
3
  Object.defineProperty(exports, "__esModule", {
8
4
  value: true
9
5
  });
10
6
  exports.RequestReview = void 0;
11
7
 
12
- var _regeneratorRuntime2 = _interopRequireDefault(require("@babel/runtime/helpers/regeneratorRuntime"));
13
-
14
- var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
15
-
16
- var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
17
-
18
- var _react = _interopRequireWildcard(require("react"));
19
-
20
- var _Button = require("@webiny/ui/Button");
21
-
22
- var _Tooltip = require("@webiny/ui/Tooltip");
23
-
24
- var _useConfirmationDialog = require("@webiny/app-admin/hooks/useConfirmationDialog");
25
-
26
- var _i18n = require("@webiny/app/i18n");
27
-
28
- var _emoji_people24px = require("./emoji_people-24px.svg");
29
-
30
- var _useRevision2 = require("../../useRevision");
31
-
32
- var _usePermission2 = _interopRequireDefault(require("../../../../../hooks/usePermission"));
33
-
34
- var _useContentEntry2 = require("../../../hooks/useContentEntry");
35
-
36
8
  var _reactComposition = require("@webiny/react-composition");
37
9
 
38
- var _templateObject, _templateObject2, _templateObject3;
39
-
40
- var t = _i18n.i18n.ns("app-headless-cms/admin/content-details/header/request-review");
41
-
42
- var RequestReviewComponent = function RequestReviewComponent() {
43
- var _useContentEntry = (0, _useContentEntry2.useContentEntry)(),
44
- entry = _useContentEntry.entry;
45
-
46
- var _useRevision = (0, _useRevision2.useRevision)({
47
- revision: entry
48
- }),
49
- requestReview = _useRevision.requestReview;
50
-
51
- var _usePermission = (0, _usePermission2.default)(),
52
- canRequestReview = _usePermission.canRequestReview;
53
-
54
- var _useConfirmationDialo = (0, _useConfirmationDialog.useConfirmationDialog)({
55
- title: t(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2.default)(["Request Review"]))),
56
- message: /*#__PURE__*/_react.default.createElement("p", null, t(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2.default)(["You are about to request a review of this content entry. Are you sure you want to continue?"]))))
57
- }),
58
- showConfirmation = _useConfirmationDialo.showConfirmation;
59
-
60
- var onClick = (0, _react.useCallback)(function () {
61
- showConfirmation( /*#__PURE__*/(0, _asyncToGenerator2.default)( /*#__PURE__*/(0, _regeneratorRuntime2.default)().mark(function _callee() {
62
- return (0, _regeneratorRuntime2.default)().wrap(function _callee$(_context) {
63
- while (1) {
64
- switch (_context.prev = _context.next) {
65
- case 0:
66
- _context.next = 2;
67
- return requestReview(entry.id);
68
-
69
- case 2:
70
- case "end":
71
- return _context.stop();
72
- }
73
- }
74
- }, _callee);
75
- })));
76
- }, [entry.id]);
77
-
78
- if (!canRequestReview("cms.contentEntry")) {
79
- return null;
80
- }
81
-
82
- var buttonEnabled = entry.id && (entry.meta.status === "draft" || entry.meta.status === "changesRequested");
83
- return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_Tooltip.Tooltip, {
84
- content: t(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2.default)(["Request Review"]))),
85
- placement: "top"
86
- }, /*#__PURE__*/_react.default.createElement(_Button.IconButton, {
87
- disabled: !buttonEnabled,
88
- icon: /*#__PURE__*/_react.default.createElement(_emoji_people24px.ReactComponent, null),
89
- onClick: onClick
90
- })));
91
- };
92
-
93
- var RequestReview = (0, _reactComposition.makeComposable)("RequestReview", RequestReviewComponent);
10
+ var RequestReview = (0, _reactComposition.makeComposable)("RequestReview", function () {
11
+ return null;
12
+ });
94
13
  exports.RequestReview = RequestReview;
@@ -1 +1 @@
1
- {"version":3,"names":["t","i18n","ns","RequestReviewComponent","useContentEntry","entry","useRevision","revision","requestReview","usePermission","canRequestReview","useConfirmationDialog","title","message","showConfirmation","onClick","useCallback","id","buttonEnabled","meta","status","RequestReview","makeComposable"],"sources":["RequestReview.tsx"],"sourcesContent":["import React, { useCallback } 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 RequestReviewIcon } from \"./emoji_people-24px.svg\";\nimport { useRevision } from \"~/admin/views/contentEntries/ContentEntry/useRevision\";\nimport usePermission from \"~/admin/hooks/usePermission\";\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 RequestReviewComponent: React.FC = () => {\n const { entry } = useContentEntry();\n const { requestReview } = useRevision({ revision: entry });\n const { canRequestReview } = usePermission();\n\n const { showConfirmation } = useConfirmationDialog({\n title: t`Request Review`,\n message: (\n <p>{t`You are about to request a review of this content entry. Are you sure you want to continue?`}</p>\n )\n });\n\n const onClick = useCallback((): void => {\n showConfirmation(async (): Promise<void> => {\n await requestReview(entry.id);\n });\n }, [entry.id]);\n\n if (!canRequestReview(\"cms.contentEntry\")) {\n return null;\n }\n\n const buttonEnabled =\n entry.id && (entry.meta.status === \"draft\" || entry.meta.status === \"changesRequested\");\n\n return (\n <React.Fragment>\n <Tooltip content={t`Request Review`} placement={\"top\"}>\n <IconButton\n disabled={!buttonEnabled}\n icon={<RequestReviewIcon />}\n onClick={onClick}\n />\n </Tooltip>\n </React.Fragment>\n );\n};\n\nexport const RequestReview = makeComposable(\"RequestReview\", RequestReviewComponent);\n"],"mappings":";;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;;;AAEA,IAAMA,CAAC,GAAGC,UAAA,CAAKC,EAAL,CAAQ,8DAAR,CAAV;;AAEA,IAAMC,sBAAgC,GAAG,SAAnCA,sBAAmC,GAAM;EAC3C,uBAAkB,IAAAC,iCAAA,GAAlB;EAAA,IAAQC,KAAR,oBAAQA,KAAR;;EACA,mBAA0B,IAAAC,yBAAA,EAAY;IAAEC,QAAQ,EAAEF;EAAZ,CAAZ,CAA1B;EAAA,IAAQG,aAAR,gBAAQA,aAAR;;EACA,qBAA6B,IAAAC,uBAAA,GAA7B;EAAA,IAAQC,gBAAR,kBAAQA,gBAAR;;EAEA,4BAA6B,IAAAC,4CAAA,EAAsB;IAC/CC,KAAK,EAAEZ,CAAF,iGAD0C;IAE/Ca,OAAO,eACH,wCAAIb,CAAJ;EAH2C,CAAtB,CAA7B;EAAA,IAAQc,gBAAR,yBAAQA,gBAAR;;EAOA,IAAMC,OAAO,GAAG,IAAAC,kBAAA,EAAY,YAAY;IACpCF,gBAAgB,sGAAC;MAAA;QAAA;UAAA;YAAA;cAAA;cAAA,OACPN,aAAa,CAACH,KAAK,CAACY,EAAP,CADN;;YAAA;YAAA;cAAA;UAAA;QAAA;MAAA;IAAA,CAAD,GAAhB;EAGH,CAJe,EAIb,CAACZ,KAAK,CAACY,EAAP,CAJa,CAAhB;;EAMA,IAAI,CAACP,gBAAgB,CAAC,kBAAD,CAArB,EAA2C;IACvC,OAAO,IAAP;EACH;;EAED,IAAMQ,aAAa,GACfb,KAAK,CAACY,EAAN,KAAaZ,KAAK,CAACc,IAAN,CAAWC,MAAX,KAAsB,OAAtB,IAAiCf,KAAK,CAACc,IAAN,CAAWC,MAAX,KAAsB,kBAApE,CADJ;EAGA,oBACI,6BAAC,cAAD,CAAO,QAAP,qBACI,6BAAC,gBAAD;IAAS,OAAO,EAAEpB,CAAF,mGAAhB;IAAqC,SAAS,EAAE;EAAhD,gBACI,6BAAC,kBAAD;IACI,QAAQ,EAAE,CAACkB,aADf;IAEI,IAAI,eAAE,6BAAC,gCAAD,OAFV;IAGI,OAAO,EAAEH;EAHb,EADJ,CADJ,CADJ;AAWH,CApCD;;AAsCO,IAAMM,aAAa,GAAG,IAAAC,gCAAA,EAAe,eAAf,EAAgCnB,sBAAhC,CAAtB"}
1
+ {"version":3,"names":["RequestReview","makeComposable"],"sources":["RequestReview.tsx"],"sourcesContent":["import { makeComposable } from \"@webiny/react-composition\";\n\nexport const RequestReview = makeComposable(\"RequestReview\", () => {\n return null;\n});\n"],"mappings":";;;;;;;AAAA;;AAEO,IAAMA,aAAa,GAAG,IAAAC,gCAAA,EAAe,eAAf,EAAgC,YAAM;EAC/D,OAAO,IAAP;AACH,CAF4B,CAAtB"}
@@ -14,12 +14,6 @@ interface PublishRevisionHandler {
14
14
  interface UnpublishRevisionHandler {
15
15
  (id?: string): Promise<void>;
16
16
  }
17
- interface RequestReviewHandler {
18
- (id?: string): Promise<void>;
19
- }
20
- interface RequestChangesHandler {
21
- (id?: string): Promise<void>;
22
- }
23
17
  export interface UseRevisionProps {
24
18
  revision: CmsEditorContentEntry;
25
19
  }
@@ -29,7 +23,5 @@ export declare const useRevision: ({ revision }: UseRevisionProps) => {
29
23
  deleteRevision: DeleteRevisionHandler;
30
24
  publishRevision: PublishRevisionHandler;
31
25
  unpublishRevision: UnpublishRevisionHandler;
32
- requestReview: RequestReviewHandler;
33
- requestChanges: RequestChangesHandler;
34
26
  };
35
27
  export {};
@@ -54,15 +54,11 @@ var useRevision = function useRevision(_ref) {
54
54
  var _useMemo = (0, _react.useMemo)(function () {
55
55
  return {
56
56
  CREATE_REVISION: GQL.createCreateFromMutation(contentModel),
57
- UNPUBLISH_REVISION: GQL.createUnpublishMutation(contentModel),
58
- REQUEST_REVIEW: GQL.createRequestReviewMutation(contentModel),
59
- REQUEST_CHANGES: GQL.createRequestChangesMutation(contentModel)
57
+ UNPUBLISH_REVISION: GQL.createUnpublishMutation(contentModel)
60
58
  };
61
59
  }, [modelId]),
62
60
  CREATE_REVISION = _useMemo.CREATE_REVISION,
63
- UNPUBLISH_REVISION = _useMemo.UNPUBLISH_REVISION,
64
- REQUEST_REVIEW = _useMemo.REQUEST_REVIEW,
65
- REQUEST_CHANGES = _useMemo.REQUEST_CHANGES;
61
+ UNPUBLISH_REVISION = _useMemo.UNPUBLISH_REVISION;
66
62
 
67
63
  var _useHandlers = (0, _useHandlers2.useHandlers)({
68
64
  entry: entry
@@ -306,117 +302,20 @@ var useRevision = function useRevision(_ref) {
306
302
  return _ref7.apply(this, arguments);
307
303
  };
308
304
  }();
309
- },
310
- requestReview: function requestReview() {
311
- return /*#__PURE__*/function () {
312
- var _ref8 = (0, _asyncToGenerator2.default)( /*#__PURE__*/(0, _regeneratorRuntime2.default)().mark(function _callee5(id) {
313
- return (0, _regeneratorRuntime2.default)().wrap(function _callee5$(_context5) {
314
- while (1) {
315
- switch (_context5.prev = _context5.next) {
316
- case 0:
317
- setLoading(true);
318
- _context5.next = 3;
319
- return client.mutate({
320
- mutation: REQUEST_REVIEW,
321
- variables: {
322
- revision: id || revision.id
323
- },
324
- update: function update(_, result) {
325
- if (!result || !result.data) {
326
- showSnackbar("Missing result in update callback on Request Review Mutation.");
327
- return;
328
- }
329
-
330
- var error = result.data.content.error;
331
-
332
- if (error) {
333
- return showSnackbar(error.message);
334
- }
335
-
336
- showSnackbar( /*#__PURE__*/_react.default.createElement("span", null, "Review requested successfully!"));
337
- }
338
- });
339
-
340
- case 3:
341
- setLoading(false);
342
-
343
- case 4:
344
- case "end":
345
- return _context5.stop();
346
- }
347
- }
348
- }, _callee5);
349
- }));
350
-
351
- return function (_x5) {
352
- return _ref8.apply(this, arguments);
353
- };
354
- }();
355
- },
356
- requestChanges: function requestChanges() {
357
- return /*#__PURE__*/function () {
358
- var _ref9 = (0, _asyncToGenerator2.default)( /*#__PURE__*/(0, _regeneratorRuntime2.default)().mark(function _callee6(id) {
359
- return (0, _regeneratorRuntime2.default)().wrap(function _callee6$(_context6) {
360
- while (1) {
361
- switch (_context6.prev = _context6.next) {
362
- case 0:
363
- setLoading(true);
364
- _context6.next = 3;
365
- return client.mutate({
366
- mutation: REQUEST_CHANGES,
367
- variables: {
368
- revision: id || revision.id
369
- },
370
- update: function update(_, result) {
371
- if (!result || !result.data) {
372
- showSnackbar("Missing result in update callback on Request Changes Mutation.");
373
- return;
374
- }
375
-
376
- var error = result.data.content.error;
377
-
378
- if (error) {
379
- showSnackbar(error.message);
380
- return;
381
- }
382
-
383
- showSnackbar( /*#__PURE__*/_react.default.createElement("span", null, "Changes requested successfully!"));
384
- }
385
- });
386
-
387
- case 3:
388
- setLoading(false);
389
-
390
- case 4:
391
- case "end":
392
- return _context6.stop();
393
- }
394
- }
395
- }, _callee6);
396
- }));
397
-
398
- return function (_x6) {
399
- return _ref9.apply(this, arguments);
400
- };
401
- }();
402
305
  }
403
306
  }),
404
307
  createRevision = _useHandlers.createRevision,
405
308
  editRevision = _useHandlers.editRevision,
406
309
  deleteRevision = _useHandlers.deleteRevision,
407
310
  publishRevision = _useHandlers.publishRevision,
408
- unpublishRevision = _useHandlers.unpublishRevision,
409
- requestReview = _useHandlers.requestReview,
410
- requestChanges = _useHandlers.requestChanges;
311
+ unpublishRevision = _useHandlers.unpublishRevision;
411
312
 
412
313
  return {
413
314
  createRevision: createRevision,
414
315
  editRevision: editRevision,
415
316
  deleteRevision: deleteRevision,
416
317
  publishRevision: publishRevision,
417
- unpublishRevision: unpublishRevision,
418
- requestReview: requestReview,
419
- requestChanges: requestChanges
318
+ unpublishRevision: unpublishRevision
420
319
  };
421
320
  };
422
321
 
@@ -1 +1 @@
1
- {"version":3,"names":["useRevision","revision","useCms","publishEntryRevision","deleteEntry","useContentEntry","contentModel","entry","setLoading","listQueryVariables","useRouter","history","useSnackbar","showSnackbar","client","useApolloClient","modelId","useMemo","CREATE_REVISION","GQL","createCreateFromMutation","UNPUBLISH_REVISION","createUnpublishMutation","REQUEST_REVIEW","createRequestReviewMutation","REQUEST_CHANGES","createRequestChangesMutation","useHandlers","createRevision","id","mutate","mutation","variables","update","cache","result","data","newRevision","content","GQLCache","updateLatestRevisionInListCache","addRevisionToRevisionsCache","createResponse","error","message","push","encodeURIComponent","editRevision","deleteRevision","model","targetRevision","publishRevision","response","meta","version","unpublishRevision","requestReview","_","requestChanges"],"sources":["useRevision.tsx"],"sourcesContent":["import React, { useMemo } from \"react\";\nimport { useRouter } from \"@webiny/react-router\";\nimport { useHandlers } from \"@webiny/app/hooks/useHandlers\";\nimport { useSnackbar } from \"@webiny/app-admin/hooks/useSnackbar\";\nimport { CmsEditorContentEntry } from \"~/types\";\nimport * as GQL from \"~/admin/graphql/contentEntries\";\nimport * as GQLCache from \"./cache\";\nimport { useApolloClient, useCms } from \"~/admin/hooks\";\nimport { useContentEntry } from \"~/admin/views/contentEntries/hooks/useContentEntry\";\nimport {\n CmsEntryCreateFromMutationResponse,\n CmsEntryCreateFromMutationVariables,\n CmsEntryRequestChangesMutationResponse,\n CmsEntryRequestChangesMutationVariables,\n CmsEntryRequestReviewMutationResponse,\n CmsEntryRequestReviewMutationVariables,\n CmsEntryUnpublishMutationResponse,\n CmsEntryUnpublishMutationVariables\n} from \"~/admin/graphql/contentEntries\";\n\ninterface CreateRevisionHandler {\n (id?: string): Promise<void>;\n}\ninterface EditRevisionHandler {\n (id?: string): void;\n}\ninterface DeleteRevisionHandler {\n (id?: string): Promise<void>;\n}\ninterface PublishRevisionHandler {\n (id?: string): Promise<void>;\n}\ninterface UnpublishRevisionHandler {\n (id?: string): Promise<void>;\n}\ninterface RequestReviewHandler {\n (id?: string): Promise<void>;\n}\ninterface RequestChangesHandler {\n (id?: string): Promise<void>;\n}\ninterface UseRevisionHandlers {\n createRevision: CreateRevisionHandler;\n editRevision: EditRevisionHandler;\n deleteRevision: DeleteRevisionHandler;\n publishRevision: PublishRevisionHandler;\n unpublishRevision: UnpublishRevisionHandler;\n requestReview: RequestReviewHandler;\n requestChanges: RequestChangesHandler;\n}\n\nexport interface UseRevisionProps {\n revision: CmsEditorContentEntry;\n}\n\nexport const useRevision = ({ revision }: UseRevisionProps) => {\n const { publishEntryRevision, deleteEntry } = useCms();\n const { contentModel, entry, setLoading, listQueryVariables } = useContentEntry();\n\n const { history } = useRouter();\n const { showSnackbar } = useSnackbar();\n const client = useApolloClient();\n const { modelId } = contentModel;\n\n const { CREATE_REVISION, UNPUBLISH_REVISION, REQUEST_REVIEW, REQUEST_CHANGES } = useMemo(() => {\n return {\n CREATE_REVISION: GQL.createCreateFromMutation(contentModel),\n UNPUBLISH_REVISION: GQL.createUnpublishMutation(contentModel),\n REQUEST_REVIEW: GQL.createRequestReviewMutation(contentModel),\n REQUEST_CHANGES: GQL.createRequestChangesMutation(contentModel)\n };\n }, [modelId]);\n\n const {\n createRevision,\n editRevision,\n deleteRevision,\n publishRevision,\n unpublishRevision,\n requestReview,\n requestChanges\n } = useHandlers<UseRevisionHandlers>(\n { entry },\n {\n createRevision:\n (): CreateRevisionHandler =>\n async (id): Promise<void> => {\n setLoading(true);\n const createResponse = await client.mutate<\n CmsEntryCreateFromMutationResponse,\n CmsEntryCreateFromMutationVariables\n >({\n mutation: CREATE_REVISION,\n variables: {\n revision: id || revision.id\n },\n update(cache, result) {\n if (!result || !result.data) {\n showSnackbar(\n `Missing result in update callback on Create Revision Mutation.`\n );\n return;\n }\n const newRevision = result.data.content.data;\n if (!newRevision) {\n showSnackbar(\n \"Missing revision data in update callback on Create Revision Mutation.\"\n );\n return;\n }\n\n GQLCache.updateLatestRevisionInListCache(\n contentModel,\n cache,\n newRevision,\n listQueryVariables\n );\n GQLCache.addRevisionToRevisionsCache(contentModel, cache, newRevision);\n }\n });\n\n setLoading(false);\n if (!createResponse || !createResponse.data) {\n showSnackbar(`Missing response data in Create Revision Callable.`);\n return;\n }\n\n const { data, error } = createResponse.data.content;\n\n if (error) {\n showSnackbar(error.message);\n return;\n } else if (!data) {\n showSnackbar(`Missing data in Create Revision callable.`);\n return;\n }\n\n history.push(\n `/cms/content-entries/${modelId}?id=${encodeURIComponent(data.id)}`\n );\n },\n editRevision:\n (): EditRevisionHandler =>\n (id): void => {\n history.push(\n `/cms/content-entries/${modelId}/?id=${encodeURIComponent(\n id || revision.id\n )}`\n );\n },\n deleteRevision:\n ({ entry }): DeleteRevisionHandler =>\n async (id): Promise<void> => {\n setLoading(true);\n\n const { error, entry: targetRevision } = await deleteEntry({\n model: contentModel,\n entry,\n id: id || entry.id,\n listQueryVariables\n });\n\n setLoading(false);\n\n if (error) {\n showSnackbar(error.message);\n return;\n }\n\n // Redirect to the first revision in the list of all entry revisions.\n history.push(\n `/cms/content-entries/${modelId}?id=` +\n encodeURIComponent(targetRevision!.id)\n );\n },\n publishRevision:\n ({ entry }): PublishRevisionHandler =>\n async id => {\n setLoading(true);\n\n const response = await publishEntryRevision({\n model: contentModel,\n entry: entry,\n id: id || entry.id,\n listQueryVariables\n });\n\n setLoading(false);\n\n const { error } = response;\n if (error) {\n showSnackbar(error.message);\n return;\n }\n\n showSnackbar(\n <span>\n Successfully published revision{\" \"}\n <strong>#{response.entry!.meta.version}</strong>!\n </span>\n );\n },\n unpublishRevision:\n (): UnpublishRevisionHandler =>\n async (id): Promise<void> => {\n setLoading(true);\n const result = await client.mutate<\n CmsEntryUnpublishMutationResponse,\n CmsEntryUnpublishMutationVariables\n >({\n mutation: UNPUBLISH_REVISION,\n variables: {\n revision: id || revision.id\n }\n });\n setLoading(false);\n if (!result || !result.data) {\n showSnackbar(`Missing result in update callback on Unpublish Mutation.`);\n return;\n }\n\n const { error } = result.data.content;\n if (error) {\n showSnackbar(error.message);\n return;\n }\n\n showSnackbar(\n <span>\n Successfully unpublished revision{\" \"}\n <strong>#{revision.meta.version}</strong>!\n </span>\n );\n },\n requestReview:\n (): RequestReviewHandler =>\n async (id): Promise<void> => {\n setLoading(true);\n await client.mutate<\n CmsEntryRequestReviewMutationResponse,\n CmsEntryRequestReviewMutationVariables\n >({\n mutation: REQUEST_REVIEW,\n variables: {\n revision: id || revision.id\n },\n update(_, result) {\n if (!result || !result.data) {\n showSnackbar(\n `Missing result in update callback on Request Review Mutation.`\n );\n return;\n }\n const { error } = result.data.content;\n if (error) {\n return showSnackbar(error.message);\n }\n\n showSnackbar(<span>Review requested successfully!</span>);\n }\n });\n\n setLoading(false);\n },\n requestChanges:\n (): RequestChangesHandler =>\n async (id): Promise<void> => {\n setLoading(true);\n await client.mutate<\n CmsEntryRequestChangesMutationResponse,\n CmsEntryRequestChangesMutationVariables\n >({\n mutation: REQUEST_CHANGES,\n variables: {\n revision: id || revision.id\n },\n update(_, result) {\n if (!result || !result.data) {\n showSnackbar(\n `Missing result in update callback on Request Changes Mutation.`\n );\n return;\n }\n const { error } = result.data.content;\n if (error) {\n showSnackbar(error.message);\n return;\n }\n\n showSnackbar(<span>Changes requested successfully!</span>);\n }\n });\n\n setLoading(false);\n }\n }\n );\n\n return {\n createRevision,\n editRevision,\n deleteRevision,\n publishRevision,\n unpublishRevision,\n requestReview,\n requestChanges\n };\n};\n"],"mappings":"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"}
1
+ {"version":3,"names":["useRevision","revision","useCms","publishEntryRevision","deleteEntry","useContentEntry","contentModel","entry","setLoading","listQueryVariables","useRouter","history","useSnackbar","showSnackbar","client","useApolloClient","modelId","useMemo","CREATE_REVISION","GQL","createCreateFromMutation","UNPUBLISH_REVISION","createUnpublishMutation","useHandlers","createRevision","id","mutate","mutation","variables","update","cache","result","data","newRevision","content","GQLCache","updateLatestRevisionInListCache","addRevisionToRevisionsCache","createResponse","error","message","push","encodeURIComponent","editRevision","deleteRevision","model","targetRevision","publishRevision","response","meta","version","unpublishRevision"],"sources":["useRevision.tsx"],"sourcesContent":["import React, { useMemo } from \"react\";\nimport { useRouter } from \"@webiny/react-router\";\nimport { useHandlers } from \"@webiny/app/hooks/useHandlers\";\nimport { useSnackbar } from \"@webiny/app-admin/hooks/useSnackbar\";\nimport { CmsEditorContentEntry } from \"~/types\";\nimport * as GQL from \"~/admin/graphql/contentEntries\";\nimport * as GQLCache from \"./cache\";\nimport { useApolloClient, useCms } from \"~/admin/hooks\";\nimport { useContentEntry } from \"~/admin/views/contentEntries/hooks/useContentEntry\";\nimport {\n CmsEntryCreateFromMutationResponse,\n CmsEntryCreateFromMutationVariables,\n CmsEntryUnpublishMutationResponse,\n CmsEntryUnpublishMutationVariables\n} from \"~/admin/graphql/contentEntries\";\n\ninterface CreateRevisionHandler {\n (id?: string): Promise<void>;\n}\ninterface EditRevisionHandler {\n (id?: string): void;\n}\ninterface DeleteRevisionHandler {\n (id?: string): Promise<void>;\n}\ninterface PublishRevisionHandler {\n (id?: string): Promise<void>;\n}\ninterface UnpublishRevisionHandler {\n (id?: string): Promise<void>;\n}\ninterface UseRevisionHandlers {\n createRevision: CreateRevisionHandler;\n editRevision: EditRevisionHandler;\n deleteRevision: DeleteRevisionHandler;\n publishRevision: PublishRevisionHandler;\n unpublishRevision: UnpublishRevisionHandler;\n}\n\nexport interface UseRevisionProps {\n revision: CmsEditorContentEntry;\n}\n\nexport const useRevision = ({ revision }: UseRevisionProps) => {\n const { publishEntryRevision, deleteEntry } = useCms();\n const { contentModel, entry, setLoading, listQueryVariables } = useContentEntry();\n\n const { history } = useRouter();\n const { showSnackbar } = useSnackbar();\n const client = useApolloClient();\n const { modelId } = contentModel;\n\n const { CREATE_REVISION, UNPUBLISH_REVISION } = useMemo(() => {\n return {\n CREATE_REVISION: GQL.createCreateFromMutation(contentModel),\n UNPUBLISH_REVISION: GQL.createUnpublishMutation(contentModel)\n };\n }, [modelId]);\n\n const { createRevision, editRevision, deleteRevision, publishRevision, unpublishRevision } =\n useHandlers<UseRevisionHandlers>(\n { entry },\n {\n createRevision:\n (): CreateRevisionHandler =>\n async (id): Promise<void> => {\n setLoading(true);\n const createResponse = await client.mutate<\n CmsEntryCreateFromMutationResponse,\n CmsEntryCreateFromMutationVariables\n >({\n mutation: CREATE_REVISION,\n variables: {\n revision: id || revision.id\n },\n update(cache, result) {\n if (!result || !result.data) {\n showSnackbar(\n `Missing result in update callback on Create Revision Mutation.`\n );\n return;\n }\n const newRevision = result.data.content.data;\n if (!newRevision) {\n showSnackbar(\n \"Missing revision data in update callback on Create Revision Mutation.\"\n );\n return;\n }\n\n GQLCache.updateLatestRevisionInListCache(\n contentModel,\n cache,\n newRevision,\n listQueryVariables\n );\n GQLCache.addRevisionToRevisionsCache(\n contentModel,\n cache,\n newRevision\n );\n }\n });\n\n setLoading(false);\n if (!createResponse || !createResponse.data) {\n showSnackbar(`Missing response data in Create Revision Callable.`);\n return;\n }\n\n const { data, error } = createResponse.data.content;\n\n if (error) {\n showSnackbar(error.message);\n return;\n } else if (!data) {\n showSnackbar(`Missing data in Create Revision callable.`);\n return;\n }\n\n history.push(\n `/cms/content-entries/${modelId}?id=${encodeURIComponent(data.id)}`\n );\n },\n editRevision:\n (): EditRevisionHandler =>\n (id): void => {\n history.push(\n `/cms/content-entries/${modelId}/?id=${encodeURIComponent(\n id || revision.id\n )}`\n );\n },\n deleteRevision:\n ({ entry }): DeleteRevisionHandler =>\n async (id): Promise<void> => {\n setLoading(true);\n\n const { error, entry: targetRevision } = await deleteEntry({\n model: contentModel,\n entry,\n id: id || entry.id,\n listQueryVariables\n });\n\n setLoading(false);\n\n if (error) {\n showSnackbar(error.message);\n return;\n }\n\n // Redirect to the first revision in the list of all entry revisions.\n history.push(\n `/cms/content-entries/${modelId}?id=` +\n encodeURIComponent(targetRevision!.id)\n );\n },\n publishRevision:\n ({ entry }): PublishRevisionHandler =>\n async id => {\n setLoading(true);\n\n const response = await publishEntryRevision({\n model: contentModel,\n entry: entry,\n id: id || entry.id,\n listQueryVariables\n });\n\n setLoading(false);\n\n const { error } = response;\n if (error) {\n showSnackbar(error.message);\n return;\n }\n\n showSnackbar(\n <span>\n Successfully published revision{\" \"}\n <strong>#{response.entry!.meta.version}</strong>!\n </span>\n );\n },\n unpublishRevision:\n (): UnpublishRevisionHandler =>\n async (id): Promise<void> => {\n setLoading(true);\n const result = await client.mutate<\n CmsEntryUnpublishMutationResponse,\n CmsEntryUnpublishMutationVariables\n >({\n mutation: UNPUBLISH_REVISION,\n variables: {\n revision: id || revision.id\n }\n });\n setLoading(false);\n if (!result || !result.data) {\n showSnackbar(\n `Missing result in update callback on Unpublish Mutation.`\n );\n return;\n }\n\n const { error } = result.data.content;\n if (error) {\n showSnackbar(error.message);\n return;\n }\n\n showSnackbar(\n <span>\n Successfully unpublished revision{\" \"}\n <strong>#{revision.meta.version}</strong>!\n </span>\n );\n }\n }\n );\n\n return {\n createRevision,\n editRevision,\n deleteRevision,\n publishRevision,\n unpublishRevision\n };\n};\n"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- /// <reference types="react" />
2
- export declare const ContentEntriesModule: () => JSX.Element;
1
+ import React from "react";
2
+ export declare const ContentEntriesModule: React.FC;
@@ -1,13 +1,13 @@
1
1
  "use strict";
2
2
 
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
3
+ var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
4
4
 
5
5
  Object.defineProperty(exports, "__esModule", {
6
6
  value: true
7
7
  });
8
8
  exports.ContentEntriesModule = void 0;
9
9
 
10
- var _react = _interopRequireDefault(require("react"));
10
+ var _react = _interopRequireWildcard(require("react"));
11
11
 
12
12
  var _appAdmin = require("@webiny/app-admin");
13
13
 
@@ -19,6 +19,8 @@ var _ContentEntriesViewConfig = require("./ContentEntriesViewConfig");
19
19
 
20
20
  var _ContentEntriesRenderer = require("./ContentEntriesRenderer");
21
21
 
22
+ var _plugins = require("@webiny/plugins");
23
+
22
24
  var Filter = _ContentEntriesViewConfig.ContentEntriesViewConfig.Filter,
23
25
  Sorter = _ContentEntriesViewConfig.ContentEntriesViewConfig.Sorter;
24
26
 
@@ -30,6 +32,9 @@ var FilterByStatus = function FilterByStatus() {
30
32
  cb(value === "all" ? undefined : value);
31
33
  }
32
34
  });
35
+ var filterStatusPlugins = (0, _react.useMemo)(function () {
36
+ return _plugins.plugins.byType("cms.entry.filter.status");
37
+ }, []);
33
38
  return /*#__PURE__*/_react.default.createElement(_Select.Select, Object.assign({}, bind, {
34
39
  label: "Filter by status",
35
40
  description: "Filter by a specific entry status."
@@ -41,11 +46,12 @@ var FilterByStatus = function FilterByStatus() {
41
46
  value: "published"
42
47
  }, "Published"), /*#__PURE__*/_react.default.createElement("option", {
43
48
  value: "unpublished"
44
- }, "Unpublished"), /*#__PURE__*/_react.default.createElement("option", {
45
- value: "reviewRequested"
46
- }, "Review requested"), /*#__PURE__*/_react.default.createElement("option", {
47
- value: "changesRequested"
48
- }, "Changes requested"));
49
+ }, "Unpublished"), filterStatusPlugins.map(function (pl) {
50
+ return /*#__PURE__*/_react.default.createElement("option", {
51
+ key: pl.value,
52
+ value: pl.value
53
+ }, pl.label);
54
+ }));
49
55
  };
50
56
 
51
57
  var ContentEntriesModule = function ContentEntriesModule() {