@strapi/review-workflows 0.0.0-next.ee56af7ae29770097422de95c0d5500908dce15c → 0.0.0-next.ef9237644b07791c05e1b7edc54d1921e59565ae

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (109) hide show
  1. package/dist/admin/chunks/Layout-COWXwu3C.js +290 -0
  2. package/dist/admin/chunks/Layout-COWXwu3C.js.map +1 -0
  3. package/dist/admin/chunks/Layout-CsShRydy.mjs +265 -0
  4. package/dist/admin/chunks/Layout-CsShRydy.mjs.map +1 -0
  5. package/dist/admin/chunks/en-BNGiWajd.js +20 -0
  6. package/dist/admin/chunks/en-BNGiWajd.js.map +1 -0
  7. package/dist/admin/chunks/en-BrZXFtVv.mjs +18 -0
  8. package/dist/admin/chunks/en-BrZXFtVv.mjs.map +1 -0
  9. package/dist/admin/chunks/id-D8zbh_Y8.js +1442 -0
  10. package/dist/admin/chunks/id-D8zbh_Y8.js.map +1 -0
  11. package/dist/admin/chunks/id-afdVynVx.mjs +1420 -0
  12. package/dist/admin/chunks/id-afdVynVx.mjs.map +1 -0
  13. package/dist/admin/chunks/index-2VGAYchq.mjs +1081 -0
  14. package/dist/admin/chunks/index-2VGAYchq.mjs.map +1 -0
  15. package/dist/admin/chunks/index-7Tk-SHLf.js +293 -0
  16. package/dist/admin/chunks/index-7Tk-SHLf.js.map +1 -0
  17. package/dist/admin/chunks/index-BXlkcM4s.mjs +271 -0
  18. package/dist/admin/chunks/index-BXlkcM4s.mjs.map +1 -0
  19. package/dist/admin/chunks/index-CEABZUwQ.js +1115 -0
  20. package/dist/admin/chunks/index-CEABZUwQ.js.map +1 -0
  21. package/dist/admin/chunks/purchase-review-workflows-BJkm1_Dd.mjs +180 -0
  22. package/dist/admin/chunks/purchase-review-workflows-BJkm1_Dd.mjs.map +1 -0
  23. package/dist/admin/chunks/purchase-review-workflows-BQL0PbmB.js +182 -0
  24. package/dist/admin/chunks/purchase-review-workflows-BQL0PbmB.js.map +1 -0
  25. package/dist/admin/chunks/router-Cc8VcSCc.js +30 -0
  26. package/dist/admin/chunks/router-Cc8VcSCc.js.map +1 -0
  27. package/dist/admin/chunks/router-JyFAzv9_.mjs +28 -0
  28. package/dist/admin/chunks/router-JyFAzv9_.mjs.map +1 -0
  29. package/dist/admin/chunks/uk-CbRUr1I7.js +16 -0
  30. package/dist/admin/chunks/uk-CbRUr1I7.js.map +1 -0
  31. package/dist/admin/chunks/uk-DLlzEBUF.mjs +14 -0
  32. package/dist/admin/chunks/uk-DLlzEBUF.mjs.map +1 -0
  33. package/dist/admin/index.js +17 -2
  34. package/dist/admin/index.js.map +1 -1
  35. package/dist/admin/index.mjs +12 -4
  36. package/dist/admin/index.mjs.map +1 -1
  37. package/dist/admin/src/routes/content-manager/model/id/components/AssigneeSelect.d.ts +4 -0
  38. package/dist/admin/src/routes/content-manager/model/id/components/Header.d.ts +5 -0
  39. package/dist/admin/src/routes/content-manager/model/id/components/StageSelect.d.ts +3 -0
  40. package/dist/admin/src/services/settings.d.ts +7 -3
  41. package/dist/server/index.js +2112 -7996
  42. package/dist/server/index.js.map +1 -1
  43. package/dist/server/index.mjs +2118 -8005
  44. package/dist/server/index.mjs.map +1 -1
  45. package/dist/server/src/bootstrap.d.ts.map +1 -1
  46. package/dist/server/src/constants/workflows.d.ts +1 -0
  47. package/dist/server/src/constants/workflows.d.ts.map +1 -1
  48. package/dist/server/src/content-types/index.d.ts +6 -0
  49. package/dist/server/src/content-types/index.d.ts.map +1 -1
  50. package/dist/server/src/content-types/workflow/index.d.ts +6 -0
  51. package/dist/server/src/content-types/workflow/index.d.ts.map +1 -1
  52. package/dist/server/src/controllers/assignees.d.ts.map +1 -1
  53. package/dist/server/src/controllers/stages.d.ts.map +1 -1
  54. package/dist/server/src/index.d.ts +28 -6
  55. package/dist/server/src/index.d.ts.map +1 -1
  56. package/dist/server/src/register.d.ts.map +1 -1
  57. package/dist/server/src/services/assignees.d.ts +8 -4
  58. package/dist/server/src/services/assignees.d.ts.map +1 -1
  59. package/dist/server/src/services/document-service-middleware.d.ts +2 -1
  60. package/dist/server/src/services/document-service-middleware.d.ts.map +1 -1
  61. package/dist/server/src/services/index.d.ts +16 -6
  62. package/dist/server/src/services/index.d.ts.map +1 -1
  63. package/dist/server/src/services/metrics/index.d.ts +4 -4
  64. package/dist/server/src/services/metrics/index.d.ts.map +1 -1
  65. package/dist/server/src/services/stages.d.ts +6 -1
  66. package/dist/server/src/services/stages.d.ts.map +1 -1
  67. package/dist/server/src/services/workflows.d.ts.map +1 -1
  68. package/dist/server/src/validation/review-workflows.d.ts +4 -0
  69. package/dist/server/src/validation/review-workflows.d.ts.map +1 -1
  70. package/dist/shared/contracts/review-workflows.d.ts +8 -4
  71. package/dist/shared/contracts/review-workflows.d.ts.map +1 -1
  72. package/package.json +16 -15
  73. package/dist/_chunks/Layout-8i0EXRRs.js +0 -251
  74. package/dist/_chunks/Layout-8i0EXRRs.js.map +0 -1
  75. package/dist/_chunks/Layout-C9m07iTY.mjs +0 -233
  76. package/dist/_chunks/Layout-C9m07iTY.mjs.map +0 -1
  77. package/dist/_chunks/en-D9ZrQAV6.mjs +0 -12
  78. package/dist/_chunks/en-D9ZrQAV6.mjs.map +0 -1
  79. package/dist/_chunks/en-xcewH2pC.js +0 -12
  80. package/dist/_chunks/en-xcewH2pC.js.map +0 -1
  81. package/dist/_chunks/id-CmtaTf1x.js +0 -1237
  82. package/dist/_chunks/id-CmtaTf1x.js.map +0 -1
  83. package/dist/_chunks/id-DV0Ndeav.mjs +0 -1217
  84. package/dist/_chunks/id-DV0Ndeav.mjs.map +0 -1
  85. package/dist/_chunks/index-B8WmHbCU.js +0 -233
  86. package/dist/_chunks/index-B8WmHbCU.js.map +0 -1
  87. package/dist/_chunks/index-BCUO98DV.js +0 -830
  88. package/dist/_chunks/index-BCUO98DV.js.map +0 -1
  89. package/dist/_chunks/index-CA5Axcoc.mjs +0 -214
  90. package/dist/_chunks/index-CA5Axcoc.mjs.map +0 -1
  91. package/dist/_chunks/index-CqYVkW3E.mjs +0 -812
  92. package/dist/_chunks/index-CqYVkW3E.mjs.map +0 -1
  93. package/dist/_chunks/purchase-review-workflows-BN-5Ube7.mjs +0 -52
  94. package/dist/_chunks/purchase-review-workflows-BN-5Ube7.mjs.map +0 -1
  95. package/dist/_chunks/purchase-review-workflows-DlCDg0fD.js +0 -52
  96. package/dist/_chunks/purchase-review-workflows-DlCDg0fD.js.map +0 -1
  97. package/dist/_chunks/router-BOXlNnrU.js +0 -24
  98. package/dist/_chunks/router-BOXlNnrU.js.map +0 -1
  99. package/dist/_chunks/router-Jdt6SbIA.mjs +0 -24
  100. package/dist/_chunks/router-Jdt6SbIA.mjs.map +0 -1
  101. package/dist/admin/src/routes/content-manager/[model]/[id]/components/AssigneeSelect.d.ts +0 -2
  102. package/dist/admin/src/routes/content-manager/[model]/[id]/components/StageSelect.d.ts +0 -1
  103. /package/dist/admin/src/routes/content-manager/{[model] → model}/components/AssigneeFilter.d.ts +0 -0
  104. /package/dist/admin/src/routes/content-manager/{[model] → model}/components/StageFilter.d.ts +0 -0
  105. /package/dist/admin/src/routes/content-manager/{[model] → model}/components/TableColumns.d.ts +0 -0
  106. /package/dist/admin/src/routes/content-manager/{[model] → model}/configure/constants.d.ts +0 -0
  107. /package/dist/admin/src/routes/content-manager/{[model] → model}/constants.d.ts +0 -0
  108. /package/dist/admin/src/routes/content-manager/{[model]/[id] → model/id}/components/Panel.d.ts +0 -0
  109. /package/dist/admin/src/routes/content-manager/{[model]/[id] → model/id}/components/constants.d.ts +0 -0
@@ -1,251 +0,0 @@
1
- "use strict";
2
- const React = require("react");
3
- const strapiAdmin = require("@strapi/admin/strapi-admin");
4
- const reactIntl = require("react-intl");
5
- const index = require("./index-BCUO98DV.js");
6
- const jsxRuntime = require("react/jsx-runtime");
7
- const designSystem = require("@strapi/design-system");
8
- const reactDnd = require("react-dnd");
9
- const icons = require("@strapi/icons");
10
- function _interopNamespace(e) {
11
- if (e && e.__esModule)
12
- return e;
13
- const n = Object.create(null, { [Symbol.toStringTag]: { value: "Module" } });
14
- if (e) {
15
- for (const k in e) {
16
- if (k !== "default") {
17
- const d = Object.getOwnPropertyDescriptor(e, k);
18
- Object.defineProperty(n, k, d.get ? d : {
19
- enumerable: true,
20
- get: () => e[k]
21
- });
22
- }
23
- }
24
- }
25
- n.default = e;
26
- return Object.freeze(n);
27
- }
28
- const React__namespace = /* @__PURE__ */ _interopNamespace(React);
29
- const DEFAULT_UNEXPECTED_ERROR_MSG = {
30
- id: "notification.error",
31
- defaultMessage: "An error occurred, please try again"
32
- };
33
- const useReviewWorkflows = (params = {}) => {
34
- const { toggleNotification } = strapiAdmin.useNotification();
35
- const { formatMessage } = reactIntl.useIntl();
36
- const { _unstableFormatAPIError: formatAPIError } = strapiAdmin.useAPIErrorHandler();
37
- const { skip = false, ...queryParams } = params;
38
- const { data, isLoading, error } = index.useGetWorkflowsQuery(
39
- {
40
- populate: "stages",
41
- ...queryParams
42
- },
43
- {
44
- skip
45
- }
46
- );
47
- React__namespace.useEffect(() => {
48
- if (error) {
49
- toggleNotification({
50
- type: "danger",
51
- message: formatAPIError(error)
52
- });
53
- }
54
- }, [error, formatAPIError, toggleNotification]);
55
- const [createWorkflow] = index.useCreateWorkflowMutation();
56
- const create = React__namespace.useCallback(
57
- async (data2) => {
58
- try {
59
- const res = await createWorkflow({ data: data2 });
60
- if ("error" in res) {
61
- toggleNotification({
62
- type: "danger",
63
- message: formatAPIError(res.error)
64
- });
65
- return res;
66
- }
67
- toggleNotification({
68
- type: "success",
69
- message: formatMessage({ id: "actions.created", defaultMessage: "Created workflow" })
70
- });
71
- return res;
72
- } catch (err) {
73
- toggleNotification({
74
- type: "danger",
75
- message: formatMessage(DEFAULT_UNEXPECTED_ERROR_MSG)
76
- });
77
- throw err;
78
- }
79
- },
80
- [createWorkflow, formatAPIError, formatMessage, toggleNotification]
81
- );
82
- const [updateWorkflow] = index.useUpdateWorkflowMutation();
83
- const update = React__namespace.useCallback(
84
- async (id, data2) => {
85
- try {
86
- const res = await updateWorkflow({ id, data: data2 });
87
- if ("error" in res) {
88
- toggleNotification({
89
- type: "danger",
90
- message: formatAPIError(res.error)
91
- });
92
- return res;
93
- }
94
- toggleNotification({
95
- type: "success",
96
- message: formatMessage({ id: "actions.updated", defaultMessage: "Updated workflow" })
97
- });
98
- return res;
99
- } catch (err) {
100
- toggleNotification({
101
- type: "danger",
102
- message: formatMessage(DEFAULT_UNEXPECTED_ERROR_MSG)
103
- });
104
- throw err;
105
- }
106
- },
107
- [formatAPIError, formatMessage, toggleNotification, updateWorkflow]
108
- );
109
- const [deleteWorkflow] = index.useDeleteWorkflowMutation();
110
- const deleteAction = React__namespace.useCallback(
111
- async (id) => {
112
- try {
113
- const res = await deleteWorkflow({ id });
114
- if ("error" in res) {
115
- toggleNotification({
116
- type: "danger",
117
- message: formatAPIError(res.error)
118
- });
119
- return;
120
- }
121
- toggleNotification({
122
- type: "success",
123
- message: formatMessage({ id: "actions.deleted", defaultMessage: "Deleted workflow" })
124
- });
125
- return res.data;
126
- } catch (err) {
127
- toggleNotification({
128
- type: "danger",
129
- message: formatMessage(DEFAULT_UNEXPECTED_ERROR_MSG)
130
- });
131
- throw err;
132
- }
133
- },
134
- [deleteWorkflow, formatAPIError, formatMessage, toggleNotification]
135
- );
136
- const { workflows = [], meta } = data ?? {};
137
- return {
138
- // meta contains e.g. the total of all workflows. we can not use
139
- // the pagination object here, because the list is not paginated.
140
- meta,
141
- workflows,
142
- isLoading,
143
- error,
144
- create,
145
- delete: deleteAction,
146
- update
147
- };
148
- };
149
- const DRAG_DROP_TYPES = {
150
- STAGE: "stage"
151
- };
152
- const StageDragPreview = ({ name }) => {
153
- return /* @__PURE__ */ jsxRuntime.jsxs(
154
- designSystem.Flex,
155
- {
156
- background: "primary100",
157
- borderStyle: "dashed",
158
- borderColor: "primary600",
159
- borderWidth: "1px",
160
- gap: 3,
161
- hasRadius: true,
162
- padding: 3,
163
- shadow: "tableShadow",
164
- width: "30rem",
165
- children: [
166
- /* @__PURE__ */ jsxRuntime.jsx(
167
- designSystem.Flex,
168
- {
169
- alignItems: "center",
170
- background: "neutral200",
171
- borderRadius: "50%",
172
- height: 6,
173
- justifyContent: "center",
174
- width: 6,
175
- children: /* @__PURE__ */ jsxRuntime.jsx(icons.CaretDown, { width: "0.8rem", fill: "neutral600" })
176
- }
177
- ),
178
- /* @__PURE__ */ jsxRuntime.jsx(designSystem.Typography, { fontWeight: "bold", children: name })
179
- ]
180
- }
181
- );
182
- };
183
- function getStyle(initialOffset, currentOffset, mouseOffset) {
184
- if (!initialOffset || !currentOffset || !mouseOffset) {
185
- return { display: "none" };
186
- }
187
- const { x, y } = mouseOffset;
188
- return {
189
- transform: `translate(${x}px, ${y}px)`
190
- };
191
- }
192
- const DragLayerRendered = () => {
193
- const { itemType, isDragging, item, initialOffset, currentOffset, mouseOffset } = reactDnd.useDragLayer(
194
- (monitor) => ({
195
- item: monitor.getItem(),
196
- itemType: monitor.getItemType(),
197
- initialOffset: monitor.getInitialSourceClientOffset(),
198
- currentOffset: monitor.getSourceClientOffset(),
199
- isDragging: monitor.isDragging(),
200
- mouseOffset: monitor.getClientOffset()
201
- })
202
- );
203
- if (!isDragging || itemType !== DRAG_DROP_TYPES.STAGE) {
204
- return null;
205
- }
206
- return /* @__PURE__ */ jsxRuntime.jsx(
207
- designSystem.Box,
208
- {
209
- height: "100%",
210
- left: 0,
211
- position: "fixed",
212
- pointerEvents: "none",
213
- top: 0,
214
- zIndex: 100,
215
- width: "100%",
216
- children: /* @__PURE__ */ jsxRuntime.jsxs(designSystem.Box, { style: getStyle(initialOffset, currentOffset, mouseOffset), children: [
217
- /* @__PURE__ */ jsxRuntime.jsx(StageDragPreview, { name: typeof item.item === "string" ? item.item : null }),
218
- ";"
219
- ] })
220
- }
221
- );
222
- };
223
- const Root = ({ children }) => {
224
- return /* @__PURE__ */ jsxRuntime.jsx(strapiAdmin.Page.Main, { children: /* @__PURE__ */ jsxRuntime.jsx(strapiAdmin.Layouts.Content, { children }) });
225
- };
226
- const Header = ({ title, subtitle, navigationAction, primaryAction }) => {
227
- const { formatMessage } = reactIntl.useIntl();
228
- return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
229
- /* @__PURE__ */ jsxRuntime.jsx(strapiAdmin.Page.Title, { children: formatMessage(
230
- { id: "Settings.PageTitle", defaultMessage: "Settings - {name}" },
231
- {
232
- name: title
233
- }
234
- ) }),
235
- /* @__PURE__ */ jsxRuntime.jsx(
236
- strapiAdmin.Layouts.BaseHeader,
237
- {
238
- navigationAction,
239
- primaryAction,
240
- title,
241
- subtitle
242
- }
243
- )
244
- ] });
245
- };
246
- exports.DRAG_DROP_TYPES = DRAG_DROP_TYPES;
247
- exports.DragLayerRendered = DragLayerRendered;
248
- exports.Header = Header;
249
- exports.Root = Root;
250
- exports.useReviewWorkflows = useReviewWorkflows;
251
- //# sourceMappingURL=Layout-8i0EXRRs.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Layout-8i0EXRRs.js","sources":["../../admin/src/routes/settings/hooks/useReviewWorkflows.ts","../../admin/src/routes/settings/constants.ts","../../admin/src/routes/settings/components/StageDragPreview.tsx","../../admin/src/routes/settings/components/Layout.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport { useAPIErrorHandler, useNotification } from '@strapi/admin/strapi-admin';\nimport { type MessageDescriptor, useIntl } from 'react-intl';\n\nimport {\n GetWorkflowsParams,\n useCreateWorkflowMutation,\n useDeleteWorkflowMutation,\n useGetWorkflowsQuery,\n useUpdateWorkflowMutation,\n} from '../../../services/settings';\n\nimport type { Create, Update } from '../../../../../shared/contracts/review-workflows';\n\nconst DEFAULT_UNEXPECTED_ERROR_MSG = {\n id: 'notification.error',\n defaultMessage: 'An error occurred, please try again',\n} satisfies MessageDescriptor;\n\ntype UseReviewWorkflowsArgs = GetWorkflowsParams & {\n skip?: boolean;\n};\n\nconst useReviewWorkflows = (params: UseReviewWorkflowsArgs = {}) => {\n const { toggleNotification } = useNotification();\n const { formatMessage } = useIntl();\n const { _unstableFormatAPIError: formatAPIError } = useAPIErrorHandler();\n\n const { skip = false, ...queryParams } = params;\n\n const { data, isLoading, error } = useGetWorkflowsQuery(\n {\n populate: 'stages',\n ...queryParams,\n },\n {\n skip,\n }\n );\n\n React.useEffect(() => {\n if (error) {\n toggleNotification({\n type: 'danger',\n message: formatAPIError(error),\n });\n }\n }, [error, formatAPIError, toggleNotification]);\n\n const [createWorkflow] = useCreateWorkflowMutation();\n const create = React.useCallback(\n async (data: Create.Request['body']['data']) => {\n try {\n const res = await createWorkflow({ data });\n\n if ('error' in res) {\n toggleNotification({\n type: 'danger',\n message: formatAPIError(res.error),\n });\n\n return res;\n }\n\n toggleNotification({\n type: 'success',\n message: formatMessage({ id: 'actions.created', defaultMessage: 'Created workflow' }),\n });\n\n return res;\n } catch (err) {\n toggleNotification({\n type: 'danger',\n message: formatMessage(DEFAULT_UNEXPECTED_ERROR_MSG),\n });\n\n throw err;\n }\n },\n [createWorkflow, formatAPIError, formatMessage, toggleNotification]\n );\n\n const [updateWorkflow] = useUpdateWorkflowMutation();\n const update = React.useCallback(\n async (id: string, data: Update.Request['body']['data']) => {\n try {\n const res = await updateWorkflow({ id, data });\n\n if ('error' in res) {\n toggleNotification({\n type: 'danger',\n message: formatAPIError(res.error),\n });\n\n return res;\n }\n\n toggleNotification({\n type: 'success',\n message: formatMessage({ id: 'actions.updated', defaultMessage: 'Updated workflow' }),\n });\n\n return res;\n } catch (err) {\n toggleNotification({\n type: 'danger',\n message: formatMessage(DEFAULT_UNEXPECTED_ERROR_MSG),\n });\n\n throw err;\n }\n },\n [formatAPIError, formatMessage, toggleNotification, updateWorkflow]\n );\n\n const [deleteWorkflow] = useDeleteWorkflowMutation();\n const deleteAction = React.useCallback(\n async (id: string) => {\n try {\n const res = await deleteWorkflow({ id });\n\n if ('error' in res) {\n toggleNotification({\n type: 'danger',\n message: formatAPIError(res.error),\n });\n\n return;\n }\n\n toggleNotification({\n type: 'success',\n message: formatMessage({ id: 'actions.deleted', defaultMessage: 'Deleted workflow' }),\n });\n\n return res.data;\n } catch (err) {\n toggleNotification({\n type: 'danger',\n message: formatMessage(DEFAULT_UNEXPECTED_ERROR_MSG),\n });\n\n throw err;\n }\n },\n [deleteWorkflow, formatAPIError, formatMessage, toggleNotification]\n );\n\n const { workflows = [], meta } = data ?? {};\n\n return {\n // meta contains e.g. the total of all workflows. we can not use\n // the pagination object here, because the list is not paginated.\n meta,\n workflows,\n isLoading,\n error,\n create,\n delete: deleteAction,\n update,\n };\n};\n\nexport { useReviewWorkflows };\n","export type DragDropTypes = 'stage';\n\nexport const DRAG_DROP_TYPES: Record<Uppercase<DragDropTypes>, DragDropTypes> = {\n STAGE: 'stage',\n};\n","import { Flex, Typography } from '@strapi/design-system';\nimport { CaretDown } from '@strapi/icons';\n\ninterface StageDragPreviewType {\n name: string | null;\n}\n\nconst StageDragPreview = ({ name }: StageDragPreviewType) => {\n return (\n <Flex\n background=\"primary100\"\n borderStyle=\"dashed\"\n borderColor=\"primary600\"\n borderWidth=\"1px\"\n gap={3}\n hasRadius\n padding={3}\n shadow=\"tableShadow\"\n width=\"30rem\"\n >\n <Flex\n alignItems=\"center\"\n background=\"neutral200\"\n borderRadius=\"50%\"\n height={6}\n justifyContent=\"center\"\n width={6}\n >\n <CaretDown width=\"0.8rem\" fill=\"neutral600\" />\n </Flex>\n\n <Typography fontWeight=\"bold\">{name}</Typography>\n </Flex>\n );\n};\n\nexport { StageDragPreview };\nexport type { StageDragPreviewType };\n","import * as React from 'react';\n\nimport { Page, Layouts } from '@strapi/admin/strapi-admin';\nimport { Box } from '@strapi/design-system';\nimport { XYCoord, useDragLayer } from 'react-dnd';\nimport { useIntl } from 'react-intl';\n\nimport { DRAG_DROP_TYPES } from '../constants';\n\nimport { StageDragPreview } from './StageDragPreview';\n\nfunction getStyle(\n initialOffset: XYCoord | null,\n currentOffset: XYCoord | null,\n mouseOffset: XYCoord | null\n) {\n if (!initialOffset || !currentOffset || !mouseOffset) {\n return { display: 'none' };\n }\n\n const { x, y } = mouseOffset;\n\n return {\n transform: `translate(${x}px, ${y}px)`,\n };\n}\n\nconst DragLayerRendered = () => {\n const { itemType, isDragging, item, initialOffset, currentOffset, mouseOffset } = useDragLayer(\n (monitor) => ({\n item: monitor.getItem(),\n itemType: monitor.getItemType(),\n initialOffset: monitor.getInitialSourceClientOffset(),\n currentOffset: monitor.getSourceClientOffset(),\n isDragging: monitor.isDragging(),\n mouseOffset: monitor.getClientOffset(),\n })\n );\n\n if (!isDragging || itemType !== DRAG_DROP_TYPES.STAGE) {\n return null;\n }\n\n return (\n <Box\n height=\"100%\"\n left={0}\n position=\"fixed\"\n pointerEvents=\"none\"\n top={0}\n zIndex={100}\n width=\"100%\"\n >\n <Box style={getStyle(initialOffset, currentOffset, mouseOffset)}>\n <StageDragPreview name={typeof item.item === 'string' ? item.item : null} />;\n </Box>\n </Box>\n );\n};\n\nconst Root: React.FC<React.PropsWithChildren> = ({ children }) => {\n return (\n <Page.Main>\n <Layouts.Content>{children}</Layouts.Content>\n </Page.Main>\n );\n};\n\ninterface HeaderProps {\n title: string;\n navigationAction?: React.ReactNode;\n primaryAction?: React.ReactNode;\n secondaryAction?: React.ReactNode;\n subtitle?: React.ReactNode;\n}\n\nconst Header: React.FC<HeaderProps> = ({ title, subtitle, navigationAction, primaryAction }) => {\n const { formatMessage } = useIntl();\n return (\n <>\n <Page.Title>\n {formatMessage(\n { id: 'Settings.PageTitle', defaultMessage: 'Settings - {name}' },\n {\n name: title,\n }\n )}\n </Page.Title>\n <Layouts.BaseHeader\n navigationAction={navigationAction}\n primaryAction={primaryAction}\n title={title}\n subtitle={subtitle}\n />\n </>\n );\n};\n\nexport { DragLayerRendered, Header, Root };\n"],"names":["useNotification","useIntl","useAPIErrorHandler","useGetWorkflowsQuery","React","useCreateWorkflowMutation","data","useUpdateWorkflowMutation","useDeleteWorkflowMutation","jsxs","Flex","jsx","CaretDown","Typography","useDragLayer","Box","Page","Layouts","Fragment"],"mappings":"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"}
@@ -1,233 +0,0 @@
1
- import * as React from "react";
2
- import { useNotification, useAPIErrorHandler, Page, Layouts } from "@strapi/admin/strapi-admin";
3
- import { useIntl } from "react-intl";
4
- import { c as useGetWorkflowsQuery, d as useCreateWorkflowMutation, e as useUpdateWorkflowMutation, f as useDeleteWorkflowMutation } from "./index-CqYVkW3E.mjs";
5
- import { jsxs, jsx, Fragment } from "react/jsx-runtime";
6
- import { Flex, Typography, Box } from "@strapi/design-system";
7
- import { useDragLayer } from "react-dnd";
8
- import { CaretDown } from "@strapi/icons";
9
- const DEFAULT_UNEXPECTED_ERROR_MSG = {
10
- id: "notification.error",
11
- defaultMessage: "An error occurred, please try again"
12
- };
13
- const useReviewWorkflows = (params = {}) => {
14
- const { toggleNotification } = useNotification();
15
- const { formatMessage } = useIntl();
16
- const { _unstableFormatAPIError: formatAPIError } = useAPIErrorHandler();
17
- const { skip = false, ...queryParams } = params;
18
- const { data, isLoading, error } = useGetWorkflowsQuery(
19
- {
20
- populate: "stages",
21
- ...queryParams
22
- },
23
- {
24
- skip
25
- }
26
- );
27
- React.useEffect(() => {
28
- if (error) {
29
- toggleNotification({
30
- type: "danger",
31
- message: formatAPIError(error)
32
- });
33
- }
34
- }, [error, formatAPIError, toggleNotification]);
35
- const [createWorkflow] = useCreateWorkflowMutation();
36
- const create = React.useCallback(
37
- async (data2) => {
38
- try {
39
- const res = await createWorkflow({ data: data2 });
40
- if ("error" in res) {
41
- toggleNotification({
42
- type: "danger",
43
- message: formatAPIError(res.error)
44
- });
45
- return res;
46
- }
47
- toggleNotification({
48
- type: "success",
49
- message: formatMessage({ id: "actions.created", defaultMessage: "Created workflow" })
50
- });
51
- return res;
52
- } catch (err) {
53
- toggleNotification({
54
- type: "danger",
55
- message: formatMessage(DEFAULT_UNEXPECTED_ERROR_MSG)
56
- });
57
- throw err;
58
- }
59
- },
60
- [createWorkflow, formatAPIError, formatMessage, toggleNotification]
61
- );
62
- const [updateWorkflow] = useUpdateWorkflowMutation();
63
- const update = React.useCallback(
64
- async (id, data2) => {
65
- try {
66
- const res = await updateWorkflow({ id, data: data2 });
67
- if ("error" in res) {
68
- toggleNotification({
69
- type: "danger",
70
- message: formatAPIError(res.error)
71
- });
72
- return res;
73
- }
74
- toggleNotification({
75
- type: "success",
76
- message: formatMessage({ id: "actions.updated", defaultMessage: "Updated workflow" })
77
- });
78
- return res;
79
- } catch (err) {
80
- toggleNotification({
81
- type: "danger",
82
- message: formatMessage(DEFAULT_UNEXPECTED_ERROR_MSG)
83
- });
84
- throw err;
85
- }
86
- },
87
- [formatAPIError, formatMessage, toggleNotification, updateWorkflow]
88
- );
89
- const [deleteWorkflow] = useDeleteWorkflowMutation();
90
- const deleteAction = React.useCallback(
91
- async (id) => {
92
- try {
93
- const res = await deleteWorkflow({ id });
94
- if ("error" in res) {
95
- toggleNotification({
96
- type: "danger",
97
- message: formatAPIError(res.error)
98
- });
99
- return;
100
- }
101
- toggleNotification({
102
- type: "success",
103
- message: formatMessage({ id: "actions.deleted", defaultMessage: "Deleted workflow" })
104
- });
105
- return res.data;
106
- } catch (err) {
107
- toggleNotification({
108
- type: "danger",
109
- message: formatMessage(DEFAULT_UNEXPECTED_ERROR_MSG)
110
- });
111
- throw err;
112
- }
113
- },
114
- [deleteWorkflow, formatAPIError, formatMessage, toggleNotification]
115
- );
116
- const { workflows = [], meta } = data ?? {};
117
- return {
118
- // meta contains e.g. the total of all workflows. we can not use
119
- // the pagination object here, because the list is not paginated.
120
- meta,
121
- workflows,
122
- isLoading,
123
- error,
124
- create,
125
- delete: deleteAction,
126
- update
127
- };
128
- };
129
- const DRAG_DROP_TYPES = {
130
- STAGE: "stage"
131
- };
132
- const StageDragPreview = ({ name }) => {
133
- return /* @__PURE__ */ jsxs(
134
- Flex,
135
- {
136
- background: "primary100",
137
- borderStyle: "dashed",
138
- borderColor: "primary600",
139
- borderWidth: "1px",
140
- gap: 3,
141
- hasRadius: true,
142
- padding: 3,
143
- shadow: "tableShadow",
144
- width: "30rem",
145
- children: [
146
- /* @__PURE__ */ jsx(
147
- Flex,
148
- {
149
- alignItems: "center",
150
- background: "neutral200",
151
- borderRadius: "50%",
152
- height: 6,
153
- justifyContent: "center",
154
- width: 6,
155
- children: /* @__PURE__ */ jsx(CaretDown, { width: "0.8rem", fill: "neutral600" })
156
- }
157
- ),
158
- /* @__PURE__ */ jsx(Typography, { fontWeight: "bold", children: name })
159
- ]
160
- }
161
- );
162
- };
163
- function getStyle(initialOffset, currentOffset, mouseOffset) {
164
- if (!initialOffset || !currentOffset || !mouseOffset) {
165
- return { display: "none" };
166
- }
167
- const { x, y } = mouseOffset;
168
- return {
169
- transform: `translate(${x}px, ${y}px)`
170
- };
171
- }
172
- const DragLayerRendered = () => {
173
- const { itemType, isDragging, item, initialOffset, currentOffset, mouseOffset } = useDragLayer(
174
- (monitor) => ({
175
- item: monitor.getItem(),
176
- itemType: monitor.getItemType(),
177
- initialOffset: monitor.getInitialSourceClientOffset(),
178
- currentOffset: monitor.getSourceClientOffset(),
179
- isDragging: monitor.isDragging(),
180
- mouseOffset: monitor.getClientOffset()
181
- })
182
- );
183
- if (!isDragging || itemType !== DRAG_DROP_TYPES.STAGE) {
184
- return null;
185
- }
186
- return /* @__PURE__ */ jsx(
187
- Box,
188
- {
189
- height: "100%",
190
- left: 0,
191
- position: "fixed",
192
- pointerEvents: "none",
193
- top: 0,
194
- zIndex: 100,
195
- width: "100%",
196
- children: /* @__PURE__ */ jsxs(Box, { style: getStyle(initialOffset, currentOffset, mouseOffset), children: [
197
- /* @__PURE__ */ jsx(StageDragPreview, { name: typeof item.item === "string" ? item.item : null }),
198
- ";"
199
- ] })
200
- }
201
- );
202
- };
203
- const Root = ({ children }) => {
204
- return /* @__PURE__ */ jsx(Page.Main, { children: /* @__PURE__ */ jsx(Layouts.Content, { children }) });
205
- };
206
- const Header = ({ title, subtitle, navigationAction, primaryAction }) => {
207
- const { formatMessage } = useIntl();
208
- return /* @__PURE__ */ jsxs(Fragment, { children: [
209
- /* @__PURE__ */ jsx(Page.Title, { children: formatMessage(
210
- { id: "Settings.PageTitle", defaultMessage: "Settings - {name}" },
211
- {
212
- name: title
213
- }
214
- ) }),
215
- /* @__PURE__ */ jsx(
216
- Layouts.BaseHeader,
217
- {
218
- navigationAction,
219
- primaryAction,
220
- title,
221
- subtitle
222
- }
223
- )
224
- ] });
225
- };
226
- export {
227
- DRAG_DROP_TYPES as D,
228
- Header as H,
229
- Root as R,
230
- DragLayerRendered as a,
231
- useReviewWorkflows as u
232
- };
233
- //# sourceMappingURL=Layout-C9m07iTY.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Layout-C9m07iTY.mjs","sources":["../../admin/src/routes/settings/hooks/useReviewWorkflows.ts","../../admin/src/routes/settings/constants.ts","../../admin/src/routes/settings/components/StageDragPreview.tsx","../../admin/src/routes/settings/components/Layout.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport { useAPIErrorHandler, useNotification } from '@strapi/admin/strapi-admin';\nimport { type MessageDescriptor, useIntl } from 'react-intl';\n\nimport {\n GetWorkflowsParams,\n useCreateWorkflowMutation,\n useDeleteWorkflowMutation,\n useGetWorkflowsQuery,\n useUpdateWorkflowMutation,\n} from '../../../services/settings';\n\nimport type { Create, Update } from '../../../../../shared/contracts/review-workflows';\n\nconst DEFAULT_UNEXPECTED_ERROR_MSG = {\n id: 'notification.error',\n defaultMessage: 'An error occurred, please try again',\n} satisfies MessageDescriptor;\n\ntype UseReviewWorkflowsArgs = GetWorkflowsParams & {\n skip?: boolean;\n};\n\nconst useReviewWorkflows = (params: UseReviewWorkflowsArgs = {}) => {\n const { toggleNotification } = useNotification();\n const { formatMessage } = useIntl();\n const { _unstableFormatAPIError: formatAPIError } = useAPIErrorHandler();\n\n const { skip = false, ...queryParams } = params;\n\n const { data, isLoading, error } = useGetWorkflowsQuery(\n {\n populate: 'stages',\n ...queryParams,\n },\n {\n skip,\n }\n );\n\n React.useEffect(() => {\n if (error) {\n toggleNotification({\n type: 'danger',\n message: formatAPIError(error),\n });\n }\n }, [error, formatAPIError, toggleNotification]);\n\n const [createWorkflow] = useCreateWorkflowMutation();\n const create = React.useCallback(\n async (data: Create.Request['body']['data']) => {\n try {\n const res = await createWorkflow({ data });\n\n if ('error' in res) {\n toggleNotification({\n type: 'danger',\n message: formatAPIError(res.error),\n });\n\n return res;\n }\n\n toggleNotification({\n type: 'success',\n message: formatMessage({ id: 'actions.created', defaultMessage: 'Created workflow' }),\n });\n\n return res;\n } catch (err) {\n toggleNotification({\n type: 'danger',\n message: formatMessage(DEFAULT_UNEXPECTED_ERROR_MSG),\n });\n\n throw err;\n }\n },\n [createWorkflow, formatAPIError, formatMessage, toggleNotification]\n );\n\n const [updateWorkflow] = useUpdateWorkflowMutation();\n const update = React.useCallback(\n async (id: string, data: Update.Request['body']['data']) => {\n try {\n const res = await updateWorkflow({ id, data });\n\n if ('error' in res) {\n toggleNotification({\n type: 'danger',\n message: formatAPIError(res.error),\n });\n\n return res;\n }\n\n toggleNotification({\n type: 'success',\n message: formatMessage({ id: 'actions.updated', defaultMessage: 'Updated workflow' }),\n });\n\n return res;\n } catch (err) {\n toggleNotification({\n type: 'danger',\n message: formatMessage(DEFAULT_UNEXPECTED_ERROR_MSG),\n });\n\n throw err;\n }\n },\n [formatAPIError, formatMessage, toggleNotification, updateWorkflow]\n );\n\n const [deleteWorkflow] = useDeleteWorkflowMutation();\n const deleteAction = React.useCallback(\n async (id: string) => {\n try {\n const res = await deleteWorkflow({ id });\n\n if ('error' in res) {\n toggleNotification({\n type: 'danger',\n message: formatAPIError(res.error),\n });\n\n return;\n }\n\n toggleNotification({\n type: 'success',\n message: formatMessage({ id: 'actions.deleted', defaultMessage: 'Deleted workflow' }),\n });\n\n return res.data;\n } catch (err) {\n toggleNotification({\n type: 'danger',\n message: formatMessage(DEFAULT_UNEXPECTED_ERROR_MSG),\n });\n\n throw err;\n }\n },\n [deleteWorkflow, formatAPIError, formatMessage, toggleNotification]\n );\n\n const { workflows = [], meta } = data ?? {};\n\n return {\n // meta contains e.g. the total of all workflows. we can not use\n // the pagination object here, because the list is not paginated.\n meta,\n workflows,\n isLoading,\n error,\n create,\n delete: deleteAction,\n update,\n };\n};\n\nexport { useReviewWorkflows };\n","export type DragDropTypes = 'stage';\n\nexport const DRAG_DROP_TYPES: Record<Uppercase<DragDropTypes>, DragDropTypes> = {\n STAGE: 'stage',\n};\n","import { Flex, Typography } from '@strapi/design-system';\nimport { CaretDown } from '@strapi/icons';\n\ninterface StageDragPreviewType {\n name: string | null;\n}\n\nconst StageDragPreview = ({ name }: StageDragPreviewType) => {\n return (\n <Flex\n background=\"primary100\"\n borderStyle=\"dashed\"\n borderColor=\"primary600\"\n borderWidth=\"1px\"\n gap={3}\n hasRadius\n padding={3}\n shadow=\"tableShadow\"\n width=\"30rem\"\n >\n <Flex\n alignItems=\"center\"\n background=\"neutral200\"\n borderRadius=\"50%\"\n height={6}\n justifyContent=\"center\"\n width={6}\n >\n <CaretDown width=\"0.8rem\" fill=\"neutral600\" />\n </Flex>\n\n <Typography fontWeight=\"bold\">{name}</Typography>\n </Flex>\n );\n};\n\nexport { StageDragPreview };\nexport type { StageDragPreviewType };\n","import * as React from 'react';\n\nimport { Page, Layouts } from '@strapi/admin/strapi-admin';\nimport { Box } from '@strapi/design-system';\nimport { XYCoord, useDragLayer } from 'react-dnd';\nimport { useIntl } from 'react-intl';\n\nimport { DRAG_DROP_TYPES } from '../constants';\n\nimport { StageDragPreview } from './StageDragPreview';\n\nfunction getStyle(\n initialOffset: XYCoord | null,\n currentOffset: XYCoord | null,\n mouseOffset: XYCoord | null\n) {\n if (!initialOffset || !currentOffset || !mouseOffset) {\n return { display: 'none' };\n }\n\n const { x, y } = mouseOffset;\n\n return {\n transform: `translate(${x}px, ${y}px)`,\n };\n}\n\nconst DragLayerRendered = () => {\n const { itemType, isDragging, item, initialOffset, currentOffset, mouseOffset } = useDragLayer(\n (monitor) => ({\n item: monitor.getItem(),\n itemType: monitor.getItemType(),\n initialOffset: monitor.getInitialSourceClientOffset(),\n currentOffset: monitor.getSourceClientOffset(),\n isDragging: monitor.isDragging(),\n mouseOffset: monitor.getClientOffset(),\n })\n );\n\n if (!isDragging || itemType !== DRAG_DROP_TYPES.STAGE) {\n return null;\n }\n\n return (\n <Box\n height=\"100%\"\n left={0}\n position=\"fixed\"\n pointerEvents=\"none\"\n top={0}\n zIndex={100}\n width=\"100%\"\n >\n <Box style={getStyle(initialOffset, currentOffset, mouseOffset)}>\n <StageDragPreview name={typeof item.item === 'string' ? item.item : null} />;\n </Box>\n </Box>\n );\n};\n\nconst Root: React.FC<React.PropsWithChildren> = ({ children }) => {\n return (\n <Page.Main>\n <Layouts.Content>{children}</Layouts.Content>\n </Page.Main>\n );\n};\n\ninterface HeaderProps {\n title: string;\n navigationAction?: React.ReactNode;\n primaryAction?: React.ReactNode;\n secondaryAction?: React.ReactNode;\n subtitle?: React.ReactNode;\n}\n\nconst Header: React.FC<HeaderProps> = ({ title, subtitle, navigationAction, primaryAction }) => {\n const { formatMessage } = useIntl();\n return (\n <>\n <Page.Title>\n {formatMessage(\n { id: 'Settings.PageTitle', defaultMessage: 'Settings - {name}' },\n {\n name: title,\n }\n )}\n </Page.Title>\n <Layouts.BaseHeader\n navigationAction={navigationAction}\n primaryAction={primaryAction}\n title={title}\n subtitle={subtitle}\n />\n </>\n );\n};\n\nexport { DragLayerRendered, Header, Root };\n"],"names":["data"],"mappings":"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"}
@@ -1,12 +0,0 @@
1
- const en = {
2
- "settings.page.title": "Review Workflows",
3
- "settings.page.subtitle": "{count, plural, one {# stage} other {# stages}}",
4
- "settings.page.isLoading": "Workflow is loading",
5
- "settings.page.delete.confirm.body": "All entries assigned to deleted stages will be moved to the previous stage. Are you sure you want to save?",
6
- "settings.stage.name.label": "Stage name",
7
- "settings.not-available": "Review Workflows is only available as part of the Enterprise Edition. Upgrade to create and manage workflows."
8
- };
9
- export {
10
- en as default
11
- };
12
- //# sourceMappingURL=en-D9ZrQAV6.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"en-D9ZrQAV6.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;"}
@@ -1,12 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- const en = {
4
- "settings.page.title": "Review Workflows",
5
- "settings.page.subtitle": "{count, plural, one {# stage} other {# stages}}",
6
- "settings.page.isLoading": "Workflow is loading",
7
- "settings.page.delete.confirm.body": "All entries assigned to deleted stages will be moved to the previous stage. Are you sure you want to save?",
8
- "settings.stage.name.label": "Stage name",
9
- "settings.not-available": "Review Workflows is only available as part of the Enterprise Edition. Upgrade to create and manage workflows."
10
- };
11
- exports.default = en;
12
- //# sourceMappingURL=en-xcewH2pC.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"en-xcewH2pC.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;"}