@strapi/review-workflows 5.60.0 → 5.61.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/admin/components/Widgets.js +5 -1
- package/dist/admin/components/Widgets.js.map +1 -1
- package/dist/admin/components/Widgets.mjs +5 -1
- package/dist/admin/components/Widgets.mjs.map +1 -1
- package/dist/admin/routes/content-manager/model/components/StageFilter.js +1 -1
- package/dist/admin/routes/content-manager/model/components/StageFilter.js.map +1 -1
- package/dist/admin/routes/content-manager/model/components/StageFilter.mjs +1 -1
- package/dist/admin/routes/content-manager/model/components/StageFilter.mjs.map +1 -1
- package/dist/admin/routes/content-manager/model/components/TableColumns.js.map +1 -1
- package/dist/admin/routes/content-manager/model/components/TableColumns.mjs.map +1 -1
- package/dist/admin/routes/content-manager/model/constants.js +2 -2
- package/dist/admin/routes/content-manager/model/constants.js.map +1 -1
- package/dist/admin/routes/content-manager/model/constants.mjs +2 -2
- package/dist/admin/routes/content-manager/model/constants.mjs.map +1 -1
- package/dist/admin/routes/settings/index.js +1 -1
- package/dist/admin/routes/settings/index.js.map +1 -1
- package/dist/admin/routes/settings/index.mjs +1 -1
- package/dist/admin/routes/settings/index.mjs.map +1 -1
- package/dist/admin/src/routes/content-manager/model/components/TableColumns.d.ts +1 -6
- package/dist/server/constants/workflows.js +2 -1
- package/dist/server/constants/workflows.js.map +1 -1
- package/dist/server/constants/workflows.mjs +2 -1
- package/dist/server/constants/workflows.mjs.map +1 -1
- package/dist/server/controllers/stages.js +3 -0
- package/dist/server/controllers/stages.js.map +1 -1
- package/dist/server/controllers/stages.mjs +3 -0
- package/dist/server/controllers/stages.mjs.map +1 -1
- package/dist/server/services/document-service-middleware.js +28 -1
- package/dist/server/services/document-service-middleware.js.map +1 -1
- package/dist/server/services/document-service-middleware.mjs +28 -1
- package/dist/server/services/document-service-middleware.mjs.map +1 -1
- package/dist/server/services/stages.js +32 -14
- package/dist/server/services/stages.js.map +1 -1
- package/dist/server/services/stages.mjs +32 -14
- package/dist/server/services/stages.mjs.map +1 -1
- package/dist/server/services/workflow-content-types.js +7 -1
- package/dist/server/services/workflow-content-types.js.map +1 -1
- package/dist/server/services/workflow-content-types.mjs +7 -1
- package/dist/server/services/workflow-content-types.mjs.map +1 -1
- package/dist/server/services/workflows.js +44 -1
- package/dist/server/services/workflows.js.map +1 -1
- package/dist/server/services/workflows.mjs +45 -2
- package/dist/server/services/workflows.mjs.map +1 -1
- package/dist/server/src/constants/workflows.d.ts +1 -0
- package/dist/server/src/constants/workflows.d.ts.map +1 -1
- package/dist/server/src/controllers/index.d.ts +1 -1
- package/dist/server/src/controllers/stages.d.ts +1 -1
- package/dist/server/src/controllers/stages.d.ts.map +1 -1
- package/dist/server/src/index.d.ts +4 -4
- package/dist/server/src/index.d.ts.map +1 -1
- package/dist/server/src/services/document-service-middleware.d.ts.map +1 -1
- package/dist/server/src/services/index.d.ts +3 -3
- package/dist/server/src/services/index.d.ts.map +1 -1
- package/dist/server/src/services/stages.d.ts +3 -4
- package/dist/server/src/services/stages.d.ts.map +1 -1
- package/dist/server/src/services/workflow-content-types.d.ts.map +1 -1
- package/dist/server/src/services/workflows.d.ts +2 -1
- package/dist/server/src/services/workflows.d.ts.map +1 -1
- package/dist/shared/contracts/homepage.d.ts +5 -1
- package/dist/shared/contracts/homepage.d.ts.map +1 -1
- package/package.json +8 -8
|
@@ -85,7 +85,11 @@ const RecentDocumentsTable = ({ documents, type })=>{
|
|
|
85
85
|
})
|
|
86
86
|
}),
|
|
87
87
|
/*#__PURE__*/ jsxRuntime.jsx(designSystem.Td, {
|
|
88
|
-
children: /*#__PURE__*/ jsxRuntime.jsx(
|
|
88
|
+
children: document.strapi_stage === null || document.strapi_stage === undefined ? /*#__PURE__*/ jsxRuntime.jsx(designSystem.Typography, {
|
|
89
|
+
textColor: "neutral600",
|
|
90
|
+
"aria-hidden": true,
|
|
91
|
+
children: "-"
|
|
92
|
+
}) : /*#__PURE__*/ jsxRuntime.jsx(TableColumns.StageColumn, {
|
|
89
93
|
strapi_stage: document.strapi_stage
|
|
90
94
|
})
|
|
91
95
|
}),
|
|
@@ -1 +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","
|
|
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 {document.strapi_stage === null || document.strapi_stage === undefined ? (\n <Typography textColor=\"neutral600\" aria-hidden>\n -\n </Typography>\n ) : (\n <StageColumn strapi_stage={document.strapi_stage} />\n )}\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","strapi_stage","undefined","StageColumn","e","stopPropagation","IconButton","tag","Link","to","label","Pencil","AssignedWidget","data","isLoading","error","useGetRecentlyAssignedDocumentsQuery","Widget","Loading","Error","NoData"],"mappings":"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"}
|
|
@@ -83,7 +83,11 @@ const RecentDocumentsTable = ({ documents, type })=>{
|
|
|
83
83
|
})
|
|
84
84
|
}),
|
|
85
85
|
/*#__PURE__*/ jsx(Td, {
|
|
86
|
-
children: /*#__PURE__*/ jsx(
|
|
86
|
+
children: document.strapi_stage === null || document.strapi_stage === undefined ? /*#__PURE__*/ jsx(Typography, {
|
|
87
|
+
textColor: "neutral600",
|
|
88
|
+
"aria-hidden": true,
|
|
89
|
+
children: "-"
|
|
90
|
+
}) : /*#__PURE__*/ jsx(StageColumn, {
|
|
87
91
|
strapi_stage: document.strapi_stage
|
|
88
92
|
})
|
|
89
93
|
}),
|
|
@@ -1 +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","
|
|
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 {document.strapi_stage === null || document.strapi_stage === undefined ? (\n <Typography textColor=\"neutral600\" aria-hidden>\n -\n </Typography>\n ) : (\n <StageColumn strapi_stage={document.strapi_stage} />\n )}\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","strapi_stage","undefined","StageColumn","e","stopPropagation","IconButton","tag","Link","to","label","Pencil","AssignedWidget","data","isLoading","error","useGetRecentlyAssignedDocumentsQuery","Widget","Loading","Error","NoData"],"mappings":"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"}
|
|
@@ -21,7 +21,7 @@ const StageFilter = (props)=>{
|
|
|
21
21
|
return /*#__PURE__*/ jsxRuntime.jsx(designSystem.SingleSelect, {
|
|
22
22
|
"aria-label": formatMessage({
|
|
23
23
|
id: 'content-manager.components.Filters.reviewWorkflows.label',
|
|
24
|
-
defaultMessage: 'Search and select
|
|
24
|
+
defaultMessage: 'Search and select a workflow stage to filter'
|
|
25
25
|
}),
|
|
26
26
|
value: field.value,
|
|
27
27
|
onChange: (value)=>{
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StageFilter.js","sources":["../../../../../../admin/src/routes/content-manager/model/components/StageFilter.tsx"],"sourcesContent":["import { type Filters, useField } from '@strapi/admin/strapi-admin';\nimport {\n Flex,\n Loader,\n SingleSelect,\n SingleSelectOption,\n SingleSelectProps,\n Typography,\n} from '@strapi/design-system';\nimport { useIntl } from 'react-intl';\nimport { useParams } from 'react-router-dom';\n\nimport { getStageColorByHex } from '../../../../utils/colors';\nimport { useReviewWorkflows } from '../../../settings/hooks/useReviewWorkflows';\n\ninterface StageFilterProps extends Pick<SingleSelectProps, 'value' | 'onChange'> {\n uid?: string;\n}\n\nconst StageFilter = (props: Filters.ValueInputProps) => {\n const { slug: model } = useParams<{ slug: string }>();\n const { formatMessage } = useIntl();\n const { workflows, isLoading } = useReviewWorkflows({ filters: { contentTypes: model } });\n\n const field = useField<string | number | null>(props.name);\n\n const [workflow] = workflows ?? [];\n\n return (\n <SingleSelect\n aria-label={formatMessage({\n id: 'content-manager.components.Filters.reviewWorkflows.label',\n defaultMessage: 'Search and select
|
|
1
|
+
{"version":3,"file":"StageFilter.js","sources":["../../../../../../admin/src/routes/content-manager/model/components/StageFilter.tsx"],"sourcesContent":["import { type Filters, useField } from '@strapi/admin/strapi-admin';\nimport {\n Flex,\n Loader,\n SingleSelect,\n SingleSelectOption,\n SingleSelectProps,\n Typography,\n} from '@strapi/design-system';\nimport { useIntl } from 'react-intl';\nimport { useParams } from 'react-router-dom';\n\nimport { getStageColorByHex } from '../../../../utils/colors';\nimport { useReviewWorkflows } from '../../../settings/hooks/useReviewWorkflows';\n\ninterface StageFilterProps extends Pick<SingleSelectProps, 'value' | 'onChange'> {\n uid?: string;\n}\n\nconst StageFilter = (props: Filters.ValueInputProps) => {\n const { slug: model } = useParams<{ slug: string }>();\n const { formatMessage } = useIntl();\n const { workflows, isLoading } = useReviewWorkflows({ filters: { contentTypes: model } });\n\n const field = useField<string | number | null>(props.name);\n\n const [workflow] = workflows ?? [];\n\n return (\n <SingleSelect\n aria-label={formatMessage({\n id: 'content-manager.components.Filters.reviewWorkflows.label',\n defaultMessage: 'Search and select a workflow stage to filter',\n })}\n value={field.value}\n onChange={(value) => {\n field.onChange(props.name, value);\n }}\n loading={isLoading}\n // @ts-expect-error – DS type error with SingleSelect['customizeContent']\n customizeContent={() => (\n <Flex tag=\"span\" justifyContent=\"space-between\" alignItems=\"center\" width=\"100%\">\n <Typography textColor=\"neutral800\" ellipsis>\n {field.value}\n </Typography>\n {isLoading ? <Loader small style={{ display: 'flex' }} /> : null}\n </Flex>\n )}\n >\n {(workflow?.stages ?? []).map(({ id, color, name }) => {\n const { themeColorName } = getStageColorByHex(color) ?? {};\n\n return (\n <SingleSelectOption\n key={id}\n startIcon={\n <Flex\n height={2}\n background={color}\n borderColor={themeColorName === 'neutral0' ? 'neutral150' : undefined}\n hasRadius\n shrink={0}\n width={2}\n />\n }\n value={name}\n >\n {name}\n </SingleSelectOption>\n );\n })}\n </SingleSelect>\n );\n};\n\nexport { StageFilter };\nexport type { StageFilterProps };\n"],"names":["StageFilter","props","slug","model","useParams","formatMessage","useIntl","workflows","isLoading","useReviewWorkflows","filters","contentTypes","field","useField","name","workflow","_jsx","SingleSelect","aria-label","id","defaultMessage","value","onChange","loading","customizeContent","_jsxs","Flex","tag","justifyContent","alignItems","width","Typography","textColor","ellipsis","Loader","small","style","display","stages","map","color","themeColorName","getStageColorByHex","SingleSelectOption","startIcon","height","background","borderColor","undefined","hasRadius","shrink"],"mappings":";;;;;;;;;;AAmBA,MAAMA,cAAc,CAACC,KAAAA,GAAAA;AACnB,IAAA,MAAM,EAAEC,IAAAA,EAAMC,KAAK,EAAE,GAAGC,wBAAAA,EAAAA;IACxB,MAAM,EAAEC,aAAa,EAAE,GAAGC,iBAAAA,EAAAA;AAC1B,IAAA,MAAM,EAAEC,SAAS,EAAEC,SAAS,EAAE,GAAGC,qCAAAA,CAAmB;QAAEC,OAAAA,EAAS;YAAEC,YAAAA,EAAcR;AAAM;AAAE,KAAA,CAAA;IAEvF,MAAMS,KAAAA,GAAQC,oBAAAA,CAAiCZ,KAAAA,CAAMa,IAAI,CAAA;AAEzD,IAAA,MAAM,CAACC,QAAAA,CAAS,GAAGR,SAAAA,IAAa,EAAE;AAElC,IAAA,qBACES,cAAA,CAACC,yBAAAA,EAAAA;AACCC,QAAAA,YAAAA,EAAYb,aAAAA,CAAc;YACxBc,EAAAA,EAAI,0DAAA;YACJC,cAAAA,EAAgB;AAClB,SAAA,CAAA;AACAC,QAAAA,KAAAA,EAAOT,MAAMS,KAAK;AAClBC,QAAAA,QAAAA,EAAU,CAACD,KAAAA,GAAAA;AACTT,YAAAA,KAAAA,CAAMU,QAAQ,CAACrB,KAAAA,CAAMa,IAAI,EAAEO,KAAAA,CAAAA;AAC7B,QAAA,CAAA;QACAE,OAAAA,EAASf,SAAAA;;AAETgB,QAAAA,gBAAAA,EAAkB,kBAChBC,eAAA,CAACC,iBAAAA,EAAAA;gBAAKC,GAAAA,EAAI,MAAA;gBAAOC,cAAAA,EAAe,eAAA;gBAAgBC,UAAAA,EAAW,QAAA;gBAASC,KAAAA,EAAM,MAAA;;kCACxEd,cAAA,CAACe,uBAAAA,EAAAA;wBAAWC,SAAAA,EAAU,YAAA;wBAAaC,QAAQ,EAAA,IAAA;AACxCrB,wBAAAA,QAAAA,EAAAA,KAAAA,CAAMS;;AAERb,oBAAAA,SAAAA,iBAAYQ,cAAA,CAACkB,mBAAAA,EAAAA;wBAAOC,KAAK,EAAA,IAAA;wBAACC,KAAAA,EAAO;4BAAEC,OAAAA,EAAS;AAAO;AAAQ,qBAAA,CAAA,GAAA;;;AAI/D,QAAA,QAAA,EAACtB,CAAAA,QAAAA,EAAUuB,MAAAA,IAAU,EAAE,EAAEC,GAAG,CAAC,CAAC,EAAEpB,EAAE,EAAEqB,KAAK,EAAE1B,IAAI,EAAE,GAAA;AAChD,YAAA,MAAM,EAAE2B,cAAc,EAAE,GAAGC,yBAAAA,CAAmBF,UAAU,EAAC;AAEzD,YAAA,qBACExB,cAAA,CAAC2B,+BAAAA,EAAAA;AAECC,gBAAAA,SAAAA,gBACE5B,cAAA,CAACU,iBAAAA,EAAAA;oBACCmB,MAAAA,EAAQ,CAAA;oBACRC,UAAAA,EAAYN,KAAAA;oBACZO,WAAAA,EAAaN,cAAAA,KAAmB,aAAa,YAAA,GAAeO,SAAAA;oBAC5DC,SAAS,EAAA,IAAA;oBACTC,MAAAA,EAAQ,CAAA;oBACRpB,KAAAA,EAAO;;gBAGXT,KAAAA,EAAOP,IAAAA;AAENA,gBAAAA,QAAAA,EAAAA;AAbIK,aAAAA,EAAAA,EAAAA,CAAAA;AAgBX,QAAA,CAAA;;AAGN;;;;"}
|
|
@@ -19,7 +19,7 @@ const StageFilter = (props)=>{
|
|
|
19
19
|
return /*#__PURE__*/ jsx(SingleSelect, {
|
|
20
20
|
"aria-label": formatMessage({
|
|
21
21
|
id: 'content-manager.components.Filters.reviewWorkflows.label',
|
|
22
|
-
defaultMessage: 'Search and select
|
|
22
|
+
defaultMessage: 'Search and select a workflow stage to filter'
|
|
23
23
|
}),
|
|
24
24
|
value: field.value,
|
|
25
25
|
onChange: (value)=>{
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StageFilter.mjs","sources":["../../../../../../admin/src/routes/content-manager/model/components/StageFilter.tsx"],"sourcesContent":["import { type Filters, useField } from '@strapi/admin/strapi-admin';\nimport {\n Flex,\n Loader,\n SingleSelect,\n SingleSelectOption,\n SingleSelectProps,\n Typography,\n} from '@strapi/design-system';\nimport { useIntl } from 'react-intl';\nimport { useParams } from 'react-router-dom';\n\nimport { getStageColorByHex } from '../../../../utils/colors';\nimport { useReviewWorkflows } from '../../../settings/hooks/useReviewWorkflows';\n\ninterface StageFilterProps extends Pick<SingleSelectProps, 'value' | 'onChange'> {\n uid?: string;\n}\n\nconst StageFilter = (props: Filters.ValueInputProps) => {\n const { slug: model } = useParams<{ slug: string }>();\n const { formatMessage } = useIntl();\n const { workflows, isLoading } = useReviewWorkflows({ filters: { contentTypes: model } });\n\n const field = useField<string | number | null>(props.name);\n\n const [workflow] = workflows ?? [];\n\n return (\n <SingleSelect\n aria-label={formatMessage({\n id: 'content-manager.components.Filters.reviewWorkflows.label',\n defaultMessage: 'Search and select
|
|
1
|
+
{"version":3,"file":"StageFilter.mjs","sources":["../../../../../../admin/src/routes/content-manager/model/components/StageFilter.tsx"],"sourcesContent":["import { type Filters, useField } from '@strapi/admin/strapi-admin';\nimport {\n Flex,\n Loader,\n SingleSelect,\n SingleSelectOption,\n SingleSelectProps,\n Typography,\n} from '@strapi/design-system';\nimport { useIntl } from 'react-intl';\nimport { useParams } from 'react-router-dom';\n\nimport { getStageColorByHex } from '../../../../utils/colors';\nimport { useReviewWorkflows } from '../../../settings/hooks/useReviewWorkflows';\n\ninterface StageFilterProps extends Pick<SingleSelectProps, 'value' | 'onChange'> {\n uid?: string;\n}\n\nconst StageFilter = (props: Filters.ValueInputProps) => {\n const { slug: model } = useParams<{ slug: string }>();\n const { formatMessage } = useIntl();\n const { workflows, isLoading } = useReviewWorkflows({ filters: { contentTypes: model } });\n\n const field = useField<string | number | null>(props.name);\n\n const [workflow] = workflows ?? [];\n\n return (\n <SingleSelect\n aria-label={formatMessage({\n id: 'content-manager.components.Filters.reviewWorkflows.label',\n defaultMessage: 'Search and select a workflow stage to filter',\n })}\n value={field.value}\n onChange={(value) => {\n field.onChange(props.name, value);\n }}\n loading={isLoading}\n // @ts-expect-error – DS type error with SingleSelect['customizeContent']\n customizeContent={() => (\n <Flex tag=\"span\" justifyContent=\"space-between\" alignItems=\"center\" width=\"100%\">\n <Typography textColor=\"neutral800\" ellipsis>\n {field.value}\n </Typography>\n {isLoading ? <Loader small style={{ display: 'flex' }} /> : null}\n </Flex>\n )}\n >\n {(workflow?.stages ?? []).map(({ id, color, name }) => {\n const { themeColorName } = getStageColorByHex(color) ?? {};\n\n return (\n <SingleSelectOption\n key={id}\n startIcon={\n <Flex\n height={2}\n background={color}\n borderColor={themeColorName === 'neutral0' ? 'neutral150' : undefined}\n hasRadius\n shrink={0}\n width={2}\n />\n }\n value={name}\n >\n {name}\n </SingleSelectOption>\n );\n })}\n </SingleSelect>\n );\n};\n\nexport { StageFilter };\nexport type { StageFilterProps };\n"],"names":["StageFilter","props","slug","model","useParams","formatMessage","useIntl","workflows","isLoading","useReviewWorkflows","filters","contentTypes","field","useField","name","workflow","_jsx","SingleSelect","aria-label","id","defaultMessage","value","onChange","loading","customizeContent","_jsxs","Flex","tag","justifyContent","alignItems","width","Typography","textColor","ellipsis","Loader","small","style","display","stages","map","color","themeColorName","getStageColorByHex","SingleSelectOption","startIcon","height","background","borderColor","undefined","hasRadius","shrink"],"mappings":";;;;;;;;AAmBA,MAAMA,cAAc,CAACC,KAAAA,GAAAA;AACnB,IAAA,MAAM,EAAEC,IAAAA,EAAMC,KAAK,EAAE,GAAGC,SAAAA,EAAAA;IACxB,MAAM,EAAEC,aAAa,EAAE,GAAGC,OAAAA,EAAAA;AAC1B,IAAA,MAAM,EAAEC,SAAS,EAAEC,SAAS,EAAE,GAAGC,kBAAAA,CAAmB;QAAEC,OAAAA,EAAS;YAAEC,YAAAA,EAAcR;AAAM;AAAE,KAAA,CAAA;IAEvF,MAAMS,KAAAA,GAAQC,QAAAA,CAAiCZ,KAAAA,CAAMa,IAAI,CAAA;AAEzD,IAAA,MAAM,CAACC,QAAAA,CAAS,GAAGR,SAAAA,IAAa,EAAE;AAElC,IAAA,qBACES,GAAA,CAACC,YAAAA,EAAAA;AACCC,QAAAA,YAAAA,EAAYb,aAAAA,CAAc;YACxBc,EAAAA,EAAI,0DAAA;YACJC,cAAAA,EAAgB;AAClB,SAAA,CAAA;AACAC,QAAAA,KAAAA,EAAOT,MAAMS,KAAK;AAClBC,QAAAA,QAAAA,EAAU,CAACD,KAAAA,GAAAA;AACTT,YAAAA,KAAAA,CAAMU,QAAQ,CAACrB,KAAAA,CAAMa,IAAI,EAAEO,KAAAA,CAAAA;AAC7B,QAAA,CAAA;QACAE,OAAAA,EAASf,SAAAA;;AAETgB,QAAAA,gBAAAA,EAAkB,kBAChBC,IAAA,CAACC,IAAAA,EAAAA;gBAAKC,GAAAA,EAAI,MAAA;gBAAOC,cAAAA,EAAe,eAAA;gBAAgBC,UAAAA,EAAW,QAAA;gBAASC,KAAAA,EAAM,MAAA;;kCACxEd,GAAA,CAACe,UAAAA,EAAAA;wBAAWC,SAAAA,EAAU,YAAA;wBAAaC,QAAQ,EAAA,IAAA;AACxCrB,wBAAAA,QAAAA,EAAAA,KAAAA,CAAMS;;AAERb,oBAAAA,SAAAA,iBAAYQ,GAAA,CAACkB,MAAAA,EAAAA;wBAAOC,KAAK,EAAA,IAAA;wBAACC,KAAAA,EAAO;4BAAEC,OAAAA,EAAS;AAAO;AAAQ,qBAAA,CAAA,GAAA;;;AAI/D,QAAA,QAAA,EAACtB,CAAAA,QAAAA,EAAUuB,MAAAA,IAAU,EAAE,EAAEC,GAAG,CAAC,CAAC,EAAEpB,EAAE,EAAEqB,KAAK,EAAE1B,IAAI,EAAE,GAAA;AAChD,YAAA,MAAM,EAAE2B,cAAc,EAAE,GAAGC,kBAAAA,CAAmBF,UAAU,EAAC;AAEzD,YAAA,qBACExB,GAAA,CAAC2B,kBAAAA,EAAAA;AAECC,gBAAAA,SAAAA,gBACE5B,GAAA,CAACU,IAAAA,EAAAA;oBACCmB,MAAAA,EAAQ,CAAA;oBACRC,UAAAA,EAAYN,KAAAA;oBACZO,WAAAA,EAAaN,cAAAA,KAAmB,aAAa,YAAA,GAAeO,SAAAA;oBAC5DC,SAAS,EAAA,IAAA;oBACTC,MAAAA,EAAQ,CAAA;oBACRpB,KAAAA,EAAO;;gBAGXT,KAAAA,EAAOP,IAAAA;AAENA,gBAAAA,QAAAA,EAAAA;AAbIK,aAAAA,EAAAA,EAAAA,CAAAA;AAgBX,QAAA,CAAA;;AAGN;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TableColumns.js","sources":["../../../../../../admin/src/routes/content-manager/model/components/TableColumns.tsx"],"sourcesContent":["import { SanitizedAdminUser } from '@strapi/admin/strapi-admin';\nimport { Box, Flex, Typography } from '@strapi/design-system';\
|
|
1
|
+
{"version":3,"file":"TableColumns.js","sources":["../../../../../../admin/src/routes/content-manager/model/components/TableColumns.tsx"],"sourcesContent":["import { SanitizedAdminUser } from '@strapi/admin/strapi-admin';\nimport { Box, Flex, Typography } from '@strapi/design-system';\n\nimport { STAGE_COLOR_DEFAULT } from '../../../../constants';\nimport { getStageColorByHex } from '../../../../utils/colors';\nimport { getDisplayName } from '../../../../utils/users';\n\ninterface StageColumnProps {\n strapi_stage?: {\n color?: string;\n name: string;\n } | null;\n}\n\nconst StageColumn = (props: StageColumnProps) => {\n const { color = STAGE_COLOR_DEFAULT, name } = props.strapi_stage ?? {};\n const { themeColorName } = getStageColorByHex(color) ?? {};\n\n return (\n <Flex alignItems=\"center\" gap={2} maxWidth=\"30rem\">\n <Box\n height={2}\n background={color}\n borderColor={themeColorName === 'neutral0' ? 'neutral150' : undefined}\n hasRadius\n shrink={0}\n width={2}\n />\n\n <Typography fontWeight=\"regular\" textColor=\"neutral700\" ellipsis>\n {name}\n </Typography>\n </Flex>\n );\n};\n\ninterface AssigneeColumnProps {\n strapi_assignee?: Pick<\n SanitizedAdminUser,\n 'firstname' | 'lastname' | 'username' | 'email'\n > | null;\n}\n\nconst AssigneeColumn = (props: AssigneeColumnProps) => {\n const { strapi_assignee: user } = props;\n return <Typography textColor=\"neutral800\">{user ? getDisplayName(user) : '-'}</Typography>;\n};\n\nexport { StageColumn, AssigneeColumn };\nexport type { StageColumnProps, AssigneeColumnProps };\n"],"names":["StageColumn","props","color","STAGE_COLOR_DEFAULT","name","strapi_stage","themeColorName","getStageColorByHex","_jsxs","Flex","alignItems","gap","maxWidth","_jsx","Box","height","background","borderColor","undefined","hasRadius","shrink","width","Typography","fontWeight","textColor","ellipsis","AssigneeColumn","strapi_assignee","user","getDisplayName"],"mappings":";;;;;;;;AAcA,MAAMA,cAAc,CAACC,KAAAA,GAAAA;IACnB,MAAM,EAAEC,KAAAA,GAAQC,6BAAmB,EAAEC,IAAI,EAAE,GAAGH,KAAAA,CAAMI,YAAY,IAAI,EAAC;AACrE,IAAA,MAAM,EAAEC,cAAc,EAAE,GAAGC,yBAAAA,CAAmBL,UAAU,EAAC;AAEzD,IAAA,qBACEM,eAAA,CAACC,iBAAAA,EAAAA;QAAKC,UAAAA,EAAW,QAAA;QAASC,GAAAA,EAAK,CAAA;QAAGC,QAAAA,EAAS,OAAA;;0BACzCC,cAAA,CAACC,gBAAAA,EAAAA;gBACCC,MAAAA,EAAQ,CAAA;gBACRC,UAAAA,EAAYd,KAAAA;gBACZe,WAAAA,EAAaX,cAAAA,KAAmB,aAAa,YAAA,GAAeY,SAAAA;gBAC5DC,SAAS,EAAA,IAAA;gBACTC,MAAAA,EAAQ,CAAA;gBACRC,KAAAA,EAAO;;0BAGTR,cAAA,CAACS,uBAAAA,EAAAA;gBAAWC,UAAAA,EAAW,SAAA;gBAAUC,SAAAA,EAAU,YAAA;gBAAaC,QAAQ,EAAA,IAAA;AAC7DrB,gBAAAA,QAAAA,EAAAA;;;;AAIT;AASA,MAAMsB,iBAAiB,CAACzB,KAAAA,GAAAA;AACtB,IAAA,MAAM,EAAE0B,eAAAA,EAAiBC,IAAI,EAAE,GAAG3B,KAAAA;AAClC,IAAA,qBAAOY,cAAA,CAACS,uBAAAA,EAAAA;QAAWE,SAAAA,EAAU,YAAA;AAAcI,QAAAA,QAAAA,EAAAA,IAAAA,GAAOC,qBAAeD,IAAAA,CAAAA,GAAQ;;AAC3E;;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TableColumns.mjs","sources":["../../../../../../admin/src/routes/content-manager/model/components/TableColumns.tsx"],"sourcesContent":["import { SanitizedAdminUser } from '@strapi/admin/strapi-admin';\nimport { Box, Flex, Typography } from '@strapi/design-system';\
|
|
1
|
+
{"version":3,"file":"TableColumns.mjs","sources":["../../../../../../admin/src/routes/content-manager/model/components/TableColumns.tsx"],"sourcesContent":["import { SanitizedAdminUser } from '@strapi/admin/strapi-admin';\nimport { Box, Flex, Typography } from '@strapi/design-system';\n\nimport { STAGE_COLOR_DEFAULT } from '../../../../constants';\nimport { getStageColorByHex } from '../../../../utils/colors';\nimport { getDisplayName } from '../../../../utils/users';\n\ninterface StageColumnProps {\n strapi_stage?: {\n color?: string;\n name: string;\n } | null;\n}\n\nconst StageColumn = (props: StageColumnProps) => {\n const { color = STAGE_COLOR_DEFAULT, name } = props.strapi_stage ?? {};\n const { themeColorName } = getStageColorByHex(color) ?? {};\n\n return (\n <Flex alignItems=\"center\" gap={2} maxWidth=\"30rem\">\n <Box\n height={2}\n background={color}\n borderColor={themeColorName === 'neutral0' ? 'neutral150' : undefined}\n hasRadius\n shrink={0}\n width={2}\n />\n\n <Typography fontWeight=\"regular\" textColor=\"neutral700\" ellipsis>\n {name}\n </Typography>\n </Flex>\n );\n};\n\ninterface AssigneeColumnProps {\n strapi_assignee?: Pick<\n SanitizedAdminUser,\n 'firstname' | 'lastname' | 'username' | 'email'\n > | null;\n}\n\nconst AssigneeColumn = (props: AssigneeColumnProps) => {\n const { strapi_assignee: user } = props;\n return <Typography textColor=\"neutral800\">{user ? getDisplayName(user) : '-'}</Typography>;\n};\n\nexport { StageColumn, AssigneeColumn };\nexport type { StageColumnProps, AssigneeColumnProps };\n"],"names":["StageColumn","props","color","STAGE_COLOR_DEFAULT","name","strapi_stage","themeColorName","getStageColorByHex","_jsxs","Flex","alignItems","gap","maxWidth","_jsx","Box","height","background","borderColor","undefined","hasRadius","shrink","width","Typography","fontWeight","textColor","ellipsis","AssigneeColumn","strapi_assignee","user","getDisplayName"],"mappings":";;;;;;AAcA,MAAMA,cAAc,CAACC,KAAAA,GAAAA;IACnB,MAAM,EAAEC,KAAAA,GAAQC,mBAAmB,EAAEC,IAAI,EAAE,GAAGH,KAAAA,CAAMI,YAAY,IAAI,EAAC;AACrE,IAAA,MAAM,EAAEC,cAAc,EAAE,GAAGC,kBAAAA,CAAmBL,UAAU,EAAC;AAEzD,IAAA,qBACEM,IAAA,CAACC,IAAAA,EAAAA;QAAKC,UAAAA,EAAW,QAAA;QAASC,GAAAA,EAAK,CAAA;QAAGC,QAAAA,EAAS,OAAA;;0BACzCC,GAAA,CAACC,GAAAA,EAAAA;gBACCC,MAAAA,EAAQ,CAAA;gBACRC,UAAAA,EAAYd,KAAAA;gBACZe,WAAAA,EAAaX,cAAAA,KAAmB,aAAa,YAAA,GAAeY,SAAAA;gBAC5DC,SAAS,EAAA,IAAA;gBACTC,MAAAA,EAAQ,CAAA;gBACRC,KAAAA,EAAO;;0BAGTR,GAAA,CAACS,UAAAA,EAAAA;gBAAWC,UAAAA,EAAW,SAAA;gBAAUC,SAAAA,EAAU,YAAA;gBAAaC,QAAQ,EAAA,IAAA;AAC7DrB,gBAAAA,QAAAA,EAAAA;;;;AAIT;AASA,MAAMsB,iBAAiB,CAACzB,KAAAA,GAAAA;AACtB,IAAA,MAAM,EAAE0B,eAAAA,EAAiBC,IAAI,EAAE,GAAG3B,KAAAA;AAClC,IAAA,qBAAOY,GAAA,CAACS,UAAAA,EAAAA;QAAWE,SAAAA,EAAU,YAAA;AAAcI,QAAAA,QAAAA,EAAAA,IAAAA,GAAOC,eAAeD,IAAAA,CAAAA,GAAQ;;AAC3E;;;;"}
|
|
@@ -25,7 +25,7 @@ const REVIEW_WORKFLOW_COLUMNS = [
|
|
|
25
25
|
type: 'string'
|
|
26
26
|
},
|
|
27
27
|
cellFormatter: (props)=>/*#__PURE__*/ jsxRuntime.jsx(TableColumns.StageColumn, {
|
|
28
|
-
|
|
28
|
+
strapi_stage: props.strapi_stage
|
|
29
29
|
})
|
|
30
30
|
},
|
|
31
31
|
{
|
|
@@ -46,7 +46,7 @@ const REVIEW_WORKFLOW_COLUMNS = [
|
|
|
46
46
|
type: 'string'
|
|
47
47
|
},
|
|
48
48
|
cellFormatter: (props)=>/*#__PURE__*/ jsxRuntime.jsx(TableColumns.AssigneeColumn, {
|
|
49
|
-
|
|
49
|
+
strapi_assignee: props.strapi_assignee
|
|
50
50
|
})
|
|
51
51
|
}
|
|
52
52
|
];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.js","sources":["../../../../../admin/src/routes/content-manager/model/constants.tsx"],"sourcesContent":["import { AssigneeFilter } from './components/AssigneeFilter';\nimport { StageFilter } from './components/StageFilter';\nimport { AssigneeColumn, StageColumn } from './components/TableColumns';\nimport { ASSIGNEE_ATTRIBUTE_NAME, STAGE_ATTRIBUTE_NAME } from './id/components/constants';\n\nimport type { Filters } from '@strapi/admin/strapi-admin';\nimport type { ListFieldLayout } from '@strapi/content-manager/strapi-admin';\nimport type { MessageDescriptor } from 'react-intl';\n\nexport const REVIEW_WORKFLOW_COLUMNS = [\n {\n name: STAGE_ATTRIBUTE_NAME,\n attribute: {\n type: 'relation',\n relation: 'oneToMany',\n target: 'admin::review-workflow-stage',\n },\n label: {\n id: 'review-workflows.containers.list.table-headers.reviewWorkflows.stage',\n defaultMessage: 'review stage',\n },\n searchable: false,\n sortable: true,\n mainField: {\n name: 'name',\n type: 'string',\n },\n cellFormatter: (props) => <StageColumn {
|
|
1
|
+
{"version":3,"file":"constants.js","sources":["../../../../../admin/src/routes/content-manager/model/constants.tsx"],"sourcesContent":["import { AssigneeFilter } from './components/AssigneeFilter';\nimport { StageFilter } from './components/StageFilter';\nimport { AssigneeColumn, StageColumn } from './components/TableColumns';\nimport { ASSIGNEE_ATTRIBUTE_NAME, STAGE_ATTRIBUTE_NAME } from './id/components/constants';\n\nimport type { Filters } from '@strapi/admin/strapi-admin';\nimport type { ListFieldLayout } from '@strapi/content-manager/strapi-admin';\nimport type { MessageDescriptor } from 'react-intl';\n\nexport const REVIEW_WORKFLOW_COLUMNS = [\n {\n name: STAGE_ATTRIBUTE_NAME,\n attribute: {\n type: 'relation',\n relation: 'oneToMany',\n target: 'admin::review-workflow-stage',\n },\n label: {\n id: 'review-workflows.containers.list.table-headers.reviewWorkflows.stage',\n defaultMessage: 'review stage',\n },\n searchable: false,\n sortable: true,\n mainField: {\n name: 'name',\n type: 'string',\n },\n cellFormatter: (props) => <StageColumn strapi_stage={props.strapi_stage} />,\n },\n {\n name: ASSIGNEE_ATTRIBUTE_NAME,\n attribute: {\n type: 'relation',\n target: 'admin::user',\n relation: 'oneToMany',\n },\n label: {\n id: 'review-workflows.containers.list.table-headers.reviewWorkflows.assignee',\n defaultMessage: 'assignee',\n },\n searchable: false,\n sortable: true,\n mainField: {\n name: 'firstname',\n type: 'string',\n },\n cellFormatter: (props) => <AssigneeColumn strapi_assignee={props.strapi_assignee} />,\n },\n] satisfies Array<Omit<ListFieldLayout, 'label'> & { label: MessageDescriptor }>;\n\nexport const REVIEW_WORKFLOW_FILTERS = [\n {\n mainField: {\n name: 'name',\n type: 'string',\n },\n input: StageFilter,\n label: {\n id: 'review-workflows.containers.list.table-headers.reviewWorkflows.stage',\n defaultMessage: 'review stage',\n },\n name: 'strapi_stage',\n type: 'relation',\n },\n\n {\n type: 'relation',\n mainField: {\n name: 'id',\n type: 'integer',\n },\n input: AssigneeFilter,\n operators: [\n {\n label: {\n id: 'components.FilterOptions.FILTER_TYPES.$eq',\n defaultMessage: 'is',\n },\n value: '$eq',\n },\n {\n label: {\n id: 'components.FilterOptions.FILTER_TYPES.$ne',\n defaultMessage: 'is not',\n },\n value: '$ne',\n },\n {\n label: {\n id: 'components.FilterOptions.FILTER_TYPES.$null',\n defaultMessage: 'is null',\n },\n value: '$null',\n },\n {\n label: {\n id: 'components.FilterOptions.FILTER_TYPES.$notNull',\n defaultMessage: 'is not null',\n },\n value: '$notNull',\n },\n ],\n label: {\n id: 'review-workflows.containers.list.table-headers.reviewWorkflows.assignee',\n defaultMessage: 'assignee',\n },\n name: 'strapi_assignee',\n },\n] satisfies Array<\n Omit<Filters.Filter, 'label' | 'operators'> & {\n label: MessageDescriptor;\n operators?: Array<{ value: string; label: MessageDescriptor }>;\n }\n>;\n"],"names":["REVIEW_WORKFLOW_COLUMNS","name","STAGE_ATTRIBUTE_NAME","attribute","type","relation","target","label","id","defaultMessage","searchable","sortable","mainField","cellFormatter","props","_jsx","StageColumn","strapi_stage","ASSIGNEE_ATTRIBUTE_NAME","AssigneeColumn","strapi_assignee","REVIEW_WORKFLOW_FILTERS","input","StageFilter","AssigneeFilter","operators","value"],"mappings":";;;;;;;;MASaA,uBAAAA,GAA0B;AACrC,IAAA;QACEC,IAAAA,EAAMC,8BAAAA;QACNC,SAAAA,EAAW;YACTC,IAAAA,EAAM,UAAA;YACNC,QAAAA,EAAU,WAAA;YACVC,MAAAA,EAAQ;AACV,SAAA;QACAC,KAAAA,EAAO;YACLC,EAAAA,EAAI,sEAAA;YACJC,cAAAA,EAAgB;AAClB,SAAA;QACAC,UAAAA,EAAY,KAAA;QACZC,QAAAA,EAAU,IAAA;QACVC,SAAAA,EAAW;YACTX,IAAAA,EAAM,MAAA;YACNG,IAAAA,EAAM;AACR,SAAA;QACAS,aAAAA,EAAe,CAACC,sBAAUC,cAAA,CAACC,wBAAAA,EAAAA;AAAYC,gBAAAA,YAAAA,EAAcH,MAAMG;;AAC7D,KAAA;AACA,IAAA;QACEhB,IAAAA,EAAMiB,iCAAAA;QACNf,SAAAA,EAAW;YACTC,IAAAA,EAAM,UAAA;YACNE,MAAAA,EAAQ,aAAA;YACRD,QAAAA,EAAU;AACZ,SAAA;QACAE,KAAAA,EAAO;YACLC,EAAAA,EAAI,yEAAA;YACJC,cAAAA,EAAgB;AAClB,SAAA;QACAC,UAAAA,EAAY,KAAA;QACZC,QAAAA,EAAU,IAAA;QACVC,SAAAA,EAAW;YACTX,IAAAA,EAAM,WAAA;YACNG,IAAAA,EAAM;AACR,SAAA;QACAS,aAAAA,EAAe,CAACC,sBAAUC,cAAA,CAACI,2BAAAA,EAAAA;AAAeC,gBAAAA,eAAAA,EAAiBN,MAAMM;;AACnE;;MAGWC,uBAAAA,GAA0B;AACrC,IAAA;QACET,SAAAA,EAAW;YACTX,IAAAA,EAAM,MAAA;YACNG,IAAAA,EAAM;AACR,SAAA;QACAkB,KAAAA,EAAOC,uBAAAA;QACPhB,KAAAA,EAAO;YACLC,EAAAA,EAAI,sEAAA;YACJC,cAAAA,EAAgB;AAClB,SAAA;QACAR,IAAAA,EAAM,cAAA;QACNG,IAAAA,EAAM;AACR,KAAA;AAEA,IAAA;QACEA,IAAAA,EAAM,UAAA;QACNQ,SAAAA,EAAW;YACTX,IAAAA,EAAM,IAAA;YACNG,IAAAA,EAAM;AACR,SAAA;QACAkB,KAAAA,EAAOE,6BAAAA;QACPC,SAAAA,EAAW;AACT,YAAA;gBACElB,KAAAA,EAAO;oBACLC,EAAAA,EAAI,2CAAA;oBACJC,cAAAA,EAAgB;AAClB,iBAAA;gBACAiB,KAAAA,EAAO;AACT,aAAA;AACA,YAAA;gBACEnB,KAAAA,EAAO;oBACLC,EAAAA,EAAI,2CAAA;oBACJC,cAAAA,EAAgB;AAClB,iBAAA;gBACAiB,KAAAA,EAAO;AACT,aAAA;AACA,YAAA;gBACEnB,KAAAA,EAAO;oBACLC,EAAAA,EAAI,6CAAA;oBACJC,cAAAA,EAAgB;AAClB,iBAAA;gBACAiB,KAAAA,EAAO;AACT,aAAA;AACA,YAAA;gBACEnB,KAAAA,EAAO;oBACLC,EAAAA,EAAI,gDAAA;oBACJC,cAAAA,EAAgB;AAClB,iBAAA;gBACAiB,KAAAA,EAAO;AACT;AACD,SAAA;QACDnB,KAAAA,EAAO;YACLC,EAAAA,EAAI,yEAAA;YACJC,cAAAA,EAAgB;AAClB,SAAA;QACAR,IAAAA,EAAM;AACR;;;;;;"}
|
|
@@ -23,7 +23,7 @@ const REVIEW_WORKFLOW_COLUMNS = [
|
|
|
23
23
|
type: 'string'
|
|
24
24
|
},
|
|
25
25
|
cellFormatter: (props)=>/*#__PURE__*/ jsx(StageColumn, {
|
|
26
|
-
|
|
26
|
+
strapi_stage: props.strapi_stage
|
|
27
27
|
})
|
|
28
28
|
},
|
|
29
29
|
{
|
|
@@ -44,7 +44,7 @@ const REVIEW_WORKFLOW_COLUMNS = [
|
|
|
44
44
|
type: 'string'
|
|
45
45
|
},
|
|
46
46
|
cellFormatter: (props)=>/*#__PURE__*/ jsx(AssigneeColumn, {
|
|
47
|
-
|
|
47
|
+
strapi_assignee: props.strapi_assignee
|
|
48
48
|
})
|
|
49
49
|
}
|
|
50
50
|
];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.mjs","sources":["../../../../../admin/src/routes/content-manager/model/constants.tsx"],"sourcesContent":["import { AssigneeFilter } from './components/AssigneeFilter';\nimport { StageFilter } from './components/StageFilter';\nimport { AssigneeColumn, StageColumn } from './components/TableColumns';\nimport { ASSIGNEE_ATTRIBUTE_NAME, STAGE_ATTRIBUTE_NAME } from './id/components/constants';\n\nimport type { Filters } from '@strapi/admin/strapi-admin';\nimport type { ListFieldLayout } from '@strapi/content-manager/strapi-admin';\nimport type { MessageDescriptor } from 'react-intl';\n\nexport const REVIEW_WORKFLOW_COLUMNS = [\n {\n name: STAGE_ATTRIBUTE_NAME,\n attribute: {\n type: 'relation',\n relation: 'oneToMany',\n target: 'admin::review-workflow-stage',\n },\n label: {\n id: 'review-workflows.containers.list.table-headers.reviewWorkflows.stage',\n defaultMessage: 'review stage',\n },\n searchable: false,\n sortable: true,\n mainField: {\n name: 'name',\n type: 'string',\n },\n cellFormatter: (props) => <StageColumn {
|
|
1
|
+
{"version":3,"file":"constants.mjs","sources":["../../../../../admin/src/routes/content-manager/model/constants.tsx"],"sourcesContent":["import { AssigneeFilter } from './components/AssigneeFilter';\nimport { StageFilter } from './components/StageFilter';\nimport { AssigneeColumn, StageColumn } from './components/TableColumns';\nimport { ASSIGNEE_ATTRIBUTE_NAME, STAGE_ATTRIBUTE_NAME } from './id/components/constants';\n\nimport type { Filters } from '@strapi/admin/strapi-admin';\nimport type { ListFieldLayout } from '@strapi/content-manager/strapi-admin';\nimport type { MessageDescriptor } from 'react-intl';\n\nexport const REVIEW_WORKFLOW_COLUMNS = [\n {\n name: STAGE_ATTRIBUTE_NAME,\n attribute: {\n type: 'relation',\n relation: 'oneToMany',\n target: 'admin::review-workflow-stage',\n },\n label: {\n id: 'review-workflows.containers.list.table-headers.reviewWorkflows.stage',\n defaultMessage: 'review stage',\n },\n searchable: false,\n sortable: true,\n mainField: {\n name: 'name',\n type: 'string',\n },\n cellFormatter: (props) => <StageColumn strapi_stage={props.strapi_stage} />,\n },\n {\n name: ASSIGNEE_ATTRIBUTE_NAME,\n attribute: {\n type: 'relation',\n target: 'admin::user',\n relation: 'oneToMany',\n },\n label: {\n id: 'review-workflows.containers.list.table-headers.reviewWorkflows.assignee',\n defaultMessage: 'assignee',\n },\n searchable: false,\n sortable: true,\n mainField: {\n name: 'firstname',\n type: 'string',\n },\n cellFormatter: (props) => <AssigneeColumn strapi_assignee={props.strapi_assignee} />,\n },\n] satisfies Array<Omit<ListFieldLayout, 'label'> & { label: MessageDescriptor }>;\n\nexport const REVIEW_WORKFLOW_FILTERS = [\n {\n mainField: {\n name: 'name',\n type: 'string',\n },\n input: StageFilter,\n label: {\n id: 'review-workflows.containers.list.table-headers.reviewWorkflows.stage',\n defaultMessage: 'review stage',\n },\n name: 'strapi_stage',\n type: 'relation',\n },\n\n {\n type: 'relation',\n mainField: {\n name: 'id',\n type: 'integer',\n },\n input: AssigneeFilter,\n operators: [\n {\n label: {\n id: 'components.FilterOptions.FILTER_TYPES.$eq',\n defaultMessage: 'is',\n },\n value: '$eq',\n },\n {\n label: {\n id: 'components.FilterOptions.FILTER_TYPES.$ne',\n defaultMessage: 'is not',\n },\n value: '$ne',\n },\n {\n label: {\n id: 'components.FilterOptions.FILTER_TYPES.$null',\n defaultMessage: 'is null',\n },\n value: '$null',\n },\n {\n label: {\n id: 'components.FilterOptions.FILTER_TYPES.$notNull',\n defaultMessage: 'is not null',\n },\n value: '$notNull',\n },\n ],\n label: {\n id: 'review-workflows.containers.list.table-headers.reviewWorkflows.assignee',\n defaultMessage: 'assignee',\n },\n name: 'strapi_assignee',\n },\n] satisfies Array<\n Omit<Filters.Filter, 'label' | 'operators'> & {\n label: MessageDescriptor;\n operators?: Array<{ value: string; label: MessageDescriptor }>;\n }\n>;\n"],"names":["REVIEW_WORKFLOW_COLUMNS","name","STAGE_ATTRIBUTE_NAME","attribute","type","relation","target","label","id","defaultMessage","searchable","sortable","mainField","cellFormatter","props","_jsx","StageColumn","strapi_stage","ASSIGNEE_ATTRIBUTE_NAME","AssigneeColumn","strapi_assignee","REVIEW_WORKFLOW_FILTERS","input","StageFilter","AssigneeFilter","operators","value"],"mappings":";;;;;;MASaA,uBAAAA,GAA0B;AACrC,IAAA;QACEC,IAAAA,EAAMC,oBAAAA;QACNC,SAAAA,EAAW;YACTC,IAAAA,EAAM,UAAA;YACNC,QAAAA,EAAU,WAAA;YACVC,MAAAA,EAAQ;AACV,SAAA;QACAC,KAAAA,EAAO;YACLC,EAAAA,EAAI,sEAAA;YACJC,cAAAA,EAAgB;AAClB,SAAA;QACAC,UAAAA,EAAY,KAAA;QACZC,QAAAA,EAAU,IAAA;QACVC,SAAAA,EAAW;YACTX,IAAAA,EAAM,MAAA;YACNG,IAAAA,EAAM;AACR,SAAA;QACAS,aAAAA,EAAe,CAACC,sBAAUC,GAAA,CAACC,WAAAA,EAAAA;AAAYC,gBAAAA,YAAAA,EAAcH,MAAMG;;AAC7D,KAAA;AACA,IAAA;QACEhB,IAAAA,EAAMiB,uBAAAA;QACNf,SAAAA,EAAW;YACTC,IAAAA,EAAM,UAAA;YACNE,MAAAA,EAAQ,aAAA;YACRD,QAAAA,EAAU;AACZ,SAAA;QACAE,KAAAA,EAAO;YACLC,EAAAA,EAAI,yEAAA;YACJC,cAAAA,EAAgB;AAClB,SAAA;QACAC,UAAAA,EAAY,KAAA;QACZC,QAAAA,EAAU,IAAA;QACVC,SAAAA,EAAW;YACTX,IAAAA,EAAM,WAAA;YACNG,IAAAA,EAAM;AACR,SAAA;QACAS,aAAAA,EAAe,CAACC,sBAAUC,GAAA,CAACI,cAAAA,EAAAA;AAAeC,gBAAAA,eAAAA,EAAiBN,MAAMM;;AACnE;;MAGWC,uBAAAA,GAA0B;AACrC,IAAA;QACET,SAAAA,EAAW;YACTX,IAAAA,EAAM,MAAA;YACNG,IAAAA,EAAM;AACR,SAAA;QACAkB,KAAAA,EAAOC,WAAAA;QACPhB,KAAAA,EAAO;YACLC,EAAAA,EAAI,sEAAA;YACJC,cAAAA,EAAgB;AAClB,SAAA;QACAR,IAAAA,EAAM,cAAA;QACNG,IAAAA,EAAM;AACR,KAAA;AAEA,IAAA;QACEA,IAAAA,EAAM,UAAA;QACNQ,SAAAA,EAAW;YACTX,IAAAA,EAAM,IAAA;YACNG,IAAAA,EAAM;AACR,SAAA;QACAkB,KAAAA,EAAOE,cAAAA;QACPC,SAAAA,EAAW;AACT,YAAA;gBACElB,KAAAA,EAAO;oBACLC,EAAAA,EAAI,2CAAA;oBACJC,cAAAA,EAAgB;AAClB,iBAAA;gBACAiB,KAAAA,EAAO;AACT,aAAA;AACA,YAAA;gBACEnB,KAAAA,EAAO;oBACLC,EAAAA,EAAI,2CAAA;oBACJC,cAAAA,EAAgB;AAClB,iBAAA;gBACAiB,KAAAA,EAAO;AACT,aAAA;AACA,YAAA;gBACEnB,KAAAA,EAAO;oBACLC,EAAAA,EAAI,6CAAA;oBACJC,cAAAA,EAAgB;AAClB,iBAAA;gBACAiB,KAAAA,EAAO;AACT,aAAA;AACA,YAAA;gBACEnB,KAAAA,EAAO;oBACLC,EAAAA,EAAI,gDAAA;oBACJC,cAAAA,EAAgB;AAClB,iBAAA;gBACAiB,KAAAA,EAAO;AACT;AACD,SAAA;QACDnB,KAAAA,EAAO;YACLC,EAAAA,EAAI,yEAAA;YACJC,cAAAA,EAAgB;AAClB,SAAA;QACAR,IAAAA,EAAM;AACR;;;;;"}
|
|
@@ -256,7 +256,7 @@ const ReviewWorkflowsListView = ()=>{
|
|
|
256
256
|
onConfirm: handleConfirmDeleteDialog,
|
|
257
257
|
children: formatMessage({
|
|
258
258
|
id: 'Settings.review-workflows.list.page.delete.confirm.body',
|
|
259
|
-
defaultMessage: 'If you remove this
|
|
259
|
+
defaultMessage: 'If you remove this workflow, all stage-related information will be removed for this content-type. Are you sure you want to remove it?'
|
|
260
260
|
})
|
|
261
261
|
})
|
|
262
262
|
}),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../../../admin/src/routes/settings/index.tsx"],"sourcesContent":["/* eslint-disable check-file/no-index */\n/* eslint-disable check-file/filename-naming-convention */\nimport * as React from 'react';\n\nimport { Page, useTracking, ConfirmDialog, useRBAC, Table } from '@strapi/admin/strapi-admin';\nimport { useLicenseLimits } from '@strapi/admin/strapi-admin/ee';\nimport { Flex, IconButton, TFooter, Typography, LinkButton, Dialog } from '@strapi/design-system';\nimport { Pencil, Plus, Trash } from '@strapi/icons';\nimport { useIntl } from 'react-intl';\nimport { NavLink, Link, useNavigate } from 'react-router-dom';\n\nimport { LimitsModal } from '../../components/LimitsModal';\nimport { CHARGEBEE_WORKFLOW_ENTITLEMENT_NAME } from '../../constants';\nimport { useTypedSelector } from '../../modules/hooks';\nimport { ContentType, useGetContentTypesQuery } from '../../services/content-manager';\n\nimport * as Layout from './components/Layout';\nimport { useReviewWorkflows } from './hooks/useReviewWorkflows';\n\nexport const ReviewWorkflowsListView = () => {\n const { formatMessage } = useIntl();\n const navigate = useNavigate();\n const { trackUsage } = useTracking();\n const [workflowToDelete, setWorkflowToDelete] = React.useState<string | null>(null);\n const [showLimitModal, setShowLimitModal] = React.useState<boolean>(false);\n const { data, isLoading: isLoadingModels } = useGetContentTypesQuery();\n const { meta, workflows, isLoading, delete: deleteAction } = useReviewWorkflows();\n const { getFeature, isLoading: isLicenseLoading } = useLicenseLimits();\n const permissions = useTypedSelector(\n (state) => state.admin_app.permissions.settings?.['review-workflows']\n );\n const {\n allowedActions: { canCreate, canRead, canUpdate, canDelete },\n } = useRBAC(permissions);\n\n const limits = getFeature('review-workflows');\n const numberOfWorkflows = limits?.[CHARGEBEE_WORKFLOW_ENTITLEMENT_NAME] as string;\n\n const handleDeleteWorkflow = (workflowId: string) => {\n setWorkflowToDelete(workflowId);\n };\n\n const toggleConfirmDeleteDialog = () => {\n setWorkflowToDelete(null);\n };\n\n const handleConfirmDeleteDialog = async () => {\n if (!workflowToDelete) return;\n\n await deleteAction(workflowToDelete);\n\n setWorkflowToDelete(null);\n };\n\n const handleCreateClick: React.MouseEventHandler<HTMLAnchorElement> &\n ((event: React.MouseEvent<HTMLButtonElement, MouseEvent>) => void) = (event) => {\n event.preventDefault();\n /**\n * If the current license has a workflow limit:\n * check if the total count of workflows exceeds that limit. If so,\n * prevent the navigation and show the limits overlay.\n *\n * If the current license does not have a limit (e.g. offline license):\n * allow the user to navigate to the create-view. In case they exceed the\n * current hard-limit of 200 they will see an error thrown by the API.\n */\n\n if (numberOfWorkflows && meta && meta?.workflowCount >= parseInt(numberOfWorkflows, 10)) {\n event.preventDefault();\n setShowLimitModal(true);\n } else {\n navigate('create');\n trackUsage('willCreateWorkflow');\n }\n };\n\n /**\n * If the current license has a limit:\n * check if the total count of workflows or stages exceeds that limit and display\n * the limits modal on page load. It can be closed by the user, but the\n * API will throw an error in case they try to create a new workflow or update the\n * stages.\n *\n * If the current license does not have a limit (e.g. offline license):\n * do nothing (for now). In case they are trying to create the 201st workflow/ stage\n * the API will throw an error.\n *\n */\n React.useEffect(() => {\n if (!isLoading && !isLicenseLoading) {\n if (numberOfWorkflows && meta && meta?.workflowCount > parseInt(numberOfWorkflows, 10)) {\n setShowLimitModal(true);\n }\n }\n }, [isLicenseLoading, isLoading, meta, meta?.workflowCount, numberOfWorkflows]);\n\n const headers = [\n {\n label: formatMessage({\n id: 'Settings.review-workflows.list.page.list.column.name.title',\n defaultMessage: 'Name',\n }),\n name: 'name',\n },\n {\n label: formatMessage({\n id: 'Settings.review-workflows.list.page.list.column.stages.title',\n defaultMessage: 'Stages',\n }),\n name: 'stages',\n },\n {\n label: formatMessage({\n id: 'Settings.review-workflows.list.page.list.column.contentTypes.title',\n defaultMessage: 'Content Types',\n }),\n name: 'content-types',\n },\n ];\n\n if (isLoading || isLoadingModels) {\n return <Page.Loading />;\n }\n\n const contentTypes = Object.values(data ?? {}).reduce<ContentType[]>((acc, curr) => {\n acc.push(...curr);\n return acc;\n }, []);\n\n return (\n <>\n <Layout.Header\n primaryAction={\n canCreate ? (\n <LinkButton\n startIcon={<Plus />}\n size=\"S\"\n tag={NavLink}\n to=\"create\"\n onClick={handleCreateClick}\n fullWidth\n >\n {formatMessage({\n id: 'Settings.review-workflows.list.page.create',\n defaultMessage: 'Create new workflow',\n })}\n </LinkButton>\n ) : null\n }\n subtitle={formatMessage({\n id: 'Settings.review-workflows.list.page.subtitle',\n defaultMessage: 'Manage your content review process',\n })}\n title={formatMessage({\n id: 'Settings.review-workflows.list.page.title',\n defaultMessage: 'Review Workflows',\n })}\n />\n\n <Layout.Root>\n <Table.Root\n isLoading={isLoading}\n rows={workflows}\n footer={\n canCreate ? (\n <TFooter cursor=\"pointer\" icon={<Plus />} onClick={handleCreateClick}>\n {formatMessage({\n id: 'Settings.review-workflows.list.page.create',\n defaultMessage: 'Create new workflow',\n })}\n </TFooter>\n ) : null\n }\n headers={headers}\n >\n <Table.Content>\n <Table.Head>\n {headers.map((head) => (\n <Table.HeaderCell key={head.name} {...head} />\n ))}\n </Table.Head>\n\n <Table.Body>\n {workflows.map((workflow) => (\n <Table.Row\n onClick={() => {\n navigate(`${workflow.id}`);\n }}\n key={workflow.id}\n >\n <Table.Cell width=\"25rem\">\n <Typography textColor=\"neutral800\" fontWeight=\"bold\" ellipsis>\n {workflow.name}\n </Typography>\n </Table.Cell>\n <Table.Cell>\n <Typography textColor=\"neutral800\">{workflow.stages.length}</Typography>\n </Table.Cell>\n <Table.Cell>\n <Typography textColor=\"neutral800\">\n {workflow.contentTypes\n .map((uid: string) => {\n const contentType = contentTypes.find(\n (contentType) => contentType.uid === uid\n );\n\n return contentType?.info.displayName ?? '';\n })\n .join(', ')}\n </Typography>\n </Table.Cell>\n <Table.Cell>\n <Flex alignItems=\"center\" justifyContent=\"end\">\n {canRead || canUpdate ? (\n <IconButton\n tag={Link}\n onClick={(e) => e.stopPropagation()}\n to={workflow.id.toString()}\n label={formatMessage(\n {\n id: 'Settings.review-workflows.list.page.list.column.actions.edit.label',\n defaultMessage: 'Edit {name}',\n },\n { name: workflow.name }\n )}\n variant=\"ghost\"\n >\n <Pencil />\n </IconButton>\n ) : null}\n {workflows.length > 1 && canDelete ? (\n <IconButton\n withTooltip={false}\n label={formatMessage(\n {\n id: 'Settings.review-workflows.list.page.list.column.actions.delete.label',\n defaultMessage: 'Delete {name}',\n },\n { name: 'Default workflow' }\n )}\n variant=\"ghost\"\n onClick={(e) => {\n e.stopPropagation();\n handleDeleteWorkflow(String(workflow.id));\n }}\n >\n <Trash />\n </IconButton>\n ) : null}\n </Flex>\n </Table.Cell>\n </Table.Row>\n ))}\n </Table.Body>\n </Table.Content>\n </Table.Root>\n\n <Dialog.Root open={!!workflowToDelete} onOpenChange={toggleConfirmDeleteDialog}>\n <ConfirmDialog onConfirm={handleConfirmDeleteDialog}>\n {formatMessage({\n id: 'Settings.review-workflows.list.page.delete.confirm.body',\n defaultMessage:\n 'If you remove this worfklow, all stage-related information will be removed for this content-type. Are you sure you want to remove it?',\n })}\n </ConfirmDialog>\n </Dialog.Root>\n\n <LimitsModal.Root open={showLimitModal} onOpenChange={() => setShowLimitModal(false)}>\n <LimitsModal.Title>\n {formatMessage({\n id: 'review-workflows.workflows.limit.title',\n defaultMessage: 'You’ve reached the limit of workflows in your plan',\n })}\n </LimitsModal.Title>\n\n <LimitsModal.Body>\n {formatMessage({\n id: 'review-workflows.workflows.limit.body',\n defaultMessage: 'Delete a workflow or contact Sales to enable more workflows.',\n })}\n </LimitsModal.Body>\n </LimitsModal.Root>\n </Layout.Root>\n </>\n );\n};\n\nconst ProtectedListPage = () => {\n const permissions = useTypedSelector(\n (state) => state.admin_app.permissions.settings?.['review-workflows']?.main\n );\n\n return (\n <Page.Protect permissions={permissions}>\n <ReviewWorkflowsListView />\n </Page.Protect>\n );\n};\n\nexport { ProtectedListPage };\n"],"names":["ReviewWorkflowsListView","formatMessage","useIntl","navigate","useNavigate","trackUsage","useTracking","workflowToDelete","setWorkflowToDelete","React","useState","showLimitModal","setShowLimitModal","data","isLoading","isLoadingModels","useGetContentTypesQuery","meta","workflows","delete","deleteAction","useReviewWorkflows","getFeature","isLicenseLoading","useLicenseLimits","permissions","useTypedSelector","state","admin_app","settings","allowedActions","canCreate","canRead","canUpdate","canDelete","useRBAC","limits","numberOfWorkflows","CHARGEBEE_WORKFLOW_ENTITLEMENT_NAME","handleDeleteWorkflow","workflowId","toggleConfirmDeleteDialog","handleConfirmDeleteDialog","handleCreateClick","event","preventDefault","workflowCount","parseInt","useEffect","headers","label","id","defaultMessage","name","_jsx","Page","Loading","contentTypes","Object","values","reduce","acc","curr","push","_jsxs","_Fragment","Layout","primaryAction","LinkButton","startIcon","Plus","size","tag","NavLink","to","onClick","fullWidth","subtitle","title","Table","Root","rows","footer","TFooter","cursor","icon","Content","Head","map","head","HeaderCell","Body","workflow","Row","Cell","width","Typography","textColor","fontWeight","ellipsis","stages","length","uid","contentType","find","info","displayName","join","Flex","alignItems","justifyContent","IconButton","Link","e","stopPropagation","toString","variant","Pencil","withTooltip","String","Trash","Dialog","open","onOpenChange","ConfirmDialog","onConfirm","LimitsModal","Title","ProtectedListPage","main","Protect"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../../admin/src/routes/settings/index.tsx"],"sourcesContent":["/* eslint-disable check-file/no-index */\n/* eslint-disable check-file/filename-naming-convention */\nimport * as React from 'react';\n\nimport { Page, useTracking, ConfirmDialog, useRBAC, Table } from '@strapi/admin/strapi-admin';\nimport { useLicenseLimits } from '@strapi/admin/strapi-admin/ee';\nimport { Flex, IconButton, TFooter, Typography, LinkButton, Dialog } from '@strapi/design-system';\nimport { Pencil, Plus, Trash } from '@strapi/icons';\nimport { useIntl } from 'react-intl';\nimport { NavLink, Link, useNavigate } from 'react-router-dom';\n\nimport { LimitsModal } from '../../components/LimitsModal';\nimport { CHARGEBEE_WORKFLOW_ENTITLEMENT_NAME } from '../../constants';\nimport { useTypedSelector } from '../../modules/hooks';\nimport { ContentType, useGetContentTypesQuery } from '../../services/content-manager';\n\nimport * as Layout from './components/Layout';\nimport { useReviewWorkflows } from './hooks/useReviewWorkflows';\n\nexport const ReviewWorkflowsListView = () => {\n const { formatMessage } = useIntl();\n const navigate = useNavigate();\n const { trackUsage } = useTracking();\n const [workflowToDelete, setWorkflowToDelete] = React.useState<string | null>(null);\n const [showLimitModal, setShowLimitModal] = React.useState<boolean>(false);\n const { data, isLoading: isLoadingModels } = useGetContentTypesQuery();\n const { meta, workflows, isLoading, delete: deleteAction } = useReviewWorkflows();\n const { getFeature, isLoading: isLicenseLoading } = useLicenseLimits();\n const permissions = useTypedSelector(\n (state) => state.admin_app.permissions.settings?.['review-workflows']\n );\n const {\n allowedActions: { canCreate, canRead, canUpdate, canDelete },\n } = useRBAC(permissions);\n\n const limits = getFeature('review-workflows');\n const numberOfWorkflows = limits?.[CHARGEBEE_WORKFLOW_ENTITLEMENT_NAME] as string;\n\n const handleDeleteWorkflow = (workflowId: string) => {\n setWorkflowToDelete(workflowId);\n };\n\n const toggleConfirmDeleteDialog = () => {\n setWorkflowToDelete(null);\n };\n\n const handleConfirmDeleteDialog = async () => {\n if (!workflowToDelete) return;\n\n await deleteAction(workflowToDelete);\n\n setWorkflowToDelete(null);\n };\n\n const handleCreateClick: React.MouseEventHandler<HTMLAnchorElement> &\n ((event: React.MouseEvent<HTMLButtonElement, MouseEvent>) => void) = (event) => {\n event.preventDefault();\n /**\n * If the current license has a workflow limit:\n * check if the total count of workflows exceeds that limit. If so,\n * prevent the navigation and show the limits overlay.\n *\n * If the current license does not have a limit (e.g. offline license):\n * allow the user to navigate to the create-view. In case they exceed the\n * current hard-limit of 200 they will see an error thrown by the API.\n */\n\n if (numberOfWorkflows && meta && meta?.workflowCount >= parseInt(numberOfWorkflows, 10)) {\n event.preventDefault();\n setShowLimitModal(true);\n } else {\n navigate('create');\n trackUsage('willCreateWorkflow');\n }\n };\n\n /**\n * If the current license has a limit:\n * check if the total count of workflows or stages exceeds that limit and display\n * the limits modal on page load. It can be closed by the user, but the\n * API will throw an error in case they try to create a new workflow or update the\n * stages.\n *\n * If the current license does not have a limit (e.g. offline license):\n * do nothing (for now). In case they are trying to create the 201st workflow/ stage\n * the API will throw an error.\n *\n */\n React.useEffect(() => {\n if (!isLoading && !isLicenseLoading) {\n if (numberOfWorkflows && meta && meta?.workflowCount > parseInt(numberOfWorkflows, 10)) {\n setShowLimitModal(true);\n }\n }\n }, [isLicenseLoading, isLoading, meta, meta?.workflowCount, numberOfWorkflows]);\n\n const headers = [\n {\n label: formatMessage({\n id: 'Settings.review-workflows.list.page.list.column.name.title',\n defaultMessage: 'Name',\n }),\n name: 'name',\n },\n {\n label: formatMessage({\n id: 'Settings.review-workflows.list.page.list.column.stages.title',\n defaultMessage: 'Stages',\n }),\n name: 'stages',\n },\n {\n label: formatMessage({\n id: 'Settings.review-workflows.list.page.list.column.contentTypes.title',\n defaultMessage: 'Content Types',\n }),\n name: 'content-types',\n },\n ];\n\n if (isLoading || isLoadingModels) {\n return <Page.Loading />;\n }\n\n const contentTypes = Object.values(data ?? {}).reduce<ContentType[]>((acc, curr) => {\n acc.push(...curr);\n return acc;\n }, []);\n\n return (\n <>\n <Layout.Header\n primaryAction={\n canCreate ? (\n <LinkButton\n startIcon={<Plus />}\n size=\"S\"\n tag={NavLink}\n to=\"create\"\n onClick={handleCreateClick}\n fullWidth\n >\n {formatMessage({\n id: 'Settings.review-workflows.list.page.create',\n defaultMessage: 'Create new workflow',\n })}\n </LinkButton>\n ) : null\n }\n subtitle={formatMessage({\n id: 'Settings.review-workflows.list.page.subtitle',\n defaultMessage: 'Manage your content review process',\n })}\n title={formatMessage({\n id: 'Settings.review-workflows.list.page.title',\n defaultMessage: 'Review Workflows',\n })}\n />\n\n <Layout.Root>\n <Table.Root\n isLoading={isLoading}\n rows={workflows}\n footer={\n canCreate ? (\n <TFooter cursor=\"pointer\" icon={<Plus />} onClick={handleCreateClick}>\n {formatMessage({\n id: 'Settings.review-workflows.list.page.create',\n defaultMessage: 'Create new workflow',\n })}\n </TFooter>\n ) : null\n }\n headers={headers}\n >\n <Table.Content>\n <Table.Head>\n {headers.map((head) => (\n <Table.HeaderCell key={head.name} {...head} />\n ))}\n </Table.Head>\n\n <Table.Body>\n {workflows.map((workflow) => (\n <Table.Row\n onClick={() => {\n navigate(`${workflow.id}`);\n }}\n key={workflow.id}\n >\n <Table.Cell width=\"25rem\">\n <Typography textColor=\"neutral800\" fontWeight=\"bold\" ellipsis>\n {workflow.name}\n </Typography>\n </Table.Cell>\n <Table.Cell>\n <Typography textColor=\"neutral800\">{workflow.stages.length}</Typography>\n </Table.Cell>\n <Table.Cell>\n <Typography textColor=\"neutral800\">\n {workflow.contentTypes\n .map((uid: string) => {\n const contentType = contentTypes.find(\n (contentType) => contentType.uid === uid\n );\n\n return contentType?.info.displayName ?? '';\n })\n .join(', ')}\n </Typography>\n </Table.Cell>\n <Table.Cell>\n <Flex alignItems=\"center\" justifyContent=\"end\">\n {canRead || canUpdate ? (\n <IconButton\n tag={Link}\n onClick={(e) => e.stopPropagation()}\n to={workflow.id.toString()}\n label={formatMessage(\n {\n id: 'Settings.review-workflows.list.page.list.column.actions.edit.label',\n defaultMessage: 'Edit {name}',\n },\n { name: workflow.name }\n )}\n variant=\"ghost\"\n >\n <Pencil />\n </IconButton>\n ) : null}\n {workflows.length > 1 && canDelete ? (\n <IconButton\n withTooltip={false}\n label={formatMessage(\n {\n id: 'Settings.review-workflows.list.page.list.column.actions.delete.label',\n defaultMessage: 'Delete {name}',\n },\n { name: 'Default workflow' }\n )}\n variant=\"ghost\"\n onClick={(e) => {\n e.stopPropagation();\n handleDeleteWorkflow(String(workflow.id));\n }}\n >\n <Trash />\n </IconButton>\n ) : null}\n </Flex>\n </Table.Cell>\n </Table.Row>\n ))}\n </Table.Body>\n </Table.Content>\n </Table.Root>\n\n <Dialog.Root open={!!workflowToDelete} onOpenChange={toggleConfirmDeleteDialog}>\n <ConfirmDialog onConfirm={handleConfirmDeleteDialog}>\n {formatMessage({\n id: 'Settings.review-workflows.list.page.delete.confirm.body',\n defaultMessage:\n 'If you remove this workflow, all stage-related information will be removed for this content-type. Are you sure you want to remove it?',\n })}\n </ConfirmDialog>\n </Dialog.Root>\n\n <LimitsModal.Root open={showLimitModal} onOpenChange={() => setShowLimitModal(false)}>\n <LimitsModal.Title>\n {formatMessage({\n id: 'review-workflows.workflows.limit.title',\n defaultMessage: 'You’ve reached the limit of workflows in your plan',\n })}\n </LimitsModal.Title>\n\n <LimitsModal.Body>\n {formatMessage({\n id: 'review-workflows.workflows.limit.body',\n defaultMessage: 'Delete a workflow or contact Sales to enable more workflows.',\n })}\n </LimitsModal.Body>\n </LimitsModal.Root>\n </Layout.Root>\n </>\n );\n};\n\nconst ProtectedListPage = () => {\n const permissions = useTypedSelector(\n (state) => state.admin_app.permissions.settings?.['review-workflows']?.main\n );\n\n return (\n <Page.Protect permissions={permissions}>\n <ReviewWorkflowsListView />\n </Page.Protect>\n );\n};\n\nexport { ProtectedListPage };\n"],"names":["ReviewWorkflowsListView","formatMessage","useIntl","navigate","useNavigate","trackUsage","useTracking","workflowToDelete","setWorkflowToDelete","React","useState","showLimitModal","setShowLimitModal","data","isLoading","isLoadingModels","useGetContentTypesQuery","meta","workflows","delete","deleteAction","useReviewWorkflows","getFeature","isLicenseLoading","useLicenseLimits","permissions","useTypedSelector","state","admin_app","settings","allowedActions","canCreate","canRead","canUpdate","canDelete","useRBAC","limits","numberOfWorkflows","CHARGEBEE_WORKFLOW_ENTITLEMENT_NAME","handleDeleteWorkflow","workflowId","toggleConfirmDeleteDialog","handleConfirmDeleteDialog","handleCreateClick","event","preventDefault","workflowCount","parseInt","useEffect","headers","label","id","defaultMessage","name","_jsx","Page","Loading","contentTypes","Object","values","reduce","acc","curr","push","_jsxs","_Fragment","Layout","primaryAction","LinkButton","startIcon","Plus","size","tag","NavLink","to","onClick","fullWidth","subtitle","title","Table","Root","rows","footer","TFooter","cursor","icon","Content","Head","map","head","HeaderCell","Body","workflow","Row","Cell","width","Typography","textColor","fontWeight","ellipsis","stages","length","uid","contentType","find","info","displayName","join","Flex","alignItems","justifyContent","IconButton","Link","e","stopPropagation","toString","variant","Pencil","withTooltip","String","Trash","Dialog","open","onOpenChange","ConfirmDialog","onConfirm","LimitsModal","Title","ProtectedListPage","main","Protect"],"mappings":"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"}
|
|
@@ -234,7 +234,7 @@ const ReviewWorkflowsListView = ()=>{
|
|
|
234
234
|
onConfirm: handleConfirmDeleteDialog,
|
|
235
235
|
children: formatMessage({
|
|
236
236
|
id: 'Settings.review-workflows.list.page.delete.confirm.body',
|
|
237
|
-
defaultMessage: 'If you remove this
|
|
237
|
+
defaultMessage: 'If you remove this workflow, all stage-related information will be removed for this content-type. Are you sure you want to remove it?'
|
|
238
238
|
})
|
|
239
239
|
})
|
|
240
240
|
}),
|