@strapi/review-workflows 0.0.0-next.e3eb76a86aff89979cc9098aec129d2ffa600c56 → 0.0.0-next.e5d4b412da0d932b61b2fa5012d16513fda6de04

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (85) hide show
  1. package/dist/admin/components/Widgets.js +142 -0
  2. package/dist/admin/components/Widgets.js.map +1 -0
  3. package/dist/admin/components/Widgets.mjs +140 -0
  4. package/dist/admin/components/Widgets.mjs.map +1 -0
  5. package/dist/admin/index.js +26 -2
  6. package/dist/admin/index.js.map +1 -1
  7. package/dist/admin/index.mjs +26 -2
  8. package/dist/admin/index.mjs.map +1 -1
  9. package/dist/admin/services/content-manager.js +18 -3
  10. package/dist/admin/services/content-manager.js.map +1 -1
  11. package/dist/admin/services/content-manager.mjs +18 -4
  12. package/dist/admin/services/content-manager.mjs.map +1 -1
  13. package/dist/admin/src/components/Widgets.d.ts +2 -0
  14. package/dist/admin/src/services/admin.d.ts +1 -1
  15. package/dist/admin/src/services/api.d.ts +1 -1
  16. package/dist/admin/src/services/content-manager.d.ts +6 -5
  17. package/dist/admin/src/services/settings.d.ts +3 -3
  18. package/dist/admin/translations/en.json.js +3 -1
  19. package/dist/admin/translations/en.json.js.map +1 -1
  20. package/dist/admin/translations/en.json.mjs +3 -1
  21. package/dist/admin/translations/en.json.mjs.map +1 -1
  22. package/dist/server/controllers/index.js +3 -1
  23. package/dist/server/controllers/index.js.map +1 -1
  24. package/dist/server/controllers/index.mjs +3 -1
  25. package/dist/server/controllers/index.mjs.map +1 -1
  26. package/dist/server/homepage/controllers/homepage.js +15 -0
  27. package/dist/server/homepage/controllers/homepage.js.map +1 -0
  28. package/dist/server/homepage/controllers/homepage.mjs +13 -0
  29. package/dist/server/homepage/controllers/homepage.mjs.map +1 -0
  30. package/dist/server/homepage/controllers/index.js +10 -0
  31. package/dist/server/homepage/controllers/index.js.map +1 -0
  32. package/dist/server/homepage/controllers/index.mjs +8 -0
  33. package/dist/server/homepage/controllers/index.mjs.map +1 -0
  34. package/dist/server/homepage/index.js +14 -0
  35. package/dist/server/homepage/index.js.map +1 -0
  36. package/dist/server/homepage/index.mjs +12 -0
  37. package/dist/server/homepage/index.mjs.map +1 -0
  38. package/dist/server/homepage/routes/homepage.js +25 -0
  39. package/dist/server/homepage/routes/homepage.js.map +1 -0
  40. package/dist/server/homepage/routes/homepage.mjs +23 -0
  41. package/dist/server/homepage/routes/homepage.mjs.map +1 -0
  42. package/dist/server/homepage/routes/index.js +10 -0
  43. package/dist/server/homepage/routes/index.js.map +1 -0
  44. package/dist/server/homepage/routes/index.mjs +8 -0
  45. package/dist/server/homepage/routes/index.mjs.map +1 -0
  46. package/dist/server/homepage/services/homepage.js +24 -0
  47. package/dist/server/homepage/services/homepage.js.map +1 -0
  48. package/dist/server/homepage/services/homepage.mjs +22 -0
  49. package/dist/server/homepage/services/homepage.mjs.map +1 -0
  50. package/dist/server/homepage/services/index.js +10 -0
  51. package/dist/server/homepage/services/index.js.map +1 -0
  52. package/dist/server/homepage/services/index.mjs +8 -0
  53. package/dist/server/homepage/services/index.mjs.map +1 -0
  54. package/dist/server/routes/index.js +3 -1
  55. package/dist/server/routes/index.js.map +1 -1
  56. package/dist/server/routes/index.mjs +3 -1
  57. package/dist/server/routes/index.mjs.map +1 -1
  58. package/dist/server/services/index.js +3 -1
  59. package/dist/server/services/index.js.map +1 -1
  60. package/dist/server/services/index.mjs +3 -1
  61. package/dist/server/services/index.mjs.map +1 -1
  62. package/dist/server/src/controllers/index.d.ts.map +1 -1
  63. package/dist/server/src/homepage/controllers/homepage.d.ts +6 -0
  64. package/dist/server/src/homepage/controllers/homepage.d.ts.map +1 -0
  65. package/dist/server/src/homepage/controllers/index.d.ts +2 -0
  66. package/dist/server/src/homepage/controllers/index.d.ts.map +1 -0
  67. package/dist/server/src/homepage/index.d.ts +15 -0
  68. package/dist/server/src/homepage/index.d.ts.map +1 -0
  69. package/dist/server/src/homepage/routes/homepage.d.ts +4 -0
  70. package/dist/server/src/homepage/routes/homepage.d.ts.map +1 -0
  71. package/dist/server/src/homepage/routes/index.d.ts +4 -0
  72. package/dist/server/src/homepage/routes/index.d.ts.map +1 -0
  73. package/dist/server/src/homepage/services/homepage.d.ts +9 -0
  74. package/dist/server/src/homepage/services/homepage.d.ts.map +1 -0
  75. package/dist/server/src/homepage/services/index.d.ts +8 -0
  76. package/dist/server/src/homepage/services/index.d.ts.map +1 -0
  77. package/dist/server/src/index.d.ts +6 -0
  78. package/dist/server/src/index.d.ts.map +1 -1
  79. package/dist/server/src/routes/index.d.ts +1 -0
  80. package/dist/server/src/routes/index.d.ts.map +1 -1
  81. package/dist/server/src/services/index.d.ts +5 -0
  82. package/dist/server/src/services/index.d.ts.map +1 -1
  83. package/dist/shared/contracts/homepage.d.ts +26 -0
  84. package/dist/shared/contracts/homepage.d.ts.map +1 -0
  85. package/package.json +7 -7
@@ -0,0 +1,142 @@
1
+ 'use strict';
2
+
3
+ var jsxRuntime = require('react/jsx-runtime');
4
+ var strapiAdmin = require('@strapi/admin/strapi-admin');
5
+ var strapiAdmin$1 = require('@strapi/content-manager/strapi-admin');
6
+ var designSystem = require('@strapi/design-system');
7
+ var icons = require('@strapi/icons');
8
+ var reactIntl = require('react-intl');
9
+ var reactRouterDom = require('react-router-dom');
10
+ var styledComponents = require('styled-components');
11
+ var TableColumns = require('../routes/content-manager/model/components/TableColumns.js');
12
+ var contentManager = require('../services/content-manager.js');
13
+
14
+ const CellTypography = styledComponents.styled(designSystem.Typography)`
15
+ display: block;
16
+ max-width: 14.4rem;
17
+ overflow: hidden;
18
+ text-overflow: ellipsis;
19
+ white-space: nowrap;
20
+ `;
21
+ const RecentDocumentsTable = ({ documents, type })=>{
22
+ const { formatMessage } = reactIntl.useIntl();
23
+ const { trackUsage } = strapiAdmin.useTracking();
24
+ const navigate = reactRouterDom.useNavigate();
25
+ const getEditViewLink = (document)=>{
26
+ const isSingleType = document.kind === 'singleType';
27
+ const kindPath = isSingleType ? 'single-types' : 'collection-types';
28
+ const queryParams = document.locale ? `?plugins[i18n][locale]=${document.locale}` : '';
29
+ return `/content-manager/${kindPath}/${document.contentTypeUid}${isSingleType ? '' : '/' + document.documentId}${queryParams}`;
30
+ };
31
+ const handleRowClick = (document)=>()=>{
32
+ trackUsage('willEditEntryFromHome', {
33
+ entryType: type
34
+ });
35
+ const link = getEditViewLink(document);
36
+ navigate(link);
37
+ };
38
+ return /*#__PURE__*/ jsxRuntime.jsx(designSystem.Table, {
39
+ colCount: 6,
40
+ rowCount: documents?.length ?? 0,
41
+ children: /*#__PURE__*/ jsxRuntime.jsx(designSystem.Tbody, {
42
+ children: documents?.map((document)=>/*#__PURE__*/ jsxRuntime.jsxs(designSystem.Tr, {
43
+ onClick: handleRowClick(document),
44
+ cursor: "pointer",
45
+ children: [
46
+ /*#__PURE__*/ jsxRuntime.jsx(designSystem.Td, {
47
+ children: /*#__PURE__*/ jsxRuntime.jsx(CellTypography, {
48
+ title: document.title,
49
+ variant: "omega",
50
+ textColor: "neutral800",
51
+ children: document.title
52
+ })
53
+ }),
54
+ /*#__PURE__*/ jsxRuntime.jsx(designSystem.Td, {
55
+ children: /*#__PURE__*/ jsxRuntime.jsx(CellTypography, {
56
+ variant: "omega",
57
+ textColor: "neutral600",
58
+ children: document.kind === 'singleType' ? formatMessage({
59
+ id: 'content-manager.widget.last-edited.single-type',
60
+ defaultMessage: 'Single-Type'
61
+ }) : formatMessage({
62
+ id: document.contentTypeDisplayName,
63
+ defaultMessage: document.contentTypeDisplayName
64
+ })
65
+ })
66
+ }),
67
+ /*#__PURE__*/ jsxRuntime.jsx(designSystem.Td, {
68
+ children: /*#__PURE__*/ jsxRuntime.jsx(designSystem.Box, {
69
+ display: "inline-block",
70
+ children: document.status ? /*#__PURE__*/ jsxRuntime.jsx(strapiAdmin$1.DocumentStatus, {
71
+ status: document.status
72
+ }) : /*#__PURE__*/ jsxRuntime.jsx(designSystem.Typography, {
73
+ textColor: "neutral600",
74
+ "aria-hidden": true,
75
+ children: "-"
76
+ })
77
+ })
78
+ }),
79
+ /*#__PURE__*/ jsxRuntime.jsx(designSystem.Td, {
80
+ children: /*#__PURE__*/ jsxRuntime.jsx(designSystem.Typography, {
81
+ textColor: "neutral600",
82
+ children: /*#__PURE__*/ jsxRuntime.jsx(strapiAdmin$1.RelativeTime, {
83
+ timestamp: new Date(document.updatedAt)
84
+ })
85
+ })
86
+ }),
87
+ /*#__PURE__*/ jsxRuntime.jsx(designSystem.Td, {
88
+ children: /*#__PURE__*/ jsxRuntime.jsx(TableColumns.StageColumn, {
89
+ strapi_stage: document.strapi_stage
90
+ })
91
+ }),
92
+ /*#__PURE__*/ jsxRuntime.jsx(designSystem.Td, {
93
+ onClick: (e)=>e.stopPropagation(),
94
+ children: /*#__PURE__*/ jsxRuntime.jsx(designSystem.Box, {
95
+ display: "inline-block",
96
+ children: /*#__PURE__*/ jsxRuntime.jsx(designSystem.IconButton, {
97
+ tag: reactRouterDom.Link,
98
+ to: getEditViewLink(document),
99
+ onClick: ()=>trackUsage('willEditEntryFromHome', {
100
+ entryType: type
101
+ }),
102
+ label: formatMessage({
103
+ id: 'content-manager.actions.edit.label',
104
+ defaultMessage: 'Edit'
105
+ }),
106
+ variant: "ghost",
107
+ children: /*#__PURE__*/ jsxRuntime.jsx(icons.Pencil, {})
108
+ })
109
+ })
110
+ })
111
+ ]
112
+ }, document.documentId))
113
+ })
114
+ });
115
+ };
116
+ /* -------------------------------------------------------------------------------------------------
117
+ * AssignedWidget
118
+ * -----------------------------------------------------------------------------------------------*/ const AssignedWidget = ()=>{
119
+ const { formatMessage } = reactIntl.useIntl();
120
+ const { data, isLoading, error } = contentManager.useGetRecentlyAssignedDocumentsQuery();
121
+ if (isLoading) {
122
+ return /*#__PURE__*/ jsxRuntime.jsx(strapiAdmin.Widget.Loading, {});
123
+ }
124
+ if (error || !data) {
125
+ return /*#__PURE__*/ jsxRuntime.jsx(strapiAdmin.Widget.Error, {});
126
+ }
127
+ if (data.length === 0) {
128
+ return /*#__PURE__*/ jsxRuntime.jsx(strapiAdmin.Widget.NoData, {
129
+ children: formatMessage({
130
+ id: 'review-workflows.widget.assigned.no-data',
131
+ defaultMessage: 'No entries'
132
+ })
133
+ });
134
+ }
135
+ return /*#__PURE__*/ jsxRuntime.jsx(RecentDocumentsTable, {
136
+ documents: data,
137
+ type: "assigned"
138
+ });
139
+ };
140
+
141
+ exports.AssignedWidget = AssignedWidget;
142
+ //# sourceMappingURL=Widgets.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Widgets.js","sources":["../../../admin/src/components/Widgets.tsx"],"sourcesContent":["import { Widget, useTracking } from '@strapi/admin/strapi-admin';\nimport { DocumentStatus, RelativeTime } from '@strapi/content-manager/strapi-admin';\nimport { Box, IconButton, Table, Tbody, Td, Tr, Typography } from '@strapi/design-system';\nimport { Pencil } from '@strapi/icons';\nimport { useIntl } from 'react-intl';\nimport { Link, useNavigate } from 'react-router-dom';\nimport { styled } from 'styled-components';\n\nimport { StageColumn } from '../routes/content-manager/model/components/TableColumns';\nimport { useGetRecentlyAssignedDocumentsQuery } from '../services/content-manager';\n\nimport type { RecentDocument } from '../../../shared/contracts/homepage';\n\nconst CellTypography = styled(Typography)`\n display: block;\n max-width: 14.4rem;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n`;\n\nconst RecentDocumentsTable = ({\n documents,\n type,\n}: {\n documents: RecentDocument[];\n type: 'assigned';\n}) => {\n const { formatMessage } = useIntl();\n const { trackUsage } = useTracking();\n const navigate = useNavigate();\n\n const getEditViewLink = (document: RecentDocument): string => {\n const isSingleType = document.kind === 'singleType';\n const kindPath = isSingleType ? 'single-types' : 'collection-types';\n const queryParams = document.locale ? `?plugins[i18n][locale]=${document.locale}` : '';\n\n return `/content-manager/${kindPath}/${document.contentTypeUid}${isSingleType ? '' : '/' + document.documentId}${queryParams}`;\n };\n\n const handleRowClick = (document: RecentDocument) => () => {\n trackUsage('willEditEntryFromHome', { entryType: type });\n const link = getEditViewLink(document);\n navigate(link);\n };\n\n return (\n <Table colCount={6} rowCount={documents?.length ?? 0}>\n <Tbody>\n {documents?.map((document) => (\n <Tr onClick={handleRowClick(document)} cursor=\"pointer\" key={document.documentId}>\n <Td>\n <CellTypography title={document.title} variant=\"omega\" textColor=\"neutral800\">\n {document.title}\n </CellTypography>\n </Td>\n <Td>\n <CellTypography variant=\"omega\" textColor=\"neutral600\">\n {document.kind === 'singleType'\n ? formatMessage({\n id: 'content-manager.widget.last-edited.single-type',\n defaultMessage: 'Single-Type',\n })\n : formatMessage({\n id: document.contentTypeDisplayName,\n defaultMessage: document.contentTypeDisplayName,\n })}\n </CellTypography>\n </Td>\n <Td>\n <Box display=\"inline-block\">\n {document.status ? (\n <DocumentStatus status={document.status} />\n ) : (\n <Typography textColor=\"neutral600\" aria-hidden>\n -\n </Typography>\n )}\n </Box>\n </Td>\n <Td>\n <Typography textColor=\"neutral600\">\n <RelativeTime timestamp={new Date(document.updatedAt)} />\n </Typography>\n </Td>\n <Td>\n <StageColumn strapi_stage={document.strapi_stage} />\n </Td>\n <Td onClick={(e) => e.stopPropagation()}>\n <Box display=\"inline-block\">\n <IconButton\n tag={Link}\n to={getEditViewLink(document)}\n onClick={() => trackUsage('willEditEntryFromHome', { entryType: type })}\n label={formatMessage({\n id: 'content-manager.actions.edit.label',\n defaultMessage: 'Edit',\n })}\n variant=\"ghost\"\n >\n <Pencil />\n </IconButton>\n </Box>\n </Td>\n </Tr>\n ))}\n </Tbody>\n </Table>\n );\n};\n\n/* -------------------------------------------------------------------------------------------------\n * AssignedWidget\n * -----------------------------------------------------------------------------------------------*/\n\nconst AssignedWidget = () => {\n const { formatMessage } = useIntl();\n const { data, isLoading, error } = useGetRecentlyAssignedDocumentsQuery();\n\n if (isLoading) {\n return <Widget.Loading />;\n }\n\n if (error || !data) {\n return <Widget.Error />;\n }\n\n if (data.length === 0) {\n return (\n <Widget.NoData>\n {formatMessage({\n id: 'review-workflows.widget.assigned.no-data',\n defaultMessage: 'No entries',\n })}\n </Widget.NoData>\n );\n }\n\n return <RecentDocumentsTable documents={data} type=\"assigned\" />;\n};\n\nexport { AssignedWidget };\n"],"names":["CellTypography","styled","Typography","RecentDocumentsTable","documents","type","formatMessage","useIntl","trackUsage","useTracking","navigate","useNavigate","getEditViewLink","document","isSingleType","kind","kindPath","queryParams","locale","contentTypeUid","documentId","handleRowClick","entryType","link","_jsx","Table","colCount","rowCount","length","Tbody","map","_jsxs","Tr","onClick","cursor","Td","title","variant","textColor","id","defaultMessage","contentTypeDisplayName","Box","display","status","DocumentStatus","aria-hidden","RelativeTime","timestamp","Date","updatedAt","StageColumn","strapi_stage","e","stopPropagation","IconButton","tag","Link","to","label","Pencil","AssignedWidget","data","isLoading","error","useGetRecentlyAssignedDocumentsQuery","Widget","Loading","Error","NoData"],"mappings":"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"}
@@ -0,0 +1,140 @@
1
+ import { jsx, jsxs } from 'react/jsx-runtime';
2
+ import { Widget, useTracking } from '@strapi/admin/strapi-admin';
3
+ import { DocumentStatus, RelativeTime } from '@strapi/content-manager/strapi-admin';
4
+ import { Typography, Table, Tbody, Tr, Td, Box, IconButton } from '@strapi/design-system';
5
+ import { Pencil } from '@strapi/icons';
6
+ import { useIntl } from 'react-intl';
7
+ import { useNavigate, Link } from 'react-router-dom';
8
+ import { styled } from 'styled-components';
9
+ import { StageColumn } from '../routes/content-manager/model/components/TableColumns.mjs';
10
+ import { useGetRecentlyAssignedDocumentsQuery } from '../services/content-manager.mjs';
11
+
12
+ const CellTypography = styled(Typography)`
13
+ display: block;
14
+ max-width: 14.4rem;
15
+ overflow: hidden;
16
+ text-overflow: ellipsis;
17
+ white-space: nowrap;
18
+ `;
19
+ const RecentDocumentsTable = ({ documents, type })=>{
20
+ const { formatMessage } = useIntl();
21
+ const { trackUsage } = useTracking();
22
+ const navigate = useNavigate();
23
+ const getEditViewLink = (document)=>{
24
+ const isSingleType = document.kind === 'singleType';
25
+ const kindPath = isSingleType ? 'single-types' : 'collection-types';
26
+ const queryParams = document.locale ? `?plugins[i18n][locale]=${document.locale}` : '';
27
+ return `/content-manager/${kindPath}/${document.contentTypeUid}${isSingleType ? '' : '/' + document.documentId}${queryParams}`;
28
+ };
29
+ const handleRowClick = (document)=>()=>{
30
+ trackUsage('willEditEntryFromHome', {
31
+ entryType: type
32
+ });
33
+ const link = getEditViewLink(document);
34
+ navigate(link);
35
+ };
36
+ return /*#__PURE__*/ jsx(Table, {
37
+ colCount: 6,
38
+ rowCount: documents?.length ?? 0,
39
+ children: /*#__PURE__*/ jsx(Tbody, {
40
+ children: documents?.map((document)=>/*#__PURE__*/ jsxs(Tr, {
41
+ onClick: handleRowClick(document),
42
+ cursor: "pointer",
43
+ children: [
44
+ /*#__PURE__*/ jsx(Td, {
45
+ children: /*#__PURE__*/ jsx(CellTypography, {
46
+ title: document.title,
47
+ variant: "omega",
48
+ textColor: "neutral800",
49
+ children: document.title
50
+ })
51
+ }),
52
+ /*#__PURE__*/ jsx(Td, {
53
+ children: /*#__PURE__*/ jsx(CellTypography, {
54
+ variant: "omega",
55
+ textColor: "neutral600",
56
+ children: document.kind === 'singleType' ? formatMessage({
57
+ id: 'content-manager.widget.last-edited.single-type',
58
+ defaultMessage: 'Single-Type'
59
+ }) : formatMessage({
60
+ id: document.contentTypeDisplayName,
61
+ defaultMessage: document.contentTypeDisplayName
62
+ })
63
+ })
64
+ }),
65
+ /*#__PURE__*/ jsx(Td, {
66
+ children: /*#__PURE__*/ jsx(Box, {
67
+ display: "inline-block",
68
+ children: document.status ? /*#__PURE__*/ jsx(DocumentStatus, {
69
+ status: document.status
70
+ }) : /*#__PURE__*/ jsx(Typography, {
71
+ textColor: "neutral600",
72
+ "aria-hidden": true,
73
+ children: "-"
74
+ })
75
+ })
76
+ }),
77
+ /*#__PURE__*/ jsx(Td, {
78
+ children: /*#__PURE__*/ jsx(Typography, {
79
+ textColor: "neutral600",
80
+ children: /*#__PURE__*/ jsx(RelativeTime, {
81
+ timestamp: new Date(document.updatedAt)
82
+ })
83
+ })
84
+ }),
85
+ /*#__PURE__*/ jsx(Td, {
86
+ children: /*#__PURE__*/ jsx(StageColumn, {
87
+ strapi_stage: document.strapi_stage
88
+ })
89
+ }),
90
+ /*#__PURE__*/ jsx(Td, {
91
+ onClick: (e)=>e.stopPropagation(),
92
+ children: /*#__PURE__*/ jsx(Box, {
93
+ display: "inline-block",
94
+ children: /*#__PURE__*/ jsx(IconButton, {
95
+ tag: Link,
96
+ to: getEditViewLink(document),
97
+ onClick: ()=>trackUsage('willEditEntryFromHome', {
98
+ entryType: type
99
+ }),
100
+ label: formatMessage({
101
+ id: 'content-manager.actions.edit.label',
102
+ defaultMessage: 'Edit'
103
+ }),
104
+ variant: "ghost",
105
+ children: /*#__PURE__*/ jsx(Pencil, {})
106
+ })
107
+ })
108
+ })
109
+ ]
110
+ }, document.documentId))
111
+ })
112
+ });
113
+ };
114
+ /* -------------------------------------------------------------------------------------------------
115
+ * AssignedWidget
116
+ * -----------------------------------------------------------------------------------------------*/ const AssignedWidget = ()=>{
117
+ const { formatMessage } = useIntl();
118
+ const { data, isLoading, error } = useGetRecentlyAssignedDocumentsQuery();
119
+ if (isLoading) {
120
+ return /*#__PURE__*/ jsx(Widget.Loading, {});
121
+ }
122
+ if (error || !data) {
123
+ return /*#__PURE__*/ jsx(Widget.Error, {});
124
+ }
125
+ if (data.length === 0) {
126
+ return /*#__PURE__*/ jsx(Widget.NoData, {
127
+ children: formatMessage({
128
+ id: 'review-workflows.widget.assigned.no-data',
129
+ defaultMessage: 'No entries'
130
+ })
131
+ });
132
+ }
133
+ return /*#__PURE__*/ jsx(RecentDocumentsTable, {
134
+ documents: data,
135
+ type: "assigned"
136
+ });
137
+ };
138
+
139
+ export { AssignedWidget };
140
+ //# sourceMappingURL=Widgets.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Widgets.mjs","sources":["../../../admin/src/components/Widgets.tsx"],"sourcesContent":["import { Widget, useTracking } from '@strapi/admin/strapi-admin';\nimport { DocumentStatus, RelativeTime } from '@strapi/content-manager/strapi-admin';\nimport { Box, IconButton, Table, Tbody, Td, Tr, Typography } from '@strapi/design-system';\nimport { Pencil } from '@strapi/icons';\nimport { useIntl } from 'react-intl';\nimport { Link, useNavigate } from 'react-router-dom';\nimport { styled } from 'styled-components';\n\nimport { StageColumn } from '../routes/content-manager/model/components/TableColumns';\nimport { useGetRecentlyAssignedDocumentsQuery } from '../services/content-manager';\n\nimport type { RecentDocument } from '../../../shared/contracts/homepage';\n\nconst CellTypography = styled(Typography)`\n display: block;\n max-width: 14.4rem;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n`;\n\nconst RecentDocumentsTable = ({\n documents,\n type,\n}: {\n documents: RecentDocument[];\n type: 'assigned';\n}) => {\n const { formatMessage } = useIntl();\n const { trackUsage } = useTracking();\n const navigate = useNavigate();\n\n const getEditViewLink = (document: RecentDocument): string => {\n const isSingleType = document.kind === 'singleType';\n const kindPath = isSingleType ? 'single-types' : 'collection-types';\n const queryParams = document.locale ? `?plugins[i18n][locale]=${document.locale}` : '';\n\n return `/content-manager/${kindPath}/${document.contentTypeUid}${isSingleType ? '' : '/' + document.documentId}${queryParams}`;\n };\n\n const handleRowClick = (document: RecentDocument) => () => {\n trackUsage('willEditEntryFromHome', { entryType: type });\n const link = getEditViewLink(document);\n navigate(link);\n };\n\n return (\n <Table colCount={6} rowCount={documents?.length ?? 0}>\n <Tbody>\n {documents?.map((document) => (\n <Tr onClick={handleRowClick(document)} cursor=\"pointer\" key={document.documentId}>\n <Td>\n <CellTypography title={document.title} variant=\"omega\" textColor=\"neutral800\">\n {document.title}\n </CellTypography>\n </Td>\n <Td>\n <CellTypography variant=\"omega\" textColor=\"neutral600\">\n {document.kind === 'singleType'\n ? formatMessage({\n id: 'content-manager.widget.last-edited.single-type',\n defaultMessage: 'Single-Type',\n })\n : formatMessage({\n id: document.contentTypeDisplayName,\n defaultMessage: document.contentTypeDisplayName,\n })}\n </CellTypography>\n </Td>\n <Td>\n <Box display=\"inline-block\">\n {document.status ? (\n <DocumentStatus status={document.status} />\n ) : (\n <Typography textColor=\"neutral600\" aria-hidden>\n -\n </Typography>\n )}\n </Box>\n </Td>\n <Td>\n <Typography textColor=\"neutral600\">\n <RelativeTime timestamp={new Date(document.updatedAt)} />\n </Typography>\n </Td>\n <Td>\n <StageColumn strapi_stage={document.strapi_stage} />\n </Td>\n <Td onClick={(e) => e.stopPropagation()}>\n <Box display=\"inline-block\">\n <IconButton\n tag={Link}\n to={getEditViewLink(document)}\n onClick={() => trackUsage('willEditEntryFromHome', { entryType: type })}\n label={formatMessage({\n id: 'content-manager.actions.edit.label',\n defaultMessage: 'Edit',\n })}\n variant=\"ghost\"\n >\n <Pencil />\n </IconButton>\n </Box>\n </Td>\n </Tr>\n ))}\n </Tbody>\n </Table>\n );\n};\n\n/* -------------------------------------------------------------------------------------------------\n * AssignedWidget\n * -----------------------------------------------------------------------------------------------*/\n\nconst AssignedWidget = () => {\n const { formatMessage } = useIntl();\n const { data, isLoading, error } = useGetRecentlyAssignedDocumentsQuery();\n\n if (isLoading) {\n return <Widget.Loading />;\n }\n\n if (error || !data) {\n return <Widget.Error />;\n }\n\n if (data.length === 0) {\n return (\n <Widget.NoData>\n {formatMessage({\n id: 'review-workflows.widget.assigned.no-data',\n defaultMessage: 'No entries',\n })}\n </Widget.NoData>\n );\n }\n\n return <RecentDocumentsTable documents={data} type=\"assigned\" />;\n};\n\nexport { AssignedWidget };\n"],"names":["CellTypography","styled","Typography","RecentDocumentsTable","documents","type","formatMessage","useIntl","trackUsage","useTracking","navigate","useNavigate","getEditViewLink","document","isSingleType","kind","kindPath","queryParams","locale","contentTypeUid","documentId","handleRowClick","entryType","link","_jsx","Table","colCount","rowCount","length","Tbody","map","_jsxs","Tr","onClick","cursor","Td","title","variant","textColor","id","defaultMessage","contentTypeDisplayName","Box","display","status","DocumentStatus","aria-hidden","RelativeTime","timestamp","Date","updatedAt","StageColumn","strapi_stage","e","stopPropagation","IconButton","tag","Link","to","label","Pencil","AssignedWidget","data","isLoading","error","useGetRecentlyAssignedDocumentsQuery","Widget","Loading","Error","NoData"],"mappings":"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"}
@@ -1,5 +1,6 @@
1
1
  'use strict';
2
2
 
3
+ var icons = require('@strapi/icons');
3
4
  var constants = require('./constants.js');
4
5
  var Header = require('./routes/content-manager/model/id/components/Header.js');
5
6
  var Panel = require('./routes/content-manager/model/id/components/Panel.js');
@@ -8,7 +9,7 @@ var translations = require('./utils/translations.js');
8
9
 
9
10
  function _interopNamespaceDefaultOnly (e) { return Object.freeze({ __proto__: null, default: e }); }
10
11
 
11
- function __variableDynamicImportRuntime2__(path) {
12
+ function __variableDynamicImportRuntime3__(path) {
12
13
  switch (path) {
13
14
  case './translations/en.json': return Promise.resolve().then(function () { return /*#__PURE__*/_interopNamespaceDefaultOnly(require('./translations/en.json.js')); });
14
15
  case './translations/uk.json': return Promise.resolve().then(function () { return /*#__PURE__*/_interopNamespaceDefaultOnly(require('./translations/uk.json.js')); });
@@ -36,6 +37,7 @@ const admin = {
36
37
  id: `${constants.PLUGIN_ID}.plugin.name`,
37
38
  defaultMessage: 'Review Workflows'
38
39
  },
40
+ licenseOnly: true,
39
41
  permissions: [],
40
42
  async Component () {
41
43
  const { Router } = await Promise.resolve().then(function () { return require('./router.js'); });
@@ -44,6 +46,28 @@ const admin = {
44
46
  };
45
47
  }
46
48
  });
49
+ // Always put the assigned to me widget last in the list of widgets
50
+ app.widgets.register((widgets)=>[
51
+ ...widgets,
52
+ {
53
+ icon: icons.SealCheck,
54
+ title: {
55
+ id: `${constants.PLUGIN_ID}.widget.assigned.title`,
56
+ defaultMessage: 'Assigned to me'
57
+ },
58
+ component: async ()=>{
59
+ const { AssignedWidget } = await Promise.resolve().then(function () { return require('./components/Widgets.js'); });
60
+ return AssignedWidget;
61
+ },
62
+ pluginId: constants.PLUGIN_ID,
63
+ id: 'assigned',
64
+ permissions: [
65
+ {
66
+ action: 'plugin::content-manager.explorer.read'
67
+ }
68
+ ]
69
+ }
70
+ ]);
47
71
  } else if (!window.strapi.features.isEnabled(constants.FEATURE_ID) && window.strapi?.flags?.promoteEE) {
48
72
  app.addSettingsLink('global', {
49
73
  id: constants.PLUGIN_ID,
@@ -73,7 +97,7 @@ const admin = {
73
97
  },
74
98
  async registerTrads ({ locales }) {
75
99
  const importedTrads = await Promise.all(locales.map((locale)=>{
76
- return __variableDynamicImportRuntime2__(`./translations/${locale}.json`).then(({ default: data })=>{
100
+ return __variableDynamicImportRuntime3__(`./translations/${locale}.json`).then(({ default: data })=>{
77
101
  return {
78
102
  data: translations.prefixPluginTranslations(data, constants.PLUGIN_ID),
79
103
  locale
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../admin/src/index.ts"],"sourcesContent":["import { PLUGIN_ID, FEATURE_ID } from './constants';\nimport { Header } from './routes/content-manager/model/id/components/Header';\nimport { Panel } from './routes/content-manager/model/id/components/Panel';\nimport { StageSelect } from './routes/content-manager/model/id/components/StageSelect';\nimport { addColumnToTableHook } from './utils/cm-hooks';\nimport { prefixPluginTranslations } from './utils/translations';\n\nimport type { StrapiApp } from '@strapi/admin/strapi-admin';\nimport type { Plugin } from '@strapi/types';\n\nconst admin: Plugin.Config.AdminInput = {\n register(app: StrapiApp) {\n if (window.strapi.features.isEnabled(FEATURE_ID)) {\n app.registerHook('Admin/CM/pages/ListView/inject-column-in-table', addColumnToTableHook);\n\n const contentManagerPluginApis = app.getPlugin('content-manager').apis;\n\n if (\n 'addEditViewSidePanel' in contentManagerPluginApis &&\n typeof contentManagerPluginApis.addEditViewSidePanel === 'function'\n ) {\n contentManagerPluginApis.addEditViewSidePanel([Panel]);\n }\n\n app.addSettingsLink('global', {\n id: PLUGIN_ID,\n to: `review-workflows`,\n intlLabel: {\n id: `${PLUGIN_ID}.plugin.name`,\n defaultMessage: 'Review Workflows',\n },\n permissions: [],\n async Component() {\n const { Router } = await import('./router');\n return { default: Router };\n },\n });\n } else if (!window.strapi.features.isEnabled(FEATURE_ID) && window.strapi?.flags?.promoteEE) {\n app.addSettingsLink('global', {\n id: PLUGIN_ID,\n to: `purchase-review-workflows`,\n intlLabel: {\n id: `${PLUGIN_ID}.plugin.name`,\n defaultMessage: 'Review Workflows',\n },\n licenseOnly: true,\n permissions: [],\n async Component() {\n const { PurchaseReviewWorkflows } = await import('./routes/purchase-review-workflows');\n return { default: PurchaseReviewWorkflows };\n },\n });\n }\n },\n bootstrap(app: StrapiApp) {\n if (window.strapi.features.isEnabled(FEATURE_ID)) {\n app.getPlugin('content-manager').injectComponent('preview', 'actions', {\n name: 'review-workflows-assignee',\n Component: Header,\n });\n }\n },\n async registerTrads({ locales }: { locales: string[] }) {\n const importedTrads = await Promise.all(\n locales.map((locale) => {\n return import(`./translations/${locale}.json`)\n .then(({ default: data }) => {\n return {\n data: prefixPluginTranslations(data, PLUGIN_ID),\n locale,\n };\n })\n .catch(() => {\n return {\n data: {},\n locale,\n };\n });\n })\n );\n\n return Promise.resolve(importedTrads);\n },\n};\n\n// eslint-disable-next-line import/no-default-export\nexport default admin;\n"],"names":["admin","register","app","window","strapi","features","isEnabled","FEATURE_ID","registerHook","addColumnToTableHook","contentManagerPluginApis","getPlugin","apis","addEditViewSidePanel","Panel","addSettingsLink","id","PLUGIN_ID","to","intlLabel","defaultMessage","permissions","Component","Router","default","flags","promoteEE","licenseOnly","PurchaseReviewWorkflows","bootstrap","injectComponent","name","Header","registerTrads","locales","importedTrads","Promise","all","map","locale","then","data","prefixPluginTranslations","catch","resolve"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["../../admin/src/index.ts"],"sourcesContent":["import { SealCheck } from '@strapi/icons';\n\nimport { PLUGIN_ID, FEATURE_ID } from './constants';\nimport { Header } from './routes/content-manager/model/id/components/Header';\nimport { Panel } from './routes/content-manager/model/id/components/Panel';\nimport { addColumnToTableHook } from './utils/cm-hooks';\nimport { prefixPluginTranslations } from './utils/translations';\n\nimport type { StrapiApp, WidgetArgs } from '@strapi/admin/strapi-admin';\nimport type { Plugin } from '@strapi/types';\n\nconst admin: Plugin.Config.AdminInput = {\n register(app: StrapiApp) {\n if (window.strapi.features.isEnabled(FEATURE_ID)) {\n app.registerHook('Admin/CM/pages/ListView/inject-column-in-table', addColumnToTableHook);\n\n const contentManagerPluginApis = app.getPlugin('content-manager').apis;\n\n if (\n 'addEditViewSidePanel' in contentManagerPluginApis &&\n typeof contentManagerPluginApis.addEditViewSidePanel === 'function'\n ) {\n contentManagerPluginApis.addEditViewSidePanel([Panel]);\n }\n\n app.addSettingsLink('global', {\n id: PLUGIN_ID,\n to: `review-workflows`,\n intlLabel: {\n id: `${PLUGIN_ID}.plugin.name`,\n defaultMessage: 'Review Workflows',\n },\n licenseOnly: true,\n permissions: [],\n async Component() {\n const { Router } = await import('./router');\n return { default: Router };\n },\n });\n\n // Always put the assigned to me widget last in the list of widgets\n app.widgets.register((widgets: WidgetArgs[]) => [\n ...widgets,\n {\n icon: SealCheck,\n title: {\n id: `${PLUGIN_ID}.widget.assigned.title`,\n defaultMessage: 'Assigned to me',\n },\n component: async () => {\n const { AssignedWidget } = await import('./components/Widgets');\n return AssignedWidget;\n },\n pluginId: PLUGIN_ID,\n id: 'assigned',\n permissions: [{ action: 'plugin::content-manager.explorer.read' }],\n },\n ]);\n } else if (!window.strapi.features.isEnabled(FEATURE_ID) && window.strapi?.flags?.promoteEE) {\n app.addSettingsLink('global', {\n id: PLUGIN_ID,\n to: `purchase-review-workflows`,\n intlLabel: {\n id: `${PLUGIN_ID}.plugin.name`,\n defaultMessage: 'Review Workflows',\n },\n licenseOnly: true,\n permissions: [],\n async Component() {\n const { PurchaseReviewWorkflows } = await import('./routes/purchase-review-workflows');\n return { default: PurchaseReviewWorkflows };\n },\n });\n }\n },\n bootstrap(app: StrapiApp) {\n if (window.strapi.features.isEnabled(FEATURE_ID)) {\n app.getPlugin('content-manager').injectComponent('preview', 'actions', {\n name: 'review-workflows-assignee',\n Component: Header,\n });\n }\n },\n async registerTrads({ locales }: { locales: string[] }) {\n const importedTrads = await Promise.all(\n locales.map((locale) => {\n return import(`./translations/${locale}.json`)\n .then(({ default: data }) => {\n return {\n data: prefixPluginTranslations(data, PLUGIN_ID),\n locale,\n };\n })\n .catch(() => {\n return {\n data: {},\n locale,\n };\n });\n })\n );\n\n return Promise.resolve(importedTrads);\n },\n};\n\n// eslint-disable-next-line import/no-default-export\nexport default admin;\n"],"names":["admin","register","app","window","strapi","features","isEnabled","FEATURE_ID","registerHook","addColumnToTableHook","contentManagerPluginApis","getPlugin","apis","addEditViewSidePanel","Panel","addSettingsLink","id","PLUGIN_ID","to","intlLabel","defaultMessage","licenseOnly","permissions","Component","Router","default","widgets","icon","SealCheck","title","component","AssignedWidget","pluginId","action","flags","promoteEE","PurchaseReviewWorkflows","bootstrap","injectComponent","name","Header","registerTrads","locales","importedTrads","Promise","all","map","locale","then","data","prefixPluginTranslations","catch","resolve"],"mappings":"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"}
@@ -1,10 +1,11 @@
1
+ import { SealCheck } from '@strapi/icons';
1
2
  import { FEATURE_ID, PLUGIN_ID } from './constants.mjs';
2
3
  import { Header } from './routes/content-manager/model/id/components/Header.mjs';
3
4
  import { Panel } from './routes/content-manager/model/id/components/Panel.mjs';
4
5
  import { addColumnToTableHook } from './utils/cm-hooks.mjs';
5
6
  import { prefixPluginTranslations } from './utils/translations.mjs';
6
7
 
7
- function __variableDynamicImportRuntime2__(path) {
8
+ function __variableDynamicImportRuntime3__(path) {
8
9
  switch (path) {
9
10
  case './translations/en.json': return import('./translations/en.json.mjs');
10
11
  case './translations/uk.json': return import('./translations/uk.json.mjs');
@@ -32,6 +33,7 @@ const admin = {
32
33
  id: `${PLUGIN_ID}.plugin.name`,
33
34
  defaultMessage: 'Review Workflows'
34
35
  },
36
+ licenseOnly: true,
35
37
  permissions: [],
36
38
  async Component () {
37
39
  const { Router } = await import('./router.mjs');
@@ -40,6 +42,28 @@ const admin = {
40
42
  };
41
43
  }
42
44
  });
45
+ // Always put the assigned to me widget last in the list of widgets
46
+ app.widgets.register((widgets)=>[
47
+ ...widgets,
48
+ {
49
+ icon: SealCheck,
50
+ title: {
51
+ id: `${PLUGIN_ID}.widget.assigned.title`,
52
+ defaultMessage: 'Assigned to me'
53
+ },
54
+ component: async ()=>{
55
+ const { AssignedWidget } = await import('./components/Widgets.mjs');
56
+ return AssignedWidget;
57
+ },
58
+ pluginId: PLUGIN_ID,
59
+ id: 'assigned',
60
+ permissions: [
61
+ {
62
+ action: 'plugin::content-manager.explorer.read'
63
+ }
64
+ ]
65
+ }
66
+ ]);
43
67
  } else if (!window.strapi.features.isEnabled(FEATURE_ID) && window.strapi?.flags?.promoteEE) {
44
68
  app.addSettingsLink('global', {
45
69
  id: PLUGIN_ID,
@@ -69,7 +93,7 @@ const admin = {
69
93
  },
70
94
  async registerTrads ({ locales }) {
71
95
  const importedTrads = await Promise.all(locales.map((locale)=>{
72
- return __variableDynamicImportRuntime2__(`./translations/${locale}.json`).then(({ default: data })=>{
96
+ return __variableDynamicImportRuntime3__(`./translations/${locale}.json`).then(({ default: data })=>{
73
97
  return {
74
98
  data: prefixPluginTranslations(data, PLUGIN_ID),
75
99
  locale
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","sources":["../../admin/src/index.ts"],"sourcesContent":["import { PLUGIN_ID, FEATURE_ID } from './constants';\nimport { Header } from './routes/content-manager/model/id/components/Header';\nimport { Panel } from './routes/content-manager/model/id/components/Panel';\nimport { StageSelect } from './routes/content-manager/model/id/components/StageSelect';\nimport { addColumnToTableHook } from './utils/cm-hooks';\nimport { prefixPluginTranslations } from './utils/translations';\n\nimport type { StrapiApp } from '@strapi/admin/strapi-admin';\nimport type { Plugin } from '@strapi/types';\n\nconst admin: Plugin.Config.AdminInput = {\n register(app: StrapiApp) {\n if (window.strapi.features.isEnabled(FEATURE_ID)) {\n app.registerHook('Admin/CM/pages/ListView/inject-column-in-table', addColumnToTableHook);\n\n const contentManagerPluginApis = app.getPlugin('content-manager').apis;\n\n if (\n 'addEditViewSidePanel' in contentManagerPluginApis &&\n typeof contentManagerPluginApis.addEditViewSidePanel === 'function'\n ) {\n contentManagerPluginApis.addEditViewSidePanel([Panel]);\n }\n\n app.addSettingsLink('global', {\n id: PLUGIN_ID,\n to: `review-workflows`,\n intlLabel: {\n id: `${PLUGIN_ID}.plugin.name`,\n defaultMessage: 'Review Workflows',\n },\n permissions: [],\n async Component() {\n const { Router } = await import('./router');\n return { default: Router };\n },\n });\n } else if (!window.strapi.features.isEnabled(FEATURE_ID) && window.strapi?.flags?.promoteEE) {\n app.addSettingsLink('global', {\n id: PLUGIN_ID,\n to: `purchase-review-workflows`,\n intlLabel: {\n id: `${PLUGIN_ID}.plugin.name`,\n defaultMessage: 'Review Workflows',\n },\n licenseOnly: true,\n permissions: [],\n async Component() {\n const { PurchaseReviewWorkflows } = await import('./routes/purchase-review-workflows');\n return { default: PurchaseReviewWorkflows };\n },\n });\n }\n },\n bootstrap(app: StrapiApp) {\n if (window.strapi.features.isEnabled(FEATURE_ID)) {\n app.getPlugin('content-manager').injectComponent('preview', 'actions', {\n name: 'review-workflows-assignee',\n Component: Header,\n });\n }\n },\n async registerTrads({ locales }: { locales: string[] }) {\n const importedTrads = await Promise.all(\n locales.map((locale) => {\n return import(`./translations/${locale}.json`)\n .then(({ default: data }) => {\n return {\n data: prefixPluginTranslations(data, PLUGIN_ID),\n locale,\n };\n })\n .catch(() => {\n return {\n data: {},\n locale,\n };\n });\n })\n );\n\n return Promise.resolve(importedTrads);\n },\n};\n\n// eslint-disable-next-line import/no-default-export\nexport default admin;\n"],"names":["admin","register","app","window","strapi","features","isEnabled","FEATURE_ID","registerHook","addColumnToTableHook","contentManagerPluginApis","getPlugin","apis","addEditViewSidePanel","Panel","addSettingsLink","id","PLUGIN_ID","to","intlLabel","defaultMessage","permissions","Component","Router","default","flags","promoteEE","licenseOnly","PurchaseReviewWorkflows","bootstrap","injectComponent","name","Header","registerTrads","locales","importedTrads","Promise","all","map","locale","then","data","prefixPluginTranslations","catch","resolve"],"mappings":"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"}
1
+ {"version":3,"file":"index.mjs","sources":["../../admin/src/index.ts"],"sourcesContent":["import { SealCheck } from '@strapi/icons';\n\nimport { PLUGIN_ID, FEATURE_ID } from './constants';\nimport { Header } from './routes/content-manager/model/id/components/Header';\nimport { Panel } from './routes/content-manager/model/id/components/Panel';\nimport { addColumnToTableHook } from './utils/cm-hooks';\nimport { prefixPluginTranslations } from './utils/translations';\n\nimport type { StrapiApp, WidgetArgs } from '@strapi/admin/strapi-admin';\nimport type { Plugin } from '@strapi/types';\n\nconst admin: Plugin.Config.AdminInput = {\n register(app: StrapiApp) {\n if (window.strapi.features.isEnabled(FEATURE_ID)) {\n app.registerHook('Admin/CM/pages/ListView/inject-column-in-table', addColumnToTableHook);\n\n const contentManagerPluginApis = app.getPlugin('content-manager').apis;\n\n if (\n 'addEditViewSidePanel' in contentManagerPluginApis &&\n typeof contentManagerPluginApis.addEditViewSidePanel === 'function'\n ) {\n contentManagerPluginApis.addEditViewSidePanel([Panel]);\n }\n\n app.addSettingsLink('global', {\n id: PLUGIN_ID,\n to: `review-workflows`,\n intlLabel: {\n id: `${PLUGIN_ID}.plugin.name`,\n defaultMessage: 'Review Workflows',\n },\n licenseOnly: true,\n permissions: [],\n async Component() {\n const { Router } = await import('./router');\n return { default: Router };\n },\n });\n\n // Always put the assigned to me widget last in the list of widgets\n app.widgets.register((widgets: WidgetArgs[]) => [\n ...widgets,\n {\n icon: SealCheck,\n title: {\n id: `${PLUGIN_ID}.widget.assigned.title`,\n defaultMessage: 'Assigned to me',\n },\n component: async () => {\n const { AssignedWidget } = await import('./components/Widgets');\n return AssignedWidget;\n },\n pluginId: PLUGIN_ID,\n id: 'assigned',\n permissions: [{ action: 'plugin::content-manager.explorer.read' }],\n },\n ]);\n } else if (!window.strapi.features.isEnabled(FEATURE_ID) && window.strapi?.flags?.promoteEE) {\n app.addSettingsLink('global', {\n id: PLUGIN_ID,\n to: `purchase-review-workflows`,\n intlLabel: {\n id: `${PLUGIN_ID}.plugin.name`,\n defaultMessage: 'Review Workflows',\n },\n licenseOnly: true,\n permissions: [],\n async Component() {\n const { PurchaseReviewWorkflows } = await import('./routes/purchase-review-workflows');\n return { default: PurchaseReviewWorkflows };\n },\n });\n }\n },\n bootstrap(app: StrapiApp) {\n if (window.strapi.features.isEnabled(FEATURE_ID)) {\n app.getPlugin('content-manager').injectComponent('preview', 'actions', {\n name: 'review-workflows-assignee',\n Component: Header,\n });\n }\n },\n async registerTrads({ locales }: { locales: string[] }) {\n const importedTrads = await Promise.all(\n locales.map((locale) => {\n return import(`./translations/${locale}.json`)\n .then(({ default: data }) => {\n return {\n data: prefixPluginTranslations(data, PLUGIN_ID),\n locale,\n };\n })\n .catch(() => {\n return {\n data: {},\n locale,\n };\n });\n })\n );\n\n return Promise.resolve(importedTrads);\n },\n};\n\n// eslint-disable-next-line import/no-default-export\nexport default admin;\n"],"names":["admin","register","app","window","strapi","features","isEnabled","FEATURE_ID","registerHook","addColumnToTableHook","contentManagerPluginApis","getPlugin","apis","addEditViewSidePanel","Panel","addSettingsLink","id","PLUGIN_ID","to","intlLabel","defaultMessage","licenseOnly","permissions","Component","Router","default","widgets","icon","SealCheck","title","component","AssignedWidget","pluginId","action","flags","promoteEE","PurchaseReviewWorkflows","bootstrap","injectComponent","name","Header","registerTrads","locales","importedTrads","Promise","all","map","locale","then","data","prefixPluginTranslations","catch","resolve"],"mappings":"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"}
@@ -3,7 +3,12 @@
3
3
  var api = require('./api.js');
4
4
 
5
5
  const SINGLE_TYPES = 'single-types';
6
- const contentManagerApi = api.reviewWorkflowsApi.injectEndpoints({
6
+ const contentManagerApi = api.reviewWorkflowsApi.enhanceEndpoints({
7
+ addTagTypes: [
8
+ 'RecentlyAssignedList',
9
+ 'RecentDocumentList'
10
+ ]
11
+ }).injectEndpoints({
7
12
  endpoints: (builder)=>({
8
13
  getStages: builder.query({
9
14
  query: ({ model, slug, id, params })=>({
@@ -68,7 +73,8 @@ const contentManagerApi = api.reviewWorkflowsApi.injectEndpoints({
68
73
  {
69
74
  type: 'Document',
70
75
  id: `${model}_LIST`
71
- }
76
+ },
77
+ 'RecentlyAssignedList'
72
78
  ];
73
79
  }
74
80
  }),
@@ -88,13 +94,22 @@ const contentManagerApi = api.reviewWorkflowsApi.injectEndpoints({
88
94
  singleType: []
89
95
  });
90
96
  }
97
+ }),
98
+ getRecentlyAssignedDocuments: builder.query({
99
+ query: ()=>'/review-workflows/homepage/recently-assigned-documents',
100
+ transformResponse: (response)=>response.data,
101
+ providesTags: (_, _err)=>[
102
+ 'RecentlyAssignedList',
103
+ 'RecentDocumentList'
104
+ ]
91
105
  })
92
106
  }),
93
107
  overrideExisting: true
94
108
  });
95
- const { useGetStagesQuery, useUpdateStageMutation, useUpdateAssigneeMutation, useGetContentTypesQuery } = contentManagerApi;
109
+ const { useGetStagesQuery, useUpdateStageMutation, useUpdateAssigneeMutation, useGetContentTypesQuery, useGetRecentlyAssignedDocumentsQuery } = contentManagerApi;
96
110
 
97
111
  exports.useGetContentTypesQuery = useGetContentTypesQuery;
112
+ exports.useGetRecentlyAssignedDocumentsQuery = useGetRecentlyAssignedDocumentsQuery;
98
113
  exports.useGetStagesQuery = useGetStagesQuery;
99
114
  exports.useUpdateAssigneeMutation = useUpdateAssigneeMutation;
100
115
  exports.useUpdateStageMutation = useUpdateStageMutation;
@@ -1 +1 @@
1
- {"version":3,"file":"content-manager.js","sources":["../../../admin/src/services/content-manager.ts"],"sourcesContent":["/* eslint-disable check-file/filename-naming-convention */\nimport { reviewWorkflowsApi } from './api';\n\nimport type {\n GetStages,\n UpdateStage,\n UpdateAssignee,\n} from '../../../shared/contracts/review-workflows';\nimport type { Contracts } from '@strapi/content-manager/_internal/shared';\n\ntype ContentType = Contracts.ContentTypes.ContentType;\ninterface ContentTypes {\n collectionType: ContentType[];\n singleType: ContentType[];\n}\n\nconst SINGLE_TYPES = 'single-types';\n\nconst contentManagerApi = reviewWorkflowsApi.injectEndpoints({\n endpoints: (builder) => ({\n getStages: builder.query<\n {\n stages: NonNullable<GetStages.Response['data']>;\n meta: NonNullable<GetStages.Response['meta']>;\n },\n GetStages.Params & { slug: string; params?: object }\n >({\n query: ({ model, slug, id, params }) => ({\n url: `/review-workflows/content-manager/${slug}/${model}/${id}/stages`,\n method: 'GET',\n config: {\n params,\n },\n }),\n transformResponse: (res: GetStages.Response) => {\n return {\n meta: res.meta ?? { workflowCount: 0 },\n stages: res.data ?? [],\n };\n },\n providesTags: ['ReviewWorkflowStages'],\n }),\n updateStage: builder.mutation<\n UpdateStage.Response['data'],\n UpdateStage.Request['body'] & UpdateStage.Params & { slug: string; params?: object }\n >({\n query: ({ model, slug, id, params, ...data }) => ({\n url: `/review-workflows/content-manager/${slug}/${model}/${id}/stage`,\n method: 'PUT',\n data,\n config: {\n params,\n },\n }),\n transformResponse: (res: UpdateStage.Response) => res.data,\n invalidatesTags: (_result, _error, { slug, id, model }) => {\n return [\n {\n type: 'Document',\n id: slug !== SINGLE_TYPES ? `${model}_${id}` : model,\n },\n { type: 'Document', id: `${model}_LIST` },\n 'ReviewWorkflowStages',\n ];\n },\n }),\n updateAssignee: builder.mutation<\n UpdateAssignee.Response['data'],\n UpdateAssignee.Request['body'] & UpdateAssignee.Params & { slug: string; params?: object }\n >({\n query: ({ model, slug, id, params, ...data }) => ({\n url: `/review-workflows/content-manager/${slug}/${model}/${id}/assignee`,\n method: 'PUT',\n data,\n config: {\n params,\n },\n }),\n transformResponse: (res: UpdateAssignee.Response) => res.data,\n invalidatesTags: (_result, _error, { slug, id, model }) => {\n return [\n {\n type: 'Document',\n id: slug !== SINGLE_TYPES ? `${model}_${id}` : model,\n },\n { type: 'Document', id: `${model}_LIST` },\n ];\n },\n }),\n getContentTypes: builder.query<ContentTypes, void>({\n query: () => ({\n url: `/content-manager/content-types`,\n method: 'GET',\n }),\n transformResponse: (res: { data: Contracts.ContentTypes.ContentType[] }) => {\n return res.data.reduce<ContentTypes>(\n (acc, curr) => {\n if (curr.isDisplayed) {\n acc[curr.kind].push(curr);\n }\n return acc;\n },\n {\n collectionType: [],\n singleType: [],\n }\n );\n },\n }),\n }),\n overrideExisting: true,\n});\n\nconst {\n useGetStagesQuery,\n useUpdateStageMutation,\n useUpdateAssigneeMutation,\n useGetContentTypesQuery,\n} = contentManagerApi;\n\nexport {\n useGetStagesQuery,\n useUpdateStageMutation,\n useUpdateAssigneeMutation,\n useGetContentTypesQuery,\n};\nexport type { ContentTypes, ContentType };\n"],"names":["SINGLE_TYPES","contentManagerApi","reviewWorkflowsApi","injectEndpoints","endpoints","builder","getStages","query","model","slug","id","params","url","method","config","transformResponse","res","meta","workflowCount","stages","data","providesTags","updateStage","mutation","invalidatesTags","_result","_error","type","updateAssignee","getContentTypes","reduce","acc","curr","isDisplayed","kind","push","collectionType","singleType","overrideExisting","useGetStagesQuery","useUpdateStageMutation","useUpdateAssigneeMutation","useGetContentTypesQuery"],"mappings":"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"}
1
+ {"version":3,"file":"content-manager.js","sources":["../../../admin/src/services/content-manager.ts"],"sourcesContent":["import * as Homepage from '../../../shared/contracts/homepage';\n\n/* eslint-disable check-file/filename-naming-convention */\nimport { reviewWorkflowsApi } from './api';\n\nimport type {\n GetStages,\n UpdateStage,\n UpdateAssignee,\n} from '../../../shared/contracts/review-workflows';\nimport type { Contracts } from '@strapi/content-manager/_internal/shared';\n\ntype ContentType = Contracts.ContentTypes.ContentType;\ninterface ContentTypes {\n collectionType: ContentType[];\n singleType: ContentType[];\n}\n\nconst SINGLE_TYPES = 'single-types';\n\nconst contentManagerApi = reviewWorkflowsApi\n .enhanceEndpoints({\n addTagTypes: ['RecentlyAssignedList', 'RecentDocumentList'],\n })\n .injectEndpoints({\n endpoints: (builder) => ({\n getStages: builder.query<\n {\n stages: NonNullable<GetStages.Response['data']>;\n meta: NonNullable<GetStages.Response['meta']>;\n },\n GetStages.Params & { slug: string; params?: object }\n >({\n query: ({ model, slug, id, params }) => ({\n url: `/review-workflows/content-manager/${slug}/${model}/${id}/stages`,\n method: 'GET',\n config: {\n params,\n },\n }),\n transformResponse: (res: GetStages.Response) => {\n return {\n meta: res.meta ?? { workflowCount: 0 },\n stages: res.data ?? [],\n };\n },\n providesTags: ['ReviewWorkflowStages'],\n }),\n updateStage: builder.mutation<\n UpdateStage.Response['data'],\n UpdateStage.Request['body'] & UpdateStage.Params & { slug: string; params?: object }\n >({\n query: ({ model, slug, id, params, ...data }) => ({\n url: `/review-workflows/content-manager/${slug}/${model}/${id}/stage`,\n method: 'PUT',\n data,\n config: {\n params,\n },\n }),\n transformResponse: (res: UpdateStage.Response) => res.data,\n invalidatesTags: (_result, _error, { slug, id, model }) => {\n return [\n {\n type: 'Document',\n id: slug !== SINGLE_TYPES ? `${model}_${id}` : model,\n },\n { type: 'Document', id: `${model}_LIST` },\n 'ReviewWorkflowStages',\n ];\n },\n }),\n updateAssignee: builder.mutation<\n UpdateAssignee.Response['data'],\n UpdateAssignee.Request['body'] & UpdateAssignee.Params & { slug: string; params?: object }\n >({\n query: ({ model, slug, id, params, ...data }) => ({\n url: `/review-workflows/content-manager/${slug}/${model}/${id}/assignee`,\n method: 'PUT',\n data,\n config: {\n params,\n },\n }),\n transformResponse: (res: UpdateAssignee.Response) => res.data,\n invalidatesTags: (_result, _error, { slug, id, model }) => {\n return [\n {\n type: 'Document',\n id: slug !== SINGLE_TYPES ? `${model}_${id}` : model,\n },\n { type: 'Document', id: `${model}_LIST` },\n 'RecentlyAssignedList',\n ];\n },\n }),\n getContentTypes: builder.query<ContentTypes, void>({\n query: () => ({\n url: `/content-manager/content-types`,\n method: 'GET',\n }),\n transformResponse: (res: { data: Contracts.ContentTypes.ContentType[] }) => {\n return res.data.reduce<ContentTypes>(\n (acc, curr) => {\n if (curr.isDisplayed) {\n acc[curr.kind].push(curr);\n }\n return acc;\n },\n {\n collectionType: [],\n singleType: [],\n }\n );\n },\n }),\n getRecentlyAssignedDocuments: builder.query<\n Homepage.GetRecentlyAssignedDocuments.Response['data'],\n void\n >({\n query: () => '/review-workflows/homepage/recently-assigned-documents',\n transformResponse: (response: Homepage.GetRecentlyAssignedDocuments.Response) =>\n response.data,\n providesTags: (_, _err) => ['RecentlyAssignedList', 'RecentDocumentList'],\n }),\n }),\n overrideExisting: true,\n });\n\nconst {\n useGetStagesQuery,\n useUpdateStageMutation,\n useUpdateAssigneeMutation,\n useGetContentTypesQuery,\n useGetRecentlyAssignedDocumentsQuery,\n} = contentManagerApi;\n\nexport {\n useGetStagesQuery,\n useUpdateStageMutation,\n useUpdateAssigneeMutation,\n useGetContentTypesQuery,\n useGetRecentlyAssignedDocumentsQuery,\n};\nexport type { ContentTypes, ContentType };\n"],"names":["SINGLE_TYPES","contentManagerApi","reviewWorkflowsApi","enhanceEndpoints","addTagTypes","injectEndpoints","endpoints","builder","getStages","query","model","slug","id","params","url","method","config","transformResponse","res","meta","workflowCount","stages","data","providesTags","updateStage","mutation","invalidatesTags","_result","_error","type","updateAssignee","getContentTypes","reduce","acc","curr","isDisplayed","kind","push","collectionType","singleType","getRecentlyAssignedDocuments","response","_","_err","overrideExisting","useGetStagesQuery","useUpdateStageMutation","useUpdateAssigneeMutation","useGetContentTypesQuery","useGetRecentlyAssignedDocumentsQuery"],"mappings":"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"}