@webiny/app-headless-cms 5.38.0-beta.1 → 5.38.0-beta.2
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/ContentEntries/Empty/index.d.ts +2 -1
- package/admin/components/ContentEntries/Empty/index.js +28 -10
- package/admin/components/ContentEntries/Empty/index.js.map +1 -1
- package/admin/components/ContentEntries/Empty/styled.js +1 -1
- package/admin/components/ContentEntries/Empty/styled.js.map +1 -1
- package/admin/components/ContentEntries/Header/ButtonsCreate/ButtonsCreate.d.ts +2 -0
- package/admin/components/ContentEntries/Header/ButtonsCreate/ButtonsCreate.js +23 -6
- package/admin/components/ContentEntries/Header/ButtonsCreate/ButtonsCreate.js.map +1 -1
- package/admin/components/ContentEntries/Header/ButtonsCreate/styled.js +1 -1
- package/admin/components/ContentEntries/Header/ButtonsCreate/styled.js.map +1 -1
- package/admin/components/ContentEntries/Header/Header.d.ts +2 -1
- package/admin/components/ContentEntries/Header/Header.js +5 -2
- package/admin/components/ContentEntries/Header/Header.js.map +1 -1
- package/admin/components/ContentEntries/Table/index.js +2 -7
- package/admin/components/ContentEntries/Table/index.js.map +1 -1
- package/admin/config/contentEntries/list/Browser/BulkAction.d.ts +1 -1
- package/admin/config/contentEntries/list/Browser/BulkAction.js +2 -2
- package/admin/config/contentEntries/list/Browser/BulkAction.js.map +1 -1
- package/admin/plugins/fieldRenderers/ref/advanced/components/entry/CreatedBy.js +2 -7
- package/admin/plugins/fieldRenderers/ref/advanced/components/entry/CreatedBy.js.map +1 -1
- package/admin/plugins/fieldRenderers/ref/advanced/components/entry/ModifiedBy.js +2 -7
- package/admin/plugins/fieldRenderers/ref/advanced/components/entry/ModifiedBy.js.map +1 -1
- package/admin/views/contentEntries/ContentEntry/RevisionListItem.js +2 -6
- package/admin/views/contentEntries/ContentEntry/RevisionListItem.js.map +1 -1
- package/admin/views/contentEntries/Table/Main.js +14 -2
- package/admin/views/contentEntries/Table/Main.js.map +1 -1
- package/admin/views/contentModels/ContentModelsDataList.js +2 -6
- package/admin/views/contentModels/ContentModelsDataList.js.map +1 -1
- package/package.json +26 -27
|
@@ -3,7 +3,8 @@ interface Props {
|
|
|
3
3
|
isSearch: boolean;
|
|
4
4
|
onCreateEntry: (event: React.SyntheticEvent) => void;
|
|
5
5
|
onCreateFolder: (event: React.SyntheticEvent) => void;
|
|
6
|
-
|
|
6
|
+
canCreateContent: boolean;
|
|
7
|
+
canCreateFolder: boolean;
|
|
7
8
|
}
|
|
8
9
|
export declare const Empty: React.VFC<Props>;
|
|
9
10
|
export {};
|
|
@@ -12,13 +12,15 @@ var _EmptyView = _interopRequireDefault(require("@webiny/app-admin/components/Em
|
|
|
12
12
|
var _i18n = require("@webiny/app/i18n");
|
|
13
13
|
var _Button = require("@webiny/ui/Button");
|
|
14
14
|
var _styled = require("./styled");
|
|
15
|
+
var _Tooltip = require("@webiny/ui/Tooltip");
|
|
15
16
|
var _templateObject, _templateObject2, _templateObject3, _templateObject4;
|
|
16
17
|
var t = _i18n.i18n.ns("app-headless-cms/admin/components/content-entries/empty");
|
|
17
18
|
var Empty = function Empty(_ref) {
|
|
18
19
|
var isSearch = _ref.isSearch,
|
|
19
20
|
onCreateEntry = _ref.onCreateEntry,
|
|
20
21
|
onCreateFolder = _ref.onCreateFolder,
|
|
21
|
-
|
|
22
|
+
canCreateContent = _ref.canCreateContent,
|
|
23
|
+
canCreateFolder = _ref.canCreateFolder;
|
|
22
24
|
if (isSearch) {
|
|
23
25
|
return /*#__PURE__*/_react.default.createElement(_EmptyView.default, {
|
|
24
26
|
icon: /*#__PURE__*/_react.default.createElement(_search.ReactComponent, null),
|
|
@@ -26,17 +28,33 @@ var Empty = function Empty(_ref) {
|
|
|
26
28
|
action: null
|
|
27
29
|
});
|
|
28
30
|
}
|
|
31
|
+
var createEntryButton = /*#__PURE__*/_react.default.createElement(_Button.ButtonDefault, {
|
|
32
|
+
"data-testid": "new-entry-button",
|
|
33
|
+
onClick: onCreateEntry,
|
|
34
|
+
disabled: !canCreateContent
|
|
35
|
+
}, /*#__PURE__*/_react.default.createElement(_styled.Icon, null), " ", t(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2.default)(["New Entry"]))));
|
|
36
|
+
if (!canCreateContent) {
|
|
37
|
+
createEntryButton = /*#__PURE__*/_react.default.createElement(_Tooltip.Tooltip, {
|
|
38
|
+
content: "Cannot create entry because you're not an owner.",
|
|
39
|
+
placement: "bottom"
|
|
40
|
+
}, createEntryButton);
|
|
41
|
+
}
|
|
42
|
+
var createFolderButton = /*#__PURE__*/_react.default.createElement(_Button.ButtonDefault, {
|
|
43
|
+
"data-testid": "new-folder-button",
|
|
44
|
+
onClick: onCreateFolder,
|
|
45
|
+
disabled: !canCreateFolder
|
|
46
|
+
}, /*#__PURE__*/_react.default.createElement(_styled.Icon, null), " ", t(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2.default)(["New Folder"]))));
|
|
47
|
+
if (!canCreateFolder) {
|
|
48
|
+
createFolderButton = /*#__PURE__*/_react.default.createElement(_Tooltip.Tooltip, {
|
|
49
|
+
content: "Cannot create folder because you're not an owner.",
|
|
50
|
+
placement: "bottom"
|
|
51
|
+
}, createFolderButton);
|
|
52
|
+
}
|
|
29
53
|
return /*#__PURE__*/_react.default.createElement(_EmptyView.default, {
|
|
30
|
-
title: t(
|
|
31
|
-
message:
|
|
54
|
+
title: t(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2.default)(["Nothing to show here, {message} "])))({
|
|
55
|
+
message: canCreateContent ? "navigate to a different folder or create a..." : "click on the left side to navigate to a different folder."
|
|
32
56
|
}),
|
|
33
|
-
action:
|
|
34
|
-
"data-testid": "new-folder-button",
|
|
35
|
-
onClick: onCreateFolder
|
|
36
|
-
}, /*#__PURE__*/_react.default.createElement(_styled.Icon, null), " ", t(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2.default)(["New Folder"])))), /*#__PURE__*/_react.default.createElement(_Button.ButtonDefault, {
|
|
37
|
-
"data-testid": "new-entry-button",
|
|
38
|
-
onClick: onCreateEntry
|
|
39
|
-
}, /*#__PURE__*/_react.default.createElement(_styled.Icon, null), " ", t(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2.default)(["New Entry"]))))) : /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null)
|
|
57
|
+
action: /*#__PURE__*/_react.default.createElement(_styled.Buttons, null, createFolderButton, "\xA0", createEntryButton)
|
|
40
58
|
});
|
|
41
59
|
};
|
|
42
60
|
exports.Empty = Empty;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","_interopRequireDefault","require","_search","_EmptyView","_i18n","_Button","_styled","_templateObject","_templateObject2","_templateObject3","_templateObject4","t","i18n","ns","Empty","_ref","isSearch","onCreateEntry","onCreateFolder","
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireDefault","require","_search","_EmptyView","_i18n","_Button","_styled","_Tooltip","_templateObject","_templateObject2","_templateObject3","_templateObject4","t","i18n","ns","Empty","_ref","isSearch","onCreateEntry","onCreateFolder","canCreateContent","canCreateFolder","default","createElement","icon","ReactComponent","title","_taggedTemplateLiteral2","action","createEntryButton","ButtonDefault","onClick","disabled","Icon","Tooltip","content","placement","createFolderButton","message","Buttons","exports"],"sources":["index.tsx"],"sourcesContent":["import React from \"react\";\nimport { ReactComponent as SearchIcon } from \"@material-design-icons/svg/outlined/search.svg\";\nimport EmptyView from \"@webiny/app-admin/components/EmptyView\";\nimport { i18n } from \"@webiny/app/i18n\";\nimport { ButtonDefault } from \"@webiny/ui/Button\";\nimport { Buttons, Icon } from \"./styled\";\nimport { Tooltip } from \"@webiny/ui/Tooltip\";\n\nconst t = i18n.ns(\"app-headless-cms/admin/components/content-entries/empty\");\n\ninterface Props {\n isSearch: boolean;\n onCreateEntry: (event: React.SyntheticEvent) => void;\n onCreateFolder: (event: React.SyntheticEvent) => void;\n canCreateContent: boolean;\n canCreateFolder: boolean;\n}\n\nexport const Empty: React.VFC<Props> = ({\n isSearch,\n onCreateEntry,\n onCreateFolder,\n canCreateContent,\n canCreateFolder\n}) => {\n if (isSearch) {\n return <EmptyView icon={<SearchIcon />} title={t`No results found.`} action={null} />;\n }\n\n let createEntryButton = (\n <ButtonDefault\n data-testid=\"new-entry-button\"\n onClick={onCreateEntry}\n disabled={!canCreateContent}\n >\n <Icon /> {t`New Entry`}\n </ButtonDefault>\n );\n\n if (!canCreateContent) {\n createEntryButton = (\n <Tooltip\n content={`Cannot create entry because you're not an owner.`}\n placement={\"bottom\"}\n >\n {createEntryButton}\n </Tooltip>\n );\n }\n\n let createFolderButton = (\n <ButtonDefault\n data-testid=\"new-folder-button\"\n onClick={onCreateFolder}\n disabled={!canCreateFolder}\n >\n <Icon /> {t`New Folder`}\n </ButtonDefault>\n );\n\n if (!canCreateFolder) {\n createFolderButton = (\n <Tooltip\n content={`Cannot create folder because you're not an owner.`}\n placement={\"bottom\"}\n >\n {createFolderButton}\n </Tooltip>\n );\n }\n\n return (\n <EmptyView\n title={t`Nothing to show here, {message} `({\n message: canCreateContent\n ? \"navigate to a different folder or create a...\"\n : \"click on the left side to navigate to a different folder.\"\n })}\n action={\n <Buttons>\n {createFolderButton}\n \n {createEntryButton}\n </Buttons>\n }\n />\n );\n};\n"],"mappings":"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"}
|
|
@@ -10,7 +10,7 @@ var _add = require("@material-design-icons/svg/filled/add.svg");
|
|
|
10
10
|
var Buttons = /*#__PURE__*/(0, _styled.default)("div", {
|
|
11
11
|
label: "Buttons",
|
|
12
12
|
target: "edlq3et0"
|
|
13
|
-
})(
|
|
13
|
+
})();
|
|
14
14
|
exports.Buttons = Buttons;
|
|
15
15
|
var Icon = /*#__PURE__*/(0, _styled.default)(_add.ReactComponent, {
|
|
16
16
|
label: "Icon",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_styled","_interopRequireDefault","require","_add","Buttons","styled","label","target","exports","Icon","Add"],"sources":["styled.tsx"],"sourcesContent":["import styled from \"@emotion/styled\";\nimport { ReactComponent as Add } from \"@material-design-icons/svg/filled/add.svg\";\n\nexport const Buttons = styled
|
|
1
|
+
{"version":3,"names":["_styled","_interopRequireDefault","require","_add","Buttons","styled","label","target","exports","Icon","Add"],"sources":["styled.tsx"],"sourcesContent":["import styled from \"@emotion/styled\";\nimport { ReactComponent as Add } from \"@material-design-icons/svg/filled/add.svg\";\n\nexport const Buttons = styled.div``;\n\nexport const Icon = styled(Add)`\n fill: var(--mdc-theme-primary);\n width: 18px;\n margin-right: 8px;\n`;\n"],"mappings":";;;;;;;AAAA,IAAAA,OAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,IAAA,GAAAD,OAAA;AAEO,IAAME,OAAO,oBAAGC,eAAM;EAAAC,KAAA;EAAAC,MAAA;AAAA,IAAM;AAACC,OAAA,CAAAJ,OAAA,GAAAA,OAAA;AAE7B,IAAMK,IAAI,oBAAGJ,eAAM,EAACK,mBAAG;EAAAJ,KAAA;EAAAC,MAAA;AAAA,gEAI7B;AAACC,OAAA,CAAAC,IAAA,GAAAA,IAAA"}
|
|
@@ -2,6 +2,8 @@ import React from "react";
|
|
|
2
2
|
interface Props {
|
|
3
3
|
onCreateEntry: (event: React.SyntheticEvent) => void;
|
|
4
4
|
onCreateFolder: (event: React.SyntheticEvent) => void;
|
|
5
|
+
canCreateFolder: boolean;
|
|
6
|
+
canCreateContent: boolean;
|
|
5
7
|
}
|
|
6
8
|
export declare const ButtonsCreate: React.VFC<Props>;
|
|
7
9
|
export {};
|
|
@@ -11,25 +11,42 @@ var _add = require("@material-design-icons/svg/filled/add.svg");
|
|
|
11
11
|
var _i18n = require("@webiny/app/i18n");
|
|
12
12
|
var _Button = require("@webiny/ui/Button");
|
|
13
13
|
var _styled = require("./styled");
|
|
14
|
+
var _Tooltip = require("@webiny/ui/Tooltip");
|
|
14
15
|
var _templateObject, _templateObject2;
|
|
15
16
|
var t = _i18n.i18n.ns("app-headless-cms/admin/components/content-entries/header/buttons/create");
|
|
16
17
|
var ButtonsCreate = function ButtonsCreate(_ref) {
|
|
17
18
|
var onCreateFolder = _ref.onCreateFolder,
|
|
18
|
-
onCreateEntry = _ref.onCreateEntry
|
|
19
|
-
|
|
19
|
+
onCreateEntry = _ref.onCreateEntry,
|
|
20
|
+
canCreateContent = _ref.canCreateContent,
|
|
21
|
+
canCreateFolder = _ref.canCreateFolder;
|
|
22
|
+
var newFolderButton = /*#__PURE__*/_react.default.createElement(_Button.ButtonSecondary, {
|
|
20
23
|
"data-testid": "new-folder-button",
|
|
21
24
|
onClick: onCreateFolder,
|
|
22
|
-
small: true
|
|
25
|
+
small: true,
|
|
26
|
+
disabled: !canCreateFolder
|
|
23
27
|
}, /*#__PURE__*/_react.default.createElement(_Button.ButtonIcon, {
|
|
24
28
|
icon: /*#__PURE__*/_react.default.createElement(_add.ReactComponent, null)
|
|
25
|
-
}), t(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2.default)(["New Folder"]))))
|
|
29
|
+
}), t(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2.default)(["New Folder"]))));
|
|
30
|
+
if (!canCreateFolder) {
|
|
31
|
+
newFolderButton = /*#__PURE__*/_react.default.createElement(_Tooltip.Tooltip, {
|
|
32
|
+
content: "Cannot create folder because you're not an owner."
|
|
33
|
+
}, newFolderButton);
|
|
34
|
+
}
|
|
35
|
+
var newEntryButton = /*#__PURE__*/_react.default.createElement(_Button.ButtonPrimary, {
|
|
26
36
|
"data-testid": "new-entry-button",
|
|
27
37
|
onClick: onCreateEntry,
|
|
28
38
|
flat: true,
|
|
29
|
-
small: true
|
|
39
|
+
small: true,
|
|
40
|
+
disabled: !canCreateContent
|
|
30
41
|
}, /*#__PURE__*/_react.default.createElement(_Button.ButtonIcon, {
|
|
31
42
|
icon: /*#__PURE__*/_react.default.createElement(_add.ReactComponent, null)
|
|
32
|
-
}), t(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2.default)(["New Entry"]))))
|
|
43
|
+
}), t(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2.default)(["New Entry"]))));
|
|
44
|
+
if (!canCreateContent) {
|
|
45
|
+
newEntryButton = /*#__PURE__*/_react.default.createElement(_Tooltip.Tooltip, {
|
|
46
|
+
content: "Cannot create entry because you're not an owner."
|
|
47
|
+
}, newEntryButton);
|
|
48
|
+
}
|
|
49
|
+
return /*#__PURE__*/_react.default.createElement(_styled.Container, null, newFolderButton, "\xA0", newEntryButton);
|
|
33
50
|
};
|
|
34
51
|
exports.ButtonsCreate = ButtonsCreate;
|
|
35
52
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","_interopRequireDefault","require","_add","_i18n","_Button","_styled","_templateObject","_templateObject2","t","i18n","ns","ButtonsCreate","_ref","onCreateFolder","onCreateEntry","
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireDefault","require","_add","_i18n","_Button","_styled","_Tooltip","_templateObject","_templateObject2","t","i18n","ns","ButtonsCreate","_ref","onCreateFolder","onCreateEntry","canCreateContent","canCreateFolder","newFolderButton","default","createElement","ButtonSecondary","onClick","small","disabled","ButtonIcon","icon","ReactComponent","_taggedTemplateLiteral2","Tooltip","content","newEntryButton","ButtonPrimary","flat","Container","exports"],"sources":["ButtonsCreate.tsx"],"sourcesContent":["import React from \"react\";\nimport { ReactComponent as Add } from \"@material-design-icons/svg/filled/add.svg\";\nimport { i18n } from \"@webiny/app/i18n\";\nimport { ButtonIcon, ButtonPrimary, ButtonSecondary } from \"@webiny/ui/Button\";\nimport { Container } from \"./styled\";\nimport { Tooltip } from \"@webiny/ui/Tooltip\";\n\nconst t = i18n.ns(\"app-headless-cms/admin/components/content-entries/header/buttons/create\");\n\ninterface Props {\n onCreateEntry: (event: React.SyntheticEvent) => void;\n onCreateFolder: (event: React.SyntheticEvent) => void;\n canCreateFolder: boolean;\n canCreateContent: boolean;\n}\n\nexport const ButtonsCreate: React.VFC<Props> = ({\n onCreateFolder,\n onCreateEntry,\n canCreateContent,\n canCreateFolder\n}) => {\n let newFolderButton = (\n <ButtonSecondary\n data-testid=\"new-folder-button\"\n onClick={onCreateFolder}\n small={true}\n disabled={!canCreateFolder}\n >\n <ButtonIcon icon={<Add />} />\n {t`New Folder`}\n </ButtonSecondary>\n );\n\n if (!canCreateFolder) {\n newFolderButton = (\n <Tooltip content={`Cannot create folder because you're not an owner.`}>\n {newFolderButton}\n </Tooltip>\n );\n }\n\n let newEntryButton = (\n <ButtonPrimary\n data-testid=\"new-entry-button\"\n onClick={onCreateEntry}\n flat={true}\n small={true}\n disabled={!canCreateContent}\n >\n <ButtonIcon icon={<Add />} />\n {t`New Entry`}\n </ButtonPrimary>\n );\n\n if (!canCreateContent) {\n newEntryButton = (\n <Tooltip content={`Cannot create entry because you're not an owner.`}>\n {newEntryButton}\n </Tooltip>\n );\n }\n\n return (\n <Container>\n {newFolderButton}\n \n {newEntryButton}\n </Container>\n );\n};\n"],"mappings":";;;;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,IAAA,GAAAD,OAAA;AACA,IAAAE,KAAA,GAAAF,OAAA;AACA,IAAAG,OAAA,GAAAH,OAAA;AACA,IAAAI,OAAA,GAAAJ,OAAA;AACA,IAAAK,QAAA,GAAAL,OAAA;AAA6C,IAAAM,eAAA,EAAAC,gBAAA;AAE7C,IAAMC,CAAC,GAAGC,UAAI,CAACC,EAAE,CAAC,yEAAyE,CAAC;AASrF,IAAMC,aAA+B,GAAG,SAAlCA,aAA+BA,CAAAC,IAAA,EAKtC;EAAA,IAJFC,cAAc,GAAAD,IAAA,CAAdC,cAAc;IACdC,aAAa,GAAAF,IAAA,CAAbE,aAAa;IACbC,gBAAgB,GAAAH,IAAA,CAAhBG,gBAAgB;IAChBC,eAAe,GAAAJ,IAAA,CAAfI,eAAe;EAEf,IAAIC,eAAe,gBACfnB,MAAA,CAAAoB,OAAA,CAAAC,aAAA,CAAChB,OAAA,CAAAiB,eAAe;IACZ,eAAY,mBAAmB;IAC/BC,OAAO,EAAER,cAAe;IACxBS,KAAK,EAAE,IAAK;IACZC,QAAQ,EAAE,CAACP;EAAgB,gBAE3BlB,MAAA,CAAAoB,OAAA,CAAAC,aAAA,CAAChB,OAAA,CAAAqB,UAAU;IAACC,IAAI,eAAE3B,MAAA,CAAAoB,OAAA,CAAAC,aAAA,CAAClB,IAAA,CAAAyB,cAAG,MAAE;EAAE,CAAE,CAAC,EAC5BlB,CAAC,CAAAF,eAAA,KAAAA,eAAA,OAAAqB,uBAAA,CAAAT,OAAA,mBACW,CACpB;EAED,IAAI,CAACF,eAAe,EAAE;IAClBC,eAAe,gBACXnB,MAAA,CAAAoB,OAAA,CAAAC,aAAA,CAACd,QAAA,CAAAuB,OAAO;MAACC,OAAO;IAAsD,GACjEZ,eACI,CACZ;EACL;EAEA,IAAIa,cAAc,gBACdhC,MAAA,CAAAoB,OAAA,CAAAC,aAAA,CAAChB,OAAA,CAAA4B,aAAa;IACV,eAAY,kBAAkB;IAC9BV,OAAO,EAAEP,aAAc;IACvBkB,IAAI,EAAE,IAAK;IACXV,KAAK,EAAE,IAAK;IACZC,QAAQ,EAAE,CAACR;EAAiB,gBAE5BjB,MAAA,CAAAoB,OAAA,CAAAC,aAAA,CAAChB,OAAA,CAAAqB,UAAU;IAACC,IAAI,eAAE3B,MAAA,CAAAoB,OAAA,CAAAC,aAAA,CAAClB,IAAA,CAAAyB,cAAG,MAAE;EAAE,CAAE,CAAC,EAC5BlB,CAAC,CAAAD,gBAAA,KAAAA,gBAAA,OAAAoB,uBAAA,CAAAT,OAAA,kBACS,CAClB;EAED,IAAI,CAACH,gBAAgB,EAAE;IACnBe,cAAc,gBACVhC,MAAA,CAAAoB,OAAA,CAAAC,aAAA,CAACd,QAAA,CAAAuB,OAAO;MAACC,OAAO;IAAqD,GAChEC,cACI,CACZ;EACL;EAEA,oBACIhC,MAAA,CAAAoB,OAAA,CAAAC,aAAA,CAACf,OAAA,CAAA6B,SAAS,QACLhB,eAAe,EAAC,MAEjB,EAACa,cACM,CAAC;AAEpB,CAAC;AAACI,OAAA,CAAAvB,aAAA,GAAAA,aAAA"}
|
|
@@ -9,7 +9,7 @@ var _styled = _interopRequireDefault(require("@emotion/styled"));
|
|
|
9
9
|
var Container = /*#__PURE__*/(0, _styled.default)("div", {
|
|
10
10
|
label: "Container",
|
|
11
11
|
target: "ebq50ak0"
|
|
12
|
-
})("display:flex;justify-content:flex-end;align-items:center
|
|
12
|
+
})("display:flex;justify-content:flex-end;align-items:center;");
|
|
13
13
|
exports.Container = Container;
|
|
14
14
|
|
|
15
15
|
//# sourceMappingURL=styled.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_styled","_interopRequireDefault","require","Container","styled","label","target","exports"],"sources":["styled.tsx"],"sourcesContent":["import styled from \"@emotion/styled\";\n\nexport const Container = styled(\"div\")`\n display: flex;\n justify-content: flex-end;\n align-items: center;\n
|
|
1
|
+
{"version":3,"names":["_styled","_interopRequireDefault","require","Container","styled","label","target","exports"],"sources":["styled.tsx"],"sourcesContent":["import styled from \"@emotion/styled\";\n\nexport const Container = styled(\"div\")`\n display: flex;\n justify-content: flex-end;\n align-items: center;\n`;\n"],"mappings":";;;;;;;AAAA,IAAAA,OAAA,GAAAC,sBAAA,CAAAC,OAAA;AAEO,IAAMC,SAAS,oBAAGC,eAAM,EAAC,KAAK;EAAAC,KAAA;EAAAC,MAAA;AAAA,+DAIpC;AAACC,OAAA,CAAAJ,SAAA,GAAAA,SAAA"}
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import React from "react";
|
|
2
2
|
interface Props {
|
|
3
3
|
title?: string;
|
|
4
|
-
|
|
4
|
+
canCreateFolder: boolean;
|
|
5
|
+
canCreateContent: boolean;
|
|
5
6
|
onCreateEntry: (event?: React.SyntheticEvent) => void;
|
|
6
7
|
onCreateFolder: (event?: React.SyntheticEvent) => void;
|
|
7
8
|
searchValue: string;
|
|
@@ -13,7 +13,8 @@ var _ButtonsCreate = require("./ButtonsCreate");
|
|
|
13
13
|
var _Title = require("./Title");
|
|
14
14
|
var _styled = require("./styled");
|
|
15
15
|
var Header = function Header(props) {
|
|
16
|
-
var
|
|
16
|
+
var canCreateFolder = props.canCreateFolder,
|
|
17
|
+
canCreateContent = props.canCreateContent,
|
|
17
18
|
onCreateEntry = props.onCreateEntry,
|
|
18
19
|
onCreateFolder = props.onCreateFolder,
|
|
19
20
|
title = props.title,
|
|
@@ -33,7 +34,9 @@ var Header = function Header(props) {
|
|
|
33
34
|
}, /*#__PURE__*/_react.default.createElement(_styled.WrapperActions, null, /*#__PURE__*/_react.default.createElement(_appAco.Search, {
|
|
34
35
|
value: searchValue,
|
|
35
36
|
onChange: onSearchChange
|
|
36
|
-
}), /*#__PURE__*/_react.default.createElement(_ButtonFilters.ButtonFilters, null),
|
|
37
|
+
}), /*#__PURE__*/_react.default.createElement(_ButtonFilters.ButtonFilters, null), /*#__PURE__*/_react.default.createElement(_ButtonsCreate.ButtonsCreate, {
|
|
38
|
+
canCreateFolder: canCreateFolder,
|
|
39
|
+
canCreateContent: canCreateContent,
|
|
37
40
|
onCreateFolder: onCreateFolder,
|
|
38
41
|
onCreateEntry: onCreateEntry
|
|
39
42
|
})))));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","_interopRequireDefault","require","_appAco","_Grid","_ButtonFilters","_ButtonsCreate","_Title","_styled","Header","props","
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireDefault","require","_appAco","_Grid","_ButtonFilters","_ButtonsCreate","_Title","_styled","Header","props","canCreateFolder","canCreateContent","onCreateEntry","onCreateFolder","title","searchValue","onSearchChange","default","createElement","Container","Grid","align","style","padding","Cell","span","Title","WrapperActions","Search","value","onChange","ButtonFilters","ButtonsCreate","exports"],"sources":["Header.tsx"],"sourcesContent":["import React from \"react\";\nimport { Search } from \"@webiny/app-aco\";\nimport { Cell, Grid } from \"@webiny/ui/Grid\";\n\nimport { ButtonFilters } from \"./ButtonFilters\";\nimport { ButtonsCreate } from \"./ButtonsCreate\";\nimport { Title } from \"./Title\";\n\nimport { Container, WrapperActions } from \"./styled\";\n\ninterface Props {\n title?: string;\n canCreateFolder: boolean;\n canCreateContent: boolean;\n onCreateEntry: (event?: React.SyntheticEvent) => void;\n onCreateFolder: (event?: React.SyntheticEvent) => void;\n searchValue: string;\n onSearchChange: (value: string) => void;\n}\n\nexport const Header: React.VFC<Props> = props => {\n const {\n canCreateFolder,\n canCreateContent,\n onCreateEntry,\n onCreateFolder,\n title,\n searchValue,\n onSearchChange\n } = props;\n\n return (\n <Container>\n <Grid align={\"right\"} style={{ padding: 0 }}>\n <Cell span={4}>\n <Title title={title} />\n </Cell>\n <Cell span={8}>\n <WrapperActions>\n <Search value={searchValue} onChange={onSearchChange} />\n <ButtonFilters />\n <ButtonsCreate\n canCreateFolder={canCreateFolder}\n canCreateContent={canCreateContent}\n onCreateFolder={onCreateFolder}\n onCreateEntry={onCreateEntry}\n />\n </WrapperActions>\n </Cell>\n </Grid>\n </Container>\n );\n};\n"],"mappings":";;;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,OAAA,GAAAD,OAAA;AACA,IAAAE,KAAA,GAAAF,OAAA;AAEA,IAAAG,cAAA,GAAAH,OAAA;AACA,IAAAI,cAAA,GAAAJ,OAAA;AACA,IAAAK,MAAA,GAAAL,OAAA;AAEA,IAAAM,OAAA,GAAAN,OAAA;AAYO,IAAMO,MAAwB,GAAG,SAA3BA,MAAwBA,CAAGC,KAAK,EAAI;EAC7C,IACIC,eAAe,GAOfD,KAAK,CAPLC,eAAe;IACfC,gBAAgB,GAMhBF,KAAK,CANLE,gBAAgB;IAChBC,aAAa,GAKbH,KAAK,CALLG,aAAa;IACbC,cAAc,GAIdJ,KAAK,CAJLI,cAAc;IACdC,KAAK,GAGLL,KAAK,CAHLK,KAAK;IACLC,WAAW,GAEXN,KAAK,CAFLM,WAAW;IACXC,cAAc,GACdP,KAAK,CADLO,cAAc;EAGlB,oBACIjB,MAAA,CAAAkB,OAAA,CAAAC,aAAA,CAACX,OAAA,CAAAY,SAAS,qBACNpB,MAAA,CAAAkB,OAAA,CAAAC,aAAA,CAACf,KAAA,CAAAiB,IAAI;IAACC,KAAK,EAAE,OAAQ;IAACC,KAAK,EAAE;MAAEC,OAAO,EAAE;IAAE;EAAE,gBACxCxB,MAAA,CAAAkB,OAAA,CAAAC,aAAA,CAACf,KAAA,CAAAqB,IAAI;IAACC,IAAI,EAAE;EAAE,gBACV1B,MAAA,CAAAkB,OAAA,CAAAC,aAAA,CAACZ,MAAA,CAAAoB,KAAK;IAACZ,KAAK,EAAEA;EAAM,CAAE,CACpB,CAAC,eACPf,MAAA,CAAAkB,OAAA,CAAAC,aAAA,CAACf,KAAA,CAAAqB,IAAI;IAACC,IAAI,EAAE;EAAE,gBACV1B,MAAA,CAAAkB,OAAA,CAAAC,aAAA,CAACX,OAAA,CAAAoB,cAAc,qBACX5B,MAAA,CAAAkB,OAAA,CAAAC,aAAA,CAAChB,OAAA,CAAA0B,MAAM;IAACC,KAAK,EAAEd,WAAY;IAACe,QAAQ,EAAEd;EAAe,CAAE,CAAC,eACxDjB,MAAA,CAAAkB,OAAA,CAAAC,aAAA,CAACd,cAAA,CAAA2B,aAAa,MAAE,CAAC,eACjBhC,MAAA,CAAAkB,OAAA,CAAAC,aAAA,CAACb,cAAA,CAAA2B,aAAa;IACVtB,eAAe,EAAEA,eAAgB;IACjCC,gBAAgB,EAAEA,gBAAiB;IACnCE,cAAc,EAAEA,cAAe;IAC/BD,aAAa,EAAEA;EAAc,CAChC,CACW,CACd,CACJ,CACC,CAAC;AAEpB,CAAC;AAACqB,OAAA,CAAAzB,MAAA,GAAAA,MAAA"}
|
|
@@ -14,7 +14,7 @@ var _appAco = require("@webiny/app-aco");
|
|
|
14
14
|
var _Button = require("@webiny/ui/Button");
|
|
15
15
|
var _DataTable = require("@webiny/ui/DataTable");
|
|
16
16
|
var _Menu = require("@webiny/ui/Menu");
|
|
17
|
-
var
|
|
17
|
+
var _TimeAgo = require("@webiny/ui/TimeAgo");
|
|
18
18
|
var _Name = require("./Row/Name");
|
|
19
19
|
var _FolderActionDelete = require("./Row/Folder/FolderActionDelete");
|
|
20
20
|
var _FolderActionEdit = require("./Row/Folder/FolderActionEdit");
|
|
@@ -28,11 +28,6 @@ var _reactRouter = require("@webiny/react-router");
|
|
|
28
28
|
var _hooks = require("../../../hooks");
|
|
29
29
|
var _statusLabels = require("../../../constants/statusLabels");
|
|
30
30
|
var _acoRecordTransform = require("../../../../utils/acoRecordTransform");
|
|
31
|
-
/**
|
|
32
|
-
* Package timeago-react does not have types.
|
|
33
|
-
*/
|
|
34
|
-
// @ts-ignore
|
|
35
|
-
|
|
36
31
|
var Table = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
|
|
37
32
|
var _useNavigateFolder = (0, _appAco.useNavigateFolder)(),
|
|
38
33
|
currentFolderId = _useNavigateFolder.currentFolderId;
|
|
@@ -107,7 +102,7 @@ var Table = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
|
|
|
107
102
|
className: "cms-aco-list-savedOn",
|
|
108
103
|
cell: function cell(_ref) {
|
|
109
104
|
var savedOn = _ref.savedOn;
|
|
110
|
-
return /*#__PURE__*/_react.default.createElement(
|
|
105
|
+
return /*#__PURE__*/_react.default.createElement(_TimeAgo.TimeAgo, {
|
|
111
106
|
datetime: savedOn
|
|
112
107
|
});
|
|
113
108
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","_interopRequireWildcard","require","_more_vert","_appAco","_Button","_DataTable","_Menu","_timeagoReact","_interopRequireDefault","_Name","_FolderActionDelete","_FolderActionEdit","_FolderActionManagePermissions","_RecordActionDelete","_RecordActionEdit","_RecordActionMove","_RecordActionPublish","_styled","_reactRouter","_hooks","_statusLabels","_acoRecordTransform","Table","forwardRef","props","ref","_useNavigateFolder","useNavigateFolder","currentFolderId","folders","records","loading","sorting","onSortingChange","selectedRows","onSelectRow","_useModel","useModel","model","_useRouter","useRouter","history","_usePermission","usePermission","baseCanEdit","canEdit","_useState","useState","_useState2","_slicedToArray2","default","selectedFolder","setSelectedFolder","_useState3","_useState4","updateDialogOpen","setUpdateDialogOpen","_useState5","_useState6","deleteDialogOpen","setDeleteDialogOpen","_useState7","_useState8","managePermissionsDialogOpen","setManagePermissionsDialogOpen","data","useMemo","concat","useCallback","entry","createEditEntry","undefined","folderPath","encodeURIComponent","push","modelId","id","columns","_ref3","titleColumnId","titleFieldId","_defineProperty2","header","className","cell","record","isRecordEntry","createElement","EntryName","onClick","original","FolderName","enableSorting","size","_ref","savedOn","datetime","_ref2","status","version","statusLabels","meta","alignEnd","enableResizing","Menu","menuStyles","handle","IconButton","icon","ReactComponent","RecordActionEdit","RecordActionPublish","RecordActionMove","RecordActionDelete","canManageStructure","FolderActionEdit","canManagePermissions","FolderActionManagePermissions","FolderActionDelete","DataTable","isRowSelectable","row","$selectable","loadingInitial","stickyRows","initialSorting","desc","filter","find","Fragment","FolderDialogUpdate","folder","open","onClose","FolderDialogManagePermissions","FolderDialogDelete","exports","displayName"],"sources":["index.tsx"],"sourcesContent":["import React, { forwardRef, useCallback, useMemo, useState } from \"react\";\nimport { ReactComponent as More } from \"@material-design-icons/svg/filled/more_vert.svg\";\nimport {\n FolderDialogDelete,\n FolderDialogUpdate,\n FolderDialogManagePermissions,\n useNavigateFolder\n} from \"@webiny/app-aco\";\nimport { FolderItem } from \"@webiny/app-aco/types\";\nimport { IconButton } from \"@webiny/ui/Button\";\nimport { Columns, DataTable, OnSortingChange, Sorting } from \"@webiny/ui/DataTable\";\nimport { Menu } from \"@webiny/ui/Menu\";\n/**\n * Package timeago-react does not have types.\n */\n// @ts-ignore\nimport TimeAgo from \"timeago-react\";\nimport { EntryName, FolderName } from \"./Row/Name\";\nimport { FolderActionDelete } from \"./Row/Folder/FolderActionDelete\";\nimport { FolderActionEdit } from \"./Row/Folder/FolderActionEdit\";\nimport { FolderActionManagePermissions } from \"./Row/Folder/FolderActionManagePermissions\";\nimport { RecordActionDelete } from \"./Row/Record/RecordActionDelete\";\nimport { RecordActionEdit } from \"./Row/Record/RecordActionEdit\";\nimport { RecordActionMove } from \"./Row/Record/RecordActionMove\";\nimport { RecordActionPublish } from \"./Row/Record/RecordActionPublish\";\nimport { menuStyles } from \"./styled\";\nimport { Entry, FolderEntry, RecordEntry } from \"./types\";\nimport { useRouter } from \"@webiny/react-router\";\nimport { useModel, usePermission } from \"~/admin/hooks\";\nimport { CreatableItem } from \"~/admin/hooks/usePermission\";\nimport { statuses as statusLabels } from \"~/admin/constants/statusLabels\";\nimport { isRecordEntry } from \"~/utils/acoRecordTransform\";\nimport { CmsContentEntry } from \"@webiny/app-headless-cms-common/types\";\n\nexport interface TableProps {\n folders: FolderEntry[];\n loading?: boolean;\n onSelectRow: (rows: Entry[] | []) => void;\n onSortingChange: OnSortingChange;\n records: RecordEntry[];\n selectedRows: CmsContentEntry[];\n sorting: Sorting;\n}\n\nexport const Table = forwardRef<HTMLDivElement, TableProps>((props, ref) => {\n const { currentFolderId } = useNavigateFolder();\n const { folders, records, loading, sorting, onSortingChange, selectedRows, onSelectRow } =\n props;\n const { model } = useModel();\n\n const { history } = useRouter();\n const { canEdit: baseCanEdit } = usePermission();\n\n const [selectedFolder, setSelectedFolder] = useState<FolderItem>();\n const [updateDialogOpen, setUpdateDialogOpen] = useState<boolean>(false);\n const [deleteDialogOpen, setDeleteDialogOpen] = useState<boolean>(false);\n const [managePermissionsDialogOpen, setManagePermissionsDialogOpen] = useState<boolean>(false);\n\n const data = useMemo<Entry[]>(() => {\n return (folders as Entry[]).concat(records as Entry[]);\n }, [folders, records]);\n\n const canEdit = useCallback(\n (entry: CreatableItem) => {\n return baseCanEdit(entry, \"cms.contentEntry\");\n },\n [baseCanEdit]\n );\n const createEditEntry = useCallback(\n (entry: CreatableItem & Pick<Entry, \"id\">) => {\n if (!canEdit(entry)) {\n return undefined;\n }\n return () => {\n const folderPath = currentFolderId\n ? `&folderId=${encodeURIComponent(currentFolderId)}`\n : \"\";\n history.push(\n `/cms/content-entries/${model.modelId}?id=${encodeURIComponent(\n entry.id\n )}${folderPath}`\n );\n };\n },\n [canEdit, model.modelId, currentFolderId]\n );\n\n const columns: Columns<Entry> = useMemo(() => {\n const titleColumnId = model.titleFieldId || \"id\";\n\n return {\n [titleColumnId]: {\n header: \"Name\",\n className: \"cms-aco-list-title\",\n cell: (record: Entry) => {\n if (isRecordEntry(record)) {\n return (\n <EntryName record={record} onClick={createEditEntry(record.original)} />\n );\n }\n return <FolderName record={record} />;\n },\n enableSorting: true,\n size: 400\n },\n createdBy: {\n header: \"Author\",\n className: \"cms-aco-list-createdBy\"\n },\n savedOn: {\n header: \"Modified\",\n className: \"cms-aco-list-savedOn\",\n cell: ({ savedOn }: Entry) => <TimeAgo datetime={savedOn} />,\n enableSorting: true\n },\n status: {\n header: \"Status\",\n className: \"cms-aco-list-status\",\n cell: ({ status, version }: Entry) => {\n if (status && version) {\n return `${statusLabels[status as keyof typeof statusLabels]} (v${version})`;\n } else {\n return \"-\";\n }\n }\n },\n original: {\n header: \"\",\n meta: {\n alignEnd: true\n },\n size: 60,\n enableResizing: false,\n cell: (record: Entry) => {\n if (isRecordEntry(record)) {\n return (\n <Menu\n className={`${menuStyles} record-menu`}\n handle={<IconButton icon={<More />} />}\n >\n <RecordActionEdit\n record={record}\n onClick={createEditEntry(record.original)}\n canEdit={canEdit}\n />\n <RecordActionPublish record={record} />\n <RecordActionMove record={record} />\n <RecordActionDelete record={record} />\n </Menu>\n );\n }\n\n // If the user cannot manage folder structure, no need to show the menu.\n if (!record.original.canManageStructure) {\n return null;\n }\n\n return (\n <Menu handle={<IconButton icon={<More />} />}>\n <FolderActionEdit\n onClick={() => {\n setUpdateDialogOpen(true);\n setSelectedFolder(record.original);\n }}\n />\n {record.original.canManagePermissions && (\n <FolderActionManagePermissions\n onClick={() => {\n setManagePermissionsDialogOpen(true);\n setSelectedFolder(record.original);\n }}\n />\n )}\n <FolderActionDelete\n onClick={() => {\n setDeleteDialogOpen(true);\n setSelectedFolder(record.original);\n }}\n />\n </Menu>\n );\n }\n }\n };\n }, []);\n\n return (\n <div ref={ref}>\n <DataTable<Entry>\n columns={columns}\n data={data}\n isRowSelectable={row => row.original.$selectable}\n loadingInitial={loading}\n stickyRows={1}\n sorting={sorting}\n initialSorting={[\n {\n id: \"createdOn\",\n desc: true\n }\n ]}\n onSelectRow={onSelectRow}\n onSortingChange={onSortingChange}\n selectedRows={data.filter(record => selectedRows.find(row => row.id === record.id))}\n />\n {selectedFolder && (\n <>\n <FolderDialogUpdate\n folder={selectedFolder}\n open={updateDialogOpen}\n onClose={() => setUpdateDialogOpen(false)}\n />\n <FolderDialogManagePermissions\n folder={selectedFolder}\n open={managePermissionsDialogOpen}\n onClose={() => setManagePermissionsDialogOpen(false)}\n />\n <FolderDialogDelete\n folder={selectedFolder}\n open={deleteDialogOpen}\n onClose={() => setDeleteDialogOpen(false)}\n />\n </>\n )}\n </div>\n );\n});\n\nTable.displayName = \"Table\";\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireWildcard","require","_more_vert","_appAco","_Button","_DataTable","_Menu","_TimeAgo","_Name","_FolderActionDelete","_FolderActionEdit","_FolderActionManagePermissions","_RecordActionDelete","_RecordActionEdit","_RecordActionMove","_RecordActionPublish","_styled","_reactRouter","_hooks","_statusLabels","_acoRecordTransform","Table","forwardRef","props","ref","_useNavigateFolder","useNavigateFolder","currentFolderId","folders","records","loading","sorting","onSortingChange","selectedRows","onSelectRow","_useModel","useModel","model","_useRouter","useRouter","history","_usePermission","usePermission","baseCanEdit","canEdit","_useState","useState","_useState2","_slicedToArray2","default","selectedFolder","setSelectedFolder","_useState3","_useState4","updateDialogOpen","setUpdateDialogOpen","_useState5","_useState6","deleteDialogOpen","setDeleteDialogOpen","_useState7","_useState8","managePermissionsDialogOpen","setManagePermissionsDialogOpen","data","useMemo","concat","useCallback","entry","createEditEntry","undefined","folderPath","encodeURIComponent","push","modelId","id","columns","_ref3","titleColumnId","titleFieldId","_defineProperty2","header","className","cell","record","isRecordEntry","createElement","EntryName","onClick","original","FolderName","enableSorting","size","_ref","savedOn","TimeAgo","datetime","_ref2","status","version","statusLabels","meta","alignEnd","enableResizing","Menu","menuStyles","handle","IconButton","icon","ReactComponent","RecordActionEdit","RecordActionPublish","RecordActionMove","RecordActionDelete","canManageStructure","FolderActionEdit","canManagePermissions","FolderActionManagePermissions","FolderActionDelete","DataTable","isRowSelectable","row","$selectable","loadingInitial","stickyRows","initialSorting","desc","filter","find","Fragment","FolderDialogUpdate","folder","open","onClose","FolderDialogManagePermissions","FolderDialogDelete","exports","displayName"],"sources":["index.tsx"],"sourcesContent":["import React, { forwardRef, useCallback, useMemo, useState } from \"react\";\nimport { ReactComponent as More } from \"@material-design-icons/svg/filled/more_vert.svg\";\nimport {\n FolderDialogDelete,\n FolderDialogUpdate,\n FolderDialogManagePermissions,\n useNavigateFolder\n} from \"@webiny/app-aco\";\nimport { FolderItem } from \"@webiny/app-aco/types\";\nimport { IconButton } from \"@webiny/ui/Button\";\nimport { Columns, DataTable, OnSortingChange, Sorting } from \"@webiny/ui/DataTable\";\nimport { Menu } from \"@webiny/ui/Menu\";\nimport { TimeAgo } from \"@webiny/ui/TimeAgo\";\nimport { EntryName, FolderName } from \"./Row/Name\";\nimport { FolderActionDelete } from \"./Row/Folder/FolderActionDelete\";\nimport { FolderActionEdit } from \"./Row/Folder/FolderActionEdit\";\nimport { FolderActionManagePermissions } from \"./Row/Folder/FolderActionManagePermissions\";\nimport { RecordActionDelete } from \"./Row/Record/RecordActionDelete\";\nimport { RecordActionEdit } from \"./Row/Record/RecordActionEdit\";\nimport { RecordActionMove } from \"./Row/Record/RecordActionMove\";\nimport { RecordActionPublish } from \"./Row/Record/RecordActionPublish\";\nimport { menuStyles } from \"./styled\";\nimport { Entry, FolderEntry, RecordEntry } from \"./types\";\nimport { useRouter } from \"@webiny/react-router\";\nimport { useModel, usePermission } from \"~/admin/hooks\";\nimport { CreatableItem } from \"~/admin/hooks/usePermission\";\nimport { statuses as statusLabels } from \"~/admin/constants/statusLabels\";\nimport { isRecordEntry } from \"~/utils/acoRecordTransform\";\nimport { CmsContentEntry } from \"@webiny/app-headless-cms-common/types\";\n\nexport interface TableProps {\n folders: FolderEntry[];\n loading?: boolean;\n onSelectRow: (rows: Entry[] | []) => void;\n onSortingChange: OnSortingChange;\n records: RecordEntry[];\n selectedRows: CmsContentEntry[];\n sorting: Sorting;\n}\n\nexport const Table = forwardRef<HTMLDivElement, TableProps>((props, ref) => {\n const { currentFolderId } = useNavigateFolder();\n const { folders, records, loading, sorting, onSortingChange, selectedRows, onSelectRow } =\n props;\n const { model } = useModel();\n\n const { history } = useRouter();\n const { canEdit: baseCanEdit } = usePermission();\n\n const [selectedFolder, setSelectedFolder] = useState<FolderItem>();\n const [updateDialogOpen, setUpdateDialogOpen] = useState<boolean>(false);\n const [deleteDialogOpen, setDeleteDialogOpen] = useState<boolean>(false);\n const [managePermissionsDialogOpen, setManagePermissionsDialogOpen] = useState<boolean>(false);\n\n const data = useMemo<Entry[]>(() => {\n return (folders as Entry[]).concat(records as Entry[]);\n }, [folders, records]);\n\n const canEdit = useCallback(\n (entry: CreatableItem) => {\n return baseCanEdit(entry, \"cms.contentEntry\");\n },\n [baseCanEdit]\n );\n const createEditEntry = useCallback(\n (entry: CreatableItem & Pick<Entry, \"id\">) => {\n if (!canEdit(entry)) {\n return undefined;\n }\n return () => {\n const folderPath = currentFolderId\n ? `&folderId=${encodeURIComponent(currentFolderId)}`\n : \"\";\n history.push(\n `/cms/content-entries/${model.modelId}?id=${encodeURIComponent(\n entry.id\n )}${folderPath}`\n );\n };\n },\n [canEdit, model.modelId, currentFolderId]\n );\n\n const columns: Columns<Entry> = useMemo(() => {\n const titleColumnId = model.titleFieldId || \"id\";\n\n return {\n [titleColumnId]: {\n header: \"Name\",\n className: \"cms-aco-list-title\",\n cell: (record: Entry) => {\n if (isRecordEntry(record)) {\n return (\n <EntryName record={record} onClick={createEditEntry(record.original)} />\n );\n }\n return <FolderName record={record} />;\n },\n enableSorting: true,\n size: 400\n },\n createdBy: {\n header: \"Author\",\n className: \"cms-aco-list-createdBy\"\n },\n savedOn: {\n header: \"Modified\",\n className: \"cms-aco-list-savedOn\",\n cell: ({ savedOn }: Entry) => <TimeAgo datetime={savedOn} />,\n enableSorting: true\n },\n status: {\n header: \"Status\",\n className: \"cms-aco-list-status\",\n cell: ({ status, version }: Entry) => {\n if (status && version) {\n return `${statusLabels[status as keyof typeof statusLabels]} (v${version})`;\n } else {\n return \"-\";\n }\n }\n },\n original: {\n header: \"\",\n meta: {\n alignEnd: true\n },\n size: 60,\n enableResizing: false,\n cell: (record: Entry) => {\n if (isRecordEntry(record)) {\n return (\n <Menu\n className={`${menuStyles} record-menu`}\n handle={<IconButton icon={<More />} />}\n >\n <RecordActionEdit\n record={record}\n onClick={createEditEntry(record.original)}\n canEdit={canEdit}\n />\n <RecordActionPublish record={record} />\n <RecordActionMove record={record} />\n <RecordActionDelete record={record} />\n </Menu>\n );\n }\n\n // If the user cannot manage folder structure, no need to show the menu.\n if (!record.original.canManageStructure) {\n return null;\n }\n\n return (\n <Menu handle={<IconButton icon={<More />} />}>\n <FolderActionEdit\n onClick={() => {\n setUpdateDialogOpen(true);\n setSelectedFolder(record.original);\n }}\n />\n {record.original.canManagePermissions && (\n <FolderActionManagePermissions\n onClick={() => {\n setManagePermissionsDialogOpen(true);\n setSelectedFolder(record.original);\n }}\n />\n )}\n <FolderActionDelete\n onClick={() => {\n setDeleteDialogOpen(true);\n setSelectedFolder(record.original);\n }}\n />\n </Menu>\n );\n }\n }\n };\n }, []);\n\n return (\n <div ref={ref}>\n <DataTable<Entry>\n columns={columns}\n data={data}\n isRowSelectable={row => row.original.$selectable}\n loadingInitial={loading}\n stickyRows={1}\n sorting={sorting}\n initialSorting={[\n {\n id: \"createdOn\",\n desc: true\n }\n ]}\n onSelectRow={onSelectRow}\n onSortingChange={onSortingChange}\n selectedRows={data.filter(record => selectedRows.find(row => row.id === record.id))}\n />\n {selectedFolder && (\n <>\n <FolderDialogUpdate\n folder={selectedFolder}\n open={updateDialogOpen}\n onClose={() => setUpdateDialogOpen(false)}\n />\n <FolderDialogManagePermissions\n folder={selectedFolder}\n open={managePermissionsDialogOpen}\n onClose={() => setManagePermissionsDialogOpen(false)}\n />\n <FolderDialogDelete\n folder={selectedFolder}\n open={deleteDialogOpen}\n onClose={() => setDeleteDialogOpen(false)}\n />\n </>\n )}\n </div>\n );\n});\n\nTable.displayName = \"Table\";\n"],"mappings":"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"}
|
|
@@ -11,7 +11,7 @@ export interface BulkActionProps {
|
|
|
11
11
|
before?: string;
|
|
12
12
|
after?: string;
|
|
13
13
|
modelIds?: string[];
|
|
14
|
-
element
|
|
14
|
+
element?: React.ReactElement;
|
|
15
15
|
}
|
|
16
16
|
export declare const BaseBulkAction: React.FC<BulkActionProps>;
|
|
17
17
|
export declare const BulkAction: React.FC<BulkActionProps> & {
|
|
@@ -45,11 +45,11 @@ var BaseBulkAction = function BaseBulkAction(_ref) {
|
|
|
45
45
|
id: getId(name, "name"),
|
|
46
46
|
name: "name",
|
|
47
47
|
value: name
|
|
48
|
-
}), /*#__PURE__*/_react.default.createElement(_reactProperties.Property, {
|
|
48
|
+
}), element ? /*#__PURE__*/_react.default.createElement(_reactProperties.Property, {
|
|
49
49
|
id: getId(name, "element"),
|
|
50
50
|
name: "element",
|
|
51
51
|
value: element
|
|
52
|
-
})));
|
|
52
|
+
}) : null));
|
|
53
53
|
};
|
|
54
54
|
exports.BaseBulkAction = BaseBulkAction;
|
|
55
55
|
var useWorker = function useWorker() {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","_interopRequireWildcard","require","_appAdmin","_reactProperties","_hooks","BaseBulkAction","_ref","name","_ref$after","after","undefined","_ref$before","before","_ref$remove","remove","_ref$modelIds","modelIds","element","_useModel","useModel","model","getId","useIdGenerator","length","includes","modelId","placeAfter","placeBefore","default","createElement","Property","id","array","value","exports","useWorker","_useContentEntriesLis","useContentEntriesList","selected","setSelected","_useRef","useRef","Worker","worker","current","useEffect","items","resetItems","useCallback","process","callback","processInSeries","_processInSeries","_asyncToGenerator2","_regeneratorRuntime2","mark","_callee","chunkSize","wrap","_callee$","_context","prev","next","abrupt","stop","_x","_x2","apply","arguments","results","BulkAction","Object","assign","useButtons","useDialog","useDialogWithReport"],"sources":["BulkAction.tsx"],"sourcesContent":["import React, { useCallback, useEffect, useRef } from \"react\";\nimport { CallbackParams, useButtons, useDialogWithReport, Worker } from \"@webiny/app-admin\";\nimport { Property, useIdGenerator } from \"@webiny/react-properties\";\nimport { useContentEntriesList, useModel } from \"~/admin/hooks\";\nimport { CmsContentEntry } from \"@webiny/app-headless-cms-common/types\";\n\nexport interface BulkActionConfig {\n name: string;\n element: React.ReactElement;\n}\n\nexport interface BulkActionProps {\n name: string;\n remove?: boolean;\n before?: string;\n after?: string;\n modelIds?: string[];\n element
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireWildcard","require","_appAdmin","_reactProperties","_hooks","BaseBulkAction","_ref","name","_ref$after","after","undefined","_ref$before","before","_ref$remove","remove","_ref$modelIds","modelIds","element","_useModel","useModel","model","getId","useIdGenerator","length","includes","modelId","placeAfter","placeBefore","default","createElement","Property","id","array","value","exports","useWorker","_useContentEntriesLis","useContentEntriesList","selected","setSelected","_useRef","useRef","Worker","worker","current","useEffect","items","resetItems","useCallback","process","callback","processInSeries","_processInSeries","_asyncToGenerator2","_regeneratorRuntime2","mark","_callee","chunkSize","wrap","_callee$","_context","prev","next","abrupt","stop","_x","_x2","apply","arguments","results","BulkAction","Object","assign","useButtons","useDialog","useDialogWithReport"],"sources":["BulkAction.tsx"],"sourcesContent":["import React, { useCallback, useEffect, useRef } from \"react\";\nimport { CallbackParams, useButtons, useDialogWithReport, Worker } from \"@webiny/app-admin\";\nimport { Property, useIdGenerator } from \"@webiny/react-properties\";\nimport { useContentEntriesList, useModel } from \"~/admin/hooks\";\nimport { CmsContentEntry } from \"@webiny/app-headless-cms-common/types\";\n\nexport interface BulkActionConfig {\n name: string;\n element: React.ReactElement;\n}\n\nexport interface BulkActionProps {\n name: string;\n remove?: boolean;\n before?: string;\n after?: string;\n modelIds?: string[];\n element?: React.ReactElement;\n}\n\nexport const BaseBulkAction: React.FC<BulkActionProps> = ({\n name,\n after = undefined,\n before = undefined,\n remove = false,\n modelIds = [],\n element\n}) => {\n const { model } = useModel();\n const getId = useIdGenerator(\"bulkAction\");\n\n if (modelIds.length > 0 && !modelIds.includes(model.modelId)) {\n return null;\n }\n\n const placeAfter = after !== undefined ? getId(after) : undefined;\n const placeBefore = before !== undefined ? getId(before) : undefined;\n\n return (\n <Property id=\"browser\" name={\"browser\"}>\n <Property\n id={getId(name)}\n name={\"bulkActions\"}\n remove={remove}\n array={true}\n before={placeBefore}\n after={placeAfter}\n >\n <Property id={getId(name, \"name\")} name={\"name\"} value={name} />\n {element ? (\n <Property id={getId(name, \"element\")} name={\"element\"} value={element} />\n ) : null}\n </Property>\n </Property>\n );\n};\n\nconst useWorker = () => {\n const { selected, setSelected } = useContentEntriesList();\n const { current: worker } = useRef(new Worker<CmsContentEntry>());\n\n useEffect(() => {\n worker.items = selected;\n }, [selected.length]);\n\n // Reset selected items in both useContentEntriesList and Worker\n const resetItems = useCallback(() => {\n worker.items = [];\n setSelected([]);\n }, []);\n\n return {\n items: selected,\n process: (callback: (items: CmsContentEntry[]) => void) => worker.process(callback),\n processInSeries: async (\n callback: ({\n item,\n allItems,\n report\n }: CallbackParams<CmsContentEntry>) => Promise<void>,\n chunkSize?: number\n ) => worker.processInSeries(callback, chunkSize),\n resetItems: resetItems,\n results: worker.results\n };\n};\n\nexport const BulkAction = Object.assign(BaseBulkAction, {\n useButtons,\n useWorker,\n useDialog: useDialogWithReport\n});\n"],"mappings":"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"}
|
|
@@ -7,19 +7,14 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
7
7
|
exports.CreatedBy = void 0;
|
|
8
8
|
var _react = _interopRequireDefault(require("react"));
|
|
9
9
|
var _Box = require("./Box");
|
|
10
|
-
var
|
|
11
|
-
/**
|
|
12
|
-
* Package timeago-react does not have types.
|
|
13
|
-
*/
|
|
14
|
-
// @ts-ignore
|
|
15
|
-
|
|
10
|
+
var _TimeAgo = require("@webiny/ui/TimeAgo");
|
|
16
11
|
var CreatedBy = function CreatedBy(_ref) {
|
|
17
12
|
var createdBy = _ref.createdBy,
|
|
18
13
|
createdOn = _ref.createdOn;
|
|
19
14
|
return /*#__PURE__*/_react.default.createElement(_Box.Box, {
|
|
20
15
|
icon: null,
|
|
21
16
|
name: "Created By"
|
|
22
|
-
}, createdBy.displayName, " ", /*#__PURE__*/_react.default.createElement("br", null), /*#__PURE__*/_react.default.createElement(
|
|
17
|
+
}, createdBy.displayName, " ", /*#__PURE__*/_react.default.createElement("br", null), /*#__PURE__*/_react.default.createElement(_TimeAgo.TimeAgo, {
|
|
23
18
|
datetime: createdOn
|
|
24
19
|
}));
|
|
25
20
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","_interopRequireDefault","require","_Box","
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireDefault","require","_Box","_TimeAgo","CreatedBy","_ref","createdBy","createdOn","default","createElement","Box","icon","name","displayName","TimeAgo","datetime","exports"],"sources":["CreatedBy.tsx"],"sourcesContent":["import React from \"react\";\nimport { CmsIdentity } from \"~/types\";\nimport { Box } from \"./Box\";\nimport { TimeAgo } from \"@webiny/ui/TimeAgo\";\n\ninterface Props {\n createdBy: CmsIdentity;\n createdOn: Date;\n}\nexport const CreatedBy: React.VFC<Props> = ({ createdBy, createdOn }) => {\n return (\n <Box icon={null} name={\"Created By\"}>\n {createdBy.displayName} <br />\n <TimeAgo datetime={createdOn} />\n </Box>\n );\n};\n"],"mappings":";;;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AAEA,IAAAC,IAAA,GAAAD,OAAA;AACA,IAAAE,QAAA,GAAAF,OAAA;AAMO,IAAMG,SAA2B,GAAG,SAA9BA,SAA2BA,CAAAC,IAAA,EAAiC;EAAA,IAA3BC,SAAS,GAAAD,IAAA,CAATC,SAAS;IAAEC,SAAS,GAAAF,IAAA,CAATE,SAAS;EAC9D,oBACIR,MAAA,CAAAS,OAAA,CAAAC,aAAA,CAACP,IAAA,CAAAQ,GAAG;IAACC,IAAI,EAAE,IAAK;IAACC,IAAI,EAAE;EAAa,GAC/BN,SAAS,CAACO,WAAW,EAAC,GAAC,eAAAd,MAAA,CAAAS,OAAA,CAAAC,aAAA,WAAK,CAAC,eAC9BV,MAAA,CAAAS,OAAA,CAAAC,aAAA,CAACN,QAAA,CAAAW,OAAO;IAACC,QAAQ,EAAER;EAAU,CAAE,CAC9B,CAAC;AAEd,CAAC;AAACS,OAAA,CAAAZ,SAAA,GAAAA,SAAA"}
|
|
@@ -7,12 +7,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
7
7
|
exports.ModifiedBy = void 0;
|
|
8
8
|
var _react = _interopRequireDefault(require("react"));
|
|
9
9
|
var _Box = require("./Box");
|
|
10
|
-
var
|
|
11
|
-
/**
|
|
12
|
-
* Package timeago-react does not have types.
|
|
13
|
-
*/
|
|
14
|
-
// @ts-ignore
|
|
15
|
-
|
|
10
|
+
var _TimeAgo = require("@webiny/ui/TimeAgo");
|
|
16
11
|
var ModifiedBy = function ModifiedBy(_ref) {
|
|
17
12
|
var modifiedBy = _ref.modifiedBy,
|
|
18
13
|
savedOn = _ref.savedOn;
|
|
@@ -23,7 +18,7 @@ var ModifiedBy = function ModifiedBy(_ref) {
|
|
|
23
18
|
return /*#__PURE__*/_react.default.createElement(_Box.Box, {
|
|
24
19
|
icon: null,
|
|
25
20
|
name: "Modified By"
|
|
26
|
-
}, showInformation && /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, modifiedBy === null || modifiedBy === void 0 ? void 0 : modifiedBy.displayName, " ", /*#__PURE__*/_react.default.createElement("br", null), /*#__PURE__*/_react.default.createElement(
|
|
21
|
+
}, showInformation && /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, modifiedBy === null || modifiedBy === void 0 ? void 0 : modifiedBy.displayName, " ", /*#__PURE__*/_react.default.createElement("br", null), /*#__PURE__*/_react.default.createElement(_TimeAgo.TimeAgo, {
|
|
27
22
|
datetime: savedOn
|
|
28
23
|
})));
|
|
29
24
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","_interopRequireDefault","require","_Box","
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireDefault","require","_Box","_TimeAgo","ModifiedBy","_ref","modifiedBy","savedOn","showInformation","displayName","default","createElement","Box","icon","name","Fragment","TimeAgo","datetime","exports"],"sources":["ModifiedBy.tsx"],"sourcesContent":["import React from \"react\";\nimport { CmsIdentity } from \"~/types\";\nimport { Box } from \"./Box\";\nimport { TimeAgo } from \"@webiny/ui/TimeAgo\";\n\ninterface Props {\n modifiedBy?: CmsIdentity | null;\n savedOn: Date;\n}\n\nexport const ModifiedBy: React.VFC<Props> = ({ modifiedBy, savedOn }) => {\n const showInformation = !!(modifiedBy?.displayName && savedOn);\n\n if (!showInformation) {\n return null;\n }\n\n return (\n <Box icon={null} name={\"Modified By\"}>\n {showInformation && (\n <>\n {modifiedBy?.displayName} <br />\n <TimeAgo datetime={savedOn} />\n </>\n )}\n </Box>\n );\n};\n"],"mappings":";;;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AAEA,IAAAC,IAAA,GAAAD,OAAA;AACA,IAAAE,QAAA,GAAAF,OAAA;AAOO,IAAMG,UAA4B,GAAG,SAA/BA,UAA4BA,CAAAC,IAAA,EAAgC;EAAA,IAA1BC,UAAU,GAAAD,IAAA,CAAVC,UAAU;IAAEC,OAAO,GAAAF,IAAA,CAAPE,OAAO;EAC9D,IAAMC,eAAe,GAAG,CAAC,EAAEF,UAAU,aAAVA,UAAU,eAAVA,UAAU,CAAEG,WAAW,IAAIF,OAAO,CAAC;EAE9D,IAAI,CAACC,eAAe,EAAE;IAClB,OAAO,IAAI;EACf;EAEA,oBACIT,MAAA,CAAAW,OAAA,CAAAC,aAAA,CAACT,IAAA,CAAAU,GAAG;IAACC,IAAI,EAAE,IAAK;IAACC,IAAI,EAAE;EAAc,GAChCN,eAAe,iBACZT,MAAA,CAAAW,OAAA,CAAAC,aAAA,CAAAZ,MAAA,CAAAW,OAAA,CAAAK,QAAA,QACKT,UAAU,aAAVA,UAAU,uBAAVA,UAAU,CAAEG,WAAW,EAAC,GAAC,eAAAV,MAAA,CAAAW,OAAA,CAAAC,aAAA,WAAK,CAAC,eAChCZ,MAAA,CAAAW,OAAA,CAAAC,aAAA,CAACR,QAAA,CAAAa,OAAO;IAACC,QAAQ,EAAEV;EAAQ,CAAE,CAC/B,CAEL,CAAC;AAEd,CAAC;AAACW,OAAA,CAAAd,UAAA,GAAAA,UAAA"}
|
|
@@ -8,7 +8,7 @@ exports.default = void 0;
|
|
|
8
8
|
var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
|
|
9
9
|
var _react = _interopRequireDefault(require("react"));
|
|
10
10
|
var _emotion = require("emotion");
|
|
11
|
-
var
|
|
11
|
+
var _TimeAgo = require("@webiny/ui/TimeAgo");
|
|
12
12
|
var _List = require("@webiny/ui/List");
|
|
13
13
|
var _Button = require("@webiny/ui/Button");
|
|
14
14
|
var _Icon = require("@webiny/ui/Icon");
|
|
@@ -29,10 +29,6 @@ var _useContentEntry2 = require("../hooks/useContentEntry");
|
|
|
29
29
|
var _PublishEntryRevisionListItem = require("./PublishEntryRevisionListItem");
|
|
30
30
|
var _appAdmin = require("@webiny/app-admin");
|
|
31
31
|
var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8;
|
|
32
|
-
/**
|
|
33
|
-
* Package timeago-react does not have types.
|
|
34
|
-
*/
|
|
35
|
-
// @ts-ignore
|
|
36
32
|
var t = _i18n.i18n.ns("app-headless-cms/admin/plugins/content-details/content-revisions");
|
|
37
33
|
var primaryColor = /*#__PURE__*/(0, _emotion.css)({
|
|
38
34
|
color: "var(--mdc-theme-primary)"
|
|
@@ -103,7 +99,7 @@ var RevisionListItem = function RevisionListItem(_ref) {
|
|
|
103
99
|
content: tooltipText,
|
|
104
100
|
placement: "bottom"
|
|
105
101
|
}, icon)), /*#__PURE__*/_react.default.createElement(_List.ListItemText, null, /*#__PURE__*/_react.default.createElement(_List.ListItemTextPrimary, null, revision.meta.title || t(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2.default)(["N/A"])))), /*#__PURE__*/_react.default.createElement(_List.ListItemTextSecondary, null, t(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2.default)(["Last modified {time} (#{version})"])))({
|
|
106
|
-
time: /*#__PURE__*/_react.default.createElement(
|
|
102
|
+
time: /*#__PURE__*/_react.default.createElement(_TimeAgo.TimeAgo, {
|
|
107
103
|
datetime: revision.savedOn
|
|
108
104
|
}),
|
|
109
105
|
version: revision.meta.version
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","_interopRequireDefault","require","_emotion","_timeagoReact","_List","_Button","_Icon","_Menu","_Tooltip","_more_vert","_lock","_beenhere","_gesture","_add","_edit","_unpublish","_delete","_i18n","_useRevision2","_usePermission2","_useContentEntry2","_PublishEntryRevisionListItem","_appAdmin","_templateObject","_templateObject2","_templateObject3","_templateObject4","_templateObject5","_templateObject6","_templateObject7","_templateObject8","t","i18n","ns","primaryColor","css","color","revisionsMenu","width","right","left","getIcon","rev","meta","locked","status","icon","default","createElement","Icon","ReactComponent","text","className","RevisionListItem","_ref","revision","_useRevision","useRevision","createRevision","deleteRevision","publishRevision","unpublishRevision","editRevision","_useConfirmationDialo","useConfirmationDialog","title","_taggedTemplateLiteral2","message","version","showConfirmation","_useContentEntry","useContentEntry","entry","tabsRef","_usePermission","usePermission","canEdit","canDelete","canPublish","canUnpublish","_getIcon","tooltipText","ListItem","ListItemGraphic","Tooltip","content","placement","ListItemText","ListItemTextPrimary","ListItemTextSecondary","time","datetime","savedOn","ListItemMeta","Menu","handle","IconButton","MenuItem","onClick","id","current","switchTab","PublishEntryRevisionListItem","MenuDivider","_default","exports"],"sources":["RevisionListItem.tsx"],"sourcesContent":["import React from \"react\";\nimport { css } from \"emotion\";\n/**\n * Package timeago-react does not have types.\n */\n// @ts-ignore\nimport TimeAgo from \"timeago-react\";\nimport {\n ListItem,\n ListItemText,\n ListItemTextPrimary,\n ListItemTextSecondary,\n ListItemGraphic,\n ListItemMeta\n} from \"@webiny/ui/List\";\nimport { IconButton } from \"@webiny/ui/Button\";\nimport { Icon } from \"@webiny/ui/Icon\";\nimport { MenuItem, Menu, MenuDivider } from \"@webiny/ui/Menu\";\nimport { Tooltip } from \"@webiny/ui/Tooltip\";\nimport { ReactComponent as MoreVerticalIcon } from \"~/admin/icons/more_vert.svg\";\nimport { ReactComponent as LockIcon } from \"~/admin/icons/lock.svg\";\nimport { ReactComponent as BeenHereIcon } from \"~/admin/icons/beenhere.svg\";\nimport { ReactComponent as GestureIcon } from \"~/admin/icons/gesture.svg\";\nimport { ReactComponent as AddIcon } from \"~/admin/icons/add.svg\";\nimport { ReactComponent as EditIcon } from \"~/admin/icons/edit.svg\";\nimport { ReactComponent as UnpublishIcon } from \"~/admin/icons/unpublish.svg\";\nimport { ReactComponent as DeleteIcon } from \"~/admin/icons/delete.svg\";\nimport { CmsContentEntry } from \"~/types\";\nimport { i18n } from \"@webiny/app/i18n\";\nimport { useRevision } from \"./useRevision\";\nimport usePermission from \"~/admin/hooks/usePermission\";\nimport { useContentEntry } from \"~/admin/views/contentEntries/hooks/useContentEntry\";\nimport { PublishEntryRevisionListItem } from \"./PublishEntryRevisionListItem\";\nimport { useConfirmationDialog } from \"@webiny/app-admin\";\n\nconst t = i18n.ns(\"app-headless-cms/admin/plugins/content-details/content-revisions\");\n\nconst primaryColor = css({ color: \"var(--mdc-theme-primary)\" });\n\nconst revisionsMenu = css({\n width: 250,\n right: -105,\n left: \"auto !important\"\n});\n\nconst getIcon = (rev: CmsContentEntry) => {\n switch (true) {\n case rev.meta.locked && rev.meta.status !== \"published\":\n return {\n icon: <Icon icon={<LockIcon />} data-testid={\"cms.revision.status.locked\"} />,\n text: \"This revision is locked (it has already been published)\"\n };\n case rev.meta.status === \"published\":\n return {\n icon: (\n <Icon\n icon={<BeenHereIcon />}\n className={primaryColor}\n data-testid={\"cms.revision.status.published\"}\n />\n ),\n text: \"This revision is currently published!\"\n };\n default:\n return {\n icon: <Icon icon={<GestureIcon />} data-testid={\"cms.revision.status.draft\"} />,\n text: \"This is a draft\"\n };\n }\n};\n\ninterface RevisionListItemProps {\n revision: CmsContentEntry;\n}\n\nconst RevisionListItem: React.FC<RevisionListItemProps> = ({ revision }) => {\n const { createRevision, deleteRevision, publishRevision, unpublishRevision, editRevision } =\n useRevision({\n revision\n });\n\n const { showConfirmation } = useConfirmationDialog({\n title: t`Delete content entry revision`,\n message: (\n <span>\n {t`You are about to delete revision {revision}. Are you sure you want to continue?`(\n {\n revision: <strong>#{revision.meta.version}</strong>\n }\n )}\n </span>\n )\n });\n const { entry, tabsRef } = useContentEntry();\n const { canEdit, canDelete, canPublish, canUnpublish } = usePermission();\n const { icon, text: tooltipText } = getIcon(revision);\n\n return (\n <ListItem>\n <ListItemGraphic>\n <Tooltip content={tooltipText} placement={\"bottom\"}>\n {icon}\n </Tooltip>\n </ListItemGraphic>\n <ListItemText>\n <ListItemTextPrimary>{revision.meta.title || t`N/A`}</ListItemTextPrimary>\n <ListItemTextSecondary>\n {t`Last modified {time} (#{version})`({\n time: <TimeAgo datetime={revision.savedOn} />,\n version: revision.meta.version\n })}\n </ListItemTextSecondary>\n </ListItemText>\n <ListItemMeta>\n <Menu\n handle={<IconButton icon={<MoreVerticalIcon />} />}\n className={revisionsMenu}\n data-testid={\"cms.content-form.revisions.more-options\"}\n >\n {canEdit(entry, \"cms.contentEntry\") && (\n <MenuItem\n onClick={() => createRevision(revision.id)}\n data-testid={\"cms.revision.create-revision\"}\n >\n <ListItemGraphic>\n <Icon icon={<AddIcon />} />\n </ListItemGraphic>\n {t`New from current`}\n </MenuItem>\n )}\n\n {!revision.meta.locked && canEdit(entry, \"cms.contentEntry\") && (\n <MenuItem\n onClick={() => {\n editRevision();\n if (!tabsRef.current) {\n return;\n }\n tabsRef.current.switchTab(0);\n }}\n >\n <ListItemGraphic>\n <Icon icon={<EditIcon />} />\n </ListItemGraphic>\n {t`Edit`}\n </MenuItem>\n )}\n\n {revision.meta.status !== \"published\" && canPublish(\"cms.contentEntry\") && (\n <MenuItem onClick={() => publishRevision(revision.id)}>\n <PublishEntryRevisionListItem />\n </MenuItem>\n )}\n\n {revision.meta.status === \"published\" && canUnpublish(\"cms.contentEntry\") && (\n <MenuItem\n onClick={() => unpublishRevision(revision.id)}\n data-testid={\"cms.revision.unpublish\"}\n >\n <ListItemGraphic>\n <Icon icon={<UnpublishIcon />} />\n </ListItemGraphic>\n {t`Unpublish`}\n </MenuItem>\n )}\n\n {!revision.meta.locked && canDelete(entry, \"cms.contentEntry\") && (\n <div>\n <MenuDivider />\n <MenuItem onClick={() => showConfirmation(deleteRevision)}>\n <ListItemGraphic>\n <Icon icon={<DeleteIcon />} />\n </ListItemGraphic>\n {t` Delete`}\n </MenuItem>\n </div>\n )}\n </Menu>\n </ListItemMeta>\n </ListItem>\n );\n};\n\nexport default RevisionListItem;\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireDefault","require","_emotion","_TimeAgo","_List","_Button","_Icon","_Menu","_Tooltip","_more_vert","_lock","_beenhere","_gesture","_add","_edit","_unpublish","_delete","_i18n","_useRevision2","_usePermission2","_useContentEntry2","_PublishEntryRevisionListItem","_appAdmin","_templateObject","_templateObject2","_templateObject3","_templateObject4","_templateObject5","_templateObject6","_templateObject7","_templateObject8","t","i18n","ns","primaryColor","css","color","revisionsMenu","width","right","left","getIcon","rev","meta","locked","status","icon","default","createElement","Icon","ReactComponent","text","className","RevisionListItem","_ref","revision","_useRevision","useRevision","createRevision","deleteRevision","publishRevision","unpublishRevision","editRevision","_useConfirmationDialo","useConfirmationDialog","title","_taggedTemplateLiteral2","message","version","showConfirmation","_useContentEntry","useContentEntry","entry","tabsRef","_usePermission","usePermission","canEdit","canDelete","canPublish","canUnpublish","_getIcon","tooltipText","ListItem","ListItemGraphic","Tooltip","content","placement","ListItemText","ListItemTextPrimary","ListItemTextSecondary","time","TimeAgo","datetime","savedOn","ListItemMeta","Menu","handle","IconButton","MenuItem","onClick","id","current","switchTab","PublishEntryRevisionListItem","MenuDivider","_default","exports"],"sources":["RevisionListItem.tsx"],"sourcesContent":["import React from \"react\";\nimport { css } from \"emotion\";\nimport { TimeAgo } from \"@webiny/ui/TimeAgo\";\nimport {\n ListItem,\n ListItemText,\n ListItemTextPrimary,\n ListItemTextSecondary,\n ListItemGraphic,\n ListItemMeta\n} from \"@webiny/ui/List\";\nimport { IconButton } from \"@webiny/ui/Button\";\nimport { Icon } from \"@webiny/ui/Icon\";\nimport { MenuItem, Menu, MenuDivider } from \"@webiny/ui/Menu\";\nimport { Tooltip } from \"@webiny/ui/Tooltip\";\nimport { ReactComponent as MoreVerticalIcon } from \"~/admin/icons/more_vert.svg\";\nimport { ReactComponent as LockIcon } from \"~/admin/icons/lock.svg\";\nimport { ReactComponent as BeenHereIcon } from \"~/admin/icons/beenhere.svg\";\nimport { ReactComponent as GestureIcon } from \"~/admin/icons/gesture.svg\";\nimport { ReactComponent as AddIcon } from \"~/admin/icons/add.svg\";\nimport { ReactComponent as EditIcon } from \"~/admin/icons/edit.svg\";\nimport { ReactComponent as UnpublishIcon } from \"~/admin/icons/unpublish.svg\";\nimport { ReactComponent as DeleteIcon } from \"~/admin/icons/delete.svg\";\nimport { CmsContentEntry } from \"~/types\";\nimport { i18n } from \"@webiny/app/i18n\";\nimport { useRevision } from \"./useRevision\";\nimport usePermission from \"~/admin/hooks/usePermission\";\nimport { useContentEntry } from \"~/admin/views/contentEntries/hooks/useContentEntry\";\nimport { PublishEntryRevisionListItem } from \"./PublishEntryRevisionListItem\";\nimport { useConfirmationDialog } from \"@webiny/app-admin\";\n\nconst t = i18n.ns(\"app-headless-cms/admin/plugins/content-details/content-revisions\");\n\nconst primaryColor = css({ color: \"var(--mdc-theme-primary)\" });\n\nconst revisionsMenu = css({\n width: 250,\n right: -105,\n left: \"auto !important\"\n});\n\nconst getIcon = (rev: CmsContentEntry) => {\n switch (true) {\n case rev.meta.locked && rev.meta.status !== \"published\":\n return {\n icon: <Icon icon={<LockIcon />} data-testid={\"cms.revision.status.locked\"} />,\n text: \"This revision is locked (it has already been published)\"\n };\n case rev.meta.status === \"published\":\n return {\n icon: (\n <Icon\n icon={<BeenHereIcon />}\n className={primaryColor}\n data-testid={\"cms.revision.status.published\"}\n />\n ),\n text: \"This revision is currently published!\"\n };\n default:\n return {\n icon: <Icon icon={<GestureIcon />} data-testid={\"cms.revision.status.draft\"} />,\n text: \"This is a draft\"\n };\n }\n};\n\ninterface RevisionListItemProps {\n revision: CmsContentEntry;\n}\n\nconst RevisionListItem: React.FC<RevisionListItemProps> = ({ revision }) => {\n const { createRevision, deleteRevision, publishRevision, unpublishRevision, editRevision } =\n useRevision({\n revision\n });\n\n const { showConfirmation } = useConfirmationDialog({\n title: t`Delete content entry revision`,\n message: (\n <span>\n {t`You are about to delete revision {revision}. Are you sure you want to continue?`(\n {\n revision: <strong>#{revision.meta.version}</strong>\n }\n )}\n </span>\n )\n });\n const { entry, tabsRef } = useContentEntry();\n const { canEdit, canDelete, canPublish, canUnpublish } = usePermission();\n const { icon, text: tooltipText } = getIcon(revision);\n\n return (\n <ListItem>\n <ListItemGraphic>\n <Tooltip content={tooltipText} placement={\"bottom\"}>\n {icon}\n </Tooltip>\n </ListItemGraphic>\n <ListItemText>\n <ListItemTextPrimary>{revision.meta.title || t`N/A`}</ListItemTextPrimary>\n <ListItemTextSecondary>\n {t`Last modified {time} (#{version})`({\n time: <TimeAgo datetime={revision.savedOn} />,\n version: revision.meta.version\n })}\n </ListItemTextSecondary>\n </ListItemText>\n <ListItemMeta>\n <Menu\n handle={<IconButton icon={<MoreVerticalIcon />} />}\n className={revisionsMenu}\n data-testid={\"cms.content-form.revisions.more-options\"}\n >\n {canEdit(entry, \"cms.contentEntry\") && (\n <MenuItem\n onClick={() => createRevision(revision.id)}\n data-testid={\"cms.revision.create-revision\"}\n >\n <ListItemGraphic>\n <Icon icon={<AddIcon />} />\n </ListItemGraphic>\n {t`New from current`}\n </MenuItem>\n )}\n\n {!revision.meta.locked && canEdit(entry, \"cms.contentEntry\") && (\n <MenuItem\n onClick={() => {\n editRevision();\n if (!tabsRef.current) {\n return;\n }\n tabsRef.current.switchTab(0);\n }}\n >\n <ListItemGraphic>\n <Icon icon={<EditIcon />} />\n </ListItemGraphic>\n {t`Edit`}\n </MenuItem>\n )}\n\n {revision.meta.status !== \"published\" && canPublish(\"cms.contentEntry\") && (\n <MenuItem onClick={() => publishRevision(revision.id)}>\n <PublishEntryRevisionListItem />\n </MenuItem>\n )}\n\n {revision.meta.status === \"published\" && canUnpublish(\"cms.contentEntry\") && (\n <MenuItem\n onClick={() => unpublishRevision(revision.id)}\n data-testid={\"cms.revision.unpublish\"}\n >\n <ListItemGraphic>\n <Icon icon={<UnpublishIcon />} />\n </ListItemGraphic>\n {t`Unpublish`}\n </MenuItem>\n )}\n\n {!revision.meta.locked && canDelete(entry, \"cms.contentEntry\") && (\n <div>\n <MenuDivider />\n <MenuItem onClick={() => showConfirmation(deleteRevision)}>\n <ListItemGraphic>\n <Icon icon={<DeleteIcon />} />\n </ListItemGraphic>\n {t` Delete`}\n </MenuItem>\n </div>\n )}\n </Menu>\n </ListItemMeta>\n </ListItem>\n );\n};\n\nexport default RevisionListItem;\n"],"mappings":"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"}
|
|
@@ -41,9 +41,19 @@ var Main = function Main(_ref) {
|
|
|
41
41
|
}, []);
|
|
42
42
|
var _useRouter = (0, _reactRouter.useRouter)(),
|
|
43
43
|
history = _useRouter.history;
|
|
44
|
+
|
|
45
|
+
// We check permissions on two layers - security and folder level permissions.
|
|
44
46
|
var _useContentEntry = (0, _hooks.useContentEntry)(),
|
|
45
47
|
canCreate = _useContentEntry.canCreate,
|
|
46
48
|
contentModel = _useContentEntry.contentModel;
|
|
49
|
+
var _useFolders = (0, _appAco.useFolders)(),
|
|
50
|
+
flp = _useFolders.folderLevelPermissions;
|
|
51
|
+
var canCreateFolder = (0, _react.useMemo)(function () {
|
|
52
|
+
return flp.canManageStructure(folderId);
|
|
53
|
+
}, [flp, folderId]);
|
|
54
|
+
var canCreateContent = (0, _react.useMemo)(function () {
|
|
55
|
+
return canCreate && flp.canManageContent(folderId);
|
|
56
|
+
}, [flp, folderId]);
|
|
47
57
|
var createEntry = (0, _react.useCallback)(function () {
|
|
48
58
|
var folder = folderId ? "&folderId=".concat(encodeURIComponent(folderId)) : "";
|
|
49
59
|
history.push("/cms/content-entries/".concat(contentModel.modelId, "?new=true").concat(folder));
|
|
@@ -92,14 +102,16 @@ var Main = function Main(_ref) {
|
|
|
92
102
|
}
|
|
93
103
|
return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_styled.MainContainer, null, /*#__PURE__*/_react.default.createElement(_Header.Header, {
|
|
94
104
|
title: !list.isListLoading ? list.listTitle : undefined,
|
|
95
|
-
|
|
105
|
+
canCreateFolder: canCreateFolder,
|
|
106
|
+
canCreateContent: canCreateContent,
|
|
96
107
|
onCreateEntry: createEntry,
|
|
97
108
|
onCreateFolder: openFoldersDialog,
|
|
98
109
|
searchValue: list.search,
|
|
99
110
|
onSearchChange: list.setSearch
|
|
100
111
|
}), /*#__PURE__*/_react.default.createElement(_BulkActions.BulkActions, null), /*#__PURE__*/_react.default.createElement(_styled.Wrapper, null, /*#__PURE__*/_react.default.createElement(_Filters.Filters, null), list.records.length === 0 && list.folders.length === 0 && !list.isListLoading ? /*#__PURE__*/_react.default.createElement(_Empty.Empty, {
|
|
101
112
|
isSearch: list.isSearch,
|
|
102
|
-
|
|
113
|
+
canCreateFolder: canCreateFolder,
|
|
114
|
+
canCreateContent: canCreateContent,
|
|
103
115
|
onCreateEntry: createEntry,
|
|
104
116
|
onCreateFolder: openFoldersDialog
|
|
105
117
|
}) : /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_Scrollbar.Scrollbar, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","_interopRequireWildcard","require","_debounce","_interopRequireDefault","_appAco","_Scrollbar","_Empty","_Filters","_Header","_LoadingMore","_LoadMoreButton","_Table","_styled","_hooks","_ContentEntry","_reactRouter","_constants","_BulkActions","Main","_ref","initialFolderId","folderId","undefined","ROOT_FOLDER","list","useContentEntriesList","_useState","useState","_useState2","_slicedToArray2","default","showFoldersDialog","setFoldersDialog","openFoldersDialog","useCallback","closeFoldersDialog","_useRouter","useRouter","history","_useContentEntry","useContentEntry","canCreate","contentModel","createEntry","folder","concat","encodeURIComponent","push","modelId","_window","window","windowHeight","innerHeight","_useState3","_useState4","tableHeight","setTableHeight","tableRef","useRef","useEffect","_tableRef$current","current","clientHeight","loadMoreOnScroll","debounce","_ref3","_asyncToGenerator2","_regeneratorRuntime2","mark","_callee","_ref2","scrollFrame","wrap","_callee$","_context","prev","next","top","listMoreRecords","stop","_x","apply","arguments","_useContentEntry2","showEmptyView","createElement","ContentEntry","Fragment","MainContainer","Header","title","isListLoading","listTitle","onCreateEntry","onCreateFolder","searchValue","search","onSearchChange","setSearch","BulkActions","Wrapper","Filters","records","length","folders","Empty","isSearch","Scrollbar","onScrollFrame","Table","ref","loading","sorting","onSortingChange","setSorting","onSelectRow","selectedRows","selected","LoadMoreButton","show","meta","hasMoreItems","disabled","isListLoadingMore","onClick","LoadingMore","FolderDialogCreate","open","onClose","currentParentId","exports"],"sources":["Main.tsx"],"sourcesContent":["import React, { useCallback, useEffect, useRef, useState } from \"react\";\nimport debounce from \"lodash/debounce\";\nimport { FolderDialogCreate } from \"@webiny/app-aco\";\nimport { Scrollbar } from \"@webiny/ui/Scrollbar\";\nimport { Empty } from \"~/admin/components/ContentEntries/Empty\";\nimport { Filters } from \"~/admin/components/ContentEntries/Filters\";\nimport { Header } from \"~/admin/components/ContentEntries/Header\";\nimport { LoadingMore } from \"~/admin/components/ContentEntries/LoadingMore\";\nimport { LoadMoreButton } from \"~/admin/components/ContentEntries/LoadMoreButton\";\nimport { Table } from \"~/admin/components/ContentEntries/Table\";\nimport { MainContainer, Wrapper } from \"./styled\";\nimport { useContentEntriesList, useContentEntry } from \"~/admin/views/contentEntries/hooks\";\nimport { ContentEntry } from \"~/admin/views/contentEntries/ContentEntry\";\nimport { useRouter } from \"@webiny/react-router\";\nimport { ROOT_FOLDER } from \"~/admin/constants\";\nimport { BulkActions } from \"~/admin/components/ContentEntries/BulkActions\";\n\ninterface Props {\n folderId?: string;\n}\n\nexport const Main: React.VFC<Props> = ({ folderId: initialFolderId }) => {\n const folderId = initialFolderId === undefined ? ROOT_FOLDER : initialFolderId;\n const list = useContentEntriesList();\n\n const [showFoldersDialog, setFoldersDialog] = useState(false);\n const openFoldersDialog = useCallback(() => setFoldersDialog(true), []);\n const closeFoldersDialog = useCallback(() => setFoldersDialog(false), []);\n\n const { history } = useRouter();\n const { canCreate, contentModel } = useContentEntry();\n\n const createEntry = useCallback(() => {\n const folder = folderId ? `&folderId=${encodeURIComponent(folderId)}` : \"\";\n history.push(`/cms/content-entries/${contentModel.modelId}?new=true${folder}`);\n }, [canCreate, contentModel, folderId]);\n\n const { innerHeight: windowHeight } = window;\n const [tableHeight, setTableHeight] = useState(0);\n const tableRef = useRef<HTMLDivElement>(null);\n\n useEffect(() => {\n setTableHeight(tableRef?.current?.clientHeight || 0);\n\n return () => {\n setTableHeight(0);\n };\n });\n\n const loadMoreOnScroll = debounce(async ({ scrollFrame }) => {\n if (scrollFrame.top > 0.8) {\n await list.listMoreRecords();\n }\n }, 200);\n\n const { showEmptyView } = useContentEntry();\n\n if (!showEmptyView) {\n return <ContentEntry />;\n }\n\n return (\n <>\n <MainContainer>\n <Header\n title={!list.isListLoading ? list.listTitle : undefined}\n canCreate={canCreate}\n onCreateEntry={createEntry}\n onCreateFolder={openFoldersDialog}\n searchValue={list.search}\n onSearchChange={list.setSearch}\n />\n <BulkActions />\n <Wrapper>\n <Filters />\n {list.records.length === 0 &&\n list.folders.length === 0 &&\n !list.isListLoading ? (\n <Empty\n isSearch={list.isSearch}\n canCreate={canCreate}\n onCreateEntry={createEntry}\n onCreateFolder={openFoldersDialog}\n />\n ) : (\n <>\n <Scrollbar\n data-testid=\"default-data-list\"\n onScrollFrame={scrollFrame => loadMoreOnScroll({ scrollFrame })}\n >\n <Table\n ref={tableRef}\n folders={list.folders}\n records={list.records}\n loading={list.isListLoading}\n sorting={list.sorting}\n onSortingChange={list.setSorting}\n onSelectRow={list.onSelectRow}\n selectedRows={list.selected}\n />\n <LoadMoreButton\n show={!list.isListLoading && list.meta.hasMoreItems}\n disabled={list.isListLoadingMore}\n windowHeight={windowHeight}\n tableHeight={tableHeight}\n onClick={list.listMoreRecords}\n />\n </Scrollbar>\n <LoadingMore show={list.isListLoadingMore} />\n </>\n )}\n </Wrapper>\n </MainContainer>\n <FolderDialogCreate\n open={showFoldersDialog}\n onClose={closeFoldersDialog}\n currentParentId={folderId || null}\n />\n </>\n );\n};\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireWildcard","require","_debounce","_interopRequireDefault","_appAco","_Scrollbar","_Empty","_Filters","_Header","_LoadingMore","_LoadMoreButton","_Table","_styled","_hooks","_ContentEntry","_reactRouter","_constants","_BulkActions","Main","_ref","initialFolderId","folderId","undefined","ROOT_FOLDER","list","useContentEntriesList","_useState","useState","_useState2","_slicedToArray2","default","showFoldersDialog","setFoldersDialog","openFoldersDialog","useCallback","closeFoldersDialog","_useRouter","useRouter","history","_useContentEntry","useContentEntry","canCreate","contentModel","_useFolders","useFolders","flp","folderLevelPermissions","canCreateFolder","useMemo","canManageStructure","canCreateContent","canManageContent","createEntry","folder","concat","encodeURIComponent","push","modelId","_window","window","windowHeight","innerHeight","_useState3","_useState4","tableHeight","setTableHeight","tableRef","useRef","useEffect","_tableRef$current","current","clientHeight","loadMoreOnScroll","debounce","_ref3","_asyncToGenerator2","_regeneratorRuntime2","mark","_callee","_ref2","scrollFrame","wrap","_callee$","_context","prev","next","top","listMoreRecords","stop","_x","apply","arguments","_useContentEntry2","showEmptyView","createElement","ContentEntry","Fragment","MainContainer","Header","title","isListLoading","listTitle","onCreateEntry","onCreateFolder","searchValue","search","onSearchChange","setSearch","BulkActions","Wrapper","Filters","records","length","folders","Empty","isSearch","Scrollbar","onScrollFrame","Table","ref","loading","sorting","onSortingChange","setSorting","onSelectRow","selectedRows","selected","LoadMoreButton","show","meta","hasMoreItems","disabled","isListLoadingMore","onClick","LoadingMore","FolderDialogCreate","open","onClose","currentParentId","exports"],"sources":["Main.tsx"],"sourcesContent":["import React, { useCallback, useEffect, useMemo, useRef, useState } from \"react\";\nimport debounce from \"lodash/debounce\";\nimport { FolderDialogCreate, useFolders } from \"@webiny/app-aco\";\nimport { Scrollbar } from \"@webiny/ui/Scrollbar\";\nimport { Empty } from \"~/admin/components/ContentEntries/Empty\";\nimport { Filters } from \"~/admin/components/ContentEntries/Filters\";\nimport { Header } from \"~/admin/components/ContentEntries/Header\";\nimport { LoadingMore } from \"~/admin/components/ContentEntries/LoadingMore\";\nimport { LoadMoreButton } from \"~/admin/components/ContentEntries/LoadMoreButton\";\nimport { Table } from \"~/admin/components/ContentEntries/Table\";\nimport { MainContainer, Wrapper } from \"./styled\";\nimport { useContentEntriesList, useContentEntry } from \"~/admin/views/contentEntries/hooks\";\nimport { ContentEntry } from \"~/admin/views/contentEntries/ContentEntry\";\nimport { useRouter } from \"@webiny/react-router\";\nimport { ROOT_FOLDER } from \"~/admin/constants\";\nimport { BulkActions } from \"~/admin/components/ContentEntries/BulkActions\";\n\ninterface Props {\n folderId?: string;\n}\n\nexport const Main: React.VFC<Props> = ({ folderId: initialFolderId }) => {\n const folderId = initialFolderId === undefined ? ROOT_FOLDER : initialFolderId;\n const list = useContentEntriesList();\n\n const [showFoldersDialog, setFoldersDialog] = useState(false);\n const openFoldersDialog = useCallback(() => setFoldersDialog(true), []);\n const closeFoldersDialog = useCallback(() => setFoldersDialog(false), []);\n\n const { history } = useRouter();\n\n // We check permissions on two layers - security and folder level permissions.\n const { canCreate, contentModel } = useContentEntry();\n const { folderLevelPermissions: flp } = useFolders();\n\n const canCreateFolder = useMemo(() => {\n return flp.canManageStructure(folderId);\n }, [flp, folderId]);\n\n const canCreateContent = useMemo(() => {\n return canCreate && flp.canManageContent(folderId);\n }, [flp, folderId]);\n\n const createEntry = useCallback(() => {\n const folder = folderId ? `&folderId=${encodeURIComponent(folderId)}` : \"\";\n history.push(`/cms/content-entries/${contentModel.modelId}?new=true${folder}`);\n }, [canCreate, contentModel, folderId]);\n\n const { innerHeight: windowHeight } = window;\n const [tableHeight, setTableHeight] = useState(0);\n const tableRef = useRef<HTMLDivElement>(null);\n\n useEffect(() => {\n setTableHeight(tableRef?.current?.clientHeight || 0);\n\n return () => {\n setTableHeight(0);\n };\n });\n\n const loadMoreOnScroll = debounce(async ({ scrollFrame }) => {\n if (scrollFrame.top > 0.8) {\n await list.listMoreRecords();\n }\n }, 200);\n\n const { showEmptyView } = useContentEntry();\n\n if (!showEmptyView) {\n return <ContentEntry />;\n }\n\n return (\n <>\n <MainContainer>\n <Header\n title={!list.isListLoading ? list.listTitle : undefined}\n canCreateFolder={canCreateFolder}\n canCreateContent={canCreateContent}\n onCreateEntry={createEntry}\n onCreateFolder={openFoldersDialog}\n searchValue={list.search}\n onSearchChange={list.setSearch}\n />\n <BulkActions />\n <Wrapper>\n <Filters />\n {list.records.length === 0 &&\n list.folders.length === 0 &&\n !list.isListLoading ? (\n <Empty\n isSearch={list.isSearch}\n canCreateFolder={canCreateFolder}\n canCreateContent={canCreateContent}\n onCreateEntry={createEntry}\n onCreateFolder={openFoldersDialog}\n />\n ) : (\n <>\n <Scrollbar\n data-testid=\"default-data-list\"\n onScrollFrame={scrollFrame => loadMoreOnScroll({ scrollFrame })}\n >\n <Table\n ref={tableRef}\n folders={list.folders}\n records={list.records}\n loading={list.isListLoading}\n sorting={list.sorting}\n onSortingChange={list.setSorting}\n onSelectRow={list.onSelectRow}\n selectedRows={list.selected}\n />\n <LoadMoreButton\n show={!list.isListLoading && list.meta.hasMoreItems}\n disabled={list.isListLoadingMore}\n windowHeight={windowHeight}\n tableHeight={tableHeight}\n onClick={list.listMoreRecords}\n />\n </Scrollbar>\n <LoadingMore show={list.isListLoadingMore} />\n </>\n )}\n </Wrapper>\n </MainContainer>\n <FolderDialogCreate\n open={showFoldersDialog}\n onClose={closeFoldersDialog}\n currentParentId={folderId || null}\n />\n </>\n );\n};\n"],"mappings":";;;;;;;;;;;AAAA,IAAAA,MAAA,GAAAC,uBAAA,CAAAC,OAAA;AACA,IAAAC,SAAA,GAAAC,sBAAA,CAAAF,OAAA;AACA,IAAAG,OAAA,GAAAH,OAAA;AACA,IAAAI,UAAA,GAAAJ,OAAA;AACA,IAAAK,MAAA,GAAAL,OAAA;AACA,IAAAM,QAAA,GAAAN,OAAA;AACA,IAAAO,OAAA,GAAAP,OAAA;AACA,IAAAQ,YAAA,GAAAR,OAAA;AACA,IAAAS,eAAA,GAAAT,OAAA;AACA,IAAAU,MAAA,GAAAV,OAAA;AACA,IAAAW,OAAA,GAAAX,OAAA;AACA,IAAAY,MAAA,GAAAZ,OAAA;AACA,IAAAa,aAAA,GAAAb,OAAA;AACA,IAAAc,YAAA,GAAAd,OAAA;AACA,IAAAe,UAAA,GAAAf,OAAA;AACA,IAAAgB,YAAA,GAAAhB,OAAA;AAMO,IAAMiB,IAAsB,GAAG,SAAzBA,IAAsBA,CAAAC,IAAA,EAAsC;EAAA,IAAtBC,eAAe,GAAAD,IAAA,CAAzBE,QAAQ;EAC7C,IAAMA,QAAQ,GAAGD,eAAe,KAAKE,SAAS,GAAGC,sBAAW,GAAGH,eAAe;EAC9E,IAAMI,IAAI,GAAG,IAAAC,4BAAqB,EAAC,CAAC;EAEpC,IAAAC,SAAA,GAA8C,IAAAC,eAAQ,EAAC,KAAK,CAAC;IAAAC,UAAA,OAAAC,eAAA,CAAAC,OAAA,EAAAJ,SAAA;IAAtDK,iBAAiB,GAAAH,UAAA;IAAEI,gBAAgB,GAAAJ,UAAA;EAC1C,IAAMK,iBAAiB,GAAG,IAAAC,kBAAW,EAAC;IAAA,OAAMF,gBAAgB,CAAC,IAAI,CAAC;EAAA,GAAE,EAAE,CAAC;EACvE,IAAMG,kBAAkB,GAAG,IAAAD,kBAAW,EAAC;IAAA,OAAMF,gBAAgB,CAAC,KAAK,CAAC;EAAA,GAAE,EAAE,CAAC;EAEzE,IAAAI,UAAA,GAAoB,IAAAC,sBAAS,EAAC,CAAC;IAAvBC,OAAO,GAAAF,UAAA,CAAPE,OAAO;;EAEf;EACA,IAAAC,gBAAA,GAAoC,IAAAC,sBAAe,EAAC,CAAC;IAA7CC,SAAS,GAAAF,gBAAA,CAATE,SAAS;IAAEC,YAAY,GAAAH,gBAAA,CAAZG,YAAY;EAC/B,IAAAC,WAAA,GAAwC,IAAAC,kBAAU,EAAC,CAAC;IAApBC,GAAG,GAAAF,WAAA,CAA3BG,sBAAsB;EAE9B,IAAMC,eAAe,GAAG,IAAAC,cAAO,EAAC,YAAM;IAClC,OAAOH,GAAG,CAACI,kBAAkB,CAAC5B,QAAQ,CAAC;EAC3C,CAAC,EAAE,CAACwB,GAAG,EAAExB,QAAQ,CAAC,CAAC;EAEnB,IAAM6B,gBAAgB,GAAG,IAAAF,cAAO,EAAC,YAAM;IACnC,OAAOP,SAAS,IAAII,GAAG,CAACM,gBAAgB,CAAC9B,QAAQ,CAAC;EACtD,CAAC,EAAE,CAACwB,GAAG,EAAExB,QAAQ,CAAC,CAAC;EAEnB,IAAM+B,WAAW,GAAG,IAAAlB,kBAAW,EAAC,YAAM;IAClC,IAAMmB,MAAM,GAAGhC,QAAQ,gBAAAiC,MAAA,CAAgBC,kBAAkB,CAAClC,QAAQ,CAAC,IAAK,EAAE;IAC1EiB,OAAO,CAACkB,IAAI,yBAAAF,MAAA,CAAyBZ,YAAY,CAACe,OAAO,eAAAH,MAAA,CAAYD,MAAM,CAAE,CAAC;EAClF,CAAC,EAAE,CAACZ,SAAS,EAAEC,YAAY,EAAErB,QAAQ,CAAC,CAAC;EAEvC,IAAAqC,OAAA,GAAsCC,MAAM;IAAvBC,YAAY,GAAAF,OAAA,CAAzBG,WAAW;EACnB,IAAAC,UAAA,GAAsC,IAAAnC,eAAQ,EAAC,CAAC,CAAC;IAAAoC,UAAA,OAAAlC,eAAA,CAAAC,OAAA,EAAAgC,UAAA;IAA1CE,WAAW,GAAAD,UAAA;IAAEE,cAAc,GAAAF,UAAA;EAClC,IAAMG,QAAQ,GAAG,IAAAC,aAAM,EAAiB,IAAI,CAAC;EAE7C,IAAAC,gBAAS,EAAC,YAAM;IAAA,IAAAC,iBAAA;IACZJ,cAAc,CAAC,CAAAC,QAAQ,aAARA,QAAQ,wBAAAG,iBAAA,GAARH,QAAQ,CAAEI,OAAO,cAAAD,iBAAA,uBAAjBA,iBAAA,CAAmBE,YAAY,KAAI,CAAC,CAAC;IAEpD,OAAO,YAAM;MACTN,cAAc,CAAC,CAAC,CAAC;IACrB,CAAC;EACL,CAAC,CAAC;EAEF,IAAMO,gBAAgB,GAAG,IAAAC,iBAAQ;IAAA,IAAAC,KAAA,OAAAC,kBAAA,CAAA7C,OAAA,oBAAA8C,oBAAA,CAAA9C,OAAA,IAAA+C,IAAA,CAAC,SAAAC,QAAAC,KAAA;MAAA,IAAAC,WAAA;MAAA,WAAAJ,oBAAA,CAAA9C,OAAA,IAAAmD,IAAA,UAAAC,SAAAC,QAAA;QAAA,kBAAAA,QAAA,CAAAC,IAAA,GAAAD,QAAA,CAAAE,IAAA;UAAA;YAASL,WAAW,GAAAD,KAAA,CAAXC,WAAW;YAAA,MAC9CA,WAAW,CAACM,GAAG,GAAG,GAAG;cAAAH,QAAA,CAAAE,IAAA;cAAA;YAAA;YAAAF,QAAA,CAAAE,IAAA;YAAA,OACf7D,IAAI,CAAC+D,eAAe,CAAC,CAAC;UAAA;UAAA;YAAA,OAAAJ,QAAA,CAAAK,IAAA;QAAA;MAAA,GAAAV,OAAA;IAAA,CAEnC;IAAA,iBAAAW,EAAA;MAAA,OAAAf,KAAA,CAAAgB,KAAA,OAAAC,SAAA;IAAA;EAAA,KAAE,GAAG,CAAC;EAEP,IAAAC,iBAAA,GAA0B,IAAApD,sBAAe,EAAC,CAAC;IAAnCqD,aAAa,GAAAD,iBAAA,CAAbC,aAAa;EAErB,IAAI,CAACA,aAAa,EAAE;IAChB,oBAAO9F,MAAA,CAAA+B,OAAA,CAAAgE,aAAA,CAAChF,aAAA,CAAAiF,YAAY,MAAE,CAAC;EAC3B;EAEA,oBACIhG,MAAA,CAAA+B,OAAA,CAAAgE,aAAA,CAAA/F,MAAA,CAAA+B,OAAA,CAAAkE,QAAA,qBACIjG,MAAA,CAAA+B,OAAA,CAAAgE,aAAA,CAAClF,OAAA,CAAAqF,aAAa,qBACVlG,MAAA,CAAA+B,OAAA,CAAAgE,aAAA,CAACtF,OAAA,CAAA0F,MAAM;IACHC,KAAK,EAAE,CAAC3E,IAAI,CAAC4E,aAAa,GAAG5E,IAAI,CAAC6E,SAAS,GAAG/E,SAAU;IACxDyB,eAAe,EAAEA,eAAgB;IACjCG,gBAAgB,EAAEA,gBAAiB;IACnCoD,aAAa,EAAElD,WAAY;IAC3BmD,cAAc,EAAEtE,iBAAkB;IAClCuE,WAAW,EAAEhF,IAAI,CAACiF,MAAO;IACzBC,cAAc,EAAElF,IAAI,CAACmF;EAAU,CAClC,CAAC,eACF5G,MAAA,CAAA+B,OAAA,CAAAgE,aAAA,CAAC7E,YAAA,CAAA2F,WAAW,MAAE,CAAC,eACf7G,MAAA,CAAA+B,OAAA,CAAAgE,aAAA,CAAClF,OAAA,CAAAiG,OAAO,qBACJ9G,MAAA,CAAA+B,OAAA,CAAAgE,aAAA,CAACvF,QAAA,CAAAuG,OAAO,MAAE,CAAC,EACVtF,IAAI,CAACuF,OAAO,CAACC,MAAM,KAAK,CAAC,IAC1BxF,IAAI,CAACyF,OAAO,CAACD,MAAM,KAAK,CAAC,IACzB,CAACxF,IAAI,CAAC4E,aAAa,gBACfrG,MAAA,CAAA+B,OAAA,CAAAgE,aAAA,CAACxF,MAAA,CAAA4G,KAAK;IACFC,QAAQ,EAAE3F,IAAI,CAAC2F,QAAS;IACxBpE,eAAe,EAAEA,eAAgB;IACjCG,gBAAgB,EAAEA,gBAAiB;IACnCoD,aAAa,EAAElD,WAAY;IAC3BmD,cAAc,EAAEtE;EAAkB,CACrC,CAAC,gBAEFlC,MAAA,CAAA+B,OAAA,CAAAgE,aAAA,CAAA/F,MAAA,CAAA+B,OAAA,CAAAkE,QAAA,qBACIjG,MAAA,CAAA+B,OAAA,CAAAgE,aAAA,CAACzF,UAAA,CAAA+G,SAAS;IACN,eAAY,mBAAmB;IAC/BC,aAAa,EAAE,SAAAA,cAAArC,WAAW;MAAA,OAAIR,gBAAgB,CAAC;QAAEQ,WAAW,EAAXA;MAAY,CAAC,CAAC;IAAA;EAAC,gBAEhEjF,MAAA,CAAA+B,OAAA,CAAAgE,aAAA,CAACnF,MAAA,CAAA2G,KAAK;IACFC,GAAG,EAAErD,QAAS;IACd+C,OAAO,EAAEzF,IAAI,CAACyF,OAAQ;IACtBF,OAAO,EAAEvF,IAAI,CAACuF,OAAQ;IACtBS,OAAO,EAAEhG,IAAI,CAAC4E,aAAc;IAC5BqB,OAAO,EAAEjG,IAAI,CAACiG,OAAQ;IACtBC,eAAe,EAAElG,IAAI,CAACmG,UAAW;IACjCC,WAAW,EAAEpG,IAAI,CAACoG,WAAY;IAC9BC,YAAY,EAAErG,IAAI,CAACsG;EAAS,CAC/B,CAAC,eACF/H,MAAA,CAAA+B,OAAA,CAAAgE,aAAA,CAACpF,eAAA,CAAAqH,cAAc;IACXC,IAAI,EAAE,CAACxG,IAAI,CAAC4E,aAAa,IAAI5E,IAAI,CAACyG,IAAI,CAACC,YAAa;IACpDC,QAAQ,EAAE3G,IAAI,CAAC4G,iBAAkB;IACjCxE,YAAY,EAAEA,YAAa;IAC3BI,WAAW,EAAEA,WAAY;IACzBqE,OAAO,EAAE7G,IAAI,CAAC+D;EAAgB,CACjC,CACM,CAAC,eACZxF,MAAA,CAAA+B,OAAA,CAAAgE,aAAA,CAACrF,YAAA,CAAA6H,WAAW;IAACN,IAAI,EAAExG,IAAI,CAAC4G;EAAkB,CAAE,CAC9C,CAED,CACE,CAAC,eAChBrI,MAAA,CAAA+B,OAAA,CAAAgE,aAAA,CAAC1F,OAAA,CAAAmI,kBAAkB;IACfC,IAAI,EAAEzG,iBAAkB;IACxB0G,OAAO,EAAEtG,kBAAmB;IAC5BuG,eAAe,EAAErH,QAAQ,IAAI;EAAK,CACrC,CACH,CAAC;AAEX,CAAC;AAACsH,OAAA,CAAAzH,IAAA,GAAAA,IAAA"}
|
|
@@ -11,7 +11,7 @@ var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/
|
|
|
11
11
|
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
12
12
|
var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
|
|
13
13
|
var _react = _interopRequireWildcard(require("react"));
|
|
14
|
-
var
|
|
14
|
+
var _TimeAgo = require("@webiny/ui/TimeAgo");
|
|
15
15
|
var _emotion = require("emotion");
|
|
16
16
|
var _reactRouter = require("@webiny/react-router");
|
|
17
17
|
var _icons = require("@webiny/ui/List/DataList/icons");
|
|
@@ -41,10 +41,6 @@ var _file_download = require("@webiny/app-admin/assets/icons/file_download.svg")
|
|
|
41
41
|
var _file_upload = require("@webiny/app-admin/assets/icons/file_upload.svg");
|
|
42
42
|
var _useModelExport2 = require("./exporting/useModelExport");
|
|
43
43
|
var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8, _templateObject9, _templateObject10, _templateObject11, _templateObject12, _templateObject13, _templateObject14, _templateObject15, _templateObject16, _templateObject17, _templateObject18, _templateObject19, _templateObject20;
|
|
44
|
-
/**
|
|
45
|
-
* Package timeago-react does not have types.
|
|
46
|
-
*/
|
|
47
|
-
// @ts-ignore
|
|
48
44
|
var t = _i18n.i18n.namespace("FormsApp.ContentModelsDataList");
|
|
49
45
|
var SORTERS = [{
|
|
50
46
|
label: t(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2.default)(["Newest to oldest"]))),
|
|
@@ -269,7 +265,7 @@ var ContentModelsDataList = function ContentModelsDataList(_ref2) {
|
|
|
269
265
|
}, /*#__PURE__*/_react.default.createElement(Icon, null, /*#__PURE__*/_react.default.createElement(DisplayIcon, {
|
|
270
266
|
model: contentModel
|
|
271
267
|
})), /*#__PURE__*/_react.default.createElement(UIL.ListItemText, null, contentModel.name, /*#__PURE__*/_react.default.createElement(UIL.ListItemTextSecondary, null, t(_templateObject11 || (_templateObject11 = (0, _taggedTemplateLiteral2.default)(["Last modified: {time}."])))({
|
|
272
|
-
time: contentModel.savedOn ? /*#__PURE__*/_react.default.createElement(
|
|
268
|
+
time: contentModel.savedOn ? /*#__PURE__*/_react.default.createElement(_TimeAgo.TimeAgo, {
|
|
273
269
|
datetime: contentModel.savedOn
|
|
274
270
|
}) : "N/A"
|
|
275
271
|
}))), /*#__PURE__*/_react.default.createElement(UIL.ListItemMeta, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","_interopRequireWildcard","require","_timeagoReact","_interopRequireDefault","_emotion","_reactRouter","_icons","_view_list","_clone","_hooks","_useSnackbar2","UIL","_Button","_Tooltip","_i18n","_useConfirmationDialog","_cache","GQL","_add18px","_SearchUI","_utils","_orderBy","_Grid","_Select","_filter24px","_usePermission2","_styled","_reactFontawesome","_OptionsMenu","_file_download","_file_upload","_useModelExport2","_templateObject","_templateObject2","_templateObject3","_templateObject4","_templateObject5","_templateObject6","_templateObject7","_templateObject8","_templateObject9","_templateObject10","_templateObject11","_templateObject12","_templateObject13","_templateObject14","_templateObject15","_templateObject16","_templateObject17","_templateObject18","_templateObject19","_templateObject20","t","i18n","namespace","SORTERS","label","_taggedTemplateLiteral2","default","sorters","DataListActionsWrapper","styled","target","rightAlign","css","alignItems","justifyContent","listItemMinHeight","minHeight","Icon","width","height","marginRight","flex","svg","color","maxWidth","maxHeight","DisplayIcon","_ref","model","icon","createElement","FontAwesomeIcon","split","ContentModelsDataList","_ref2","canCreate","onCreate","onClone","showImportModelModal","_useState","useState","_useState2","_slicedToArray2","filter","setFilter","_useState3","_useState4","sort","setSort","_useRouter","useRouter","history","client","useApolloClient","_useSnackbar","useSnackbar","showSnackbar","_useConfirmationDialo","useConfirmationDialog","dataTestId","showConfirmation","_useModels","useModels","models","loading","refresh","_usePermission","usePermission","canDelete","canEdit","filterData","useCallback","_ref3","name","toLowerCase","includes","sortData","list","_deserializeSorters","deserializeSorters","_deserializeSorters2","sortField","sortOrderBy","orderBy","deleteRecord","_ref4","_asyncToGenerator2","_regeneratorRuntime2","mark","_callee2","item","wrap","_callee2$","_context2","prev","next","_callee","_callee$","_context","mutate","mutation","DELETE_CONTENT_MODEL","variables","modelId","update","cache","_ref6","data","error","deleteContentModel","message","title","removeModelFromListCache","removeModelFromGroupCache","removeModelFromCache","stop","_x","apply","arguments","editRecord","contentModel","push","viewContentEntries","contentModelsDataListModalOverlay","useMemo","DataListModalOverlay","Grid","Cell","span","Select","value","onChange","description","map","_ref7","key","filteredData","contentModels","_useModelExport","useModelExport","handleModelsExport","handleModelExport","onRefreshClick","DataList","actions","ButtonSecondary","onClick","ButtonIcon","ReactComponent","OptionsMenu","items","search","inputPlaceholder","modalOverlay","modalOverlayAction","DataListModalOverlayAction","_ref8","_ref8$data","List","disableViewContent","fields","length","ListItem","className","ListItemText","ListItemTextSecondary","time","savedOn","datetime","ListItemMeta","ListActions","Tooltip","content","placement","IconButton","disabled","Fragment","plugin","EditIcon","DeleteIcon","_default","exports"],"sources":["ContentModelsDataList.tsx"],"sourcesContent":["import React, { useCallback, useMemo, useState } from \"react\";\n/**\n * Package timeago-react does not have types.\n */\n// @ts-ignore\nimport TimeAgo from \"timeago-react\";\nimport { css } from \"emotion\";\nimport { useRouter } from \"@webiny/react-router\";\nimport { DeleteIcon, EditIcon } from \"@webiny/ui/List/DataList/icons\";\nimport { ReactComponent as ViewListIcon } from \"../../icons/view_list.svg\";\nimport { ReactComponent as CloneIcon } from \"../../icons/clone.svg\";\nimport { useApolloClient, useModels } from \"../../hooks\";\nimport { useSnackbar } from \"@webiny/app-admin/hooks/useSnackbar\";\nimport * as UIL from \"@webiny/ui/List\";\nimport { ButtonIcon, ButtonSecondary, IconButton } from \"@webiny/ui/Button\";\nimport { Tooltip } from \"@webiny/ui/Tooltip\";\nimport { i18n } from \"@webiny/app/i18n\";\nimport { useConfirmationDialog } from \"@webiny/app-admin/hooks/useConfirmationDialog\";\nimport { removeModelFromCache, removeModelFromGroupCache, removeModelFromListCache } from \"./cache\";\nimport * as GQL from \"../../viewsGraphql\";\nimport {\n DeleteCmsModelMutationResponse,\n DeleteCmsModelMutationVariables\n} from \"../../viewsGraphql\";\nimport { ReactComponent as AddIcon } from \"@webiny/app-admin/assets/icons/add-18px.svg\";\nimport SearchUI from \"@webiny/app-admin/components/SearchUI\";\nimport { deserializeSorters } from \"../utils\";\nimport orderBy from \"lodash/orderBy\";\nimport { Cell, Grid } from \"@webiny/ui/Grid\";\nimport { Select } from \"@webiny/ui/Select\";\nimport { ReactComponent as FilterIcon } from \"@webiny/app-admin/assets/icons/filter-24px.svg\";\nimport { CmsEditorContentModel, CmsModel } from \"~/types\";\nimport usePermission from \"~/admin/hooks/usePermission\";\nimport styled from \"@emotion/styled\";\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\nimport { IconProp } from \"@fortawesome/fontawesome-svg-core\";\nimport { OptionsMenu } from \"./OptionsMenu\";\nimport { ReactComponent as DownloadFileIcon } from \"@webiny/app-admin/assets/icons/file_download.svg\";\nimport { ReactComponent as UploadFileIcon } from \"@webiny/app-admin/assets/icons/file_upload.svg\";\nimport { useModelExport } from \"./exporting/useModelExport\";\n\nconst t = i18n.namespace(\"FormsApp.ContentModelsDataList\");\n\ninterface Sorter {\n label: string;\n sorters: string;\n}\n\nconst SORTERS: Sorter[] = [\n {\n label: t`Newest to oldest`,\n sorters: \"savedOn_DESC\"\n },\n {\n label: t`Oldest to newest`,\n sorters: \"savedOn_ASC\"\n },\n {\n label: t`Name A-Z`,\n sorters: \"name_ASC\"\n },\n {\n label: t`Name Z-A`,\n sorters: \"name_DESC\"\n }\n];\n\nconst DataListActionsWrapper = styled.div`\n display: flex;\n justify-content: flex-end;\n align-items: center;\n`;\n\nconst rightAlign = css({\n alignItems: \"flex-end !important\",\n justifyContent: \"center !important\"\n});\n\nconst listItemMinHeight = css({\n minHeight: \"66px !important\"\n});\n\ninterface ContentModelsDataListProps {\n canCreate: boolean;\n onCreate: () => void;\n onClone: (contentModel: CmsEditorContentModel) => void;\n showImportModelModal: () => void;\n}\n\nconst Icon = styled(\"div\")({\n width: \"24px\",\n height: \"24px\",\n marginRight: \"15px\",\n flex: \"0 0 24px\",\n svg: {\n color: \"var(--mdc-theme-text-icon-on-light)\",\n width: \"100%\",\n height: \"auto\",\n maxWidth: 24,\n maxHeight: 24\n }\n});\n\ninterface IconProps {\n model: Pick<CmsModel, \"icon\">;\n}\n\nconst DisplayIcon: React.VFC<IconProps> = ({ model }) => {\n if (!model.icon) {\n return null;\n }\n return <FontAwesomeIcon icon={(model.icon || \"\").split(\"/\") as IconProp} />;\n};\n\nconst ContentModelsDataList: React.FC<ContentModelsDataListProps> = ({\n canCreate,\n onCreate,\n onClone,\n showImportModelModal\n}) => {\n const [filter, setFilter] = useState<string>(\"\");\n const [sort, setSort] = useState<string>(SORTERS[0].sorters);\n const { history } = useRouter();\n const client = useApolloClient();\n const { showSnackbar } = useSnackbar();\n const { showConfirmation } = useConfirmationDialog({\n dataTestId: \"cms-delete-content-model-dialog\"\n });\n const { models, loading, refresh } = useModels();\n const { canDelete, canEdit } = usePermission();\n\n const filterData = useCallback(\n ({ name }: Pick<CmsModel, \"name\">): boolean => {\n return name.toLowerCase().includes(filter);\n },\n [filter]\n );\n\n const sortData = useCallback(\n (list: CmsModel[]): CmsModel[] => {\n if (!sort) {\n return list;\n }\n const [sortField, sortOrderBy] = deserializeSorters(sort);\n return orderBy(list, [sortField], [sortOrderBy]);\n },\n [sort]\n );\n\n const deleteRecord = async (item: CmsModel): Promise<void> => {\n showConfirmation(async () => {\n await client.mutate<DeleteCmsModelMutationResponse, DeleteCmsModelMutationVariables>({\n mutation: GQL.DELETE_CONTENT_MODEL,\n variables: { modelId: item.modelId },\n update(cache, { data }) {\n if (!data) {\n showSnackbar(\"Missing data on Delete Content Model Mutation Response.\");\n return;\n }\n const { error } = data.deleteContentModel;\n\n if (error) {\n showSnackbar(error.message, {\n title: t`Something unexpected happened.`\n });\n return;\n }\n\n removeModelFromListCache(cache, item);\n removeModelFromGroupCache(cache, item);\n removeModelFromCache(client, item);\n\n showSnackbar(\n t`Content model {name} deleted successfully!.`({ name: item.name })\n );\n }\n });\n });\n };\n\n const editRecord = (contentModel: CmsModel): void => {\n history.push(\"/cms/content-models/\" + contentModel.modelId);\n };\n\n const viewContentEntries = useCallback(contentModel => {\n return () => history.push(\"/cms/content-entries/\" + contentModel.modelId);\n }, []);\n\n const contentModelsDataListModalOverlay = useMemo(\n () => (\n <UIL.DataListModalOverlay>\n <Grid>\n <Cell span={12}>\n <Select\n value={sort}\n onChange={setSort}\n label={t`Sort by`}\n description={\"Sort content models by\"}\n >\n {SORTERS.map(({ label, sorters }) => {\n return (\n <option key={label} value={sorters}>\n {label}\n </option>\n );\n })}\n </Select>\n </Cell>\n </Grid>\n </UIL.DataListModalOverlay>\n ),\n [sort]\n );\n\n const filteredData = filter === \"\" ? models : models.filter(filterData);\n const contentModels = sortData(filteredData);\n\n const { handleModelsExport, handleModelExport } = useModelExport();\n\n const onRefreshClick = useCallback(() => {\n refresh();\n }, []);\n\n return (\n <UIL.DataList\n loading={loading}\n data={contentModels}\n title={t`Content Models`}\n actions={\n <DataListActionsWrapper>\n {canCreate ? (\n <ButtonSecondary data-testid=\"new-record-button\" onClick={onCreate}>\n <ButtonIcon icon={<AddIcon />} /> {t`New Model`}\n </ButtonSecondary>\n ) : null}\n <OptionsMenu\n data-testid=\"pb-blocks-list-options-menu\"\n items={[\n {\n label: \"Export all models\",\n icon: <DownloadFileIcon />,\n onClick: handleModelsExport\n },\n {\n label: \"Import models\",\n icon: <UploadFileIcon />,\n onClick: showImportModelModal\n }\n ]}\n />\n </DataListActionsWrapper>\n }\n search={\n <SearchUI\n value={filter}\n onChange={setFilter}\n inputPlaceholder={t`Search content models`}\n />\n }\n modalOverlay={contentModelsDataListModalOverlay}\n modalOverlayAction={\n <UIL.DataListModalOverlayAction\n icon={<FilterIcon />}\n data-testid={\"default-data-list.filter\"}\n />\n }\n refresh={onRefreshClick}\n >\n {({ data = [] }: { data: CmsModel[] }) => (\n <UIL.List data-testid=\"default-data-list\">\n {data.map(contentModel => {\n const disableViewContent = contentModel.fields.length === 0;\n const message = disableViewContent\n ? \"To view the content, you first need to add a field and save the model\"\n : \"View content\";\n return (\n <UIL.ListItem key={contentModel.modelId} className={listItemMinHeight}>\n <Icon>\n <DisplayIcon model={contentModel} />\n </Icon>\n <UIL.ListItemText>\n {contentModel.name}\n <UIL.ListItemTextSecondary>\n {t`Last modified: {time}.`({\n time: contentModel.savedOn ? (\n <TimeAgo datetime={contentModel.savedOn} />\n ) : (\n \"N/A\"\n )\n })}\n </UIL.ListItemTextSecondary>\n </UIL.ListItemText>\n <UIL.ListItemMeta className={rightAlign}>\n <UIL.ListActions>\n <Tooltip\n content={t`{message}`({ message })}\n placement={\"top\"}\n >\n <IconButton\n data-testid={\"cms-view-content-model-button\"}\n icon={<ViewListIcon />}\n label={t`View entries`}\n onClick={viewContentEntries(contentModel)}\n disabled={disableViewContent}\n />\n </Tooltip>\n <Tooltip\n content={t`Export content model`}\n placement={\"top\"}\n >\n <IconButton\n data-testid={\"cms-export-content-model-button\"}\n icon={<DownloadFileIcon />}\n label={t`Export content model`}\n onClick={handleModelExport(contentModel)}\n />\n </Tooltip>\n {canEdit(contentModel, \"cms.contentModel\") && (\n <>\n {contentModel.plugin ? (\n <Tooltip\n content={t`Content model is registered via a plugin.`}\n placement={\"top\"}\n >\n <EditIcon\n disabled\n data-testid={\n \"cms-edit-content-model-button\"\n }\n />\n </Tooltip>\n ) : (\n <Tooltip\n content={t`Edit content model`}\n placement={\"top\"}\n >\n <EditIcon\n onClick={() => editRecord(contentModel)}\n data-testid={\n \"cms-edit-content-model-button\"\n }\n />\n </Tooltip>\n )}\n <Tooltip\n content={\"Clone content model\"}\n placement={\"top\"}\n >\n <IconButton\n data-testid={\n \"cms-clone-content-model-button\"\n }\n icon={<CloneIcon />}\n label={t`Clone content model`}\n onClick={() => onClone(contentModel)}\n />\n </Tooltip>\n </>\n )}\n\n {canDelete(contentModel, \"cms.contentModel\") && (\n <>\n {contentModel.plugin ? (\n <Tooltip\n content={t`Content model is registered via a plugin.`}\n placement={\"top\"}\n >\n <DeleteIcon\n disabled\n data-testid={\n \"cms-delete-content-model-button\"\n }\n />\n </Tooltip>\n ) : (\n <Tooltip\n content={t`Delete content model`}\n placement={\"top\"}\n >\n <DeleteIcon\n onClick={() =>\n deleteRecord(contentModel)\n }\n data-testid={\n \"cms-delete-content-model-button\"\n }\n />\n </Tooltip>\n )}\n </>\n )}\n </UIL.ListActions>\n </UIL.ListItemMeta>\n </UIL.ListItem>\n );\n })}\n </UIL.List>\n )}\n </UIL.DataList>\n );\n};\n\nexport default ContentModelsDataList;\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireWildcard","require","_TimeAgo","_emotion","_reactRouter","_icons","_view_list","_clone","_hooks","_useSnackbar2","UIL","_Button","_Tooltip","_i18n","_useConfirmationDialog","_cache","GQL","_add18px","_SearchUI","_interopRequireDefault","_utils","_orderBy","_Grid","_Select","_filter24px","_usePermission2","_styled","_reactFontawesome","_OptionsMenu","_file_download","_file_upload","_useModelExport2","_templateObject","_templateObject2","_templateObject3","_templateObject4","_templateObject5","_templateObject6","_templateObject7","_templateObject8","_templateObject9","_templateObject10","_templateObject11","_templateObject12","_templateObject13","_templateObject14","_templateObject15","_templateObject16","_templateObject17","_templateObject18","_templateObject19","_templateObject20","t","i18n","namespace","SORTERS","label","_taggedTemplateLiteral2","default","sorters","DataListActionsWrapper","styled","target","rightAlign","css","alignItems","justifyContent","listItemMinHeight","minHeight","Icon","width","height","marginRight","flex","svg","color","maxWidth","maxHeight","DisplayIcon","_ref","model","icon","createElement","FontAwesomeIcon","split","ContentModelsDataList","_ref2","canCreate","onCreate","onClone","showImportModelModal","_useState","useState","_useState2","_slicedToArray2","filter","setFilter","_useState3","_useState4","sort","setSort","_useRouter","useRouter","history","client","useApolloClient","_useSnackbar","useSnackbar","showSnackbar","_useConfirmationDialo","useConfirmationDialog","dataTestId","showConfirmation","_useModels","useModels","models","loading","refresh","_usePermission","usePermission","canDelete","canEdit","filterData","useCallback","_ref3","name","toLowerCase","includes","sortData","list","_deserializeSorters","deserializeSorters","_deserializeSorters2","sortField","sortOrderBy","orderBy","deleteRecord","_ref4","_asyncToGenerator2","_regeneratorRuntime2","mark","_callee2","item","wrap","_callee2$","_context2","prev","next","_callee","_callee$","_context","mutate","mutation","DELETE_CONTENT_MODEL","variables","modelId","update","cache","_ref6","data","error","deleteContentModel","message","title","removeModelFromListCache","removeModelFromGroupCache","removeModelFromCache","stop","_x","apply","arguments","editRecord","contentModel","push","viewContentEntries","contentModelsDataListModalOverlay","useMemo","DataListModalOverlay","Grid","Cell","span","Select","value","onChange","description","map","_ref7","key","filteredData","contentModels","_useModelExport","useModelExport","handleModelsExport","handleModelExport","onRefreshClick","DataList","actions","ButtonSecondary","onClick","ButtonIcon","ReactComponent","OptionsMenu","items","search","inputPlaceholder","modalOverlay","modalOverlayAction","DataListModalOverlayAction","_ref8","_ref8$data","List","disableViewContent","fields","length","ListItem","className","ListItemText","ListItemTextSecondary","time","savedOn","TimeAgo","datetime","ListItemMeta","ListActions","Tooltip","content","placement","IconButton","disabled","Fragment","plugin","EditIcon","DeleteIcon","_default","exports"],"sources":["ContentModelsDataList.tsx"],"sourcesContent":["import React, { useCallback, useMemo, useState } from \"react\";\nimport { TimeAgo } from \"@webiny/ui/TimeAgo\";\nimport { css } from \"emotion\";\nimport { useRouter } from \"@webiny/react-router\";\nimport { DeleteIcon, EditIcon } from \"@webiny/ui/List/DataList/icons\";\nimport { ReactComponent as ViewListIcon } from \"../../icons/view_list.svg\";\nimport { ReactComponent as CloneIcon } from \"../../icons/clone.svg\";\nimport { useApolloClient, useModels } from \"../../hooks\";\nimport { useSnackbar } from \"@webiny/app-admin/hooks/useSnackbar\";\nimport * as UIL from \"@webiny/ui/List\";\nimport { ButtonIcon, ButtonSecondary, IconButton } from \"@webiny/ui/Button\";\nimport { Tooltip } from \"@webiny/ui/Tooltip\";\nimport { i18n } from \"@webiny/app/i18n\";\nimport { useConfirmationDialog } from \"@webiny/app-admin/hooks/useConfirmationDialog\";\nimport { removeModelFromCache, removeModelFromGroupCache, removeModelFromListCache } from \"./cache\";\nimport * as GQL from \"../../viewsGraphql\";\nimport {\n DeleteCmsModelMutationResponse,\n DeleteCmsModelMutationVariables\n} from \"../../viewsGraphql\";\nimport { ReactComponent as AddIcon } from \"@webiny/app-admin/assets/icons/add-18px.svg\";\nimport SearchUI from \"@webiny/app-admin/components/SearchUI\";\nimport { deserializeSorters } from \"../utils\";\nimport orderBy from \"lodash/orderBy\";\nimport { Cell, Grid } from \"@webiny/ui/Grid\";\nimport { Select } from \"@webiny/ui/Select\";\nimport { ReactComponent as FilterIcon } from \"@webiny/app-admin/assets/icons/filter-24px.svg\";\nimport { CmsEditorContentModel, CmsModel } from \"~/types\";\nimport usePermission from \"~/admin/hooks/usePermission\";\nimport styled from \"@emotion/styled\";\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\nimport { IconProp } from \"@fortawesome/fontawesome-svg-core\";\nimport { OptionsMenu } from \"./OptionsMenu\";\nimport { ReactComponent as DownloadFileIcon } from \"@webiny/app-admin/assets/icons/file_download.svg\";\nimport { ReactComponent as UploadFileIcon } from \"@webiny/app-admin/assets/icons/file_upload.svg\";\nimport { useModelExport } from \"./exporting/useModelExport\";\n\nconst t = i18n.namespace(\"FormsApp.ContentModelsDataList\");\n\ninterface Sorter {\n label: string;\n sorters: string;\n}\n\nconst SORTERS: Sorter[] = [\n {\n label: t`Newest to oldest`,\n sorters: \"savedOn_DESC\"\n },\n {\n label: t`Oldest to newest`,\n sorters: \"savedOn_ASC\"\n },\n {\n label: t`Name A-Z`,\n sorters: \"name_ASC\"\n },\n {\n label: t`Name Z-A`,\n sorters: \"name_DESC\"\n }\n];\n\nconst DataListActionsWrapper = styled.div`\n display: flex;\n justify-content: flex-end;\n align-items: center;\n`;\n\nconst rightAlign = css({\n alignItems: \"flex-end !important\",\n justifyContent: \"center !important\"\n});\n\nconst listItemMinHeight = css({\n minHeight: \"66px !important\"\n});\n\ninterface ContentModelsDataListProps {\n canCreate: boolean;\n onCreate: () => void;\n onClone: (contentModel: CmsEditorContentModel) => void;\n showImportModelModal: () => void;\n}\n\nconst Icon = styled(\"div\")({\n width: \"24px\",\n height: \"24px\",\n marginRight: \"15px\",\n flex: \"0 0 24px\",\n svg: {\n color: \"var(--mdc-theme-text-icon-on-light)\",\n width: \"100%\",\n height: \"auto\",\n maxWidth: 24,\n maxHeight: 24\n }\n});\n\ninterface IconProps {\n model: Pick<CmsModel, \"icon\">;\n}\n\nconst DisplayIcon: React.VFC<IconProps> = ({ model }) => {\n if (!model.icon) {\n return null;\n }\n return <FontAwesomeIcon icon={(model.icon || \"\").split(\"/\") as IconProp} />;\n};\n\nconst ContentModelsDataList: React.FC<ContentModelsDataListProps> = ({\n canCreate,\n onCreate,\n onClone,\n showImportModelModal\n}) => {\n const [filter, setFilter] = useState<string>(\"\");\n const [sort, setSort] = useState<string>(SORTERS[0].sorters);\n const { history } = useRouter();\n const client = useApolloClient();\n const { showSnackbar } = useSnackbar();\n const { showConfirmation } = useConfirmationDialog({\n dataTestId: \"cms-delete-content-model-dialog\"\n });\n const { models, loading, refresh } = useModels();\n const { canDelete, canEdit } = usePermission();\n\n const filterData = useCallback(\n ({ name }: Pick<CmsModel, \"name\">): boolean => {\n return name.toLowerCase().includes(filter);\n },\n [filter]\n );\n\n const sortData = useCallback(\n (list: CmsModel[]): CmsModel[] => {\n if (!sort) {\n return list;\n }\n const [sortField, sortOrderBy] = deserializeSorters(sort);\n return orderBy(list, [sortField], [sortOrderBy]);\n },\n [sort]\n );\n\n const deleteRecord = async (item: CmsModel): Promise<void> => {\n showConfirmation(async () => {\n await client.mutate<DeleteCmsModelMutationResponse, DeleteCmsModelMutationVariables>({\n mutation: GQL.DELETE_CONTENT_MODEL,\n variables: { modelId: item.modelId },\n update(cache, { data }) {\n if (!data) {\n showSnackbar(\"Missing data on Delete Content Model Mutation Response.\");\n return;\n }\n const { error } = data.deleteContentModel;\n\n if (error) {\n showSnackbar(error.message, {\n title: t`Something unexpected happened.`\n });\n return;\n }\n\n removeModelFromListCache(cache, item);\n removeModelFromGroupCache(cache, item);\n removeModelFromCache(client, item);\n\n showSnackbar(\n t`Content model {name} deleted successfully!.`({ name: item.name })\n );\n }\n });\n });\n };\n\n const editRecord = (contentModel: CmsModel): void => {\n history.push(\"/cms/content-models/\" + contentModel.modelId);\n };\n\n const viewContentEntries = useCallback(contentModel => {\n return () => history.push(\"/cms/content-entries/\" + contentModel.modelId);\n }, []);\n\n const contentModelsDataListModalOverlay = useMemo(\n () => (\n <UIL.DataListModalOverlay>\n <Grid>\n <Cell span={12}>\n <Select\n value={sort}\n onChange={setSort}\n label={t`Sort by`}\n description={\"Sort content models by\"}\n >\n {SORTERS.map(({ label, sorters }) => {\n return (\n <option key={label} value={sorters}>\n {label}\n </option>\n );\n })}\n </Select>\n </Cell>\n </Grid>\n </UIL.DataListModalOverlay>\n ),\n [sort]\n );\n\n const filteredData = filter === \"\" ? models : models.filter(filterData);\n const contentModels = sortData(filteredData);\n\n const { handleModelsExport, handleModelExport } = useModelExport();\n\n const onRefreshClick = useCallback(() => {\n refresh();\n }, []);\n\n return (\n <UIL.DataList\n loading={loading}\n data={contentModels}\n title={t`Content Models`}\n actions={\n <DataListActionsWrapper>\n {canCreate ? (\n <ButtonSecondary data-testid=\"new-record-button\" onClick={onCreate}>\n <ButtonIcon icon={<AddIcon />} /> {t`New Model`}\n </ButtonSecondary>\n ) : null}\n <OptionsMenu\n data-testid=\"pb-blocks-list-options-menu\"\n items={[\n {\n label: \"Export all models\",\n icon: <DownloadFileIcon />,\n onClick: handleModelsExport\n },\n {\n label: \"Import models\",\n icon: <UploadFileIcon />,\n onClick: showImportModelModal\n }\n ]}\n />\n </DataListActionsWrapper>\n }\n search={\n <SearchUI\n value={filter}\n onChange={setFilter}\n inputPlaceholder={t`Search content models`}\n />\n }\n modalOverlay={contentModelsDataListModalOverlay}\n modalOverlayAction={\n <UIL.DataListModalOverlayAction\n icon={<FilterIcon />}\n data-testid={\"default-data-list.filter\"}\n />\n }\n refresh={onRefreshClick}\n >\n {({ data = [] }: { data: CmsModel[] }) => (\n <UIL.List data-testid=\"default-data-list\">\n {data.map(contentModel => {\n const disableViewContent = contentModel.fields.length === 0;\n const message = disableViewContent\n ? \"To view the content, you first need to add a field and save the model\"\n : \"View content\";\n return (\n <UIL.ListItem key={contentModel.modelId} className={listItemMinHeight}>\n <Icon>\n <DisplayIcon model={contentModel} />\n </Icon>\n <UIL.ListItemText>\n {contentModel.name}\n <UIL.ListItemTextSecondary>\n {t`Last modified: {time}.`({\n time: contentModel.savedOn ? (\n <TimeAgo datetime={contentModel.savedOn} />\n ) : (\n \"N/A\"\n )\n })}\n </UIL.ListItemTextSecondary>\n </UIL.ListItemText>\n <UIL.ListItemMeta className={rightAlign}>\n <UIL.ListActions>\n <Tooltip\n content={t`{message}`({ message })}\n placement={\"top\"}\n >\n <IconButton\n data-testid={\"cms-view-content-model-button\"}\n icon={<ViewListIcon />}\n label={t`View entries`}\n onClick={viewContentEntries(contentModel)}\n disabled={disableViewContent}\n />\n </Tooltip>\n <Tooltip\n content={t`Export content model`}\n placement={\"top\"}\n >\n <IconButton\n data-testid={\"cms-export-content-model-button\"}\n icon={<DownloadFileIcon />}\n label={t`Export content model`}\n onClick={handleModelExport(contentModel)}\n />\n </Tooltip>\n {canEdit(contentModel, \"cms.contentModel\") && (\n <>\n {contentModel.plugin ? (\n <Tooltip\n content={t`Content model is registered via a plugin.`}\n placement={\"top\"}\n >\n <EditIcon\n disabled\n data-testid={\n \"cms-edit-content-model-button\"\n }\n />\n </Tooltip>\n ) : (\n <Tooltip\n content={t`Edit content model`}\n placement={\"top\"}\n >\n <EditIcon\n onClick={() => editRecord(contentModel)}\n data-testid={\n \"cms-edit-content-model-button\"\n }\n />\n </Tooltip>\n )}\n <Tooltip\n content={\"Clone content model\"}\n placement={\"top\"}\n >\n <IconButton\n data-testid={\n \"cms-clone-content-model-button\"\n }\n icon={<CloneIcon />}\n label={t`Clone content model`}\n onClick={() => onClone(contentModel)}\n />\n </Tooltip>\n </>\n )}\n\n {canDelete(contentModel, \"cms.contentModel\") && (\n <>\n {contentModel.plugin ? (\n <Tooltip\n content={t`Content model is registered via a plugin.`}\n placement={\"top\"}\n >\n <DeleteIcon\n disabled\n data-testid={\n \"cms-delete-content-model-button\"\n }\n />\n </Tooltip>\n ) : (\n <Tooltip\n content={t`Delete content model`}\n placement={\"top\"}\n >\n <DeleteIcon\n onClick={() =>\n deleteRecord(contentModel)\n }\n data-testid={\n \"cms-delete-content-model-button\"\n }\n />\n </Tooltip>\n )}\n </>\n )}\n </UIL.ListActions>\n </UIL.ListItemMeta>\n </UIL.ListItem>\n );\n })}\n </UIL.List>\n )}\n </UIL.DataList>\n );\n};\n\nexport default ContentModelsDataList;\n"],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@webiny/app-headless-cms",
|
|
3
|
-
"version": "5.38.0-beta.
|
|
3
|
+
"version": "5.38.0-beta.2",
|
|
4
4
|
"main": "index.js",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -28,28 +28,28 @@
|
|
|
28
28
|
"@material-design-icons/svg": "0.14.2",
|
|
29
29
|
"@svgr/webpack": "6.5.1",
|
|
30
30
|
"@types/react": "17.0.39",
|
|
31
|
-
"@webiny/app": "5.38.0-beta.
|
|
32
|
-
"@webiny/app-aco": "5.38.0-beta.
|
|
33
|
-
"@webiny/app-admin": "5.38.0-beta.
|
|
34
|
-
"@webiny/app-graphql-playground": "5.38.0-beta.
|
|
35
|
-
"@webiny/app-headless-cms-common": "5.38.0-beta.
|
|
36
|
-
"@webiny/app-i18n": "5.38.0-beta.
|
|
37
|
-
"@webiny/app-plugin-admin-welcome-screen": "5.38.0-beta.
|
|
38
|
-
"@webiny/app-security": "5.38.0-beta.
|
|
39
|
-
"@webiny/error": "5.38.0-beta.
|
|
40
|
-
"@webiny/feature-flags": "5.38.0-beta.
|
|
41
|
-
"@webiny/form": "5.38.0-beta.
|
|
42
|
-
"@webiny/lexical-editor": "5.38.0-beta.
|
|
43
|
-
"@webiny/lexical-nodes": "5.38.0-beta.
|
|
44
|
-
"@webiny/lexical-theme": "5.38.0-beta.
|
|
45
|
-
"@webiny/plugins": "5.38.0-beta.
|
|
46
|
-
"@webiny/react-composition": "5.38.0-beta.
|
|
47
|
-
"@webiny/react-properties": "5.38.0-beta.
|
|
48
|
-
"@webiny/react-router": "5.38.0-beta.
|
|
49
|
-
"@webiny/theme": "5.38.0-beta.
|
|
50
|
-
"@webiny/ui": "5.38.0-beta.
|
|
51
|
-
"@webiny/utils": "5.38.0-beta.
|
|
52
|
-
"@webiny/validation": "5.38.0-beta.
|
|
31
|
+
"@webiny/app": "5.38.0-beta.2",
|
|
32
|
+
"@webiny/app-aco": "5.38.0-beta.2",
|
|
33
|
+
"@webiny/app-admin": "5.38.0-beta.2",
|
|
34
|
+
"@webiny/app-graphql-playground": "5.38.0-beta.2",
|
|
35
|
+
"@webiny/app-headless-cms-common": "5.38.0-beta.2",
|
|
36
|
+
"@webiny/app-i18n": "5.38.0-beta.2",
|
|
37
|
+
"@webiny/app-plugin-admin-welcome-screen": "5.38.0-beta.2",
|
|
38
|
+
"@webiny/app-security": "5.38.0-beta.2",
|
|
39
|
+
"@webiny/error": "5.38.0-beta.2",
|
|
40
|
+
"@webiny/feature-flags": "5.38.0-beta.2",
|
|
41
|
+
"@webiny/form": "5.38.0-beta.2",
|
|
42
|
+
"@webiny/lexical-editor": "5.38.0-beta.2",
|
|
43
|
+
"@webiny/lexical-nodes": "5.38.0-beta.2",
|
|
44
|
+
"@webiny/lexical-theme": "5.38.0-beta.2",
|
|
45
|
+
"@webiny/plugins": "5.38.0-beta.2",
|
|
46
|
+
"@webiny/react-composition": "5.38.0-beta.2",
|
|
47
|
+
"@webiny/react-properties": "5.38.0-beta.2",
|
|
48
|
+
"@webiny/react-router": "5.38.0-beta.2",
|
|
49
|
+
"@webiny/theme": "5.38.0-beta.2",
|
|
50
|
+
"@webiny/ui": "5.38.0-beta.2",
|
|
51
|
+
"@webiny/utils": "5.38.0-beta.2",
|
|
52
|
+
"@webiny/validation": "5.38.0-beta.2",
|
|
53
53
|
"apollo-cache": "1.3.5",
|
|
54
54
|
"apollo-client": "2.6.10",
|
|
55
55
|
"apollo-link": "1.2.14",
|
|
@@ -72,7 +72,6 @@
|
|
|
72
72
|
"react-helmet": "6.1.0",
|
|
73
73
|
"react-hotkeyz": "1.0.4",
|
|
74
74
|
"react-virtualized": "9.22.3",
|
|
75
|
-
"timeago-react": "2.0.1",
|
|
76
75
|
"use-deep-compare-effect": "1.8.1"
|
|
77
76
|
},
|
|
78
77
|
"devDependencies": {
|
|
@@ -81,8 +80,8 @@
|
|
|
81
80
|
"@babel/preset-env": "7.22.7",
|
|
82
81
|
"@babel/preset-react": "7.22.5",
|
|
83
82
|
"@babel/preset-typescript": "7.22.5",
|
|
84
|
-
"@webiny/cli": "5.38.0-beta.
|
|
85
|
-
"@webiny/project-utils": "5.38.0-beta.
|
|
83
|
+
"@webiny/cli": "5.38.0-beta.2",
|
|
84
|
+
"@webiny/project-utils": "5.38.0-beta.2",
|
|
86
85
|
"babel-plugin-emotion": "9.2.11",
|
|
87
86
|
"babel-plugin-module-resolver": "4.1.0",
|
|
88
87
|
"rimraf": "3.0.2",
|
|
@@ -112,5 +111,5 @@
|
|
|
112
111
|
]
|
|
113
112
|
}
|
|
114
113
|
},
|
|
115
|
-
"gitHead": "
|
|
114
|
+
"gitHead": "63fa1cb573e06614cf4683d4648b9a9443d57158"
|
|
116
115
|
}
|