@webiny/app-headless-cms 0.0.0-unstable.5e7233243f → 0.0.0-unstable.fcdad0bc61
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/admin/components/ContentEntryForm/Label.js +1 -1
- package/admin/components/ContentEntryForm/Label.js.map +1 -1
- package/admin/constants/statusLabels.js +2 -4
- package/admin/constants/statusLabels.js.map +1 -1
- package/admin/graphql/contentEntries.d.ts +0 -28
- package/admin/graphql/contentEntries.js +5 -29
- package/admin/graphql/contentEntries.js.map +1 -1
- package/admin/hooks/usePermission.d.ts +0 -2
- package/admin/hooks/usePermission.js +0 -36
- package/admin/hooks/usePermission.js.map +1 -1
- package/admin/menus/NothingToShowElement.js +4 -1
- package/admin/menus/NothingToShowElement.js.map +1 -1
- package/admin/plugins/editor/defaultBar/FormSettings/FormSettings.js +1 -1
- package/admin/plugins/editor/defaultBar/FormSettings/FormSettings.js.map +1 -1
- package/admin/plugins/permissionRenderer/components/ContentEntryPermission.js +11 -17
- package/admin/plugins/permissionRenderer/components/ContentEntryPermission.js.map +1 -1
- package/admin/views/contentEntries/ContentEntriesList.js +1 -1
- package/admin/views/contentEntries/ContentEntriesList.js.map +1 -1
- package/admin/views/contentEntries/ContentEntry/header/requestChanges/RequestChanges.d.ts +1 -1
- package/admin/views/contentEntries/ContentEntry/header/requestChanges/RequestChanges.js +3 -80
- package/admin/views/contentEntries/ContentEntry/header/requestChanges/RequestChanges.js.map +1 -1
- package/admin/views/contentEntries/ContentEntry/header/requestReview/RequestReview.d.ts +1 -1
- package/admin/views/contentEntries/ContentEntry/header/requestReview/RequestReview.js +3 -84
- package/admin/views/contentEntries/ContentEntry/header/requestReview/RequestReview.js.map +1 -1
- package/admin/views/contentEntries/ContentEntry/useRevision.d.ts +0 -8
- package/admin/views/contentEntries/ContentEntry/useRevision.js +4 -105
- package/admin/views/contentEntries/ContentEntry/useRevision.js.map +1 -1
- package/admin/views/contentEntries/experiment/ContentEntriesModule.d.ts +2 -2
- package/admin/views/contentEntries/experiment/ContentEntriesModule.js +13 -7
- package/admin/views/contentEntries/experiment/ContentEntriesModule.js.map +1 -1
- package/package.json +28 -28
- package/types.d.ts +9 -1
- package/types.js.map +1 -1
|
@@ -26,7 +26,7 @@ var Label = function Label(_ref) {
|
|
|
26
26
|
return /*#__PURE__*/_react.default.createElement("div", {
|
|
27
27
|
className: (0, _classnames.default)("mdc-text-field-helper-text mdc-text-field-helper-text--persistent", style.label)
|
|
28
28
|
}, /*#__PURE__*/_react.default.createElement(_Typography.Typography, {
|
|
29
|
-
use: "
|
|
29
|
+
use: "body2"
|
|
30
30
|
}, children));
|
|
31
31
|
};
|
|
32
32
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["style","label","css","marginBottom","Label","children","classNames"],"sources":["Label.tsx"],"sourcesContent":["import React from \"react\";\nimport { css } from \"emotion\";\nimport classNames from \"classnames\";\nimport { Typography } from \"@webiny/ui/Typography\";\n\nconst style = {\n label: css({\n marginBottom: \"5px !important\"\n })\n};\n\nconst Label: React.FC = ({ children }) => (\n <div\n className={classNames(\n \"mdc-text-field-helper-text mdc-text-field-helper-text--persistent\",\n style.label\n )}\n >\n <Typography use={\"
|
|
1
|
+
{"version":3,"names":["style","label","css","marginBottom","Label","children","classNames"],"sources":["Label.tsx"],"sourcesContent":["import React from \"react\";\nimport { css } from \"emotion\";\nimport classNames from \"classnames\";\nimport { Typography } from \"@webiny/ui/Typography\";\n\nconst style = {\n label: css({\n marginBottom: \"5px !important\"\n })\n};\n\nconst Label: React.FC = ({ children }) => (\n <div\n className={classNames(\n \"mdc-text-field-helper-text mdc-text-field-helper-text--persistent\",\n style.label\n )}\n >\n <Typography use={\"body2\"}>{children}</Typography>\n </div>\n);\n\nexport default Label;\n"],"mappings":";;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AAEA,IAAMA,KAAK,GAAG;EACVC,KAAK,eAAE,IAAAC,YAAA,EAAI;IACPC,YAAY,EAAE;EADP,CAAJ;AADG,CAAd;;AAMA,IAAMC,KAAe,GAAG,SAAlBA,KAAkB;EAAA,IAAGC,QAAH,QAAGA,QAAH;EAAA,oBACpB;IACI,SAAS,EAAE,IAAAC,mBAAA,EACP,mEADO,EAEPN,KAAK,CAACC,KAFC;EADf,gBAMI,6BAAC,sBAAD;IAAY,GAAG,EAAE;EAAjB,GAA2BI,QAA3B,CANJ,CADoB;AAAA,CAAxB;;eAWeD,K"}
|
|
@@ -11,16 +11,14 @@ var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/hel
|
|
|
11
11
|
|
|
12
12
|
var _i18n = require("@webiny/app/i18n");
|
|
13
13
|
|
|
14
|
-
var _templateObject, _templateObject2, _templateObject3
|
|
14
|
+
var _templateObject, _templateObject2, _templateObject3;
|
|
15
15
|
|
|
16
16
|
var t = _i18n.i18n.ns("app-headless-cms/admin/content-entries/status");
|
|
17
17
|
|
|
18
18
|
var statuses = {
|
|
19
19
|
draft: t(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2.default)(["Draft"]))),
|
|
20
20
|
published: t(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2.default)(["Published"]))),
|
|
21
|
-
unpublished: t(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2.default)(["Unpublished"])))
|
|
22
|
-
changesRequested: t(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2.default)(["Changes Requested"]))),
|
|
23
|
-
reviewRequested: t(_templateObject5 || (_templateObject5 = (0, _taggedTemplateLiteral2.default)(["Review Requested"])))
|
|
21
|
+
unpublished: t(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2.default)(["Unpublished"])))
|
|
24
22
|
};
|
|
25
23
|
var _default = statuses;
|
|
26
24
|
exports.default = _default;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["t","i18n","ns","statuses","draft","published","unpublished"
|
|
1
|
+
{"version":3,"names":["t","i18n","ns","statuses","draft","published","unpublished"],"sources":["statusLabels.ts"],"sourcesContent":["import { i18n } from \"@webiny/app/i18n\";\nconst t = i18n.ns(\"app-headless-cms/admin/content-entries/status\");\n\nconst statuses: Record<string, string> = {\n draft: t`Draft`,\n published: t`Published`,\n unpublished: t`Unpublished`\n};\nexport default statuses;\n"],"mappings":";;;;;;;;;;;AAAA;;;;AACA,IAAMA,CAAC,GAAGC,UAAA,CAAKC,EAAL,CAAQ,+CAAR,CAAV;;AAEA,IAAMC,QAAgC,GAAG;EACrCC,KAAK,EAAEJ,CAAF,wFADgC;EAErCK,SAAS,EAAEL,CAAF,8FAF4B;EAGrCM,WAAW,EAAEN,CAAF;AAH0B,CAAzC;eAKeG,Q"}
|
|
@@ -143,31 +143,3 @@ export interface CmsEntryUnpublishMutationVariables {
|
|
|
143
143
|
revision: string;
|
|
144
144
|
}
|
|
145
145
|
export declare const createUnpublishMutation: (model: CmsEditorContentModel) => import("graphql").DocumentNode;
|
|
146
|
-
/**
|
|
147
|
-
* ############################################
|
|
148
|
-
* Request Review Mutation
|
|
149
|
-
*/
|
|
150
|
-
export interface CmsEntryRequestReviewMutationResponse {
|
|
151
|
-
content: {
|
|
152
|
-
data?: CmsEditorContentEntry;
|
|
153
|
-
error?: CmsErrorResponse;
|
|
154
|
-
};
|
|
155
|
-
}
|
|
156
|
-
export interface CmsEntryRequestReviewMutationVariables {
|
|
157
|
-
revision: string;
|
|
158
|
-
}
|
|
159
|
-
export declare const createRequestReviewMutation: (model: CmsEditorContentModel) => import("graphql").DocumentNode;
|
|
160
|
-
/**
|
|
161
|
-
* ############################################
|
|
162
|
-
* Request Changes Mutation
|
|
163
|
-
*/
|
|
164
|
-
export interface CmsEntryRequestChangesMutationResponse {
|
|
165
|
-
content: {
|
|
166
|
-
data?: CmsEditorContentEntry;
|
|
167
|
-
error?: CmsErrorResponse;
|
|
168
|
-
};
|
|
169
|
-
}
|
|
170
|
-
export interface CmsEntryRequestChangesMutationVariables {
|
|
171
|
-
revision: string;
|
|
172
|
-
}
|
|
173
|
-
export declare const createRequestChangesMutation: (model: CmsEditorContentModel) => import("graphql").DocumentNode;
|
|
@@ -5,7 +5,7 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
|
|
|
5
5
|
Object.defineProperty(exports, "__esModule", {
|
|
6
6
|
value: true
|
|
7
7
|
});
|
|
8
|
-
exports.createUpdateMutation = exports.createUnpublishMutation = exports.createRevisionsQuery = exports.
|
|
8
|
+
exports.createUpdateMutation = exports.createUnpublishMutation = exports.createRevisionsQuery = exports.createReadQuery = exports.createPublishMutation = exports.createListQuery = exports.createDeleteMutation = exports.createCreateMutation = exports.createCreateFromMutation = void 0;
|
|
9
9
|
|
|
10
10
|
var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
|
|
11
11
|
|
|
@@ -17,7 +17,7 @@ var _pluralize = _interopRequireDefault(require("pluralize"));
|
|
|
17
17
|
|
|
18
18
|
var _createFieldsList = require("./createFieldsList");
|
|
19
19
|
|
|
20
|
-
var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8, _templateObject9
|
|
20
|
+
var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8, _templateObject9;
|
|
21
21
|
|
|
22
22
|
var ERROR_FIELD =
|
|
23
23
|
/* GraphQL */
|
|
@@ -65,7 +65,7 @@ var getModelTitleFieldId = function getModelTitleFieldId(model) {
|
|
|
65
65
|
var createListQuery = function createListQuery(model) {
|
|
66
66
|
var ucFirstPluralizedModelId = (0, _upperFirst.default)((0, _pluralize.default)(model.modelId));
|
|
67
67
|
var ucFirstModelId = (0, _upperFirst.default)(model.modelId);
|
|
68
|
-
return (0, _graphqlTag.default)(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2.default)(["\n query CmsEntriesList", "($where: ", "ListWhereInput, $sort: [", "ListSorter], $limit: Int, $after: String) {\n content: list", "(\n where: $where\n sort: $sort\n limit: $limit\n after: $after\n ) {\n data {\n id\n savedOn\n meta {\n ", "\n }\n ", "\n }\n meta {\n cursor\n hasMoreItems\n totalCount\n }
|
|
68
|
+
return (0, _graphqlTag.default)(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2.default)(["\n query CmsEntriesList", "($where: ", "ListWhereInput, $sort: [", "ListSorter], $limit: Int, $after: String) {\n content: list", "(\n where: $where\n sort: $sort\n limit: $limit\n after: $after\n ) {\n data {\n id\n savedOn\n meta {\n ", "\n }\n ", "\n }\n meta {\n cursor\n hasMoreItems\n totalCount\n }\n error ", "\n }\n }\n "])), ucFirstPluralizedModelId, ucFirstModelId, ucFirstModelId, ucFirstPluralizedModelId, CONTENT_META_FIELDS, getModelTitleFieldId(model), ERROR_FIELD);
|
|
69
69
|
};
|
|
70
70
|
/**
|
|
71
71
|
* ############################################
|
|
@@ -113,7 +113,7 @@ exports.createCreateFromMutation = createCreateFromMutation;
|
|
|
113
113
|
|
|
114
114
|
var createUpdateMutation = function createUpdateMutation(model) {
|
|
115
115
|
var ucFirstModelId = (0, _upperFirst.default)(model.modelId);
|
|
116
|
-
return (0, _graphqlTag.default)(_templateObject7 || (_templateObject7 = (0, _taggedTemplateLiteral2.default)(["\n mutation CmsUpdate", "($revision: ID!, $data: ", "Input!) {\n content: update", "(revision: $revision, data: $data) {\n data {\n id\n ", "\n savedOn\n meta {
|
|
116
|
+
return (0, _graphqlTag.default)(_templateObject7 || (_templateObject7 = (0, _taggedTemplateLiteral2.default)(["\n mutation CmsUpdate", "($revision: ID!, $data: ", "Input!) {\n content: update", "(revision: $revision, data: $data) {\n data {\n id\n ", "\n savedOn\n meta {\n ", "\n }\n }\n error ", "\n }\n }\n "])), ucFirstModelId, ucFirstModelId, ucFirstModelId, (0, _createFieldsList.createFieldsList)(model.fields), CONTENT_META_FIELDS, ERROR_FIELD);
|
|
117
117
|
};
|
|
118
118
|
/**
|
|
119
119
|
* ############################################
|
|
@@ -139,29 +139,5 @@ var createUnpublishMutation = function createUnpublishMutation(model) {
|
|
|
139
139
|
var ucFirstModelId = (0, _upperFirst.default)(model.modelId);
|
|
140
140
|
return (0, _graphqlTag.default)(_templateObject9 || (_templateObject9 = (0, _taggedTemplateLiteral2.default)(["\n mutation CmsUnpublish", "($revision: ID!) {\n content: unpublish", "(revision: $revision) {\n data {\n id\n meta {\n ", "\n }\n }\n error ", "\n }\n }"])), ucFirstModelId, ucFirstModelId, CONTENT_META_FIELDS, ERROR_FIELD);
|
|
141
141
|
};
|
|
142
|
-
/**
|
|
143
|
-
* ############################################
|
|
144
|
-
* Request Review Mutation
|
|
145
|
-
*/
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
exports.createUnpublishMutation = createUnpublishMutation;
|
|
149
|
-
|
|
150
|
-
var createRequestReviewMutation = function createRequestReviewMutation(model) {
|
|
151
|
-
var ucFirstModelId = (0, _upperFirst.default)(model.modelId);
|
|
152
|
-
return (0, _graphqlTag.default)(_templateObject10 || (_templateObject10 = (0, _taggedTemplateLiteral2.default)(["\n mutation CmsRequest", "Review($revision: ID!) {\n content: request", "Review(revision: $revision) {\n data {\n id\n meta {\n ", "\n }\n }\n error ", "\n }\n }"])), ucFirstModelId, ucFirstModelId, CONTENT_META_FIELDS, ERROR_FIELD);
|
|
153
|
-
};
|
|
154
|
-
/**
|
|
155
|
-
* ############################################
|
|
156
|
-
* Request Changes Mutation
|
|
157
|
-
*/
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
exports.createRequestReviewMutation = createRequestReviewMutation;
|
|
161
|
-
|
|
162
|
-
var createRequestChangesMutation = function createRequestChangesMutation(model) {
|
|
163
|
-
var ucFirstModelId = (0, _upperFirst.default)(model.modelId);
|
|
164
|
-
return (0, _graphqlTag.default)(_templateObject11 || (_templateObject11 = (0, _taggedTemplateLiteral2.default)(["\n mutation CmsRequest", "Changes($revision: ID!) {\n content: request", "Changes(revision: $revision) {\n data {\n id\n meta {\n ", "\n }\n }\n error ", "\n }\n }"])), ucFirstModelId, ucFirstModelId, CONTENT_META_FIELDS, ERROR_FIELD);
|
|
165
|
-
};
|
|
166
142
|
|
|
167
|
-
exports.
|
|
143
|
+
exports.createUnpublishMutation = createUnpublishMutation;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["ERROR_FIELD","CONTENT_META_FIELDS","createReadQuery","model","ucFirstModelId","upperFirst","modelId","gql","createFieldsList","fields","createRevisionsQuery","getModelTitleFieldId","titleFieldId","createListQuery","ucFirstPluralizedModelId","pluralize","createDeleteMutation","createCreateMutation","createCreateFromMutation","createUpdateMutation","createPublishMutation","createUnpublishMutation","createRequestReviewMutation","createRequestChangesMutation"],"sources":["contentEntries.ts"],"sourcesContent":["import upperFirst from \"lodash/upperFirst\";\nimport gql from \"graphql-tag\";\nimport pluralize from \"pluralize\";\nimport {\n CmsContentEntryRevision,\n CmsEditorContentEntry,\n CmsEditorContentModel,\n CmsErrorResponse,\n CmsMetaResponse\n} from \"~/types\";\nimport { createFieldsList } from \"./createFieldsList\";\n\nconst ERROR_FIELD = /* GraphQL */ `\n {\n message\n code\n data\n }\n`;\n\nconst CONTENT_META_FIELDS = /* GraphQL */ `\n title\n publishedOn\n version\n locked\n status\n`;\n/**\n * ############################################\n * Get CMS Entry Query\n */\nexport interface CmsEntryGetQueryResponse {\n content: {\n data: CmsEditorContentEntry;\n error: CmsErrorResponse | null;\n };\n}\n\nexport interface CmsEntryGetQueryVariables {\n revision: string;\n}\n\nexport const createReadQuery = (model: CmsEditorContentModel) => {\n const ucFirstModelId = upperFirst(model.modelId);\n\n return gql`\n query CmsEntriesGet${ucFirstModelId}($revision: ID!) {\n content: get${ucFirstModelId}(revision: $revision) {\n data {\n id\n createdBy {\n id\n }\n ${createFieldsList(model.fields)}\n savedOn\n meta {\n ${CONTENT_META_FIELDS}\n }\n }\n error ${ERROR_FIELD}\n }\n }\n `;\n};\n/**\n * ############################################\n * List CMS Entry Revisions Query\n */\nexport interface CmsEntriesListRevisionsQueryResponse {\n revisions: {\n data: CmsContentEntryRevision[];\n error: CmsErrorResponse | null;\n meta: CmsMetaResponse;\n };\n}\nexport interface CmsEntriesListRevisionsQueryVariables {\n id: string;\n}\nexport const createRevisionsQuery = (model: CmsEditorContentModel) => {\n const ucFirstModelId = upperFirst(model.modelId);\n\n return gql`\n query CmsEntriesGet${ucFirstModelId}Revisions($id: ID!) {\n revisions: get${ucFirstModelId}Revisions(id: $id) {\n data {\n id\n savedOn\n meta {\n ${CONTENT_META_FIELDS}\n }\n }\n error ${ERROR_FIELD}\n }\n }\n `;\n};\n\nconst getModelTitleFieldId = (model: CmsEditorContentModel): string => {\n if (!model.titleFieldId || model.titleFieldId === \"id\") {\n return \"\";\n }\n return model.titleFieldId;\n};\n\n/**\n * ############################################\n * List CMS Entries Query\n */\nexport interface CmsEntriesListQueryResponse {\n content: {\n data: CmsEditorContentEntry[];\n error: CmsErrorResponse | null;\n meta: CmsMetaResponse;\n };\n}\nexport interface CmsEntriesListQueryVariables {\n // TODO @ts-refactor better list types\n where?: {\n [key: string]: any;\n };\n sort?: string[];\n limit?: number;\n after?: string;\n}\nexport const createListQuery = (model: CmsEditorContentModel) => {\n const ucFirstPluralizedModelId = upperFirst(pluralize(model.modelId));\n const ucFirstModelId = upperFirst(model.modelId);\n\n return gql`\n query CmsEntriesList${ucFirstPluralizedModelId}($where: ${ucFirstModelId}ListWhereInput, $sort: [${ucFirstModelId}ListSorter], $limit: Int, $after: String) {\n content: list${ucFirstPluralizedModelId}(\n where: $where\n sort: $sort\n limit: $limit\n after: $after\n ) {\n data {\n id\n savedOn\n meta {\n ${CONTENT_META_FIELDS}\n }\n ${getModelTitleFieldId(model)}\n }\n meta {\n cursor\n hasMoreItems\n totalCount\n } \n error ${ERROR_FIELD}\n }\n }\n `;\n};\n/**\n * ############################################\n * Delete Mutation\n */\nexport interface CmsEntryDeleteMutationResponse {\n content: {\n data: CmsEditorContentEntry | null;\n error: CmsErrorResponse | null;\n };\n}\nexport interface CmsEntryDeleteMutationVariables {\n revision: string;\n}\nexport const createDeleteMutation = (model: CmsEditorContentModel) => {\n const ucFirstModelId = upperFirst(model.modelId);\n\n return gql`\n mutation CmsEntriesDelete${ucFirstModelId}($revision: ID!) {\n content: delete${ucFirstModelId}(revision: $revision) {\n data\n error ${ERROR_FIELD}\n }\n }\n `;\n};\n/**\n * ############################################\n * Create Mutation\n */\nexport interface CmsEntryCreateMutationResponse {\n content: {\n data: CmsEditorContentEntry | null;\n error: CmsErrorResponse | null;\n };\n}\nexport interface CmsEntryCreateMutationVariables {\n /**\n * We have any here because we do not know which fields does entry have\n */\n data: Record<string, any>;\n}\nexport const createCreateMutation = (model: CmsEditorContentModel) => {\n const ucFirstModelId = upperFirst(model.modelId);\n\n return gql`\n mutation CmsEntriesCreate${ucFirstModelId}($data: ${ucFirstModelId}Input!) {\n content: create${ucFirstModelId}(data: $data) {\n data {\n id\n savedOn\n ${createFieldsList(model.fields)}\n meta {\n ${CONTENT_META_FIELDS}\n }\n }\n error ${ERROR_FIELD}\n }\n }\n `;\n};\n/**\n * ############################################\n * Create From Mutation\n */\nexport interface CmsEntryCreateFromMutationResponse {\n content: {\n data?: CmsEditorContentEntry;\n error?: CmsErrorResponse;\n };\n}\nexport interface CmsEntryCreateFromMutationVariables {\n revision: string;\n /**\n * We have any here because we do not know which fields does entry have\n */\n data?: Record<string, any>;\n}\nexport const createCreateFromMutation = (model: CmsEditorContentModel) => {\n const ucFirstModelId = upperFirst(model.modelId);\n\n return gql`\n mutation CmsCreate${ucFirstModelId}From($revision: ID!, $data: ${ucFirstModelId}Input) {\n content: create${ucFirstModelId}From(revision: $revision, data: $data) {\n data {\n id\n savedOn\n ${createFieldsList(model.fields)}\n meta {\n ${CONTENT_META_FIELDS}\n }\n }\n error ${ERROR_FIELD}\n }\n }`;\n};\n/**\n * ############################################\n * Update Mutation\n */\nexport interface CmsEntryUpdateMutationResponse {\n content: {\n data?: CmsEditorContentEntry;\n error?: CmsErrorResponse;\n };\n}\nexport interface CmsEntryUpdateMutationVariables {\n revision: string;\n /**\n * We have any here because we do not know which fields does entry have\n */\n data: Record<string, any>;\n}\nexport const createUpdateMutation = (model: CmsEditorContentModel) => {\n const ucFirstModelId = upperFirst(model.modelId);\n\n return gql`\n mutation CmsUpdate${ucFirstModelId}($revision: ID!, $data: ${ucFirstModelId}Input!) {\n content: update${ucFirstModelId}(revision: $revision, data: $data) {\n data {\n id\n ${createFieldsList(model.fields)}\n savedOn\n meta { \n ${CONTENT_META_FIELDS} \n }\n }\n error ${ERROR_FIELD}\n }\n }\n `;\n};\n/**\n * ############################################\n * Publish Mutation\n */\nexport interface CmsEntryPublishMutationResponse {\n content: {\n data?: CmsEditorContentEntry;\n error?: CmsErrorResponse;\n };\n}\nexport interface CmsEntryPublishMutationVariables {\n revision: string;\n}\nexport const createPublishMutation = (model: CmsEditorContentModel) => {\n const ucFirstModelId = upperFirst(model.modelId);\n\n return gql`\n mutation CmsPublish${ucFirstModelId}($revision: ID!) {\n content: publish${ucFirstModelId}(revision: $revision) {\n data {\n id\n meta {\n ${CONTENT_META_FIELDS}\n }\n }\n error ${ERROR_FIELD}\n }\n }`;\n};\n/**\n * ############################################\n * Unpublish Mutation\n */\nexport interface CmsEntryUnpublishMutationResponse {\n content: {\n data?: CmsEditorContentEntry;\n error?: CmsErrorResponse;\n };\n}\nexport interface CmsEntryUnpublishMutationVariables {\n revision: string;\n}\nexport const createUnpublishMutation = (model: CmsEditorContentModel) => {\n const ucFirstModelId = upperFirst(model.modelId);\n\n return gql`\n mutation CmsUnpublish${ucFirstModelId}($revision: ID!) {\n content: unpublish${ucFirstModelId}(revision: $revision) {\n data {\n id\n meta {\n ${CONTENT_META_FIELDS}\n }\n }\n error ${ERROR_FIELD}\n }\n }`;\n};\n/**\n * ############################################\n * Request Review Mutation\n */\nexport interface CmsEntryRequestReviewMutationResponse {\n content: {\n data?: CmsEditorContentEntry;\n error?: CmsErrorResponse;\n };\n}\nexport interface CmsEntryRequestReviewMutationVariables {\n revision: string;\n}\nexport const createRequestReviewMutation = (model: CmsEditorContentModel) => {\n const ucFirstModelId = upperFirst(model.modelId);\n\n return gql`\n mutation CmsRequest${ucFirstModelId}Review($revision: ID!) {\n content: request${ucFirstModelId}Review(revision: $revision) {\n data {\n id\n meta {\n ${CONTENT_META_FIELDS}\n }\n }\n error ${ERROR_FIELD}\n }\n }`;\n};\n\n/**\n * ############################################\n * Request Changes Mutation\n */\nexport interface CmsEntryRequestChangesMutationResponse {\n content: {\n data?: CmsEditorContentEntry;\n error?: CmsErrorResponse;\n };\n}\nexport interface CmsEntryRequestChangesMutationVariables {\n revision: string;\n}\nexport const createRequestChangesMutation = (model: CmsEditorContentModel) => {\n const ucFirstModelId = upperFirst(model.modelId);\n\n return gql`\n mutation CmsRequest${ucFirstModelId}Changes($revision: ID!) {\n content: request${ucFirstModelId}Changes(revision: $revision) {\n data {\n id\n meta {\n ${CONTENT_META_FIELDS}\n }\n }\n error ${ERROR_FIELD}\n }\n }`;\n};\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["ERROR_FIELD","CONTENT_META_FIELDS","createReadQuery","model","ucFirstModelId","upperFirst","modelId","gql","createFieldsList","fields","createRevisionsQuery","getModelTitleFieldId","titleFieldId","createListQuery","ucFirstPluralizedModelId","pluralize","createDeleteMutation","createCreateMutation","createCreateFromMutation","createUpdateMutation","createPublishMutation","createUnpublishMutation"],"sources":["contentEntries.ts"],"sourcesContent":["import upperFirst from \"lodash/upperFirst\";\nimport gql from \"graphql-tag\";\nimport pluralize from \"pluralize\";\nimport {\n CmsContentEntryRevision,\n CmsEditorContentEntry,\n CmsEditorContentModel,\n CmsErrorResponse,\n CmsMetaResponse\n} from \"~/types\";\nimport { createFieldsList } from \"./createFieldsList\";\n\nconst ERROR_FIELD = /* GraphQL */ `\n {\n message\n code\n data\n }\n`;\n\nconst CONTENT_META_FIELDS = /* GraphQL */ `\n title\n publishedOn\n version\n locked\n status\n`;\n/**\n * ############################################\n * Get CMS Entry Query\n */\nexport interface CmsEntryGetQueryResponse {\n content: {\n data: CmsEditorContentEntry;\n error: CmsErrorResponse | null;\n };\n}\n\nexport interface CmsEntryGetQueryVariables {\n revision: string;\n}\n\nexport const createReadQuery = (model: CmsEditorContentModel) => {\n const ucFirstModelId = upperFirst(model.modelId);\n\n return gql`\n query CmsEntriesGet${ucFirstModelId}($revision: ID!) {\n content: get${ucFirstModelId}(revision: $revision) {\n data {\n id\n createdBy {\n id\n }\n ${createFieldsList(model.fields)}\n savedOn\n meta {\n ${CONTENT_META_FIELDS}\n }\n }\n error ${ERROR_FIELD}\n }\n }\n `;\n};\n/**\n * ############################################\n * List CMS Entry Revisions Query\n */\nexport interface CmsEntriesListRevisionsQueryResponse {\n revisions: {\n data: CmsContentEntryRevision[];\n error: CmsErrorResponse | null;\n meta: CmsMetaResponse;\n };\n}\nexport interface CmsEntriesListRevisionsQueryVariables {\n id: string;\n}\nexport const createRevisionsQuery = (model: CmsEditorContentModel) => {\n const ucFirstModelId = upperFirst(model.modelId);\n\n return gql`\n query CmsEntriesGet${ucFirstModelId}Revisions($id: ID!) {\n revisions: get${ucFirstModelId}Revisions(id: $id) {\n data {\n id\n savedOn\n meta {\n ${CONTENT_META_FIELDS}\n }\n }\n error ${ERROR_FIELD}\n }\n }\n `;\n};\n\nconst getModelTitleFieldId = (model: CmsEditorContentModel): string => {\n if (!model.titleFieldId || model.titleFieldId === \"id\") {\n return \"\";\n }\n return model.titleFieldId;\n};\n\n/**\n * ############################################\n * List CMS Entries Query\n */\nexport interface CmsEntriesListQueryResponse {\n content: {\n data: CmsEditorContentEntry[];\n error: CmsErrorResponse | null;\n meta: CmsMetaResponse;\n };\n}\nexport interface CmsEntriesListQueryVariables {\n // TODO @ts-refactor better list types\n where?: {\n [key: string]: any;\n };\n sort?: string[];\n limit?: number;\n after?: string;\n}\nexport const createListQuery = (model: CmsEditorContentModel) => {\n const ucFirstPluralizedModelId = upperFirst(pluralize(model.modelId));\n const ucFirstModelId = upperFirst(model.modelId);\n\n return gql`\n query CmsEntriesList${ucFirstPluralizedModelId}($where: ${ucFirstModelId}ListWhereInput, $sort: [${ucFirstModelId}ListSorter], $limit: Int, $after: String) {\n content: list${ucFirstPluralizedModelId}(\n where: $where\n sort: $sort\n limit: $limit\n after: $after\n ) {\n data {\n id\n savedOn\n meta {\n ${CONTENT_META_FIELDS}\n }\n ${getModelTitleFieldId(model)}\n }\n meta {\n cursor\n hasMoreItems\n totalCount\n }\n error ${ERROR_FIELD}\n }\n }\n `;\n};\n/**\n * ############################################\n * Delete Mutation\n */\nexport interface CmsEntryDeleteMutationResponse {\n content: {\n data: CmsEditorContentEntry | null;\n error: CmsErrorResponse | null;\n };\n}\nexport interface CmsEntryDeleteMutationVariables {\n revision: string;\n}\nexport const createDeleteMutation = (model: CmsEditorContentModel) => {\n const ucFirstModelId = upperFirst(model.modelId);\n\n return gql`\n mutation CmsEntriesDelete${ucFirstModelId}($revision: ID!) {\n content: delete${ucFirstModelId}(revision: $revision) {\n data\n error ${ERROR_FIELD}\n }\n }\n `;\n};\n/**\n * ############################################\n * Create Mutation\n */\nexport interface CmsEntryCreateMutationResponse {\n content: {\n data: CmsEditorContentEntry | null;\n error: CmsErrorResponse | null;\n };\n}\nexport interface CmsEntryCreateMutationVariables {\n /**\n * We have any here because we do not know which fields does entry have\n */\n data: Record<string, any>;\n}\nexport const createCreateMutation = (model: CmsEditorContentModel) => {\n const ucFirstModelId = upperFirst(model.modelId);\n\n return gql`\n mutation CmsEntriesCreate${ucFirstModelId}($data: ${ucFirstModelId}Input!) {\n content: create${ucFirstModelId}(data: $data) {\n data {\n id\n savedOn\n ${createFieldsList(model.fields)}\n meta {\n ${CONTENT_META_FIELDS}\n }\n }\n error ${ERROR_FIELD}\n }\n }\n `;\n};\n/**\n * ############################################\n * Create From Mutation\n */\nexport interface CmsEntryCreateFromMutationResponse {\n content: {\n data?: CmsEditorContentEntry;\n error?: CmsErrorResponse;\n };\n}\nexport interface CmsEntryCreateFromMutationVariables {\n revision: string;\n /**\n * We have any here because we do not know which fields does entry have\n */\n data?: Record<string, any>;\n}\nexport const createCreateFromMutation = (model: CmsEditorContentModel) => {\n const ucFirstModelId = upperFirst(model.modelId);\n\n return gql`\n mutation CmsCreate${ucFirstModelId}From($revision: ID!, $data: ${ucFirstModelId}Input) {\n content: create${ucFirstModelId}From(revision: $revision, data: $data) {\n data {\n id\n savedOn\n ${createFieldsList(model.fields)}\n meta {\n ${CONTENT_META_FIELDS}\n }\n }\n error ${ERROR_FIELD}\n }\n }`;\n};\n/**\n * ############################################\n * Update Mutation\n */\nexport interface CmsEntryUpdateMutationResponse {\n content: {\n data?: CmsEditorContentEntry;\n error?: CmsErrorResponse;\n };\n}\nexport interface CmsEntryUpdateMutationVariables {\n revision: string;\n /**\n * We have any here because we do not know which fields does entry have\n */\n data: Record<string, any>;\n}\nexport const createUpdateMutation = (model: CmsEditorContentModel) => {\n const ucFirstModelId = upperFirst(model.modelId);\n\n return gql`\n mutation CmsUpdate${ucFirstModelId}($revision: ID!, $data: ${ucFirstModelId}Input!) {\n content: update${ucFirstModelId}(revision: $revision, data: $data) {\n data {\n id\n ${createFieldsList(model.fields)}\n savedOn\n meta {\n ${CONTENT_META_FIELDS}\n }\n }\n error ${ERROR_FIELD}\n }\n }\n `;\n};\n/**\n * ############################################\n * Publish Mutation\n */\nexport interface CmsEntryPublishMutationResponse {\n content: {\n data?: CmsEditorContentEntry;\n error?: CmsErrorResponse;\n };\n}\nexport interface CmsEntryPublishMutationVariables {\n revision: string;\n}\nexport const createPublishMutation = (model: CmsEditorContentModel) => {\n const ucFirstModelId = upperFirst(model.modelId);\n\n return gql`\n mutation CmsPublish${ucFirstModelId}($revision: ID!) {\n content: publish${ucFirstModelId}(revision: $revision) {\n data {\n id\n meta {\n ${CONTENT_META_FIELDS}\n }\n }\n error ${ERROR_FIELD}\n }\n }`;\n};\n/**\n * ############################################\n * Unpublish Mutation\n */\nexport interface CmsEntryUnpublishMutationResponse {\n content: {\n data?: CmsEditorContentEntry;\n error?: CmsErrorResponse;\n };\n}\nexport interface CmsEntryUnpublishMutationVariables {\n revision: string;\n}\nexport const createUnpublishMutation = (model: CmsEditorContentModel) => {\n const ucFirstModelId = upperFirst(model.modelId);\n\n return gql`\n mutation CmsUnpublish${ucFirstModelId}($revision: ID!) {\n content: unpublish${ucFirstModelId}(revision: $revision) {\n data {\n id\n meta {\n ${CONTENT_META_FIELDS}\n }\n }\n error ${ERROR_FIELD}\n }\n }`;\n};\n"],"mappings":"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"}
|
|
@@ -13,8 +13,6 @@ export declare const usePermission: () => {
|
|
|
13
13
|
canDelete: (item: CreatableItem, permissionName: string) => boolean;
|
|
14
14
|
canPublish: (permissionName: string) => boolean;
|
|
15
15
|
canUnpublish: (permissionName: string) => boolean;
|
|
16
|
-
canRequestReview: (permissionName: string) => boolean;
|
|
17
|
-
canRequestChange: (permissionName: string) => boolean;
|
|
18
16
|
canReadContentModels: boolean;
|
|
19
17
|
canReadContentModelGroups: boolean;
|
|
20
18
|
canCreateContentModels: boolean;
|
|
@@ -170,40 +170,6 @@ var usePermission = function usePermission() {
|
|
|
170
170
|
|
|
171
171
|
return false;
|
|
172
172
|
}, [identity, hasFullAccess]);
|
|
173
|
-
var canRequestReview = (0, _react.useCallback)(function (permissionName) {
|
|
174
|
-
if (hasFullAccess) {
|
|
175
|
-
return true;
|
|
176
|
-
}
|
|
177
|
-
|
|
178
|
-
var permission = getPermission(permissionName);
|
|
179
|
-
|
|
180
|
-
if (!permission) {
|
|
181
|
-
return false;
|
|
182
|
-
}
|
|
183
|
-
|
|
184
|
-
if (typeof permission.pw === "string") {
|
|
185
|
-
return permission.pw.includes("r");
|
|
186
|
-
}
|
|
187
|
-
|
|
188
|
-
return false;
|
|
189
|
-
}, [identity, hasFullAccess]);
|
|
190
|
-
var canRequestChange = (0, _react.useCallback)(function (permissionName) {
|
|
191
|
-
if (hasFullAccess) {
|
|
192
|
-
return true;
|
|
193
|
-
}
|
|
194
|
-
|
|
195
|
-
var permission = getPermission(permissionName);
|
|
196
|
-
|
|
197
|
-
if (!permission) {
|
|
198
|
-
return false;
|
|
199
|
-
}
|
|
200
|
-
|
|
201
|
-
if (typeof permission.pw === "string") {
|
|
202
|
-
return permission.pw.includes("c");
|
|
203
|
-
}
|
|
204
|
-
|
|
205
|
-
return false;
|
|
206
|
-
}, [identity, hasFullAccess]);
|
|
207
173
|
var canReadContentModels = canRead("cms.contentModel");
|
|
208
174
|
var canReadContentModelGroups = canRead("cms.contentModelGroup");
|
|
209
175
|
var canCreateContentModels = canCreate("cms.contentModel");
|
|
@@ -218,8 +184,6 @@ var usePermission = function usePermission() {
|
|
|
218
184
|
canDelete: canDelete,
|
|
219
185
|
canPublish: canPublish,
|
|
220
186
|
canUnpublish: canUnpublish,
|
|
221
|
-
canRequestReview: canRequestReview,
|
|
222
|
-
canRequestChange: canRequestChange,
|
|
223
187
|
canReadContentModels: canReadContentModels,
|
|
224
188
|
canReadContentModelGroups: canReadContentModelGroups,
|
|
225
189
|
canCreateContentModels: canCreateContentModels,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["usePermission","useSecurity","identity","getPermission","useI18N","getCurrentLocale","currentLocale","hasFullAccess","useMemo","canRead","useCallback","permissionName","permission","rwd","includes","canReadEntries","contentModelGroup","contentModel","contentModelPermission","contentModelGroupPermission","models","get","Array","isArray","modelId","groups","id","canEdit","item","own","createdBy","login","canCreate","canDelete","canPublish","pw","canUnpublish","canRequestReview","canRequestChange","canReadContentModels","canReadContentModelGroups","canCreateContentModels","canCreateContentModelGroups","canAccessManageEndpoint","undefined"],"sources":["usePermission.ts"],"sourcesContent":["import { useCallback, useMemo } from \"react\";\nimport { useSecurity } from \"@webiny/app-security\";\nimport get from \"lodash/get\";\nimport { useI18N } from \"@webiny/app-i18n/hooks/useI18N\";\nimport { CmsCreatedBy, CmsGroup, CmsModel, CmsSecurityPermission } from \"~/types\";\n\ninterface CreatableItem {\n createdBy: Pick<CmsCreatedBy, \"id\">;\n}\n\ninterface CanReadEntriesCallableParams {\n contentModelGroup: CmsGroup;\n contentModel: CmsModel;\n}\n\nexport const usePermission = () => {\n const { identity, getPermission } = useSecurity();\n const { getCurrentLocale } = useI18N();\n\n const currentLocale = getCurrentLocale(\"content\");\n\n const hasFullAccess = useMemo((): CmsSecurityPermission | null => {\n return getPermission(\"cms.*\");\n }, [identity]);\n\n const canRead = useCallback(\n (permissionName: string): boolean => {\n const permission = getPermission<CmsSecurityPermission>(permissionName);\n if (!permission) {\n return false;\n }\n\n if (typeof permission.rwd !== \"string\") {\n return true;\n }\n\n return permission.rwd.includes(\"r\");\n },\n [identity]\n );\n\n const canReadEntries = useCallback(\n ({ contentModelGroup, contentModel }: CanReadEntriesCallableParams): boolean => {\n if (hasFullAccess) {\n return true;\n }\n\n const permission = getPermission<CmsSecurityPermission>(\"cms.contentEntry\");\n const contentModelPermission = getPermission(\"cms.contentModel\");\n const contentModelGroupPermission = getPermission(\"cms.contentModelGroup\");\n\n if (!permission) {\n return false;\n }\n\n // Check \"contentModel\" list.\n const models = get(contentModelPermission, `models.${currentLocale}`);\n if (Array.isArray(models)) {\n return models.includes(contentModel.modelId);\n }\n // Check \"contentModelGroup\" list.\n const groups = get(contentModelGroupPermission, `groups.${currentLocale}`);\n if (Array.isArray(groups)) {\n return groups.includes(contentModelGroup.id);\n }\n\n if (typeof permission.rwd === \"string\") {\n return permission.rwd.includes(\"r\");\n }\n\n return true;\n },\n [identity, hasFullAccess, currentLocale]\n );\n\n const canEdit = useCallback(\n (item: CreatableItem, permissionName: string): boolean => {\n const permission = getPermission<CmsSecurityPermission>(permissionName);\n\n if (!permission || !identity) {\n return false;\n }\n if (permission.own) {\n /**\n * There will be no \"createdBy\" field for a new entry therefore we enable the access.\n */\n if (!item.createdBy) {\n return true;\n }\n return get(item, \"createdBy.id\") === identity.login;\n }\n if (typeof permission.rwd === \"string\") {\n return permission.rwd.includes(\"w\");\n }\n return true;\n },\n [identity]\n );\n\n /**\n * @description This checks whether the user has the \"write\" access for given permission;\n * without talking the \"own\" property in account.\n * @param {string} permissionName\n * */\n const canCreate = useCallback(\n (permissionName: string): boolean => {\n const permission = getPermission<CmsSecurityPermission>(permissionName);\n if (!permission) {\n return false;\n }\n\n if (typeof permission.rwd !== \"string\") {\n return true;\n }\n\n return permission.rwd.includes(\"w\");\n },\n [identity]\n );\n\n const canDelete = useCallback(\n (item: CreatableItem, permissionName: string): boolean => {\n const permission = getPermission<CmsSecurityPermission>(permissionName);\n\n if (!permission) {\n return false;\n }\n if (permission.own) {\n return get(item, \"createdBy.id\") === (identity ? identity.login : null);\n }\n if (typeof permission.rwd === \"string\") {\n return permission.rwd.includes(\"d\");\n }\n return true;\n },\n [identity]\n );\n\n const canPublish = useCallback(\n (permissionName: string): boolean => {\n if (hasFullAccess) {\n return true;\n }\n const permission = getPermission<CmsSecurityPermission>(permissionName);\n\n if (!permission) {\n return false;\n }\n if (typeof permission.pw === \"string\") {\n return permission.pw.includes(\"p\");\n }\n\n return false;\n },\n [identity, hasFullAccess]\n );\n\n const canUnpublish = useCallback(\n (permissionName: string): boolean => {\n if (hasFullAccess) {\n return true;\n }\n const permission = getPermission<CmsSecurityPermission>(permissionName);\n\n if (!permission) {\n return false;\n }\n if (typeof permission.pw === \"string\") {\n return permission.pw.includes(\"u\");\n }\n\n return false;\n },\n [identity, hasFullAccess]\n );\n\n const canRequestReview = useCallback(\n (permissionName: string): boolean => {\n if (hasFullAccess) {\n return true;\n }\n const permission = getPermission<CmsSecurityPermission>(permissionName);\n\n if (!permission) {\n return false;\n }\n if (typeof permission.pw === \"string\") {\n return permission.pw.includes(\"r\");\n }\n\n return false;\n },\n [identity, hasFullAccess]\n );\n\n const canRequestChange = useCallback(\n (permissionName: string): boolean => {\n if (hasFullAccess) {\n return true;\n }\n const permission = getPermission<CmsSecurityPermission>(permissionName);\n\n if (!permission) {\n return false;\n }\n if (typeof permission.pw === \"string\") {\n return permission.pw.includes(\"c\");\n }\n\n return false;\n },\n [identity, hasFullAccess]\n );\n\n const canReadContentModels = canRead(\"cms.contentModel\");\n const canReadContentModelGroups = canRead(\"cms.contentModelGroup\");\n const canCreateContentModels = canCreate(\"cms.contentModel\");\n const canCreateContentModelGroups = canCreate(\"cms.contentModelGroup\");\n const canAccessManageEndpoint = useMemo(() => {\n return getPermission(\"cms.endpoint.manage\") !== undefined;\n }, [identity]);\n\n return {\n canReadEntries,\n canEdit,\n canCreate,\n canDelete,\n canPublish,\n canUnpublish,\n canRequestReview,\n canRequestChange,\n canReadContentModels,\n canReadContentModelGroups,\n canCreateContentModels,\n canCreateContentModelGroups,\n canAccessManageEndpoint\n };\n};\n/**\n * Default export is deprecated, use the named one.\n * @deprecated\n */\nexport default usePermission;\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["usePermission","useSecurity","identity","getPermission","useI18N","getCurrentLocale","currentLocale","hasFullAccess","useMemo","canRead","useCallback","permissionName","permission","rwd","includes","canReadEntries","contentModelGroup","contentModel","contentModelPermission","contentModelGroupPermission","models","get","Array","isArray","modelId","groups","id","canEdit","item","own","createdBy","login","canCreate","canDelete","canPublish","pw","canUnpublish","canReadContentModels","canReadContentModelGroups","canCreateContentModels","canCreateContentModelGroups","canAccessManageEndpoint","undefined"],"sources":["usePermission.ts"],"sourcesContent":["import { useCallback, useMemo } from \"react\";\nimport { useSecurity } from \"@webiny/app-security\";\nimport get from \"lodash/get\";\nimport { useI18N } from \"@webiny/app-i18n/hooks/useI18N\";\nimport { CmsCreatedBy, CmsGroup, CmsModel, CmsSecurityPermission } from \"~/types\";\n\ninterface CreatableItem {\n createdBy: Pick<CmsCreatedBy, \"id\">;\n}\n\ninterface CanReadEntriesCallableParams {\n contentModelGroup: CmsGroup;\n contentModel: CmsModel;\n}\n\nexport const usePermission = () => {\n const { identity, getPermission } = useSecurity();\n const { getCurrentLocale } = useI18N();\n\n const currentLocale = getCurrentLocale(\"content\");\n\n const hasFullAccess = useMemo((): CmsSecurityPermission | null => {\n return getPermission(\"cms.*\");\n }, [identity]);\n\n const canRead = useCallback(\n (permissionName: string): boolean => {\n const permission = getPermission<CmsSecurityPermission>(permissionName);\n if (!permission) {\n return false;\n }\n\n if (typeof permission.rwd !== \"string\") {\n return true;\n }\n\n return permission.rwd.includes(\"r\");\n },\n [identity]\n );\n\n const canReadEntries = useCallback(\n ({ contentModelGroup, contentModel }: CanReadEntriesCallableParams): boolean => {\n if (hasFullAccess) {\n return true;\n }\n\n const permission = getPermission<CmsSecurityPermission>(\"cms.contentEntry\");\n const contentModelPermission = getPermission(\"cms.contentModel\");\n const contentModelGroupPermission = getPermission(\"cms.contentModelGroup\");\n\n if (!permission) {\n return false;\n }\n\n // Check \"contentModel\" list.\n const models = get(contentModelPermission, `models.${currentLocale}`);\n if (Array.isArray(models)) {\n return models.includes(contentModel.modelId);\n }\n // Check \"contentModelGroup\" list.\n const groups = get(contentModelGroupPermission, `groups.${currentLocale}`);\n if (Array.isArray(groups)) {\n return groups.includes(contentModelGroup.id);\n }\n\n if (typeof permission.rwd === \"string\") {\n return permission.rwd.includes(\"r\");\n }\n\n return true;\n },\n [identity, hasFullAccess, currentLocale]\n );\n\n const canEdit = useCallback(\n (item: CreatableItem, permissionName: string): boolean => {\n const permission = getPermission<CmsSecurityPermission>(permissionName);\n\n if (!permission || !identity) {\n return false;\n }\n if (permission.own) {\n /**\n * There will be no \"createdBy\" field for a new entry therefore we enable the access.\n */\n if (!item.createdBy) {\n return true;\n }\n return get(item, \"createdBy.id\") === identity.login;\n }\n if (typeof permission.rwd === \"string\") {\n return permission.rwd.includes(\"w\");\n }\n return true;\n },\n [identity]\n );\n\n /**\n * @description This checks whether the user has the \"write\" access for given permission;\n * without talking the \"own\" property in account.\n * @param {string} permissionName\n * */\n const canCreate = useCallback(\n (permissionName: string): boolean => {\n const permission = getPermission<CmsSecurityPermission>(permissionName);\n if (!permission) {\n return false;\n }\n\n if (typeof permission.rwd !== \"string\") {\n return true;\n }\n\n return permission.rwd.includes(\"w\");\n },\n [identity]\n );\n\n const canDelete = useCallback(\n (item: CreatableItem, permissionName: string): boolean => {\n const permission = getPermission<CmsSecurityPermission>(permissionName);\n\n if (!permission) {\n return false;\n }\n if (permission.own) {\n return get(item, \"createdBy.id\") === (identity ? identity.login : null);\n }\n if (typeof permission.rwd === \"string\") {\n return permission.rwd.includes(\"d\");\n }\n return true;\n },\n [identity]\n );\n\n const canPublish = useCallback(\n (permissionName: string): boolean => {\n if (hasFullAccess) {\n return true;\n }\n const permission = getPermission<CmsSecurityPermission>(permissionName);\n\n if (!permission) {\n return false;\n }\n if (typeof permission.pw === \"string\") {\n return permission.pw.includes(\"p\");\n }\n\n return false;\n },\n [identity, hasFullAccess]\n );\n\n const canUnpublish = useCallback(\n (permissionName: string): boolean => {\n if (hasFullAccess) {\n return true;\n }\n const permission = getPermission<CmsSecurityPermission>(permissionName);\n\n if (!permission) {\n return false;\n }\n if (typeof permission.pw === \"string\") {\n return permission.pw.includes(\"u\");\n }\n\n return false;\n },\n [identity, hasFullAccess]\n );\n\n const canReadContentModels = canRead(\"cms.contentModel\");\n const canReadContentModelGroups = canRead(\"cms.contentModelGroup\");\n const canCreateContentModels = canCreate(\"cms.contentModel\");\n const canCreateContentModelGroups = canCreate(\"cms.contentModelGroup\");\n const canAccessManageEndpoint = useMemo(() => {\n return getPermission(\"cms.endpoint.manage\") !== undefined;\n }, [identity]);\n\n return {\n canReadEntries,\n canEdit,\n canCreate,\n canDelete,\n canPublish,\n canUnpublish,\n canReadContentModels,\n canReadContentModelGroups,\n canCreateContentModels,\n canCreateContentModelGroups,\n canAccessManageEndpoint\n };\n};\n/**\n * Default export is deprecated, use the named one.\n * @deprecated\n */\nexport default usePermission;\n"],"mappings":"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"}
|
|
@@ -13,6 +13,8 @@ var _emotion = require("emotion");
|
|
|
13
13
|
|
|
14
14
|
var _List = require("@webiny/ui/List");
|
|
15
15
|
|
|
16
|
+
var _Typography = require("@webiny/ui/Typography");
|
|
17
|
+
|
|
16
18
|
// TODO: implement this without relying on the `ui` package
|
|
17
19
|
var linkStyle = /*#__PURE__*/(0, _emotion.css)({
|
|
18
20
|
color: "var(--mdc-theme-text-primary-on-background)",
|
|
@@ -49,7 +51,8 @@ var NothingToShow = function NothingToShow() {
|
|
|
49
51
|
className: submenuItems,
|
|
50
52
|
ripple: false,
|
|
51
53
|
disabled: true
|
|
52
|
-
}, /*#__PURE__*/_react.default.createElement(
|
|
54
|
+
}, /*#__PURE__*/_react.default.createElement(_Typography.Typography, {
|
|
55
|
+
use: "body2",
|
|
53
56
|
className: linkStyle
|
|
54
57
|
}, "Nothing to show.")));
|
|
55
58
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["linkStyle","css","color","textDecoration","display","alignItems","width","height","outline","paddingLeft","submenuItems","margin","submenuList","padding","NothingToShow","opacity"],"sources":["NothingToShowElement.tsx"],"sourcesContent":["// TODO: implement this without relying on the `ui` package\nimport React from \"react\";\nimport { css } from \"emotion\";\nimport { List, ListItem } from \"@webiny/ui/List\";\n\nconst linkStyle = css({\n color: \"var(--mdc-theme-text-primary-on-background)\",\n textDecoration: \"none\",\n display: \"flex\",\n alignItems: \"center\",\n width: \"100%\",\n height: \"100%\",\n outline: \"none\",\n paddingLeft: 72,\n \"&:hover\": {\n textDecoration: \"none\"\n }\n});\n\nconst submenuItems = css({\n \".mdc-drawer &.mdc-list-item\": {\n margin: 0,\n paddingLeft: 0\n }\n});\n\nconst submenuList = css({\n \"&.mdc-list\": {\n padding: 0\n }\n});\n\nexport const NothingToShow: React.FC = () => {\n return (\n <List className={submenuList} style={{ opacity: 0.4 }}>\n <ListItem className={submenuItems} ripple={false} disabled>\n <
|
|
1
|
+
{"version":3,"names":["linkStyle","css","color","textDecoration","display","alignItems","width","height","outline","paddingLeft","submenuItems","margin","submenuList","padding","NothingToShow","opacity"],"sources":["NothingToShowElement.tsx"],"sourcesContent":["// TODO: implement this without relying on the `ui` package\nimport React from \"react\";\nimport { css } from \"emotion\";\nimport { List, ListItem } from \"@webiny/ui/List\";\nimport { Typography } from \"@webiny/ui/Typography\";\n\nconst linkStyle = css({\n color: \"var(--mdc-theme-text-primary-on-background)\",\n textDecoration: \"none\",\n display: \"flex\",\n alignItems: \"center\",\n width: \"100%\",\n height: \"100%\",\n outline: \"none\",\n paddingLeft: 72,\n \"&:hover\": {\n textDecoration: \"none\"\n }\n});\n\nconst submenuItems = css({\n \".mdc-drawer &.mdc-list-item\": {\n margin: 0,\n paddingLeft: 0\n }\n});\n\nconst submenuList = css({\n \"&.mdc-list\": {\n padding: 0\n }\n});\n\nexport const NothingToShow: React.FC = () => {\n return (\n <List className={submenuList} style={{ opacity: 0.4 }}>\n <ListItem className={submenuItems} ripple={false} disabled>\n <Typography use={\"body2\"} className={linkStyle}>\n Nothing to show.\n </Typography>\n </ListItem>\n </List>\n );\n};\n"],"mappings":";;;;;;;;;AACA;;AACA;;AACA;;AACA;;AAJA;AAMA,IAAMA,SAAS,gBAAG,IAAAC,YAAA,EAAI;EAClBC,KAAK,EAAE,6CADW;EAElBC,cAAc,EAAE,MAFE;EAGlBC,OAAO,EAAE,MAHS;EAIlBC,UAAU,EAAE,QAJM;EAKlBC,KAAK,EAAE,MALW;EAMlBC,MAAM,EAAE,MANU;EAOlBC,OAAO,EAAE,MAPS;EAQlBC,WAAW,EAAE,EARK;EASlB,WAAW;IACPN,cAAc,EAAE;EADT;AATO,CAAJ,qBAAlB;AAcA,IAAMO,YAAY,gBAAG,IAAAT,YAAA,EAAI;EACrB,+BAA+B;IAC3BU,MAAM,EAAE,CADmB;IAE3BF,WAAW,EAAE;EAFc;AADV,CAAJ,wBAArB;AAOA,IAAMG,WAAW,gBAAG,IAAAX,YAAA,EAAI;EACpB,cAAc;IACVY,OAAO,EAAE;EADC;AADM,CAAJ,uBAApB;;AAMO,IAAMC,aAAuB,GAAG,SAA1BA,aAA0B,GAAM;EACzC,oBACI,6BAAC,UAAD;IAAM,SAAS,EAAEF,WAAjB;IAA8B,KAAK,EAAE;MAAEG,OAAO,EAAE;IAAX;EAArC,gBACI,6BAAC,cAAD;IAAU,SAAS,EAAEL,YAArB;IAAmC,MAAM,EAAE,KAA3C;IAAkD,QAAQ;EAA1D,gBACI,6BAAC,sBAAD;IAAY,GAAG,EAAE,OAAjB;IAA0B,SAAS,EAAEV;EAArC,sBADJ,CADJ,CADJ;AASH,CAVM"}
|
|
@@ -80,7 +80,7 @@ var FormSettings = function FormSettings(_ref) {
|
|
|
80
80
|
}, /*#__PURE__*/_react.default.createElement(_List.ListItemGraphic, null, /*#__PURE__*/_react.default.createElement(_Icon.Icon, {
|
|
81
81
|
icon: pl.icon
|
|
82
82
|
})), /*#__PURE__*/_react.default.createElement(_FormSettingsStyled.TitleContent, null, /*#__PURE__*/_react.default.createElement(_FormSettingsStyled.ListItemTitle, null, pl.title), /*#__PURE__*/_react.default.createElement(_Typography.Typography, {
|
|
83
|
-
use: "
|
|
83
|
+
use: "body2"
|
|
84
84
|
}, pl.description)));
|
|
85
85
|
}))), /*#__PURE__*/_react.default.createElement(_SplitView.RightPanel, {
|
|
86
86
|
span: 7
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["t","i18n","namespace","FormSettings","onExited","cmsEditorFormSettingsPlugins","plugins","byType","useContentModelEditor","data","setData","useSnackbar","showSnackbar","useState","activePlugin","setActivePlugin","Title","listStyle","map","pl","name","listItem","icon","title","description","Bind","submit","form","formData","renderHeaderActions","render","ev"],"sources":["FormSettings.tsx"],"sourcesContent":["import React, { useState } from \"react\";\nimport { plugins } from \"@webiny/plugins\";\nimport { OverlayLayout } from \"@webiny/app-admin/components/OverlayLayout\";\nimport { SplitView, LeftPanel, RightPanel } from \"@webiny/app-admin/components/SplitView\";\nimport { Typography } from \"@webiny/ui/Typography\";\nimport { Form } from \"@webiny/form\";\nimport { Icon } from \"@webiny/ui/Icon\";\nimport { ButtonPrimary } from \"@webiny/ui/Button\";\nimport { List, ListItem, ListItemGraphic } from \"@webiny/ui/List\";\nimport { useSnackbar } from \"@webiny/app-admin/hooks/useSnackbar\";\nimport { i18n } from \"@webiny/app/i18n\";\nimport * as SF from \"@webiny/app-admin/components/SimpleForm\";\nimport { CmsEditorFormSettingsPlugin } from \"~/types\";\nimport { Title, listItem, ListItemTitle, listStyle, TitleContent } from \"./FormSettingsStyled\";\nimport { useContentModelEditor } from \"~/admin/components/ContentModelEditor/useContentModelEditor\";\n\nconst t = i18n.namespace(\"FormsApp.Editor.FormSettings\");\n\ninterface FormSettingsProps {\n onExited: () => void;\n}\n\nconst FormSettings: React.FC<FormSettingsProps> = ({ onExited }) => {\n const cmsEditorFormSettingsPlugins = plugins.byType<CmsEditorFormSettingsPlugin>(\n \"cms-editor-form-settings\"\n );\n const { data, setData } = useContentModelEditor();\n const { showSnackbar } = useSnackbar();\n\n const [activePlugin, setActivePlugin] = useState(cmsEditorFormSettingsPlugins[0]);\n\n return (\n <OverlayLayout barMiddle={Title} onExited={onExited}>\n <SplitView>\n <LeftPanel span={5}>\n <List twoLine className={listStyle}>\n {cmsEditorFormSettingsPlugins.map(pl => (\n <ListItem\n key={pl.name}\n className={listItem}\n onClick={() => setActivePlugin(pl)}\n >\n <ListItemGraphic>\n <Icon icon={pl.icon} />\n </ListItemGraphic>\n <TitleContent>\n <ListItemTitle>{pl.title}</ListItemTitle>\n <Typography use={\"
|
|
1
|
+
{"version":3,"names":["t","i18n","namespace","FormSettings","onExited","cmsEditorFormSettingsPlugins","plugins","byType","useContentModelEditor","data","setData","useSnackbar","showSnackbar","useState","activePlugin","setActivePlugin","Title","listStyle","map","pl","name","listItem","icon","title","description","Bind","submit","form","formData","renderHeaderActions","render","ev"],"sources":["FormSettings.tsx"],"sourcesContent":["import React, { useState } from \"react\";\nimport { plugins } from \"@webiny/plugins\";\nimport { OverlayLayout } from \"@webiny/app-admin/components/OverlayLayout\";\nimport { SplitView, LeftPanel, RightPanel } from \"@webiny/app-admin/components/SplitView\";\nimport { Typography } from \"@webiny/ui/Typography\";\nimport { Form } from \"@webiny/form\";\nimport { Icon } from \"@webiny/ui/Icon\";\nimport { ButtonPrimary } from \"@webiny/ui/Button\";\nimport { List, ListItem, ListItemGraphic } from \"@webiny/ui/List\";\nimport { useSnackbar } from \"@webiny/app-admin/hooks/useSnackbar\";\nimport { i18n } from \"@webiny/app/i18n\";\nimport * as SF from \"@webiny/app-admin/components/SimpleForm\";\nimport { CmsEditorFormSettingsPlugin } from \"~/types\";\nimport { Title, listItem, ListItemTitle, listStyle, TitleContent } from \"./FormSettingsStyled\";\nimport { useContentModelEditor } from \"~/admin/components/ContentModelEditor/useContentModelEditor\";\n\nconst t = i18n.namespace(\"FormsApp.Editor.FormSettings\");\n\ninterface FormSettingsProps {\n onExited: () => void;\n}\n\nconst FormSettings: React.FC<FormSettingsProps> = ({ onExited }) => {\n const cmsEditorFormSettingsPlugins = plugins.byType<CmsEditorFormSettingsPlugin>(\n \"cms-editor-form-settings\"\n );\n const { data, setData } = useContentModelEditor();\n const { showSnackbar } = useSnackbar();\n\n const [activePlugin, setActivePlugin] = useState(cmsEditorFormSettingsPlugins[0]);\n\n return (\n <OverlayLayout barMiddle={Title} onExited={onExited}>\n <SplitView>\n <LeftPanel span={5}>\n <List twoLine className={listStyle}>\n {cmsEditorFormSettingsPlugins.map(pl => (\n <ListItem\n key={pl.name}\n className={listItem}\n onClick={() => setActivePlugin(pl)}\n >\n <ListItemGraphic>\n <Icon icon={pl.icon} />\n </ListItemGraphic>\n <TitleContent>\n <ListItemTitle>{pl.title}</ListItemTitle>\n <Typography use={\"body2\"}>{pl.description}</Typography>\n </TitleContent>\n </ListItem>\n ))}\n </List>\n </LeftPanel>\n <RightPanel span={7}>\n <Form\n data={data}\n onSubmit={data => {\n setData(() => data);\n onExited();\n showSnackbar(t`Content model settings updated successfully.`);\n }}\n >\n {({ Bind, submit, form, data: formData }) => (\n <SF.SimpleForm>\n <SF.SimpleFormHeader title={activePlugin.title}>\n {typeof activePlugin.renderHeaderActions === \"function\" &&\n activePlugin.renderHeaderActions({\n /**\n * TODO @ts-refactor\n * Figure out type for Bind\n */\n Bind: Bind as any,\n form,\n formData\n })}\n </SF.SimpleFormHeader>\n <SF.SimpleFormContent>\n {activePlugin\n ? activePlugin.render({\n /**\n * TODO @ts-refactor\n * Figure out type for Bind\n */\n Bind: Bind as any,\n form,\n formData\n })\n : null}\n </SF.SimpleFormContent>\n <SF.SimpleFormFooter>\n <ButtonPrimary\n onClick={ev => {\n submit(ev);\n }}\n >{t`Save settings`}</ButtonPrimary>\n </SF.SimpleFormFooter>\n </SF.SimpleForm>\n )}\n </Form>\n </RightPanel>\n </SplitView>\n </OverlayLayout>\n );\n};\n\nexport default FormSettings;\n"],"mappings":"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"}
|
|
@@ -29,7 +29,7 @@ var _Checkbox = require("@webiny/ui/Checkbox");
|
|
|
29
29
|
|
|
30
30
|
var _StyledComponents = require("./StyledComponents");
|
|
31
31
|
|
|
32
|
-
var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8, _templateObject9, _templateObject10, _templateObject11, _templateObject12
|
|
32
|
+
var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8, _templateObject9, _templateObject10, _templateObject11, _templateObject12;
|
|
33
33
|
|
|
34
34
|
var t = _i18n.i18n.ns("app-headless-cms/admin/plugins/permissionRenderer");
|
|
35
35
|
|
|
@@ -39,12 +39,6 @@ var pwOptions = [{
|
|
|
39
39
|
}, {
|
|
40
40
|
id: "u",
|
|
41
41
|
name: t(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2.default)(["Unpublish"])))
|
|
42
|
-
}, {
|
|
43
|
-
id: "r",
|
|
44
|
-
name: t(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2.default)(["Request review"])))
|
|
45
|
-
}, {
|
|
46
|
-
id: "c",
|
|
47
|
-
name: t(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2.default)(["Request changes"])))
|
|
48
42
|
}];
|
|
49
43
|
|
|
50
44
|
var ContentEntryPermission = function ContentEntryPermission(_ref) {
|
|
@@ -90,38 +84,38 @@ var ContentEntryPermission = function ContentEntryPermission(_ref) {
|
|
|
90
84
|
cb(value);
|
|
91
85
|
}
|
|
92
86
|
}, /*#__PURE__*/_react.default.createElement(_Select.Select, {
|
|
93
|
-
label: t(
|
|
87
|
+
label: t(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2.default)(["Access Scope"]))),
|
|
94
88
|
disabled: data["contentModelAccessScope"] === "own"
|
|
95
89
|
}, /*#__PURE__*/_react.default.createElement("option", {
|
|
96
90
|
value: "full"
|
|
97
|
-
}, t(
|
|
91
|
+
}, t(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2.default)(["All entries"])))), endpoints.includes("manage") && /*#__PURE__*/_react.default.createElement("option", {
|
|
98
92
|
value: "own"
|
|
99
|
-
}, t(
|
|
93
|
+
}, t(_templateObject5 || (_templateObject5 = (0, _taggedTemplateLiteral2.default)(["Only entries created by the user"])))) || /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null))), data["contentModelAccessScope"] === "own" && /*#__PURE__*/_react.default.createElement(_StyledComponents.Note, null, /*#__PURE__*/_react.default.createElement(_Typography.Typography, {
|
|
100
94
|
use: "caption"
|
|
101
95
|
}, /*#__PURE__*/_react.default.createElement("span", {
|
|
102
96
|
className: "highlight"
|
|
103
|
-
}, "Content Entry"), "\xA0", t(
|
|
97
|
+
}, "Content Entry"), "\xA0", t(_templateObject6 || (_templateObject6 = (0, _taggedTemplateLiteral2.default)(["access depends upon"]))), "\xA0", /*#__PURE__*/_react.default.createElement("span", {
|
|
104
98
|
className: "highlight"
|
|
105
99
|
}, "Content Model")))), /*#__PURE__*/_react.default.createElement(_Grid.Cell, {
|
|
106
100
|
span: 12
|
|
107
101
|
}, /*#__PURE__*/_react.default.createElement(Bind, {
|
|
108
102
|
name: "".concat(entity, "RWD")
|
|
109
103
|
}, /*#__PURE__*/_react.default.createElement(_Select.Select, {
|
|
110
|
-
label: t(
|
|
104
|
+
label: t(_templateObject7 || (_templateObject7 = (0, _taggedTemplateLiteral2.default)(["Primary Actions"]))),
|
|
111
105
|
disabled: disabledPrimaryActions
|
|
112
106
|
}, /*#__PURE__*/_react.default.createElement("option", {
|
|
113
107
|
value: "r"
|
|
114
|
-
}, t(
|
|
108
|
+
}, t(_templateObject8 || (_templateObject8 = (0, _taggedTemplateLiteral2.default)(["Read"])))), endpoints.includes("manage") ? /*#__PURE__*/_react.default.createElement("option", {
|
|
115
109
|
value: "rw"
|
|
116
|
-
}, t(
|
|
110
|
+
}, t(_templateObject9 || (_templateObject9 = (0, _taggedTemplateLiteral2.default)(["Read, write"])))) : /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null), endpoints.includes("manage") ? /*#__PURE__*/_react.default.createElement("option", {
|
|
117
111
|
value: "rwd"
|
|
118
|
-
}, t(
|
|
112
|
+
}, t(_templateObject10 || (_templateObject10 = (0, _taggedTemplateLiteral2.default)(["Read, write, delete"])))) : /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null)))), endpoints.includes("manage") ? /*#__PURE__*/_react.default.createElement(_Grid.Cell, {
|
|
119
113
|
span: 12
|
|
120
114
|
}, /*#__PURE__*/_react.default.createElement(Bind, {
|
|
121
115
|
name: "".concat(entity, "PW")
|
|
122
116
|
}, /*#__PURE__*/_react.default.createElement(_Checkbox.CheckboxGroup, {
|
|
123
|
-
label: t(
|
|
124
|
-
description: t(
|
|
117
|
+
label: t(_templateObject11 || (_templateObject11 = (0, _taggedTemplateLiteral2.default)(["Publishing actions"]))),
|
|
118
|
+
description: t(_templateObject12 || (_templateObject12 = (0, _taggedTemplateLiteral2.default)(["Publishing-related actions that can be performed on content entries."])))
|
|
125
119
|
}, function (_ref2) {
|
|
126
120
|
var getValue = _ref2.getValue,
|
|
127
121
|
onChange = _ref2.onChange;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["t","i18n","ns","pwOptions","id","name","ContentEntryPermission","Bind","data","entity","setValue","title","useEffect","get","endpoints","disabledPrimaryActions","undefined","includes","marginTop","padding","paddingBottom","value","cb","getValue","onChange","map"],"sources":["ContentEntryPermission.tsx"],"sourcesContent":["import React, { useEffect } from \"react\";\nimport get from \"lodash/get\";\nimport { Grid, Cell } from \"@webiny/ui/Grid\";\nimport { Typography } from \"@webiny/ui/Typography\";\nimport { Select } from \"@webiny/ui/Select\";\nimport { i18n } from \"@webiny/app/i18n\";\nimport { Elevation } from \"@webiny/ui/Elevation\";\nimport { Checkbox, CheckboxGroup } from \"@webiny/ui/Checkbox\";\nimport { Note } from \"./StyledComponents\";\nimport { BindComponent } from \"@webiny/form/types\";\nimport { CmsSecurityPermission } from \"~/types\";\n\nconst t = i18n.ns(\"app-headless-cms/admin/plugins/permissionRenderer\");\n\ninterface PermissionOption {\n id: string;\n name: string;\n}\nconst pwOptions: PermissionOption[] = [\n { id: \"p\", name: t`Publish` },\n { id: \"u\", name: t`Unpublish` },\n { id: \"r\", name: t`Request review` },\n { id: \"c\", name: t`Request changes` }\n];\n\ninterface ContentEntryPermissionProps {\n Bind: BindComponent;\n data: CmsSecurityPermission;\n entity: string;\n setValue: (name: string, value: string) => void;\n title: string;\n}\nexport const ContentEntryPermission: React.FC<ContentEntryPermissionProps> = ({\n Bind,\n data,\n entity,\n setValue,\n title\n}) => {\n // Set \"cms.contentEntry\" access scope to \"own\" if \"cms.contentModel\" === \"own\".\n useEffect(() => {\n if (\n get(data, `contentModelAccessScope`) === \"own\" &&\n get(data, `${entity}AccessScope`) !== \"own\"\n ) {\n setValue(`${entity}AccessScope`, \"own\");\n }\n }, [data]);\n\n const endpoints = data.endpoints || [];\n\n const disabledPrimaryActions =\n [undefined, \"own\", \"no\"].includes(data[`${entity}AccessScope`]) ||\n !endpoints.includes(\"manage\");\n\n return (\n <Elevation z={1} style={{ marginTop: 10 }}>\n <Grid>\n <Cell span={12}>\n <Typography use={\"overline\"}>{title}</Typography>\n </Cell>\n <Cell span={12}>\n <Grid style={{ padding: 0, paddingBottom: 24 }}>\n <Cell span={12}>\n <Bind\n defaultValue={\"full\"}\n name={`${entity}AccessScope`}\n beforeChange={(value, cb) => {\n if (value === \"own\") {\n setValue(`${entity}RWD`, \"rwd\");\n }\n cb(value);\n }}\n >\n <Select\n label={t`Access Scope`}\n disabled={data[`contentModelAccessScope`] === \"own\"}\n >\n <option value={\"full\"}>{t`All entries`}</option>\n {(endpoints.includes(\"manage\") && (\n <option\n value={\"own\"}\n >{t`Only entries created by the user`}</option>\n )) || <></>}\n </Select>\n </Bind>\n {data[`contentModelAccessScope`] === \"own\" && (\n <Note>\n <Typography use={\"caption\"}>\n <span className={\"highlight\"}>Content Entry</span>\n {t`access depends upon`} \n <span className={\"highlight\"}>Content Model</span>\n </Typography>\n </Note>\n )}\n </Cell>\n\n <Cell span={12}>\n <Bind name={`${entity}RWD`}>\n <Select\n label={t`Primary Actions`}\n disabled={disabledPrimaryActions}\n >\n <option value={\"r\"}>{t`Read`}</option>\n {endpoints.includes(\"manage\") ? (\n <option value={\"rw\"}>{t`Read, write`}</option>\n ) : (\n <></>\n )}\n {endpoints.includes(\"manage\") ? (\n <option value={\"rwd\"}>{t`Read, write, delete`}</option>\n ) : (\n <></>\n )}\n </Select>\n </Bind>\n </Cell>\n {endpoints.includes(\"manage\") ? (\n <Cell span={12}>\n <Bind name={`${entity}PW`}>\n <CheckboxGroup\n label={t`Publishing actions`}\n description={t`Publishing-related actions that can be performed on content entries.`}\n >\n {({ getValue, onChange }) =>\n pwOptions.map(({ id, name }) => (\n <Checkbox\n disabled={[undefined, \"no\"].includes(\n data[`${entity}AccessScope`]\n )}\n key={id}\n label={name}\n value={getValue(id)}\n onChange={onChange(id)}\n />\n ))\n }\n </CheckboxGroup>\n </Bind>\n </Cell>\n ) : null}\n </Grid>\n </Cell>\n </Grid>\n </Elevation>\n );\n};\n"],"mappings":";;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;;;AAIA,IAAMA,CAAC,GAAGC,UAAA,CAAKC,EAAL,CAAQ,mDAAR,CAAV;;AAMA,IAAMC,SAA6B,GAAG,CAClC;EAAEC,EAAE,EAAE,GAAN;EAAWC,IAAI,EAAEL,CAAF;AAAf,CADkC,EAElC;EAAEI,EAAE,EAAE,GAAN;EAAWC,IAAI,EAAEL,CAAF;AAAf,CAFkC,EAGlC;EAAEI,EAAE,EAAE,GAAN;EAAWC,IAAI,EAAEL,CAAF;AAAf,CAHkC,EAIlC;EAAEI,EAAE,EAAE,GAAN;EAAWC,IAAI,EAAEL,CAAF;AAAf,CAJkC,CAAtC;;AAcO,IAAMM,sBAA6D,GAAG,SAAhEA,sBAAgE,OAMvE;EAAA,IALFC,IAKE,QALFA,IAKE;EAAA,IAJFC,IAIE,QAJFA,IAIE;EAAA,IAHFC,MAGE,QAHFA,MAGE;EAAA,IAFFC,QAEE,QAFFA,QAEE;EAAA,IADFC,KACE,QADFA,KACE;EACF;EACA,IAAAC,gBAAA,EAAU,YAAM;IACZ,IACI,IAAAC,YAAA,EAAIL,IAAJ,iCAAyC,KAAzC,IACA,IAAAK,YAAA,EAAIL,IAAJ,YAAaC,MAAb,sBAAsC,KAF1C,EAGE;MACEC,QAAQ,WAAID,MAAJ,kBAAyB,KAAzB,CAAR;IACH;EACJ,CAPD,EAOG,CAACD,IAAD,CAPH;EASA,IAAMM,SAAS,GAAGN,IAAI,CAACM,SAAL,IAAkB,EAApC;EAEA,IAAMC,sBAAsB,GACxB,CAACC,SAAD,EAAY,KAAZ,EAAmB,IAAnB,EAAyBC,QAAzB,CAAkCT,IAAI,WAAIC,MAAJ,iBAAtC,KACA,CAACK,SAAS,CAACG,QAAV,CAAmB,QAAnB,CAFL;EAIA,oBACI,6BAAC,oBAAD;IAAW,CAAC,EAAE,CAAd;IAAiB,KAAK,EAAE;MAAEC,SAAS,EAAE;IAAb;EAAxB,gBACI,6BAAC,UAAD,qBACI,6BAAC,UAAD;IAAM,IAAI,EAAE;EAAZ,gBACI,6BAAC,sBAAD;IAAY,GAAG,EAAE;EAAjB,GAA8BP,KAA9B,CADJ,CADJ,eAII,6BAAC,UAAD;IAAM,IAAI,EAAE;EAAZ,gBACI,6BAAC,UAAD;IAAM,KAAK,EAAE;MAAEQ,OAAO,EAAE,CAAX;MAAcC,aAAa,EAAE;IAA7B;EAAb,gBACI,6BAAC,UAAD;IAAM,IAAI,EAAE;EAAZ,gBACI,6BAAC,IAAD;IACI,YAAY,EAAE,MADlB;IAEI,IAAI,YAAKX,MAAL,gBAFR;IAGI,YAAY,EAAE,sBAACY,KAAD,EAAQC,EAAR,EAAe;MACzB,IAAID,KAAK,KAAK,KAAd,EAAqB;QACjBX,QAAQ,WAAID,MAAJ,UAAiB,KAAjB,CAAR;MACH;;MACDa,EAAE,CAACD,KAAD,CAAF;IACH;EARL,gBAUI,6BAAC,cAAD;IACI,KAAK,EAAErB,CAAF,iGADT;IAEI,QAAQ,EAAEQ,IAAI,2BAAJ,KAAoC;EAFlD,gBAII;IAAQ,KAAK,EAAE;EAAf,GAAwBR,CAAxB,iGAJJ,EAKMc,SAAS,CAACG,QAAV,CAAmB,QAAnB,kBACE;IACI,KAAK,EAAE;EADX,GAEEjB,CAFF,sHADH,iBAIK,2DATV,CAVJ,CADJ,EAuBKQ,IAAI,2BAAJ,KAAoC,KAApC,iBACG,6BAAC,sBAAD,qBACI,6BAAC,sBAAD;IAAY,GAAG,EAAE;EAAjB,gBACI;IAAM,SAAS,EAAE;EAAjB,mBADJ,UAEWR,CAFX,+HAGI;IAAM,SAAS,EAAE;EAAjB,mBAHJ,CADJ,CAxBR,CADJ,eAmCI,6BAAC,UAAD;IAAM,IAAI,EAAE;EAAZ,gBACI,6BAAC,IAAD;IAAM,IAAI,YAAKS,MAAL;EAAV,gBACI,6BAAC,cAAD;IACI,KAAK,EAAET,CAAF,oGADT;IAEI,QAAQ,EAAEe;EAFd,gBAII;IAAQ,KAAK,EAAE;EAAf,GAAqBf,CAArB,4FAJJ,EAKKc,SAAS,CAACG,QAAV,CAAmB,QAAnB,iBACG;IAAQ,KAAK,EAAE;EAAf,GAAsBjB,CAAtB,mGADH,gBAGG,2DARR,EAUKc,SAAS,CAACG,QAAV,CAAmB,QAAnB,iBACG;IAAQ,KAAK,EAAE;EAAf,GAAuBjB,CAAvB,2GADH,gBAGG,2DAbR,CADJ,CADJ,CAnCJ,EAuDKc,SAAS,CAACG,QAAV,CAAmB,QAAnB,iBACG,6BAAC,UAAD;IAAM,IAAI,EAAE;EAAZ,gBACI,6BAAC,IAAD;IAAM,IAAI,YAAKR,MAAL;EAAV,gBACI,6BAAC,uBAAD;IACI,KAAK,EAAET,CAAF,yGADT;IAEI,WAAW,EAAEA,CAAF;EAFf,GAIK;IAAA,IAAGuB,QAAH,SAAGA,QAAH;IAAA,IAAaC,QAAb,SAAaA,QAAb;IAAA,OACGrB,SAAS,CAACsB,GAAV,CAAc;MAAA,IAAGrB,EAAH,SAAGA,EAAH;MAAA,IAAOC,IAAP,SAAOA,IAAP;MAAA,oBACV,6BAAC,kBAAD;QACI,QAAQ,EAAE,CAACW,SAAD,EAAY,IAAZ,EAAkBC,QAAlB,CACNT,IAAI,WAAIC,MAAJ,iBADE,CADd;QAII,GAAG,EAAEL,EAJT;QAKI,KAAK,EAAEC,IALX;QAMI,KAAK,EAAEkB,QAAQ,CAACnB,EAAD,CANnB;QAOI,QAAQ,EAAEoB,QAAQ,CAACpB,EAAD;MAPtB,EADU;IAAA,CAAd,CADH;EAAA,CAJL,CADJ,CADJ,CADH,GAuBG,IA9ER,CADJ,CAJJ,CADJ,CADJ;AA2FH,CAlHM"}
|
|
1
|
+
{"version":3,"names":["t","i18n","ns","pwOptions","id","name","ContentEntryPermission","Bind","data","entity","setValue","title","useEffect","get","endpoints","disabledPrimaryActions","undefined","includes","marginTop","padding","paddingBottom","value","cb","getValue","onChange","map"],"sources":["ContentEntryPermission.tsx"],"sourcesContent":["import React, { useEffect } from \"react\";\nimport get from \"lodash/get\";\nimport { Grid, Cell } from \"@webiny/ui/Grid\";\nimport { Typography } from \"@webiny/ui/Typography\";\nimport { Select } from \"@webiny/ui/Select\";\nimport { i18n } from \"@webiny/app/i18n\";\nimport { Elevation } from \"@webiny/ui/Elevation\";\nimport { Checkbox, CheckboxGroup } from \"@webiny/ui/Checkbox\";\nimport { Note } from \"./StyledComponents\";\nimport { BindComponent } from \"@webiny/form/types\";\nimport { CmsSecurityPermission } from \"~/types\";\n\nconst t = i18n.ns(\"app-headless-cms/admin/plugins/permissionRenderer\");\n\ninterface PermissionOption {\n id: string;\n name: string;\n}\nconst pwOptions: PermissionOption[] = [\n { id: \"p\", name: t`Publish` },\n { id: \"u\", name: t`Unpublish` }\n];\n\ninterface ContentEntryPermissionProps {\n Bind: BindComponent;\n data: CmsSecurityPermission;\n entity: string;\n setValue: (name: string, value: string) => void;\n title: string;\n}\nexport const ContentEntryPermission: React.FC<ContentEntryPermissionProps> = ({\n Bind,\n data,\n entity,\n setValue,\n title\n}) => {\n // Set \"cms.contentEntry\" access scope to \"own\" if \"cms.contentModel\" === \"own\".\n useEffect(() => {\n if (\n get(data, `contentModelAccessScope`) === \"own\" &&\n get(data, `${entity}AccessScope`) !== \"own\"\n ) {\n setValue(`${entity}AccessScope`, \"own\");\n }\n }, [data]);\n\n const endpoints = data.endpoints || [];\n\n const disabledPrimaryActions =\n [undefined, \"own\", \"no\"].includes(data[`${entity}AccessScope`]) ||\n !endpoints.includes(\"manage\");\n\n return (\n <Elevation z={1} style={{ marginTop: 10 }}>\n <Grid>\n <Cell span={12}>\n <Typography use={\"overline\"}>{title}</Typography>\n </Cell>\n <Cell span={12}>\n <Grid style={{ padding: 0, paddingBottom: 24 }}>\n <Cell span={12}>\n <Bind\n defaultValue={\"full\"}\n name={`${entity}AccessScope`}\n beforeChange={(value, cb) => {\n if (value === \"own\") {\n setValue(`${entity}RWD`, \"rwd\");\n }\n cb(value);\n }}\n >\n <Select\n label={t`Access Scope`}\n disabled={data[`contentModelAccessScope`] === \"own\"}\n >\n <option value={\"full\"}>{t`All entries`}</option>\n {(endpoints.includes(\"manage\") && (\n <option\n value={\"own\"}\n >{t`Only entries created by the user`}</option>\n )) || <></>}\n </Select>\n </Bind>\n {data[`contentModelAccessScope`] === \"own\" && (\n <Note>\n <Typography use={\"caption\"}>\n <span className={\"highlight\"}>Content Entry</span>\n {t`access depends upon`} \n <span className={\"highlight\"}>Content Model</span>\n </Typography>\n </Note>\n )}\n </Cell>\n\n <Cell span={12}>\n <Bind name={`${entity}RWD`}>\n <Select\n label={t`Primary Actions`}\n disabled={disabledPrimaryActions}\n >\n <option value={\"r\"}>{t`Read`}</option>\n {endpoints.includes(\"manage\") ? (\n <option value={\"rw\"}>{t`Read, write`}</option>\n ) : (\n <></>\n )}\n {endpoints.includes(\"manage\") ? (\n <option value={\"rwd\"}>{t`Read, write, delete`}</option>\n ) : (\n <></>\n )}\n </Select>\n </Bind>\n </Cell>\n {endpoints.includes(\"manage\") ? (\n <Cell span={12}>\n <Bind name={`${entity}PW`}>\n <CheckboxGroup\n label={t`Publishing actions`}\n description={t`Publishing-related actions that can be performed on content entries.`}\n >\n {({ getValue, onChange }) =>\n pwOptions.map(({ id, name }) => (\n <Checkbox\n disabled={[undefined, \"no\"].includes(\n data[`${entity}AccessScope`]\n )}\n key={id}\n label={name}\n value={getValue(id)}\n onChange={onChange(id)}\n />\n ))\n }\n </CheckboxGroup>\n </Bind>\n </Cell>\n ) : null}\n </Grid>\n </Cell>\n </Grid>\n </Elevation>\n );\n};\n"],"mappings":"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"}
|
|
@@ -206,7 +206,7 @@ var ContentEntriesList = function ContentEntriesList() {
|
|
|
206
206
|
}))), /*#__PURE__*/_react.default.createElement(UIList.ListItemMeta, {
|
|
207
207
|
className: rightAlign
|
|
208
208
|
}, /*#__PURE__*/_react.default.createElement(_Typography.Typography, {
|
|
209
|
-
use: "
|
|
209
|
+
use: "body2",
|
|
210
210
|
"data-testid": "ul.list.subtitle"
|
|
211
211
|
}, _statusLabels.default[item.meta.status], " (v", item.meta.version, ")")));
|
|
212
212
|
})), loadMoreLoading && /*#__PURE__*/_react.default.createElement(InlineLoaderWrapper, null, /*#__PURE__*/_react.default.createElement(_Typography.Typography, {
|