@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","
|
|
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"}
|
|
@@ -2,10 +2,12 @@
|
|
|
2
2
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
|
|
4
4
|
|
|
5
|
+
var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
|
|
6
|
+
|
|
5
7
|
Object.defineProperty(exports, "__esModule", {
|
|
6
8
|
value: true
|
|
7
9
|
});
|
|
8
|
-
exports.
|
|
10
|
+
exports.SaveAndPublishButton = void 0;
|
|
9
11
|
|
|
10
12
|
var _regeneratorRuntime2 = _interopRequireDefault(require("@babel/runtime/helpers/regeneratorRuntime"));
|
|
11
13
|
|
|
@@ -13,7 +15,7 @@ var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/
|
|
|
13
15
|
|
|
14
16
|
var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
|
|
15
17
|
|
|
16
|
-
var _react =
|
|
18
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
17
19
|
|
|
18
20
|
var _emotion = require("emotion");
|
|
19
21
|
|
|
@@ -29,6 +31,8 @@ var _useContentEntry2 = require("../../../hooks/useContentEntry");
|
|
|
29
31
|
|
|
30
32
|
var _usePermission2 = _interopRequireDefault(require("../../../../../hooks/usePermission"));
|
|
31
33
|
|
|
34
|
+
var _reactComposition = require("@webiny/react-composition");
|
|
35
|
+
|
|
32
36
|
var _templateObject, _templateObject2, _templateObject3;
|
|
33
37
|
|
|
34
38
|
var t = _i18n.i18n.ns("app-headless-cms/admin/plugins/content-details/header/publish-revision");
|
|
@@ -37,7 +41,7 @@ var buttonStyles = /*#__PURE__*/(0, _emotion.css)({
|
|
|
37
41
|
marginLeft: 16
|
|
38
42
|
}, "label:buttonStyles;");
|
|
39
43
|
|
|
40
|
-
var
|
|
44
|
+
var SaveAndPublishButtonComponent = function SaveAndPublishButtonComponent() {
|
|
41
45
|
var _useContentEntry = (0, _useContentEntry2.useContentEntry)(),
|
|
42
46
|
form = _useContentEntry.form,
|
|
43
47
|
loading = _useContentEntry.loading,
|
|
@@ -59,47 +63,50 @@ var SaveAndPublishButton = function SaveAndPublishButton() {
|
|
|
59
63
|
canEdit = _usePermission.canEdit,
|
|
60
64
|
canPublish = _usePermission.canPublish;
|
|
61
65
|
|
|
66
|
+
var onPublishClick = (0, _react.useCallback)(function (ev) {
|
|
67
|
+
showConfirmation( /*#__PURE__*/(0, _asyncToGenerator2.default)( /*#__PURE__*/(0, _regeneratorRuntime2.default)().mark(function _callee() {
|
|
68
|
+
var entry;
|
|
69
|
+
return (0, _regeneratorRuntime2.default)().wrap(function _callee$(_context) {
|
|
70
|
+
while (1) {
|
|
71
|
+
switch (_context.prev = _context.next) {
|
|
72
|
+
case 0:
|
|
73
|
+
_context.next = 2;
|
|
74
|
+
return form.current.submit(ev);
|
|
75
|
+
|
|
76
|
+
case 2:
|
|
77
|
+
entry = _context.sent;
|
|
78
|
+
|
|
79
|
+
if (!(!entry || !entry.id)) {
|
|
80
|
+
_context.next = 5;
|
|
81
|
+
break;
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
return _context.abrupt("return");
|
|
85
|
+
|
|
86
|
+
case 5:
|
|
87
|
+
_context.next = 7;
|
|
88
|
+
return publishRevision(entry.id);
|
|
89
|
+
|
|
90
|
+
case 7:
|
|
91
|
+
case "end":
|
|
92
|
+
return _context.stop();
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
}, _callee);
|
|
96
|
+
})));
|
|
97
|
+
}, [showConfirmation]);
|
|
98
|
+
|
|
62
99
|
if (!canEdit(entry, "cms.contentEntry") || !canPublish("cms.contentEntry")) {
|
|
63
100
|
return null;
|
|
64
101
|
}
|
|
65
102
|
|
|
66
103
|
return /*#__PURE__*/_react.default.createElement(_Button.ButtonPrimary, {
|
|
67
104
|
className: buttonStyles,
|
|
68
|
-
onClick:
|
|
69
|
-
|
|
70
|
-
|
|
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 form.current.submit(ev);
|
|
77
|
-
|
|
78
|
-
case 2:
|
|
79
|
-
entry = _context.sent;
|
|
80
|
-
|
|
81
|
-
if (entry) {
|
|
82
|
-
_context.next = 5;
|
|
83
|
-
break;
|
|
84
|
-
}
|
|
85
|
-
|
|
86
|
-
return _context.abrupt("return");
|
|
87
|
-
|
|
88
|
-
case 5:
|
|
89
|
-
_context.next = 7;
|
|
90
|
-
return publishRevision(entry.id);
|
|
91
|
-
|
|
92
|
-
case 7:
|
|
93
|
-
case "end":
|
|
94
|
-
return _context.stop();
|
|
95
|
-
}
|
|
96
|
-
}
|
|
97
|
-
}, _callee);
|
|
98
|
-
})));
|
|
99
|
-
},
|
|
100
|
-
disabled: loading
|
|
105
|
+
onClick: onPublishClick,
|
|
106
|
+
disabled: loading,
|
|
107
|
+
"data-testid": "cms-content-save-publish-content-button"
|
|
101
108
|
}, t(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2.default)(["Save & Publish"]))));
|
|
102
109
|
};
|
|
103
110
|
|
|
104
|
-
var
|
|
105
|
-
exports.
|
|
111
|
+
var SaveAndPublishButton = (0, _reactComposition.makeComposable)("SaveAndPublishButton", SaveAndPublishButtonComponent);
|
|
112
|
+
exports.SaveAndPublishButton = SaveAndPublishButton;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["t","i18n","ns","buttonStyles","css","marginLeft","
|
|
1
|
+
{"version":3,"names":["t","i18n","ns","buttonStyles","css","marginLeft","SaveAndPublishButtonComponent","useContentEntry","form","loading","entry","useRevision","revision","publishRevision","useConfirmationDialog","title","message","dataTestId","showConfirmation","usePermission","canEdit","canPublish","onPublishClick","useCallback","ev","current","submit","id","SaveAndPublishButton","makeComposable"],"sources":["SaveAndPublishContent.tsx"],"sourcesContent":["import React, { useCallback } from \"react\";\nimport { css } from \"emotion\";\nimport { i18n } from \"@webiny/app/i18n\";\nimport { ButtonPrimary } from \"@webiny/ui/Button\";\nimport { useConfirmationDialog } from \"@webiny/app-admin/hooks/useConfirmationDialog\";\nimport { useRevision } from \"~/admin/views/contentEntries/ContentEntry/useRevision\";\nimport { useContentEntry } from \"~/admin/views/contentEntries/hooks/useContentEntry\";\nimport usePermission from \"~/admin/hooks/usePermission\";\nimport { makeComposable } from \"@webiny/react-composition\";\n\nconst t = i18n.ns(\"app-headless-cms/admin/plugins/content-details/header/publish-revision\");\n\nconst buttonStyles = css({\n marginLeft: 16\n});\n\nconst SaveAndPublishButtonComponent: React.FC = () => {\n const { form, loading, entry } = useContentEntry();\n const { publishRevision } = useRevision({ revision: entry });\n\n const { showConfirmation } = useConfirmationDialog({\n title: t`Publish content`,\n message: (\n <p>{t`You are about to publish a new revision. Are you sure you want to continue?`}</p>\n ),\n dataTestId: \"cms-confirm-save-and-publish\"\n });\n\n const { canEdit, canPublish } = usePermission();\n\n const onPublishClick = useCallback(\n (ev: React.MouseEvent) => {\n showConfirmation(async () => {\n const entry = await form.current.submit(ev);\n if (!entry || !entry.id) {\n return;\n }\n await publishRevision(entry.id);\n });\n },\n [showConfirmation]\n );\n\n if (!canEdit(entry, \"cms.contentEntry\") || !canPublish(\"cms.contentEntry\")) {\n return null;\n }\n\n return (\n <ButtonPrimary\n className={buttonStyles}\n onClick={onPublishClick}\n disabled={loading}\n data-testid=\"cms-content-save-publish-content-button\"\n >\n {t`Save & Publish`}\n </ButtonPrimary>\n );\n};\n\nexport const SaveAndPublishButton = makeComposable(\n \"SaveAndPublishButton\",\n SaveAndPublishButtonComponent\n);\n"],"mappings":";;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;;;AAEA,IAAMA,CAAC,GAAGC,UAAA,CAAKC,EAAL,CAAQ,wEAAR,CAAV;;AAEA,IAAMC,YAAY,gBAAG,IAAAC,YAAA,EAAI;EACrBC,UAAU,EAAE;AADS,CAAJ,wBAArB;;AAIA,IAAMC,6BAAuC,GAAG,SAA1CA,6BAA0C,GAAM;EAClD,uBAAiC,IAAAC,iCAAA,GAAjC;EAAA,IAAQC,IAAR,oBAAQA,IAAR;EAAA,IAAcC,OAAd,oBAAcA,OAAd;EAAA,IAAuBC,KAAvB,oBAAuBA,KAAvB;;EACA,mBAA4B,IAAAC,yBAAA,EAAY;IAAEC,QAAQ,EAAEF;EAAZ,CAAZ,CAA5B;EAAA,IAAQG,eAAR,gBAAQA,eAAR;;EAEA,4BAA6B,IAAAC,4CAAA,EAAsB;IAC/CC,KAAK,EAAEf,CAAF,kGAD0C;IAE/CgB,OAAO,eACH,wCAAIhB,CAAJ,iKAH2C;IAK/CiB,UAAU,EAAE;EALmC,CAAtB,CAA7B;EAAA,IAAQC,gBAAR,yBAAQA,gBAAR;;EAQA,qBAAgC,IAAAC,uBAAA,GAAhC;EAAA,IAAQC,OAAR,kBAAQA,OAAR;EAAA,IAAiBC,UAAjB,kBAAiBA,UAAjB;;EAEA,IAAMC,cAAc,GAAG,IAAAC,kBAAA,EACnB,UAACC,EAAD,EAA0B;IACtBN,gBAAgB,sGAAC;MAAA;MAAA;QAAA;UAAA;YAAA;cAAA;cAAA,OACOV,IAAI,CAACiB,OAAL,CAAaC,MAAb,CAAoBF,EAApB,CADP;;YAAA;cACPd,KADO;;cAAA,MAET,CAACA,KAAD,IAAU,CAACA,KAAK,CAACiB,EAFR;gBAAA;gBAAA;cAAA;;cAAA;;YAAA;cAAA;cAAA,OAKPd,eAAe,CAACH,KAAK,CAACiB,EAAP,CALR;;YAAA;YAAA;cAAA;UAAA;QAAA;MAAA;IAAA,CAAD,GAAhB;EAOH,CATkB,EAUnB,CAACT,gBAAD,CAVmB,CAAvB;;EAaA,IAAI,CAACE,OAAO,CAACV,KAAD,EAAQ,kBAAR,CAAR,IAAuC,CAACW,UAAU,CAAC,kBAAD,CAAtD,EAA4E;IACxE,OAAO,IAAP;EACH;;EAED,oBACI,6BAAC,qBAAD;IACI,SAAS,EAAElB,YADf;IAEI,OAAO,EAAEmB,cAFb;IAGI,QAAQ,EAAEb,OAHd;IAII,eAAY;EAJhB,GAMKT,CANL,oGADJ;AAUH,CAzCD;;AA2CO,IAAM4B,oBAAoB,GAAG,IAAAC,gCAAA,EAChC,sBADgC,EAEhCvB,6BAFgC,CAA7B"}
|
|
@@ -32,6 +32,10 @@ var _useContentEntry2 = require("../hooks/useContentEntry");
|
|
|
32
32
|
var useRevision = function useRevision(_ref) {
|
|
33
33
|
var revision = _ref.revision;
|
|
34
34
|
|
|
35
|
+
var _useCms = (0, _hooks.useCms)(),
|
|
36
|
+
publishEntryRevision = _useCms.publishEntryRevision,
|
|
37
|
+
deleteEntry = _useCms.deleteEntry;
|
|
38
|
+
|
|
35
39
|
var _useContentEntry = (0, _useContentEntry2.useContentEntry)(),
|
|
36
40
|
contentModel = _useContentEntry.contentModel,
|
|
37
41
|
entry = _useContentEntry.entry,
|
|
@@ -50,16 +54,12 @@ var useRevision = function useRevision(_ref) {
|
|
|
50
54
|
var _useMemo = (0, _react.useMemo)(function () {
|
|
51
55
|
return {
|
|
52
56
|
CREATE_REVISION: GQL.createCreateFromMutation(contentModel),
|
|
53
|
-
DELETE_REVISION: GQL.createDeleteMutation(contentModel),
|
|
54
|
-
PUBLISH_REVISION: GQL.createPublishMutation(contentModel),
|
|
55
57
|
UNPUBLISH_REVISION: GQL.createUnpublishMutation(contentModel),
|
|
56
58
|
REQUEST_REVIEW: GQL.createRequestReviewMutation(contentModel),
|
|
57
59
|
REQUEST_CHANGES: GQL.createRequestChangesMutation(contentModel)
|
|
58
60
|
};
|
|
59
61
|
}, [modelId]),
|
|
60
62
|
CREATE_REVISION = _useMemo.CREATE_REVISION,
|
|
61
|
-
DELETE_REVISION = _useMemo.DELETE_REVISION,
|
|
62
|
-
PUBLISH_REVISION = _useMemo.PUBLISH_REVISION,
|
|
63
63
|
UNPUBLISH_REVISION = _useMemo.UNPUBLISH_REVISION,
|
|
64
64
|
REQUEST_REVIEW = _useMemo.REQUEST_REVIEW,
|
|
65
65
|
REQUEST_CHANGES = _useMemo.REQUEST_CHANGES;
|
|
@@ -158,47 +158,40 @@ var useRevision = function useRevision(_ref) {
|
|
|
158
158
|
var entry = _ref3.entry;
|
|
159
159
|
return /*#__PURE__*/function () {
|
|
160
160
|
var _ref4 = (0, _asyncToGenerator2.default)( /*#__PURE__*/(0, _regeneratorRuntime2.default)().mark(function _callee2(id) {
|
|
161
|
+
var _yield$deleteEntry, error, targetRevision;
|
|
162
|
+
|
|
161
163
|
return (0, _regeneratorRuntime2.default)().wrap(function _callee2$(_context2) {
|
|
162
164
|
while (1) {
|
|
163
165
|
switch (_context2.prev = _context2.next) {
|
|
164
166
|
case 0:
|
|
165
167
|
setLoading(true);
|
|
166
168
|
_context2.next = 3;
|
|
167
|
-
return
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
update: function update(cache, result) {
|
|
173
|
-
if (!result || !result.data) {
|
|
174
|
-
showSnackbar("Missing result in update callback on Delete Mutation.");
|
|
175
|
-
return;
|
|
176
|
-
}
|
|
177
|
-
|
|
178
|
-
var error = result.data.content.error;
|
|
179
|
-
|
|
180
|
-
if (error) {
|
|
181
|
-
showSnackbar(error.message);
|
|
182
|
-
return;
|
|
183
|
-
} // We have other revisions, update entry's cache
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
var revisions = GQLCache.removeRevisionFromEntryCache(contentModel, cache, revision);
|
|
187
|
-
|
|
188
|
-
if (revision.id !== entry.id) {
|
|
189
|
-
return;
|
|
190
|
-
}
|
|
191
|
-
|
|
192
|
-
GQLCache.updateLatestRevisionInListCache(contentModel, cache, revisions[0], listQueryVariables); // Redirect to the first revision in the list of all entry revisions.
|
|
193
|
-
|
|
194
|
-
history.push("/cms/content-entries/".concat(modelId, "?id=") + encodeURIComponent(revisions[0].id));
|
|
195
|
-
}
|
|
169
|
+
return deleteEntry({
|
|
170
|
+
model: contentModel,
|
|
171
|
+
entry: entry,
|
|
172
|
+
id: id || entry.id,
|
|
173
|
+
listQueryVariables: listQueryVariables
|
|
196
174
|
});
|
|
197
175
|
|
|
198
176
|
case 3:
|
|
177
|
+
_yield$deleteEntry = _context2.sent;
|
|
178
|
+
error = _yield$deleteEntry.error;
|
|
179
|
+
targetRevision = _yield$deleteEntry.entry;
|
|
199
180
|
setLoading(false);
|
|
200
181
|
|
|
201
|
-
|
|
182
|
+
if (!error) {
|
|
183
|
+
_context2.next = 10;
|
|
184
|
+
break;
|
|
185
|
+
}
|
|
186
|
+
|
|
187
|
+
showSnackbar(error.message);
|
|
188
|
+
return _context2.abrupt("return");
|
|
189
|
+
|
|
190
|
+
case 10:
|
|
191
|
+
// Redirect to the first revision in the list of all entry revisions.
|
|
192
|
+
history.push("/cms/content-entries/".concat(modelId, "?id=") + encodeURIComponent(targetRevision.id));
|
|
193
|
+
|
|
194
|
+
case 11:
|
|
202
195
|
case "end":
|
|
203
196
|
return _context2.stop();
|
|
204
197
|
}
|
|
@@ -211,47 +204,41 @@ var useRevision = function useRevision(_ref) {
|
|
|
211
204
|
};
|
|
212
205
|
}();
|
|
213
206
|
},
|
|
214
|
-
publishRevision: function publishRevision() {
|
|
207
|
+
publishRevision: function publishRevision(_ref5) {
|
|
208
|
+
var entry = _ref5.entry;
|
|
215
209
|
return /*#__PURE__*/function () {
|
|
216
|
-
var
|
|
210
|
+
var _ref6 = (0, _asyncToGenerator2.default)( /*#__PURE__*/(0, _regeneratorRuntime2.default)().mark(function _callee3(id) {
|
|
211
|
+
var response, error;
|
|
217
212
|
return (0, _regeneratorRuntime2.default)().wrap(function _callee3$(_context3) {
|
|
218
213
|
while (1) {
|
|
219
214
|
switch (_context3.prev = _context3.next) {
|
|
220
215
|
case 0:
|
|
221
216
|
setLoading(true);
|
|
222
217
|
_context3.next = 3;
|
|
223
|
-
return
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
update: function update(cache, result) {
|
|
229
|
-
if (!result || !result.data) {
|
|
230
|
-
showSnackbar("Missing result in update callback on Publish Mutation.");
|
|
231
|
-
return;
|
|
232
|
-
}
|
|
233
|
-
|
|
234
|
-
var _result$data$content = result.data.content,
|
|
235
|
-
published = _result$data$content.data,
|
|
236
|
-
error = _result$data$content.error;
|
|
237
|
-
|
|
238
|
-
if (error) {
|
|
239
|
-
showSnackbar(error.message);
|
|
240
|
-
return;
|
|
241
|
-
} else if (!published) {
|
|
242
|
-
showSnackbar("Missing published data on Publish Mutation Response.");
|
|
243
|
-
return;
|
|
244
|
-
}
|
|
245
|
-
|
|
246
|
-
GQLCache.unpublishPreviouslyPublishedRevision(contentModel, cache, published.id);
|
|
247
|
-
showSnackbar( /*#__PURE__*/_react.default.createElement("span", null, "Successfully published revision", " ", /*#__PURE__*/_react.default.createElement("strong", null, "#", published.meta.version), "!"));
|
|
248
|
-
}
|
|
218
|
+
return publishEntryRevision({
|
|
219
|
+
model: contentModel,
|
|
220
|
+
entry: entry,
|
|
221
|
+
id: id || entry.id,
|
|
222
|
+
listQueryVariables: listQueryVariables
|
|
249
223
|
});
|
|
250
224
|
|
|
251
225
|
case 3:
|
|
226
|
+
response = _context3.sent;
|
|
252
227
|
setLoading(false);
|
|
228
|
+
error = response.error;
|
|
253
229
|
|
|
254
|
-
|
|
230
|
+
if (!error) {
|
|
231
|
+
_context3.next = 9;
|
|
232
|
+
break;
|
|
233
|
+
}
|
|
234
|
+
|
|
235
|
+
showSnackbar(error.message);
|
|
236
|
+
return _context3.abrupt("return");
|
|
237
|
+
|
|
238
|
+
case 9:
|
|
239
|
+
showSnackbar( /*#__PURE__*/_react.default.createElement("span", null, "Successfully published revision", " ", /*#__PURE__*/_react.default.createElement("strong", null, "#", response.entry.meta.version), "!"));
|
|
240
|
+
|
|
241
|
+
case 10:
|
|
255
242
|
case "end":
|
|
256
243
|
return _context3.stop();
|
|
257
244
|
}
|
|
@@ -260,13 +247,13 @@ var useRevision = function useRevision(_ref) {
|
|
|
260
247
|
}));
|
|
261
248
|
|
|
262
249
|
return function (_x3) {
|
|
263
|
-
return
|
|
250
|
+
return _ref6.apply(this, arguments);
|
|
264
251
|
};
|
|
265
252
|
}();
|
|
266
253
|
},
|
|
267
254
|
unpublishRevision: function unpublishRevision() {
|
|
268
255
|
return /*#__PURE__*/function () {
|
|
269
|
-
var
|
|
256
|
+
var _ref7 = (0, _asyncToGenerator2.default)( /*#__PURE__*/(0, _regeneratorRuntime2.default)().mark(function _callee4(id) {
|
|
270
257
|
var result, error;
|
|
271
258
|
return (0, _regeneratorRuntime2.default)().wrap(function _callee4$(_context4) {
|
|
272
259
|
while (1) {
|
|
@@ -316,13 +303,13 @@ var useRevision = function useRevision(_ref) {
|
|
|
316
303
|
}));
|
|
317
304
|
|
|
318
305
|
return function (_x4) {
|
|
319
|
-
return
|
|
306
|
+
return _ref7.apply(this, arguments);
|
|
320
307
|
};
|
|
321
308
|
}();
|
|
322
309
|
},
|
|
323
310
|
requestReview: function requestReview() {
|
|
324
311
|
return /*#__PURE__*/function () {
|
|
325
|
-
var
|
|
312
|
+
var _ref8 = (0, _asyncToGenerator2.default)( /*#__PURE__*/(0, _regeneratorRuntime2.default)().mark(function _callee5(id) {
|
|
326
313
|
return (0, _regeneratorRuntime2.default)().wrap(function _callee5$(_context5) {
|
|
327
314
|
while (1) {
|
|
328
315
|
switch (_context5.prev = _context5.next) {
|
|
@@ -362,13 +349,13 @@ var useRevision = function useRevision(_ref) {
|
|
|
362
349
|
}));
|
|
363
350
|
|
|
364
351
|
return function (_x5) {
|
|
365
|
-
return
|
|
352
|
+
return _ref8.apply(this, arguments);
|
|
366
353
|
};
|
|
367
354
|
}();
|
|
368
355
|
},
|
|
369
356
|
requestChanges: function requestChanges() {
|
|
370
357
|
return /*#__PURE__*/function () {
|
|
371
|
-
var
|
|
358
|
+
var _ref9 = (0, _asyncToGenerator2.default)( /*#__PURE__*/(0, _regeneratorRuntime2.default)().mark(function _callee6(id) {
|
|
372
359
|
return (0, _regeneratorRuntime2.default)().wrap(function _callee6$(_context6) {
|
|
373
360
|
while (1) {
|
|
374
361
|
switch (_context6.prev = _context6.next) {
|
|
@@ -409,7 +396,7 @@ var useRevision = function useRevision(_ref) {
|
|
|
409
396
|
}));
|
|
410
397
|
|
|
411
398
|
return function (_x6) {
|
|
412
|
-
return
|
|
399
|
+
return _ref9.apply(this, arguments);
|
|
413
400
|
};
|
|
414
401
|
}();
|
|
415
402
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["useRevision","revision","useContentEntry","contentModel","entry","setLoading","listQueryVariables","useRouter","history","useSnackbar","showSnackbar","client","useApolloClient","modelId","useMemo","CREATE_REVISION","GQL","createCreateFromMutation","DELETE_REVISION","createDeleteMutation","PUBLISH_REVISION","createPublishMutation","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","revisions","removeRevisionFromEntryCache","publishRevision","published","unpublishPreviouslyPublishedRevision","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 } from \"~/admin/hooks\";\nimport { useContentEntry } from \"~/admin/views/contentEntries/hooks/useContentEntry\";\nimport {\n CmsEntryCreateFromMutationResponse,\n CmsEntryCreateFromMutationVariables,\n CmsEntryDeleteMutationResponse,\n CmsEntryDeleteMutationVariables,\n CmsEntryPublishMutationResponse,\n CmsEntryPublishMutationVariables,\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 { 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 {\n CREATE_REVISION,\n DELETE_REVISION,\n PUBLISH_REVISION,\n UNPUBLISH_REVISION,\n REQUEST_REVIEW,\n REQUEST_CHANGES\n } = useMemo(() => {\n return {\n CREATE_REVISION: GQL.createCreateFromMutation(contentModel),\n DELETE_REVISION: GQL.createDeleteMutation(contentModel),\n PUBLISH_REVISION: GQL.createPublishMutation(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 await client.mutate<\n CmsEntryDeleteMutationResponse,\n CmsEntryDeleteMutationVariables\n >({\n mutation: DELETE_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 Delete Mutation.`\n );\n return;\n }\n const { error } = result.data.content;\n if (error) {\n showSnackbar(error.message);\n return;\n }\n\n // We have other revisions, update entry's cache\n const revisions = GQLCache.removeRevisionFromEntryCache(\n contentModel,\n cache,\n revision\n );\n\n if (revision.id !== entry.id) {\n return;\n }\n GQLCache.updateLatestRevisionInListCache(\n contentModel,\n cache,\n revisions[0],\n listQueryVariables\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(revisions[0].id)\n );\n }\n });\n\n setLoading(false);\n },\n publishRevision: (): PublishRevisionHandler => async id => {\n setLoading(true);\n await client.mutate<\n CmsEntryPublishMutationResponse,\n CmsEntryPublishMutationVariables\n >({\n mutation: PUBLISH_REVISION,\n variables: {\n revision: id || revision.id\n },\n update(cache, result) {\n if (!result || !result.data) {\n showSnackbar(`Missing result in update callback on Publish Mutation.`);\n return;\n }\n const { data: published, error } = result.data.content;\n if (error) {\n showSnackbar(error.message);\n return;\n } else if (!published) {\n showSnackbar(\"Missing published data on Publish Mutation Response.\");\n return;\n }\n\n GQLCache.unpublishPreviouslyPublishedRevision(\n contentModel,\n cache,\n published.id\n );\n\n showSnackbar(\n <span>\n Successfully published revision{\" \"}\n <strong>#{published.meta.version}</strong>!\n </span>\n );\n }\n });\n\n setLoading(false);\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","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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"}
|
|
@@ -76,7 +76,7 @@ var ContentEntry = function ContentEntry() {
|
|
|
76
76
|
showEmptyView = _useContentEntry.showEmptyView,
|
|
77
77
|
canCreate = _useContentEntry.canCreate,
|
|
78
78
|
createEntry = _useContentEntry.createEntry,
|
|
79
|
-
|
|
79
|
+
tabsRef = _useContentEntry.tabsRef,
|
|
80
80
|
setFormRef = _useContentEntry.setFormRef; // Render "No content selected" view.
|
|
81
81
|
|
|
82
82
|
|
|
@@ -97,9 +97,7 @@ var ContentEntry = function ContentEntry() {
|
|
|
97
97
|
return /*#__PURE__*/_react.default.createElement(DetailsContainer, null, /*#__PURE__*/_react.default.createElement("test-id", {
|
|
98
98
|
"data-testid": "cms-content-details"
|
|
99
99
|
}, /*#__PURE__*/_react.default.createElement(_Tabs.Tabs, {
|
|
100
|
-
ref:
|
|
101
|
-
return setTabsRef(tabs);
|
|
102
|
-
}
|
|
100
|
+
ref: tabsRef
|
|
103
101
|
}, /*#__PURE__*/_react.default.createElement(_Tabs.Tab, {
|
|
104
102
|
label: "Content",
|
|
105
103
|
disabled: loading,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["t","i18n","namespace","DetailsContainer","styled","height","overflow","position","nav","backgroundColor","RenderBlock","zIndex","padding","elevationStyles","css","ContentEntry","useContentEntry","contentModel","loading","entry","showEmptyView","canCreate","createEntry","
|
|
1
|
+
{"version":3,"names":["t","i18n","namespace","DetailsContainer","styled","height","overflow","position","nav","backgroundColor","RenderBlock","zIndex","padding","elevationStyles","css","ContentEntry","useContentEntry","contentModel","loading","entry","showEmptyView","canCreate","createEntry","tabsRef","setFormRef","message","form"],"sources":["ContentEntry.tsx"],"sourcesContent":["import React from \"react\";\nimport { css } from \"emotion\";\nimport styled from \"@emotion/styled\";\nimport EmptyView from \"@webiny/app-admin/components/EmptyView\";\nimport { ButtonDefault, ButtonIcon } from \"@webiny/ui/Button\";\nimport { ReactComponent as AddIcon } from \"@webiny/app-admin/assets/icons/add-18px.svg\";\nimport { i18n } from \"@webiny/app/i18n\";\nimport { Tab, Tabs } from \"@webiny/ui/Tabs\";\nimport { Elevation } from \"@webiny/ui/Elevation\";\nimport { CircularProgress } from \"@webiny/ui/Progress\";\nimport RevisionsList from \"./ContentEntry/RevisionsList\";\nimport Header from \"./ContentEntry/header/Header\";\nimport { useContentEntry } from \"./hooks/useContentEntry\";\nimport { ContentEntryForm } from \"~/admin/components/ContentEntryForm/ContentEntryForm\";\n\nconst t = i18n.namespace(\"app-headless-cms/admin/content-model-entries/details\");\n\nconst DetailsContainer = styled(\"div\")({\n height: \"calc(100% - 10px)\",\n overflow: \"hidden\",\n position: \"relative\",\n nav: {\n backgroundColor: \"var(--mdc-theme-surface)\"\n }\n});\n\nconst RenderBlock = styled(\"div\")({\n position: \"relative\",\n zIndex: 0,\n backgroundColor: \"var(--mdc-theme-background)\",\n height: \"100%\",\n /*overflow: \"scroll\",*/\n padding: 25\n});\n\nconst elevationStyles = css({\n position: \"relative\"\n});\n\ndeclare global {\n // eslint-disable-next-line\n namespace JSX {\n interface IntrinsicElements {\n \"test-id\": {\n children?: React.ReactNode;\n };\n }\n }\n}\n\nexport const ContentEntry: React.FC = () => {\n const {\n contentModel,\n loading,\n entry,\n showEmptyView,\n canCreate,\n createEntry,\n tabsRef,\n setFormRef\n } = useContentEntry();\n\n // Render \"No content selected\" view.\n if (showEmptyView) {\n return (\n <EmptyView\n title={t`Click on the left side list to display entry details {message}`({\n message: canCreate ? \"or create a...\" : \"\"\n })}\n action={\n canCreate ? (\n <ButtonDefault data-testid=\"new-record-button\" onClick={createEntry}>\n <ButtonIcon icon={<AddIcon />} /> {t`New Entry`}\n </ButtonDefault>\n ) : null\n }\n />\n );\n }\n\n return (\n <DetailsContainer>\n <test-id data-testid=\"cms-content-details\">\n <Tabs ref={tabsRef}>\n <Tab\n label={\"Content\"}\n disabled={loading}\n data-testid={\"cms.content-form.tabs.content\"}\n >\n <RenderBlock>\n <Elevation z={2} className={elevationStyles}>\n {loading && <CircularProgress />}\n <Header />\n <ContentEntryForm\n contentModel={contentModel}\n entry={entry}\n onForm={form => setFormRef(form)}\n addEntryToListCache={true}\n />\n </Elevation>\n </RenderBlock>\n </Tab>\n <Tab\n label={\"Revisions\"}\n disabled={loading}\n data-testid={\"cms.content-form.tabs.revisions\"}\n >\n <RevisionsList />\n </Tab>\n </Tabs>\n </test-id>\n </DetailsContainer>\n );\n};\n"],"mappings":";;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;;;AAEA,IAAMA,CAAC,GAAGC,UAAA,CAAKC,SAAL,CAAe,sDAAf,CAAV;;AAEA,IAAMC,gBAAgB,oBAAGC,eAAH,EAAU,KAAV;EAAA;EAAA;AAAA,GAAiB;EACnCC,MAAM,EAAE,mBAD2B;EAEnCC,QAAQ,EAAE,QAFyB;EAGnCC,QAAQ,EAAE,UAHyB;EAInCC,GAAG,EAAE;IACDC,eAAe,EAAE;EADhB;AAJ8B,CAAjB,CAAtB;AASA,IAAMC,WAAW,oBAAGN,eAAH,EAAU,KAAV;EAAA;EAAA;AAAA,GAAiB;EAC9BG,QAAQ,EAAE,UADoB;EAE9BI,MAAM,EAAE,CAFsB;EAG9BF,eAAe,EAAE,6BAHa;EAI9BJ,MAAM,EAAE,MAJsB;;EAK9B;EACAO,OAAO,EAAE;AANqB,CAAjB,CAAjB;AASA,IAAMC,eAAe,gBAAG,IAAAC,YAAA,EAAI;EACxBP,QAAQ,EAAE;AADc,CAAJ,2BAAxB;;AAeO,IAAMQ,YAAsB,GAAG,SAAzBA,YAAyB,GAAM;EACxC,uBASI,IAAAC,iCAAA,GATJ;EAAA,IACIC,YADJ,oBACIA,YADJ;EAAA,IAEIC,OAFJ,oBAEIA,OAFJ;EAAA,IAGIC,KAHJ,oBAGIA,KAHJ;EAAA,IAIIC,aAJJ,oBAIIA,aAJJ;EAAA,IAKIC,SALJ,oBAKIA,SALJ;EAAA,IAMIC,WANJ,oBAMIA,WANJ;EAAA,IAOIC,OAPJ,oBAOIA,OAPJ;EAAA,IAQIC,UARJ,oBAQIA,UARJ,CADwC,CAYxC;;;EACA,IAAIJ,aAAJ,EAAmB;IACf,oBACI,6BAAC,kBAAD;MACI,KAAK,EAAEpB,CAAC,iJAAD,CAAkE;QACrEyB,OAAO,EAAEJ,SAAS,GAAG,gBAAH,GAAsB;MAD6B,CAAlE,CADX;MAII,MAAM,EACFA,SAAS,gBACL,6BAAC,qBAAD;QAAe,eAAY,mBAA3B;QAA+C,OAAO,EAAEC;MAAxD,gBACI,6BAAC,kBAAD;QAAY,IAAI,eAAE,6BAAC,uBAAD;MAAlB,EADJ,OACuCtB,CADvC,+FADK,GAIL;IATZ,EADJ;EAcH;;EAED,oBACI,6BAAC,gBAAD,qBACI;IAAS,eAAY;EAArB,gBACI,6BAAC,UAAD;IAAM,GAAG,EAAEuB;EAAX,gBACI,6BAAC,SAAD;IACI,KAAK,EAAE,SADX;IAEI,QAAQ,EAAEL,OAFd;IAGI,eAAa;EAHjB,gBAKI,6BAAC,WAAD,qBACI,6BAAC,oBAAD;IAAW,CAAC,EAAE,CAAd;IAAiB,SAAS,EAAEL;EAA5B,GACKK,OAAO,iBAAI,6BAAC,0BAAD,OADhB,eAEI,6BAAC,eAAD,OAFJ,eAGI,6BAAC,kCAAD;IACI,YAAY,EAAED,YADlB;IAEI,KAAK,EAAEE,KAFX;IAGI,MAAM,EAAE,gBAAAO,IAAI;MAAA,OAAIF,UAAU,CAACE,IAAD,CAAd;IAAA,CAHhB;IAII,mBAAmB,EAAE;EAJzB,EAHJ,CADJ,CALJ,CADJ,eAmBI,6BAAC,SAAD;IACI,KAAK,EAAE,WADX;IAEI,QAAQ,EAAER,OAFd;IAGI,eAAa;EAHjB,gBAKI,6BAAC,sBAAD,OALJ,CAnBJ,CADJ,CADJ,CADJ;AAiCH,CA/DM"}
|
|
@@ -10,5 +10,11 @@ var _react = require("react");
|
|
|
10
10
|
var _ContentEntryContext = require("../ContentEntry/ContentEntryContext");
|
|
11
11
|
|
|
12
12
|
function useContentEntry() {
|
|
13
|
-
|
|
13
|
+
var context = (0, _react.useContext)(_ContentEntryContext.Context);
|
|
14
|
+
|
|
15
|
+
if (!context) {
|
|
16
|
+
throw Error("useContentEntry() hook can only be used within the ContentEntryContext provider.");
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
return context;
|
|
14
20
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["useContentEntry","useContext","Context"],"sources":["useContentEntry.ts"],"sourcesContent":["import { useContext } from \"react\";\nimport { Context } from \"../ContentEntry/ContentEntryContext\";\n\nexport function useContentEntry() {\n
|
|
1
|
+
{"version":3,"names":["useContentEntry","context","useContext","Context","Error"],"sources":["useContentEntry.ts"],"sourcesContent":["import { useContext } from \"react\";\nimport { Context } from \"../ContentEntry/ContentEntryContext\";\n\nexport function useContentEntry() {\n const context = useContext(Context);\n if (!context) {\n throw Error(\n `useContentEntry() hook can only be used within the ContentEntryContext provider.`\n );\n }\n return context;\n}\n"],"mappings":";;;;;;;AAAA;;AACA;;AAEO,SAASA,eAAT,GAA2B;EAC9B,IAAMC,OAAO,GAAG,IAAAC,iBAAA,EAAWC,4BAAX,CAAhB;;EACA,IAAI,CAACF,OAAL,EAAc;IACV,MAAMG,KAAK,oFAAX;EAGH;;EACD,OAAOH,OAAP;AACH"}
|
|
@@ -293,7 +293,8 @@ var NewContentModelDialog = function NewContentModelDialog(_ref) {
|
|
|
293
293
|
validators: [_validation.validation.create("required,maxLength:100"), nameValidator]
|
|
294
294
|
}, /*#__PURE__*/_react.default.createElement(_Input.Input, {
|
|
295
295
|
label: t(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2.default)(["Name"]))),
|
|
296
|
-
description: t(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2.default)(["The name of the content model. Use the singular form, e.g. Person, not Persons."])))
|
|
296
|
+
description: t(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2.default)(["The name of the content model. Use the singular form, e.g. Person, not Persons."]))),
|
|
297
|
+
"data-testid": "cms.newcontentmodeldialog.name"
|
|
297
298
|
}))), /*#__PURE__*/_react.default.createElement(_Grid.Cell, {
|
|
298
299
|
span: 12
|
|
299
300
|
}, /*#__PURE__*/_react.default.createElement(Bind, {
|
|
@@ -302,7 +303,8 @@ var NewContentModelDialog = function NewContentModelDialog(_ref) {
|
|
|
302
303
|
}, /*#__PURE__*/_react.default.createElement(_Select.Select, {
|
|
303
304
|
description: t(_templateObject5 || (_templateObject5 = (0, _taggedTemplateLiteral2.default)(["Choose a content model group"]))),
|
|
304
305
|
label: t(_templateObject6 || (_templateObject6 = (0, _taggedTemplateLiteral2.default)(["Content model group"]))),
|
|
305
|
-
options: contentModelGroups
|
|
306
|
+
options: contentModelGroups,
|
|
307
|
+
"data-testid": "cms.newcontentmodeldialog.selectgroup"
|
|
306
308
|
}))), /*#__PURE__*/_react.default.createElement(_Grid.Cell, {
|
|
307
309
|
span: 12
|
|
308
310
|
}, /*#__PURE__*/_react.default.createElement(Bind, {
|
|
@@ -312,7 +314,8 @@ var NewContentModelDialog = function NewContentModelDialog(_ref) {
|
|
|
312
314
|
rows: 4,
|
|
313
315
|
maxLength: 200,
|
|
314
316
|
characterCount: true,
|
|
315
|
-
label: t(_templateObject7 || (_templateObject7 = (0, _taggedTemplateLiteral2.default)(["Description"])))
|
|
317
|
+
label: t(_templateObject7 || (_templateObject7 = (0, _taggedTemplateLiteral2.default)(["Description"]))),
|
|
318
|
+
"data-testid": "cms.newcontentmodeldialog.description"
|
|
316
319
|
}));
|
|
317
320
|
})))), /*#__PURE__*/_react.default.createElement(UID.DialogActions, null, /*#__PURE__*/_react.default.createElement(_Button.ButtonPrimary, {
|
|
318
321
|
onClick: function onClick(ev) {
|