@strapi/review-workflows 0.0.0-experimental.defd8568ae03ef8d52f86e1f3541979f953c3941 → 0.0.0-experimental.edc24aaa3bb5a90fa5fd4fee208167dd4e2e38d4
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/LICENSE +12 -17
- package/dist/_chunks/{Layout-Py8gxQW2.js → Layout-D3DDQmMI.js} +6 -14
- package/dist/_chunks/Layout-D3DDQmMI.js.map +1 -0
- package/dist/_chunks/{Layout-B_cKmQA3.mjs → Layout-Da8jupiA.mjs} +8 -14
- package/dist/_chunks/Layout-Da8jupiA.mjs.map +1 -0
- package/dist/_chunks/{_id-BeUU-t6D.js → _id-CnRDP3Xx.js} +319 -387
- package/dist/_chunks/_id-CnRDP3Xx.js.map +1 -0
- package/dist/_chunks/{_id-C_HRFhcV.mjs → _id-xSrgPSJs.mjs} +313 -379
- package/dist/_chunks/_id-xSrgPSJs.mjs.map +1 -0
- package/dist/_chunks/{index-DyJcIA81.js → index-4kp4AkBB.js} +23 -37
- package/dist/_chunks/index-4kp4AkBB.js.map +1 -0
- package/dist/_chunks/{index-DjHtLGgq.mjs → index-DDsJlZQw.mjs} +114 -163
- package/dist/_chunks/index-DDsJlZQw.mjs.map +1 -0
- package/dist/_chunks/{index-D3AvHSbj.js → index-DhPxWpsW.js} +112 -163
- package/dist/_chunks/index-DhPxWpsW.js.map +1 -0
- package/dist/_chunks/{index-CAgnun9R.mjs → index-jfO5GxtW.mjs} +23 -35
- package/dist/_chunks/index-jfO5GxtW.mjs.map +1 -0
- package/dist/_chunks/{purchase-review-workflows-DyffLpyz.mjs → purchase-review-workflows-BN-5Ube7.mjs} +5 -4
- package/dist/_chunks/purchase-review-workflows-BN-5Ube7.mjs.map +1 -0
- package/dist/_chunks/{purchase-review-workflows-BaOk5p_m.js → purchase-review-workflows-DlCDg0fD.js} +4 -3
- package/dist/_chunks/purchase-review-workflows-DlCDg0fD.js.map +1 -0
- package/dist/_chunks/{router-zN3-SLwz.mjs → router-DOEULOpS.mjs} +3 -3
- package/dist/_chunks/{router-zN3-SLwz.mjs.map → router-DOEULOpS.mjs.map} +1 -1
- package/dist/_chunks/{router-BwVSq4yF.js → router-DSXpeew4.js} +3 -3
- package/dist/_chunks/{router-BwVSq4yF.js.map → router-DSXpeew4.js.map} +1 -1
- package/dist/admin/index.js +1 -1
- package/dist/admin/index.mjs +1 -1
- package/dist/admin/src/components/LimitsModal.d.ts +2 -4
- package/dist/admin/src/routes/content-manager/[model]/[id]/components/Panel.d.ts +1 -1
- package/dist/admin/src/routes/settings/hooks/useDragAndDrop.d.ts +4 -4
- package/dist/admin/src/routes/settings/hooks/useKeyboardDragAndDrop.d.ts +1 -1
- package/dist/admin/src/routes/settings/hooks/useReviewWorkflows.d.ts +3 -3
- package/dist/admin/src/services/admin.d.ts +2 -2
- package/dist/admin/src/services/api.d.ts +2 -3
- package/dist/admin/src/services/content-manager.d.ts +7 -7
- package/dist/admin/src/services/settings.d.ts +4 -4
- package/dist/admin/src/utils/api.d.ts +4 -19
- package/dist/admin/src/utils/cm-hooks.d.ts +1 -1
- package/package.json +14 -15
- package/dist/_chunks/Layout-B_cKmQA3.mjs.map +0 -1
- package/dist/_chunks/Layout-Py8gxQW2.js.map +0 -1
- package/dist/_chunks/_id-BeUU-t6D.js.map +0 -1
- package/dist/_chunks/_id-C_HRFhcV.mjs.map +0 -1
- package/dist/_chunks/index-CAgnun9R.mjs.map +0 -1
- package/dist/_chunks/index-D3AvHSbj.js.map +0 -1
- package/dist/_chunks/index-DjHtLGgq.mjs.map +0 -1
- package/dist/_chunks/index-DyJcIA81.js.map +0 -1
- package/dist/_chunks/purchase-review-workflows-BaOk5p_m.js.map +0 -1
- package/dist/_chunks/purchase-review-workflows-DyffLpyz.mjs.map +0 -1
|
@@ -2,13 +2,13 @@ import { jsx, jsxs, Fragment } from "react/jsx-runtime";
|
|
|
2
2
|
import * as React from "react";
|
|
3
3
|
import { useTracking, useRBAC, Page, Table, ConfirmDialog } from "@strapi/admin/strapi-admin";
|
|
4
4
|
import { useLicenseLimits } from "@strapi/admin/strapi-admin/ee";
|
|
5
|
-
import { LinkButton, TFooter, Typography, Flex, IconButton, Link } from "@strapi/design-system";
|
|
5
|
+
import { LinkButton, TFooter, Typography, Flex, IconButton, Dialog, Link } from "@strapi/design-system";
|
|
6
6
|
import { Plus, Pencil, Trash } from "@strapi/icons";
|
|
7
7
|
import { useIntl } from "react-intl";
|
|
8
8
|
import { useNavigate, NavLink } from "react-router-dom";
|
|
9
|
-
import styled from "styled-components";
|
|
10
|
-
import { u as useGetContentTypesQuery, a as useTypedSelector, C as CHARGEBEE_WORKFLOW_ENTITLEMENT_NAME, L as LimitsModal } from "./index-
|
|
11
|
-
import { u as useReviewWorkflows, H as Header, R as Root } from "./Layout-
|
|
9
|
+
import { styled } from "styled-components";
|
|
10
|
+
import { u as useGetContentTypesQuery, a as useTypedSelector, C as CHARGEBEE_WORKFLOW_ENTITLEMENT_NAME, L as LimitsModal } from "./index-DDsJlZQw.mjs";
|
|
11
|
+
import { u as useReviewWorkflows, H as Header, R as Root } from "./Layout-Da8jupiA.mjs";
|
|
12
12
|
const ReviewWorkflowsListView = () => {
|
|
13
13
|
const { formatMessage } = useIntl();
|
|
14
14
|
const navigate = useNavigate();
|
|
@@ -94,7 +94,7 @@ const ReviewWorkflowsListView = () => {
|
|
|
94
94
|
{
|
|
95
95
|
startIcon: /* @__PURE__ */ jsx(Plus, {}),
|
|
96
96
|
size: "S",
|
|
97
|
-
|
|
97
|
+
tag: NavLink,
|
|
98
98
|
to: "create",
|
|
99
99
|
onClick: handleCreateClick,
|
|
100
100
|
children: formatMessage({
|
|
@@ -159,19 +159,20 @@ const ReviewWorkflowsListView = () => {
|
|
|
159
159
|
workflows.length > 1 && canDelete ? /* @__PURE__ */ jsx(
|
|
160
160
|
IconButton,
|
|
161
161
|
{
|
|
162
|
-
|
|
162
|
+
withTooltip: false,
|
|
163
|
+
label: formatMessage(
|
|
163
164
|
{
|
|
164
165
|
id: "Settings.review-workflows.list.page.list.column.actions.delete.label",
|
|
165
166
|
defaultMessage: "Delete {name}"
|
|
166
167
|
},
|
|
167
168
|
{ name: "Default workflow" }
|
|
168
169
|
),
|
|
169
|
-
icon: /* @__PURE__ */ jsx(Trash, {}),
|
|
170
170
|
borderWidth: 0,
|
|
171
171
|
onClick: (e) => {
|
|
172
172
|
e.stopPropagation();
|
|
173
173
|
handleDeleteWorkflow(String(workflow.id));
|
|
174
|
-
}
|
|
174
|
+
},
|
|
175
|
+
children: /* @__PURE__ */ jsx(Trash, {})
|
|
175
176
|
}
|
|
176
177
|
) : null
|
|
177
178
|
] }) })
|
|
@@ -182,19 +183,11 @@ const ReviewWorkflowsListView = () => {
|
|
|
182
183
|
] })
|
|
183
184
|
}
|
|
184
185
|
),
|
|
185
|
-
/* @__PURE__ */ jsx(
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
onConfirm: handleConfirmDeleteDialog,
|
|
191
|
-
children: formatMessage({
|
|
192
|
-
id: "Settings.review-workflows.list.page.delete.confirm.body",
|
|
193
|
-
defaultMessage: "If you remove this worfklow, all stage-related information will be removed for this content-type. Are you sure you want to remove it?"
|
|
194
|
-
})
|
|
195
|
-
}
|
|
196
|
-
),
|
|
197
|
-
/* @__PURE__ */ jsxs(LimitsModal.Root, { isOpen: showLimitModal, onClose: () => setShowLimitModal(false), children: [
|
|
186
|
+
/* @__PURE__ */ jsx(Dialog.Root, { open: !!workflowToDelete, onOpenChange: toggleConfirmDeleteDialog, children: /* @__PURE__ */ jsx(ConfirmDialog, { onConfirm: handleConfirmDeleteDialog, children: formatMessage({
|
|
187
|
+
id: "Settings.review-workflows.list.page.delete.confirm.body",
|
|
188
|
+
defaultMessage: "If you remove this worfklow, all stage-related information will be removed for this content-type. Are you sure you want to remove it?"
|
|
189
|
+
}) }) }),
|
|
190
|
+
/* @__PURE__ */ jsxs(LimitsModal.Root, { open: showLimitModal, onOpenChange: () => setShowLimitModal(false), children: [
|
|
198
191
|
/* @__PURE__ */ jsx(LimitsModal.Title, { children: formatMessage({
|
|
199
192
|
id: "Settings.review-workflows.list.page.workflows.limit.title",
|
|
200
193
|
defaultMessage: "You’ve reached the limit of workflows in your plan"
|
|
@@ -209,27 +202,22 @@ const ReviewWorkflowsListView = () => {
|
|
|
209
202
|
};
|
|
210
203
|
const ActionLink = styled(Link)`
|
|
211
204
|
align-items: center;
|
|
212
|
-
height: 3.2rem;
|
|
213
205
|
display: flex;
|
|
214
206
|
justify-content: center;
|
|
215
207
|
padding: ${({ theme }) => `${theme.spaces[2]}}`};
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
width: 1.2rem;
|
|
208
|
+
& > span {
|
|
209
|
+
line-height: 1rem;
|
|
210
|
+
font-size: 1rem;
|
|
211
|
+
}
|
|
221
212
|
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
}
|
|
213
|
+
& svg > path {
|
|
214
|
+
fill: ${({ theme }) => theme.colors.neutral500};
|
|
225
215
|
}
|
|
226
216
|
|
|
227
217
|
&:hover,
|
|
228
218
|
&:focus {
|
|
229
|
-
svg {
|
|
230
|
-
|
|
231
|
-
fill: ${({ theme }) => theme.colors.neutral800};
|
|
232
|
-
}
|
|
219
|
+
svg > path {
|
|
220
|
+
fill: ${({ theme }) => theme.colors.neutral800};
|
|
233
221
|
}
|
|
234
222
|
}
|
|
235
223
|
`;
|
|
@@ -243,4 +231,4 @@ export {
|
|
|
243
231
|
ProtectedListPage,
|
|
244
232
|
ReviewWorkflowsListView
|
|
245
233
|
};
|
|
246
|
-
//# sourceMappingURL=index-
|
|
234
|
+
//# sourceMappingURL=index-jfO5GxtW.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index-jfO5GxtW.mjs","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 {\n Flex,\n IconButton,\n TFooter,\n Typography,\n Link,\n LinkButton,\n Dialog,\n} from '@strapi/design-system';\nimport { Pencil, Plus, Trash } from '@strapi/icons';\nimport { useIntl } from 'react-intl';\nimport { NavLink, useNavigate } from 'react-router-dom';\nimport { styled } from 'styled-components';\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 = (\n event: React.MouseEvent<HTMLButtonElement> & React.MouseEvent<HTMLAnchorElement>\n ) => {\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 >\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 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 <ActionLink\n to={`${workflow.id}`}\n aria-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 >\n <Pencil />\n </ActionLink>\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 borderWidth={0}\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: 'Settings.review-workflows.list.page.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: 'Settings.review-workflows.list.page.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 ActionLink = styled(Link)`\n align-items: center;\n display: flex;\n justify-content: center;\n padding: ${({ theme }) => `${theme.spaces[2]}}`};\n & > span {\n line-height: 1rem;\n font-size: 1rem;\n }\n\n & svg > path {\n fill: ${({ theme }) => theme.colors.neutral500};\n }\n\n &:hover,\n &:focus {\n svg > path {\n fill: ${({ theme }) => theme.colors.neutral800};\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":["Layout.Header","Layout.Root","contentType"],"mappings":"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"}
|
|
@@ -1,13 +1,14 @@
|
|
|
1
1
|
import { jsx, jsxs } from "react/jsx-runtime";
|
|
2
|
-
import {
|
|
2
|
+
import { Layouts } from "@strapi/admin/strapi-admin";
|
|
3
|
+
import { Main, Box, EmptyStateLayout, LinkButton } from "@strapi/design-system";
|
|
3
4
|
import { ExternalLink } from "@strapi/icons";
|
|
4
5
|
import { EmptyPermissions } from "@strapi/icons/symbols";
|
|
5
6
|
import { useIntl } from "react-intl";
|
|
6
7
|
const PurchaseReviewWorkflows = () => {
|
|
7
8
|
const { formatMessage } = useIntl();
|
|
8
|
-
return /* @__PURE__ */ jsx(
|
|
9
|
+
return /* @__PURE__ */ jsx(Layouts.Root, { children: /* @__PURE__ */ jsxs(Main, { children: [
|
|
9
10
|
/* @__PURE__ */ jsx(
|
|
10
|
-
|
|
11
|
+
Layouts.Header,
|
|
11
12
|
{
|
|
12
13
|
title: formatMessage({
|
|
13
14
|
id: "Settings.review-workflows.list.page.title",
|
|
@@ -48,4 +49,4 @@ const PurchaseReviewWorkflows = () => {
|
|
|
48
49
|
export {
|
|
49
50
|
PurchaseReviewWorkflows
|
|
50
51
|
};
|
|
51
|
-
//# sourceMappingURL=purchase-review-workflows-
|
|
52
|
+
//# sourceMappingURL=purchase-review-workflows-BN-5Ube7.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"purchase-review-workflows-BN-5Ube7.mjs","sources":["../../admin/src/routes/purchase-review-workflows.tsx"],"sourcesContent":["import { Layouts } from '@strapi/admin/strapi-admin';\nimport { Box, Main, EmptyStateLayout, LinkButton } from '@strapi/design-system';\nimport { ExternalLink } from '@strapi/icons';\nimport { EmptyPermissions } from '@strapi/icons/symbols';\nimport { useIntl } from 'react-intl';\n\nconst PurchaseReviewWorkflows = () => {\n const { formatMessage } = useIntl();\n\n return (\n <Layouts.Root>\n <Main>\n <Layouts.Header\n title={formatMessage({\n id: 'Settings.review-workflows.list.page.title',\n defaultMessage: 'Review Workflows',\n })}\n subtitle={formatMessage({\n id: 'Settings.review-workflows.list.page.subtitle',\n defaultMessage: 'Manage your content review process',\n })}\n />\n <Box paddingLeft={10} paddingRight={10}>\n <EmptyStateLayout\n icon={<EmptyPermissions width=\"16rem\" />}\n content={formatMessage({\n id: 'Settings.review-workflows.not-available',\n defaultMessage:\n 'Review Workflows is only available as part of a paid plan. Upgrade to create and manage workflows.',\n })}\n action={\n <LinkButton\n variant=\"default\"\n endIcon={<ExternalLink />}\n href=\"https://strp.cc/3tdNfJq\"\n isExternal\n target=\"_blank\"\n >\n {formatMessage({\n id: 'global.learn-more',\n defaultMessage: 'Learn more',\n })}\n </LinkButton>\n }\n />\n </Box>\n </Main>\n </Layouts.Root>\n );\n};\n\nexport { PurchaseReviewWorkflows };\n"],"names":[],"mappings":";;;;;;AAMA,MAAM,0BAA0B,MAAM;AAC9B,QAAA,EAAE,kBAAkB;AAE1B,SACG,oBAAA,QAAQ,MAAR,EACC,+BAAC,MACC,EAAA,UAAA;AAAA,IAAA;AAAA,MAAC,QAAQ;AAAA,MAAR;AAAA,QACC,OAAO,cAAc;AAAA,UACnB,IAAI;AAAA,UACJ,gBAAgB;AAAA,QAAA,CACjB;AAAA,QACD,UAAU,cAAc;AAAA,UACtB,IAAI;AAAA,UACJ,gBAAgB;AAAA,QAAA,CACjB;AAAA,MAAA;AAAA,IACH;AAAA,IACC,oBAAA,KAAA,EAAI,aAAa,IAAI,cAAc,IAClC,UAAA;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,MAAM,oBAAC,kBAAiB,EAAA,OAAM,QAAQ,CAAA;AAAA,QACtC,SAAS,cAAc;AAAA,UACrB,IAAI;AAAA,UACJ,gBACE;AAAA,QAAA,CACH;AAAA,QACD,QACE;AAAA,UAAC;AAAA,UAAA;AAAA,YACC,SAAQ;AAAA,YACR,6BAAU,cAAa,EAAA;AAAA,YACvB,MAAK;AAAA,YACL,YAAU;AAAA,YACV,QAAO;AAAA,YAEN,UAAc,cAAA;AAAA,cACb,IAAI;AAAA,cACJ,gBAAgB;AAAA,YAAA,CACjB;AAAA,UAAA;AAAA,QACH;AAAA,MAAA;AAAA,IAAA,GAGN;AAAA,EAAA,EACF,CAAA,EACF,CAAA;AAEJ;"}
|
package/dist/_chunks/{purchase-review-workflows-BaOk5p_m.js → purchase-review-workflows-DlCDg0fD.js}
RENAMED
|
@@ -1,15 +1,16 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
3
|
const jsxRuntime = require("react/jsx-runtime");
|
|
4
|
+
const strapiAdmin = require("@strapi/admin/strapi-admin");
|
|
4
5
|
const designSystem = require("@strapi/design-system");
|
|
5
6
|
const icons = require("@strapi/icons");
|
|
6
7
|
const symbols = require("@strapi/icons/symbols");
|
|
7
8
|
const reactIntl = require("react-intl");
|
|
8
9
|
const PurchaseReviewWorkflows = () => {
|
|
9
10
|
const { formatMessage } = reactIntl.useIntl();
|
|
10
|
-
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
11
|
+
return /* @__PURE__ */ jsxRuntime.jsx(strapiAdmin.Layouts.Root, { children: /* @__PURE__ */ jsxRuntime.jsxs(designSystem.Main, { children: [
|
|
11
12
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
12
|
-
|
|
13
|
+
strapiAdmin.Layouts.Header,
|
|
13
14
|
{
|
|
14
15
|
title: formatMessage({
|
|
15
16
|
id: "Settings.review-workflows.list.page.title",
|
|
@@ -48,4 +49,4 @@ const PurchaseReviewWorkflows = () => {
|
|
|
48
49
|
] }) });
|
|
49
50
|
};
|
|
50
51
|
exports.PurchaseReviewWorkflows = PurchaseReviewWorkflows;
|
|
51
|
-
//# sourceMappingURL=purchase-review-workflows-
|
|
52
|
+
//# sourceMappingURL=purchase-review-workflows-DlCDg0fD.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"purchase-review-workflows-DlCDg0fD.js","sources":["../../admin/src/routes/purchase-review-workflows.tsx"],"sourcesContent":["import { Layouts } from '@strapi/admin/strapi-admin';\nimport { Box, Main, EmptyStateLayout, LinkButton } from '@strapi/design-system';\nimport { ExternalLink } from '@strapi/icons';\nimport { EmptyPermissions } from '@strapi/icons/symbols';\nimport { useIntl } from 'react-intl';\n\nconst PurchaseReviewWorkflows = () => {\n const { formatMessage } = useIntl();\n\n return (\n <Layouts.Root>\n <Main>\n <Layouts.Header\n title={formatMessage({\n id: 'Settings.review-workflows.list.page.title',\n defaultMessage: 'Review Workflows',\n })}\n subtitle={formatMessage({\n id: 'Settings.review-workflows.list.page.subtitle',\n defaultMessage: 'Manage your content review process',\n })}\n />\n <Box paddingLeft={10} paddingRight={10}>\n <EmptyStateLayout\n icon={<EmptyPermissions width=\"16rem\" />}\n content={formatMessage({\n id: 'Settings.review-workflows.not-available',\n defaultMessage:\n 'Review Workflows is only available as part of a paid plan. Upgrade to create and manage workflows.',\n })}\n action={\n <LinkButton\n variant=\"default\"\n endIcon={<ExternalLink />}\n href=\"https://strp.cc/3tdNfJq\"\n isExternal\n target=\"_blank\"\n >\n {formatMessage({\n id: 'global.learn-more',\n defaultMessage: 'Learn more',\n })}\n </LinkButton>\n }\n />\n </Box>\n </Main>\n </Layouts.Root>\n );\n};\n\nexport { PurchaseReviewWorkflows };\n"],"names":["useIntl","jsx","Layouts","Main","Box","EmptyStateLayout","EmptyPermissions","LinkButton","ExternalLink"],"mappings":";;;;;;;;AAMA,MAAM,0BAA0B,MAAM;AAC9B,QAAA,EAAE,kBAAkBA,UAAAA;AAE1B,SACGC,2BAAA,IAAAC,YAAA,QAAQ,MAAR,EACC,0CAACC,aAAAA,MACC,EAAA,UAAA;AAAA,IAAAF,2BAAA;AAAA,MAACC,YAAAA,QAAQ;AAAA,MAAR;AAAA,QACC,OAAO,cAAc;AAAA,UACnB,IAAI;AAAA,UACJ,gBAAgB;AAAA,QAAA,CACjB;AAAA,QACD,UAAU,cAAc;AAAA,UACtB,IAAI;AAAA,UACJ,gBAAgB;AAAA,QAAA,CACjB;AAAA,MAAA;AAAA,IACH;AAAA,IACCD,2BAAA,IAAAG,aAAA,KAAA,EAAI,aAAa,IAAI,cAAc,IAClC,UAAAH,2BAAA;AAAA,MAACI,aAAA;AAAA,MAAA;AAAA,QACC,MAAMJ,2BAAAA,IAACK,QAAAA,kBAAiB,EAAA,OAAM,QAAQ,CAAA;AAAA,QACtC,SAAS,cAAc;AAAA,UACrB,IAAI;AAAA,UACJ,gBACE;AAAA,QAAA,CACH;AAAA,QACD,QACEL,2BAAA;AAAA,UAACM,aAAA;AAAA,UAAA;AAAA,YACC,SAAQ;AAAA,YACR,wCAAUC,MAAa,cAAA,EAAA;AAAA,YACvB,MAAK;AAAA,YACL,YAAU;AAAA,YACV,QAAO;AAAA,YAEN,UAAc,cAAA;AAAA,cACb,IAAI;AAAA,cACJ,gBAAgB;AAAA,YAAA,CACjB;AAAA,UAAA;AAAA,QACH;AAAA,MAAA;AAAA,IAAA,GAGN;AAAA,EAAA,EACF,CAAA,EACF,CAAA;AAEJ;;"}
|
|
@@ -2,10 +2,10 @@ import { jsx } from "react/jsx-runtime";
|
|
|
2
2
|
import { lazy } from "react";
|
|
3
3
|
import { Routes, Route } from "react-router-dom";
|
|
4
4
|
const ProtectedListPage = lazy(
|
|
5
|
-
() => import("./index-
|
|
5
|
+
() => import("./index-jfO5GxtW.mjs").then((mod) => ({ default: mod.ProtectedListPage }))
|
|
6
6
|
);
|
|
7
7
|
const ProtectedEditPage = lazy(
|
|
8
|
-
() => import("./_id-
|
|
8
|
+
() => import("./_id-xSrgPSJs.mjs").then((mod) => ({ default: mod.ProtectedEditPage }))
|
|
9
9
|
);
|
|
10
10
|
const routes = [
|
|
11
11
|
{
|
|
@@ -21,4 +21,4 @@ const Router = () => /* @__PURE__ */ jsx(Routes, { children: routes.map((route)
|
|
|
21
21
|
export {
|
|
22
22
|
Router
|
|
23
23
|
};
|
|
24
|
-
//# sourceMappingURL=router-
|
|
24
|
+
//# sourceMappingURL=router-DOEULOpS.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"router-
|
|
1
|
+
{"version":3,"file":"router-DOEULOpS.mjs","sources":["../../admin/src/router.tsx"],"sourcesContent":["/* eslint-disable check-file/filename-naming-convention */\nimport { lazy } from 'react';\n\nimport { Routes, Route, PathRouteProps } from 'react-router-dom';\n\nconst ProtectedListPage = lazy(() =>\n import('./routes/settings').then((mod) => ({ default: mod.ProtectedListPage }))\n);\nconst ProtectedEditPage = lazy(() =>\n import('./routes/settings/:id').then((mod) => ({ default: mod.ProtectedEditPage }))\n);\n\nconst routes: PathRouteProps[] = [\n {\n path: '/',\n Component: ProtectedListPage,\n },\n {\n path: ':id',\n Component: ProtectedEditPage,\n },\n];\n\nconst Router = () => (\n <Routes>\n {routes.map((route) => (\n <Route key={route.path} {...route} />\n ))}\n </Routes>\n);\n\nexport { Router };\n"],"names":[],"mappings":";;;AAKA,MAAM,oBAAoB;AAAA,EAAK,MAC7B,OAAO,sBAAmB,EAAE,KAAK,CAAC,SAAS,EAAE,SAAS,IAAI,kBAAA,EAAoB;AAChF;AACA,MAAM,oBAAoB;AAAA,EAAK,MAC7B,OAAO,oBAAuB,EAAE,KAAK,CAAC,SAAS,EAAE,SAAS,IAAI,kBAAA,EAAoB;AACpF;AAEA,MAAM,SAA2B;AAAA,EAC/B;AAAA,IACE,MAAM;AAAA,IACN,WAAW;AAAA,EACb;AAAA,EACA;AAAA,IACE,MAAM;AAAA,IACN,WAAW;AAAA,EACb;AACF;AAEA,MAAM,SAAS,MACZ,oBAAA,QAAA,EACE,iBAAO,IAAI,CAAC,UACX,oBAAC,SAAwB,GAAG,MAAA,GAAhB,MAAM,IAAiB,CACpC,EACH,CAAA;"}
|
|
@@ -4,10 +4,10 @@ const jsxRuntime = require("react/jsx-runtime");
|
|
|
4
4
|
const React = require("react");
|
|
5
5
|
const reactRouterDom = require("react-router-dom");
|
|
6
6
|
const ProtectedListPage = React.lazy(
|
|
7
|
-
() => Promise.resolve().then(() => require("./index-
|
|
7
|
+
() => Promise.resolve().then(() => require("./index-4kp4AkBB.js")).then((mod) => ({ default: mod.ProtectedListPage }))
|
|
8
8
|
);
|
|
9
9
|
const ProtectedEditPage = React.lazy(
|
|
10
|
-
() => Promise.resolve().then(() => require("./_id-
|
|
10
|
+
() => Promise.resolve().then(() => require("./_id-CnRDP3Xx.js")).then((mod) => ({ default: mod.ProtectedEditPage }))
|
|
11
11
|
);
|
|
12
12
|
const routes = [
|
|
13
13
|
{
|
|
@@ -21,4 +21,4 @@ const routes = [
|
|
|
21
21
|
];
|
|
22
22
|
const Router = () => /* @__PURE__ */ jsxRuntime.jsx(reactRouterDom.Routes, { children: routes.map((route) => /* @__PURE__ */ jsxRuntime.jsx(reactRouterDom.Route, { ...route }, route.path)) });
|
|
23
23
|
exports.Router = Router;
|
|
24
|
-
//# sourceMappingURL=router-
|
|
24
|
+
//# sourceMappingURL=router-DSXpeew4.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"router-
|
|
1
|
+
{"version":3,"file":"router-DSXpeew4.js","sources":["../../admin/src/router.tsx"],"sourcesContent":["/* eslint-disable check-file/filename-naming-convention */\nimport { lazy } from 'react';\n\nimport { Routes, Route, PathRouteProps } from 'react-router-dom';\n\nconst ProtectedListPage = lazy(() =>\n import('./routes/settings').then((mod) => ({ default: mod.ProtectedListPage }))\n);\nconst ProtectedEditPage = lazy(() =>\n import('./routes/settings/:id').then((mod) => ({ default: mod.ProtectedEditPage }))\n);\n\nconst routes: PathRouteProps[] = [\n {\n path: '/',\n Component: ProtectedListPage,\n },\n {\n path: ':id',\n Component: ProtectedEditPage,\n },\n];\n\nconst Router = () => (\n <Routes>\n {routes.map((route) => (\n <Route key={route.path} {...route} />\n ))}\n </Routes>\n);\n\nexport { Router };\n"],"names":["lazy","jsx","Routes","Route"],"mappings":";;;;;AAKA,MAAM,oBAAoBA,MAAA;AAAA,EAAK,MAC7B,QAAO,QAAA,EAAA,KAAA,MAAA,QAAA,qBAAmB,GAAE,KAAK,CAAC,SAAS,EAAE,SAAS,IAAI,kBAAA,EAAoB;AAChF;AACA,MAAM,oBAAoBA,MAAA;AAAA,EAAK,MAC7B,QAAO,QAAA,EAAA,KAAA,MAAA,QAAA,mBAAuB,GAAE,KAAK,CAAC,SAAS,EAAE,SAAS,IAAI,kBAAA,EAAoB;AACpF;AAEA,MAAM,SAA2B;AAAA,EAC/B;AAAA,IACE,MAAM;AAAA,IACN,WAAW;AAAA,EACb;AAAA,EACA;AAAA,IACE,MAAM;AAAA,IACN,WAAW;AAAA,EACb;AACF;AAEA,MAAM,SAAS,MACZC,2BAAAA,IAAAC,eAAAA,QAAA,EACE,iBAAO,IAAI,CAAC,UACXD,2BAAA,IAACE,wBAAwB,GAAG,MAAA,GAAhB,MAAM,IAAiB,CACpC,EACH,CAAA;;"}
|
package/dist/admin/index.js
CHANGED
package/dist/admin/index.mjs
CHANGED
|
@@ -1,8 +1,6 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
onClose: () => void;
|
|
5
|
-
};
|
|
2
|
+
import { Modal } from '@strapi/design-system';
|
|
3
|
+
export type LimitsModalProps = Pick<Modal.Props, 'open' | 'onOpenChange'>;
|
|
6
4
|
declare const LimitsModal: {
|
|
7
5
|
Title: React.FC<{
|
|
8
6
|
children?: React.ReactNode;
|
|
@@ -23,15 +23,15 @@ interface UseDragAndDropOptions<TIndex extends number | Array<number> = number,
|
|
|
23
23
|
dropSensitivity?: (typeof DROP_SENSITIVITY)[keyof typeof DROP_SENSITIVITY];
|
|
24
24
|
}
|
|
25
25
|
type Identifier = ReturnType<HandlerManager['getHandlerId']>;
|
|
26
|
-
type UseDragAndDropReturn<
|
|
26
|
+
type UseDragAndDropReturn<E extends Element = HTMLElement> = [
|
|
27
27
|
props: {
|
|
28
28
|
handlerId: Identifier;
|
|
29
29
|
isDragging: boolean;
|
|
30
|
-
handleKeyDown: (event: React.KeyboardEvent<
|
|
30
|
+
handleKeyDown: <E extends Element>(event: React.KeyboardEvent<E>) => void;
|
|
31
31
|
isOverDropTarget: boolean;
|
|
32
32
|
direction: (typeof DIRECTIONS)[keyof typeof DIRECTIONS] | null;
|
|
33
33
|
},
|
|
34
|
-
objectRef: React.RefObject<
|
|
34
|
+
objectRef: React.RefObject<E>,
|
|
35
35
|
dropRef: ConnectDropTarget,
|
|
36
36
|
dragRef: ConnectDragSource,
|
|
37
37
|
dragPreviewRef: ConnectDragPreview
|
|
@@ -47,5 +47,5 @@ declare const useDragAndDrop: <TIndex extends number | number[], TItem extends {
|
|
|
47
47
|
} = {
|
|
48
48
|
[key: string]: unknown;
|
|
49
49
|
index: TIndex;
|
|
50
|
-
},
|
|
50
|
+
}, E extends Element = HTMLElement>(active: boolean, { type, index, item, onStart, onEnd, onGrabItem, onDropItem, onCancel, onMoveItem, dropSensitivity, }: UseDragAndDropOptions<TIndex, TItem>) => UseDragAndDropReturn<E>;
|
|
51
51
|
export { useDragAndDrop, UseDragAndDropReturn, UseDragAndDropOptions, DIRECTIONS, DROP_SENSITIVITY, };
|
|
@@ -11,4 +11,4 @@ export type UseKeyboardDragAndDropCallbacks<TIndex extends number | Array<number
|
|
|
11
11
|
*
|
|
12
12
|
* @internal - You should use `useDragAndDrop` instead.
|
|
13
13
|
*/
|
|
14
|
-
export declare const useKeyboardDragAndDrop: <TIndex extends number | number[] = number>(active: boolean, index: TIndex, { onCancel, onDropItem, onGrabItem, onMoveItem }: UseKeyboardDragAndDropCallbacks<TIndex>) => React.
|
|
14
|
+
export declare const useKeyboardDragAndDrop: <TIndex extends number | number[] = number>(active: boolean, index: TIndex, { onCancel, onDropItem, onGrabItem, onMoveItem }: UseKeyboardDragAndDropCallbacks<TIndex>) => <E extends Element>(e: React.KeyboardEvent<E>) => void;
|
|
@@ -9,17 +9,17 @@ declare const useReviewWorkflows: (params?: UseReviewWorkflowsArgs) => {
|
|
|
9
9
|
} | undefined;
|
|
10
10
|
workflows: import("../../../../../shared/contracts/review-workflows").Workflow[];
|
|
11
11
|
isLoading: boolean;
|
|
12
|
-
error: import("
|
|
12
|
+
error: import("@strapi/admin/strapi-admin").BaseQueryError | import("@reduxjs/toolkit").SerializedError | undefined;
|
|
13
13
|
create: (data: Create.Request['body']['data']) => Promise<{
|
|
14
14
|
data: import("../../../../../shared/contracts/review-workflows").Workflow;
|
|
15
15
|
} | {
|
|
16
|
-
error: import("
|
|
16
|
+
error: import("@strapi/admin/strapi-admin").BaseQueryError | import("@reduxjs/toolkit").SerializedError;
|
|
17
17
|
}>;
|
|
18
18
|
delete: (id: string) => Promise<import("../../../../../shared/contracts/review-workflows").Workflow | undefined>;
|
|
19
19
|
update: (id: string, data: Update.Request['body']['data']) => Promise<{
|
|
20
20
|
data: import("../../../../../shared/contracts/review-workflows").Workflow;
|
|
21
21
|
} | {
|
|
22
|
-
error: import("
|
|
22
|
+
error: import("@strapi/admin/strapi-admin").BaseQueryError | import("@reduxjs/toolkit").SerializedError;
|
|
23
23
|
}>;
|
|
24
24
|
};
|
|
25
25
|
export { useReviewWorkflows };
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { SanitizedAdminUser } from '@strapi/admin/strapi-admin';
|
|
2
2
|
type Roles = SanitizedAdminUser['roles'];
|
|
3
|
-
declare const
|
|
4
|
-
export {
|
|
3
|
+
declare const useGetAdminRolesQuery: import("@reduxjs/toolkit/dist/query/react/buildHooks").UseQuery<import("@reduxjs/toolkit/query").QueryDefinition<void, import("@reduxjs/toolkit/query").BaseQueryFn<string | import("@strapi/admin/strapi-admin").QueryArguments, unknown, import("@strapi/admin/strapi-admin").BaseQueryError, {}, {}>, "ReviewWorkflow" | "ReviewWorkflowStages", import("@strapi/admin/strapi-admin").SanitizedAdminRole[], "adminApi">>;
|
|
4
|
+
export { useGetAdminRolesQuery };
|
|
5
5
|
export type { SanitizedAdminUser, Roles };
|
|
@@ -1,3 +1,2 @@
|
|
|
1
|
-
import
|
|
2
|
-
|
|
3
|
-
export { reviewWorkflowsApi, type UnknownApiError };
|
|
1
|
+
declare const reviewWorkflowsApi: import("@reduxjs/toolkit/query").Api<import("@reduxjs/toolkit/query").BaseQueryFn<string | import("@strapi/admin/strapi-admin").QueryArguments, unknown, import("@strapi/admin/strapi-admin").BaseQueryError, {}, {}>, import("@reduxjs/toolkit/dist/query/endpointDefinitions").UpdateDefinitions<{}, "ReviewWorkflow" | "ReviewWorkflowStages", never>, "adminApi", "ReviewWorkflow" | "ReviewWorkflowStages", typeof import("@reduxjs/toolkit/query").coreModuleName | typeof import("@reduxjs/toolkit/dist/query/react").reactHooksModuleName>;
|
|
2
|
+
export { reviewWorkflowsApi };
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { GetStages, UpdateStage, UpdateAssignee } from '../../../shared/contracts/review-workflows';
|
|
2
|
-
import type { Contracts } from '@strapi/
|
|
2
|
+
import type { Contracts } from '@strapi/content-manager/_internal/shared';
|
|
3
3
|
type ContentType = Contracts.ContentTypes.ContentType;
|
|
4
4
|
interface ContentTypes {
|
|
5
5
|
collectionType: ContentType[];
|
|
@@ -8,31 +8,31 @@ interface ContentTypes {
|
|
|
8
8
|
declare const useGetStagesQuery: import("@reduxjs/toolkit/dist/query/react/buildHooks").UseQuery<import("@reduxjs/toolkit/query").QueryDefinition<GetStages.Params & {
|
|
9
9
|
slug: string;
|
|
10
10
|
params?: object | undefined;
|
|
11
|
-
}, import("@reduxjs/toolkit/query").BaseQueryFn<string | import("
|
|
11
|
+
}, import("@reduxjs/toolkit/query").BaseQueryFn<string | import("@strapi/admin/strapi-admin").QueryArguments, unknown, import("@strapi/admin/strapi-admin").BaseQueryError, {}, {}>, "ReviewWorkflow" | "ReviewWorkflowStages", {
|
|
12
12
|
stages: NonNullable<GetStages.Response['data']>;
|
|
13
13
|
meta: NonNullable<GetStages.Response['meta']>;
|
|
14
|
-
}, "
|
|
14
|
+
}, "adminApi">>, useUpdateStageMutation: import("@reduxjs/toolkit/dist/query/react/buildHooks").UseMutation<import("@reduxjs/toolkit/query").MutationDefinition<{
|
|
15
15
|
data: {
|
|
16
16
|
id: import("@strapi/types/dist/data").ID;
|
|
17
17
|
};
|
|
18
18
|
} & UpdateStage.Params & {
|
|
19
19
|
slug: string;
|
|
20
20
|
params?: object | undefined;
|
|
21
|
-
}, import("@reduxjs/toolkit/query").BaseQueryFn<string | import("
|
|
21
|
+
}, import("@reduxjs/toolkit/query").BaseQueryFn<string | import("@strapi/admin/strapi-admin").QueryArguments, unknown, import("@strapi/admin/strapi-admin").BaseQueryError, {}, {}>, "ReviewWorkflow" | "ReviewWorkflowStages", {
|
|
22
22
|
id: import("@strapi/types/dist/data").ID;
|
|
23
23
|
} & {
|
|
24
24
|
[key: string]: any;
|
|
25
|
-
}, "
|
|
25
|
+
}, "adminApi">>, useUpdateAssigneeMutation: import("@reduxjs/toolkit/dist/query/react/buildHooks").UseMutation<import("@reduxjs/toolkit/query").MutationDefinition<{
|
|
26
26
|
data: {
|
|
27
27
|
id: import("@strapi/types/dist/data").ID | null;
|
|
28
28
|
};
|
|
29
29
|
} & UpdateAssignee.Params & {
|
|
30
30
|
slug: string;
|
|
31
31
|
params?: object | undefined;
|
|
32
|
-
}, import("@reduxjs/toolkit/query").BaseQueryFn<string | import("
|
|
32
|
+
}, import("@reduxjs/toolkit/query").BaseQueryFn<string | import("@strapi/admin/strapi-admin").QueryArguments, unknown, import("@strapi/admin/strapi-admin").BaseQueryError, {}, {}>, "ReviewWorkflow" | "ReviewWorkflowStages", {
|
|
33
33
|
id: import("@strapi/types/dist/data").ID;
|
|
34
34
|
} & {
|
|
35
35
|
[key: string]: any;
|
|
36
|
-
}, "
|
|
36
|
+
}, "adminApi">>, useGetContentTypesQuery: import("@reduxjs/toolkit/dist/query/react/buildHooks").UseQuery<import("@reduxjs/toolkit/query").QueryDefinition<void, import("@reduxjs/toolkit/query").BaseQueryFn<string | import("@strapi/admin/strapi-admin").QueryArguments, unknown, import("@strapi/admin/strapi-admin").BaseQueryError, {}, {}>, "ReviewWorkflow" | "ReviewWorkflowStages", ContentTypes, "adminApi">>;
|
|
37
37
|
export { useGetStagesQuery, useUpdateStageMutation, useUpdateAssigneeMutation, useGetContentTypesQuery, };
|
|
38
38
|
export type { ContentTypes, ContentType };
|
|
@@ -2,12 +2,12 @@ import type { Update, Delete, GetAll, Get } from '../../../shared/contracts/revi
|
|
|
2
2
|
type GetWorkflowsParams = Get.Params | (GetAll.Request['query'] & {
|
|
3
3
|
id?: never;
|
|
4
4
|
});
|
|
5
|
-
declare const useGetWorkflowsQuery: import("@reduxjs/toolkit/dist/query/react/buildHooks").UseQuery<import("@reduxjs/toolkit/query").QueryDefinition<void | GetWorkflowsParams, import("@reduxjs/toolkit/query").BaseQueryFn<string | import("
|
|
5
|
+
declare const useGetWorkflowsQuery: import("@reduxjs/toolkit/dist/query/react/buildHooks").UseQuery<import("@reduxjs/toolkit/query").QueryDefinition<void | GetWorkflowsParams, import("@reduxjs/toolkit/query").BaseQueryFn<string | import("@strapi/admin/strapi-admin").QueryArguments, unknown, import("@strapi/admin/strapi-admin").BaseQueryError, {}, {}>, "ReviewWorkflow" | "ReviewWorkflowStages", {
|
|
6
6
|
workflows: GetAll.Response['data'];
|
|
7
7
|
meta?: GetAll.Response['meta'];
|
|
8
|
-
}, "
|
|
8
|
+
}, "adminApi">>, useCreateWorkflowMutation: import("@reduxjs/toolkit/dist/query/react/buildHooks").UseMutation<import("@reduxjs/toolkit/query").MutationDefinition<{
|
|
9
9
|
data: Omit<import("../../../shared/contracts/review-workflows").Workflow, "id" | "createdAt" | "updatedAt">;
|
|
10
|
-
}, import("@reduxjs/toolkit/query").BaseQueryFn<string | import("
|
|
10
|
+
}, import("@reduxjs/toolkit/query").BaseQueryFn<string | import("@strapi/admin/strapi-admin").QueryArguments, unknown, import("@strapi/admin/strapi-admin").BaseQueryError, {}, {}>, "ReviewWorkflow" | "ReviewWorkflowStages", import("../../../shared/contracts/review-workflows").Workflow, "adminApi">>, useDeleteWorkflowMutation: import("@reduxjs/toolkit/dist/query/react/buildHooks").UseMutation<import("@reduxjs/toolkit/query").MutationDefinition<Delete.Params, import("@reduxjs/toolkit/query").BaseQueryFn<string | import("@strapi/admin/strapi-admin").QueryArguments, unknown, import("@strapi/admin/strapi-admin").BaseQueryError, {}, {}>, "ReviewWorkflow" | "ReviewWorkflowStages", import("../../../shared/contracts/review-workflows").Workflow, "adminApi">>, useUpdateWorkflowMutation: import("@reduxjs/toolkit/dist/query/react/buildHooks").UseMutation<import("@reduxjs/toolkit/query").MutationDefinition<{
|
|
11
11
|
data: Partial<import("../../../shared/contracts/review-workflows").Workflow>;
|
|
12
|
-
} & Update.Params, import("@reduxjs/toolkit/query").BaseQueryFn<string | import("
|
|
12
|
+
} & Update.Params, import("@reduxjs/toolkit/query").BaseQueryFn<string | import("@strapi/admin/strapi-admin").QueryArguments, unknown, import("@strapi/admin/strapi-admin").BaseQueryError, {}, {}>, "ReviewWorkflow" | "ReviewWorkflowStages", import("../../../shared/contracts/review-workflows").Workflow, "adminApi">>;
|
|
13
13
|
export { useGetWorkflowsQuery, useCreateWorkflowMutation, useDeleteWorkflowMutation, useUpdateWorkflowMutation, type GetWorkflowsParams, };
|
|
@@ -1,22 +1,7 @@
|
|
|
1
1
|
import { SerializedError } from '@reduxjs/toolkit';
|
|
2
|
-
import {
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
export interface QueryArguments {
|
|
6
|
-
url: string;
|
|
7
|
-
method?: AxiosRequestConfig['method'];
|
|
8
|
-
data?: AxiosRequestConfig['data'];
|
|
9
|
-
config?: AxiosRequestConfig;
|
|
10
|
-
}
|
|
11
|
-
export interface UnknownApiError {
|
|
12
|
-
name: 'UnknownError';
|
|
13
|
-
message: string;
|
|
14
|
-
details?: unknown;
|
|
15
|
-
status?: number;
|
|
16
|
-
}
|
|
17
|
-
export type BaseQueryError = ApiError | UnknownApiError;
|
|
18
|
-
declare const axiosBaseQuery: () => BaseQueryFn<string | QueryArguments, unknown, BaseQueryError>;
|
|
19
|
-
declare const isBaseQueryError: (error: BaseQueryError | SerializedError) => error is BaseQueryError;
|
|
2
|
+
import { type UnknownApiError, type ApiError } from '@strapi/admin/strapi-admin';
|
|
3
|
+
export type BaseQueryError = ApiError | UnknownApiError | SerializedError;
|
|
4
|
+
declare const isBaseQueryError: (error: BaseQueryError) => error is ApiError | UnknownApiError;
|
|
20
5
|
interface Query {
|
|
21
6
|
plugins?: Record<string, unknown>;
|
|
22
7
|
_q?: string;
|
|
@@ -35,4 +20,4 @@ type TransformedQuery<TQuery extends Query> = Omit<TQuery, 'plugins'> & {
|
|
|
35
20
|
* ie. plugins[18n][locale]=en becomes locale=en
|
|
36
21
|
*/
|
|
37
22
|
declare const buildValidParams: <TQuery extends Query>(query: TQuery) => TransformedQuery<TQuery>;
|
|
38
|
-
export {
|
|
23
|
+
export { isBaseQueryError, buildValidParams };
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { ListFieldLayout, ListLayout } from '@strapi/
|
|
1
|
+
import type { ListFieldLayout, ListLayout } from '@strapi/content-manager/strapi-admin';
|
|
2
2
|
interface AddColumnToTableHookArgs {
|
|
3
3
|
layout: ListLayout;
|
|
4
4
|
displayedHeaders: ListFieldLayout[];
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@strapi/review-workflows",
|
|
3
|
-
"version": "0.0.0-experimental.
|
|
3
|
+
"version": "0.0.0-experimental.edc24aaa3bb5a90fa5fd4fee208167dd4e2e38d4",
|
|
4
4
|
"description": "Review workflows for your content",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -53,10 +53,9 @@
|
|
|
53
53
|
},
|
|
54
54
|
"dependencies": {
|
|
55
55
|
"@reduxjs/toolkit": "1.9.7",
|
|
56
|
-
"@strapi/design-system": "2.0.0-beta.
|
|
57
|
-
"@strapi/icons": "2.0.0-beta.
|
|
56
|
+
"@strapi/design-system": "2.0.0-beta.6",
|
|
57
|
+
"@strapi/icons": "2.0.0-beta.6",
|
|
58
58
|
"@strapi/utils": "5.0.0-beta.1",
|
|
59
|
-
"axios": "1.6.8",
|
|
60
59
|
"fractional-indexing": "3.2.0",
|
|
61
60
|
"react-dnd": "16.0.1",
|
|
62
61
|
"react-dnd-html5-backend": "16.0.1",
|
|
@@ -66,25 +65,25 @@
|
|
|
66
65
|
"yup": "0.32.9"
|
|
67
66
|
},
|
|
68
67
|
"devDependencies": {
|
|
69
|
-
"@strapi/admin": "0.0.0-experimental.
|
|
68
|
+
"@strapi/admin": "0.0.0-experimental.edc24aaa3bb5a90fa5fd4fee208167dd4e2e38d4",
|
|
69
|
+
"@strapi/content-manager": "0.0.0-experimental.edc24aaa3bb5a90fa5fd4fee208167dd4e2e38d4",
|
|
70
70
|
"@strapi/pack-up": "5.0.0",
|
|
71
|
-
"@strapi/
|
|
72
|
-
"@strapi/
|
|
73
|
-
"@
|
|
74
|
-
"@testing-library/react": "14.0.0",
|
|
71
|
+
"@strapi/types": "0.0.0-experimental.edc24aaa3bb5a90fa5fd4fee208167dd4e2e38d4",
|
|
72
|
+
"@strapi/utils": "5.0.0-rc.2",
|
|
73
|
+
"@testing-library/react": "15.0.7",
|
|
75
74
|
"msw": "1.3.0",
|
|
76
|
-
"react": "
|
|
77
|
-
"react-dom": "
|
|
75
|
+
"react": "18.3.1",
|
|
76
|
+
"react-dom": "18.3.1",
|
|
78
77
|
"react-router-dom": "6.22.3",
|
|
79
|
-
"styled-components": "
|
|
78
|
+
"styled-components": "6.1.8"
|
|
80
79
|
},
|
|
81
80
|
"peerDependencies": {
|
|
82
81
|
"@strapi/admin": "^5.0.0 || ^5.0.0-beta || ^5.0.0-alpha || ^5.0.0-rc",
|
|
83
|
-
"@strapi/
|
|
82
|
+
"@strapi/content-manager": "^5.0.0 || ^5.0.0-beta || ^5.0.0-alpha || ^5.0.0-rc",
|
|
84
83
|
"react": "^17.0.0 || ^18.0.0",
|
|
85
84
|
"react-dom": "^17.0.0 || ^18.0.0",
|
|
86
85
|
"react-router-dom": "^6.0.0",
|
|
87
|
-
"styled-components": "^
|
|
86
|
+
"styled-components": "^6.0.0"
|
|
88
87
|
},
|
|
89
88
|
"engines": {
|
|
90
89
|
"node": ">=18.0.0 <=20.x.x",
|
|
@@ -97,5 +96,5 @@
|
|
|
97
96
|
"displayName": "Review Workflows",
|
|
98
97
|
"required": true
|
|
99
98
|
},
|
|
100
|
-
"gitHead": "
|
|
99
|
+
"gitHead": "edc24aaa3bb5a90fa5fd4fee208167dd4e2e38d4"
|
|
101
100
|
}
|