@strapi/review-workflows 5.12.1 → 5.12.3
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/{chunks/index-DcEF47R4.mjs → assets/balloon.png.js} +3 -1078
- package/dist/admin/assets/balloon.png.js.map +1 -0
- package/dist/admin/{chunks/index-CzdEqFOm.js → assets/balloon.png.mjs} +2 -1113
- package/dist/admin/assets/balloon.png.mjs.map +1 -0
- package/dist/admin/assets/purchase-page-illustration-dark.svg.js +6 -0
- package/dist/admin/assets/purchase-page-illustration-dark.svg.js.map +1 -0
- package/dist/admin/assets/purchase-page-illustration-dark.svg.mjs +4 -0
- package/dist/admin/assets/purchase-page-illustration-dark.svg.mjs.map +1 -0
- package/dist/admin/{chunks/purchase-review-workflows-4n0KXAeo.mjs → assets/purchase-page-illustration-light.svg.js} +3 -197
- package/dist/admin/assets/purchase-page-illustration-light.svg.js.map +1 -0
- package/dist/admin/{chunks/purchase-review-workflows-BDLncDcz.js → assets/purchase-page-illustration-light.svg.mjs} +2 -200
- package/dist/admin/assets/purchase-page-illustration-light.svg.mjs.map +1 -0
- package/dist/admin/components/LimitsModal.js +122 -0
- package/dist/admin/components/LimitsModal.js.map +1 -0
- package/dist/admin/components/LimitsModal.mjs +120 -0
- package/dist/admin/components/LimitsModal.mjs.map +1 -0
- package/dist/admin/constants.js +18 -0
- package/dist/admin/constants.js.map +1 -0
- package/dist/admin/constants.mjs +12 -0
- package/dist/admin/constants.mjs.map +1 -0
- package/dist/admin/index.js +87 -13
- package/dist/admin/index.js.map +1 -1
- package/dist/admin/index.mjs +88 -12
- package/dist/admin/index.mjs.map +1 -1
- package/dist/admin/modules/hooks.js +8 -0
- package/dist/admin/modules/hooks.js.map +1 -0
- package/dist/admin/modules/hooks.mjs +6 -0
- package/dist/admin/modules/hooks.mjs.map +1 -0
- package/dist/admin/{chunks/router-ChVwf8TN.js → router.js} +3 -3
- package/dist/admin/router.js.map +1 -0
- package/dist/admin/{chunks/router-D-YCUzYy.mjs → router.mjs} +3 -3
- package/dist/admin/router.mjs.map +1 -0
- package/dist/admin/routes/content-manager/model/components/TableColumns.js +44 -0
- package/dist/admin/routes/content-manager/model/components/TableColumns.js.map +1 -0
- package/dist/admin/routes/content-manager/model/components/TableColumns.mjs +41 -0
- package/dist/admin/routes/content-manager/model/components/TableColumns.mjs.map +1 -0
- package/dist/admin/routes/content-manager/model/constants.js +60 -0
- package/dist/admin/routes/content-manager/model/constants.js.map +1 -0
- package/dist/admin/routes/content-manager/model/constants.mjs +58 -0
- package/dist/admin/routes/content-manager/model/constants.mjs.map +1 -0
- package/dist/admin/routes/content-manager/model/id/components/AssigneeSelect.js +169 -0
- package/dist/admin/routes/content-manager/model/id/components/AssigneeSelect.js.map +1 -0
- package/dist/admin/routes/content-manager/model/id/components/AssigneeSelect.mjs +148 -0
- package/dist/admin/routes/content-manager/model/id/components/AssigneeSelect.mjs.map +1 -0
- package/dist/admin/routes/content-manager/model/id/components/Header.js +31 -0
- package/dist/admin/routes/content-manager/model/id/components/Header.js.map +1 -0
- package/dist/admin/routes/content-manager/model/id/components/Header.mjs +29 -0
- package/dist/admin/routes/content-manager/model/id/components/Header.mjs.map +1 -0
- package/dist/admin/routes/content-manager/model/id/components/Panel.js +39 -0
- package/dist/admin/routes/content-manager/model/id/components/Panel.js.map +1 -0
- package/dist/admin/routes/content-manager/model/id/components/Panel.mjs +37 -0
- package/dist/admin/routes/content-manager/model/id/components/Panel.mjs.map +1 -0
- package/dist/admin/routes/content-manager/model/id/components/StageSelect.js +329 -0
- package/dist/admin/routes/content-manager/model/id/components/StageSelect.js.map +1 -0
- package/dist/admin/routes/content-manager/model/id/components/StageSelect.mjs +308 -0
- package/dist/admin/routes/content-manager/model/id/components/StageSelect.mjs.map +1 -0
- package/dist/admin/routes/content-manager/model/id/components/constants.js +8 -0
- package/dist/admin/routes/content-manager/model/id/components/constants.js.map +1 -0
- package/dist/admin/routes/content-manager/model/id/components/constants.mjs +5 -0
- package/dist/admin/routes/content-manager/model/id/components/constants.mjs.map +1 -0
- package/dist/admin/routes/purchase-review-workflows.js +194 -0
- package/dist/admin/routes/purchase-review-workflows.js.map +1 -0
- package/dist/admin/routes/purchase-review-workflows.mjs +192 -0
- package/dist/admin/routes/purchase-review-workflows.mjs.map +1 -0
- package/dist/admin/routes/settings/components/AddStage.js +51 -0
- package/dist/admin/routes/settings/components/AddStage.js.map +1 -0
- package/dist/admin/routes/settings/components/AddStage.mjs +49 -0
- package/dist/admin/routes/settings/components/AddStage.mjs.map +1 -0
- package/dist/admin/routes/settings/components/Layout.js +86 -0
- package/dist/admin/routes/settings/components/Layout.js.map +1 -0
- package/dist/admin/routes/settings/components/Layout.mjs +82 -0
- package/dist/admin/routes/settings/components/Layout.mjs.map +1 -0
- package/dist/admin/routes/settings/components/StageDragPreview.js +40 -0
- package/dist/admin/routes/settings/components/StageDragPreview.js.map +1 -0
- package/dist/admin/routes/settings/components/StageDragPreview.mjs +38 -0
- package/dist/admin/routes/settings/components/StageDragPreview.mjs.map +1 -0
- package/dist/admin/routes/settings/components/Stages.js +593 -0
- package/dist/admin/routes/settings/components/Stages.js.map +1 -0
- package/dist/admin/routes/settings/components/Stages.mjs +572 -0
- package/dist/admin/routes/settings/components/Stages.mjs.map +1 -0
- package/dist/admin/routes/settings/components/WorkflowAttributes.js +203 -0
- package/dist/admin/routes/settings/components/WorkflowAttributes.js.map +1 -0
- package/dist/admin/routes/settings/components/WorkflowAttributes.mjs +201 -0
- package/dist/admin/routes/settings/components/WorkflowAttributes.mjs.map +1 -0
- package/dist/admin/routes/settings/constants.js +8 -0
- package/dist/admin/routes/settings/constants.js.map +1 -0
- package/dist/admin/routes/settings/constants.mjs +6 -0
- package/dist/admin/routes/settings/constants.mjs.map +1 -0
- package/dist/admin/routes/settings/hooks/useDragAndDrop.js +193 -0
- package/dist/admin/routes/settings/hooks/useDragAndDrop.js.map +1 -0
- package/dist/admin/routes/settings/hooks/useDragAndDrop.mjs +170 -0
- package/dist/admin/routes/settings/hooks/useDragAndDrop.mjs.map +1 -0
- package/dist/admin/routes/settings/hooks/useKeyboardDragAndDrop.js +94 -0
- package/dist/admin/routes/settings/hooks/useKeyboardDragAndDrop.js.map +1 -0
- package/dist/admin/routes/settings/hooks/useKeyboardDragAndDrop.mjs +73 -0
- package/dist/admin/routes/settings/hooks/useKeyboardDragAndDrop.mjs.map +1 -0
- package/dist/admin/{chunks/Layout-C4ri_ldC.js → routes/settings/hooks/useReviewWorkflows.js} +6 -121
- package/dist/admin/routes/settings/hooks/useReviewWorkflows.js.map +1 -0
- package/dist/admin/{chunks/Layout-CF497D6H.mjs → routes/settings/hooks/useReviewWorkflows.mjs} +4 -115
- package/dist/admin/routes/settings/hooks/useReviewWorkflows.mjs.map +1 -0
- package/dist/admin/routes/settings/id.js +404 -0
- package/dist/admin/routes/settings/id.js.map +1 -0
- package/dist/admin/routes/settings/id.mjs +382 -0
- package/dist/admin/routes/settings/id.mjs.map +1 -0
- package/dist/admin/{chunks/index-CCx4kT-t.js → routes/settings/index.js} +15 -15
- package/dist/admin/routes/settings/index.js.map +1 -0
- package/dist/admin/{chunks/index-iChY7MsG.mjs → routes/settings/index.mjs} +7 -7
- package/dist/admin/routes/settings/index.mjs.map +1 -0
- package/dist/admin/services/admin.js +23 -0
- package/dist/admin/services/admin.js.map +1 -0
- package/dist/admin/services/admin.mjs +21 -0
- package/dist/admin/services/admin.mjs.map +1 -0
- package/dist/admin/services/api.js +15 -0
- package/dist/admin/services/api.js.map +1 -0
- package/dist/admin/services/api.mjs +13 -0
- package/dist/admin/services/api.mjs.map +1 -0
- package/dist/admin/services/content-manager.js +101 -0
- package/dist/admin/services/content-manager.js.map +1 -0
- package/dist/admin/services/content-manager.mjs +96 -0
- package/dist/admin/services/content-manager.mjs.map +1 -0
- package/dist/admin/services/settings.js +123 -0
- package/dist/admin/services/settings.js.map +1 -0
- package/dist/admin/services/settings.mjs +118 -0
- package/dist/admin/services/settings.mjs.map +1 -0
- package/dist/admin/{chunks/en-BNGiWajd.js → translations/en.json.js} +2 -2
- package/dist/admin/translations/en.json.js.map +1 -0
- package/dist/admin/{chunks/en-BrZXFtVv.mjs → translations/en.json.mjs} +1 -1
- package/dist/admin/translations/en.json.mjs.map +1 -0
- package/dist/admin/{chunks/uk-CbRUr1I7.js → translations/uk.json.js} +2 -2
- package/dist/admin/translations/uk.json.js.map +1 -0
- package/dist/admin/{chunks/uk-DLlzEBUF.mjs → translations/uk.json.mjs} +1 -1
- package/dist/admin/translations/uk.json.mjs.map +1 -0
- package/dist/admin/utils/api.js +22 -0
- package/dist/admin/utils/api.js.map +1 -0
- package/dist/admin/utils/api.mjs +19 -0
- package/dist/admin/utils/api.mjs.map +1 -0
- package/dist/admin/utils/cm-hooks.js +23 -0
- package/dist/admin/utils/cm-hooks.js.map +1 -0
- package/dist/admin/utils/cm-hooks.mjs +21 -0
- package/dist/admin/utils/cm-hooks.mjs.map +1 -0
- package/dist/admin/utils/colors.js +50 -0
- package/dist/admin/utils/colors.js.map +1 -0
- package/dist/admin/utils/colors.mjs +47 -0
- package/dist/admin/utils/colors.mjs.map +1 -0
- package/dist/admin/utils/translations.js +11 -0
- package/dist/admin/utils/translations.js.map +1 -0
- package/dist/admin/utils/translations.mjs +9 -0
- package/dist/admin/utils/translations.mjs.map +1 -0
- package/dist/admin/utils/users.js +17 -0
- package/dist/admin/utils/users.js.map +1 -0
- package/dist/admin/utils/users.mjs +15 -0
- package/dist/admin/utils/users.mjs.map +1 -0
- package/dist/server/bootstrap.js +54 -0
- package/dist/server/bootstrap.js.map +1 -0
- package/dist/server/bootstrap.mjs +52 -0
- package/dist/server/bootstrap.mjs.map +1 -0
- package/dist/server/config/actions.js +47 -0
- package/dist/server/config/actions.js.map +1 -0
- package/dist/server/config/actions.mjs +45 -0
- package/dist/server/config/actions.mjs.map +1 -0
- package/dist/server/constants/default-stages.json.js +23 -0
- package/dist/server/constants/default-stages.json.js.map +1 -0
- package/dist/server/constants/default-stages.json.mjs +21 -0
- package/dist/server/constants/default-stages.json.mjs.map +1 -0
- package/dist/server/constants/default-workflow.json.js +12 -0
- package/dist/server/constants/default-workflow.json.js.map +1 -0
- package/dist/server/constants/default-workflow.json.mjs +7 -0
- package/dist/server/constants/default-workflow.json.mjs.map +1 -0
- package/dist/server/constants/webhook-events.js +12 -0
- package/dist/server/constants/webhook-events.js.map +1 -0
- package/dist/server/constants/webhook-events.mjs +7 -0
- package/dist/server/constants/webhook-events.mjs.map +1 -0
- package/dist/server/constants/workflows.js +53 -0
- package/dist/server/constants/workflows.js.map +1 -0
- package/dist/server/constants/workflows.mjs +42 -0
- package/dist/server/constants/workflows.mjs.map +1 -0
- package/dist/server/content-types/index.js +12 -0
- package/dist/server/content-types/index.js.map +1 -0
- package/dist/server/content-types/index.mjs +10 -0
- package/dist/server/content-types/index.mjs.map +1 -0
- package/dist/server/content-types/workflow/index.js +50 -0
- package/dist/server/content-types/workflow/index.js.map +1 -0
- package/dist/server/content-types/workflow/index.mjs +48 -0
- package/dist/server/content-types/workflow/index.mjs.map +1 -0
- package/dist/server/content-types/workflow-stage/index.js +54 -0
- package/dist/server/content-types/workflow-stage/index.js.map +1 -0
- package/dist/server/content-types/workflow-stage/index.mjs +52 -0
- package/dist/server/content-types/workflow-stage/index.mjs.map +1 -0
- package/dist/server/controllers/assignees.js +57 -0
- package/dist/server/controllers/assignees.js.map +1 -0
- package/dist/server/controllers/assignees.mjs +55 -0
- package/dist/server/controllers/assignees.mjs.map +1 -0
- package/dist/server/controllers/index.js +14 -0
- package/dist/server/controllers/index.js.map +1 -0
- package/dist/server/controllers/index.mjs +12 -0
- package/dist/server/controllers/index.mjs.map +1 -0
- package/dist/server/controllers/stages.js +167 -0
- package/dist/server/controllers/stages.js.map +1 -0
- package/dist/server/controllers/stages.mjs +165 -0
- package/dist/server/controllers/stages.mjs.map +1 -0
- package/dist/server/controllers/workflows.js +136 -0
- package/dist/server/controllers/workflows.js.map +1 -0
- package/dist/server/controllers/workflows.mjs +134 -0
- package/dist/server/controllers/workflows.mjs.map +1 -0
- package/dist/server/destroy.js +6 -0
- package/dist/server/destroy.js.map +1 -0
- package/dist/server/destroy.mjs +4 -0
- package/dist/server/destroy.mjs.map +1 -0
- package/dist/server/index.js +12 -2333
- package/dist/server/index.js.map +1 -1
- package/dist/server/index.mjs +7 -2328
- package/dist/server/index.mjs.map +1 -1
- package/dist/server/middlewares/review-workflows.js +42 -0
- package/dist/server/middlewares/review-workflows.js.map +1 -0
- package/dist/server/middlewares/review-workflows.mjs +37 -0
- package/dist/server/middlewares/review-workflows.mjs.map +1 -0
- package/dist/server/migrations/handle-deleted-ct-in-workflows.js +40 -0
- package/dist/server/migrations/handle-deleted-ct-in-workflows.js.map +1 -0
- package/dist/server/migrations/handle-deleted-ct-in-workflows.mjs +38 -0
- package/dist/server/migrations/handle-deleted-ct-in-workflows.mjs.map +1 -0
- package/dist/server/migrations/multiple-workflows.js +41 -0
- package/dist/server/migrations/multiple-workflows.js.map +1 -0
- package/dist/server/migrations/multiple-workflows.mjs +39 -0
- package/dist/server/migrations/multiple-workflows.mjs.map +1 -0
- package/dist/server/migrations/set-stages-default-color.js +22 -0
- package/dist/server/migrations/set-stages-default-color.js.map +1 -0
- package/dist/server/migrations/set-stages-default-color.mjs +20 -0
- package/dist/server/migrations/set-stages-default-color.mjs.map +1 -0
- package/dist/server/migrations/set-stages-roles.js +56 -0
- package/dist/server/migrations/set-stages-roles.js.map +1 -0
- package/dist/server/migrations/set-stages-roles.mjs +54 -0
- package/dist/server/migrations/set-stages-roles.mjs.map +1 -0
- package/dist/server/migrations/set-workflow-default-name.js +29 -0
- package/dist/server/migrations/set-workflow-default-name.js.map +1 -0
- package/dist/server/migrations/set-workflow-default-name.mjs +27 -0
- package/dist/server/migrations/set-workflow-default-name.mjs.map +1 -0
- package/dist/server/migrations/shorten-stage-attribute.js +45 -0
- package/dist/server/migrations/shorten-stage-attribute.js.map +1 -0
- package/dist/server/migrations/shorten-stage-attribute.mjs +43 -0
- package/dist/server/migrations/shorten-stage-attribute.mjs.map +1 -0
- package/dist/server/register.js +116 -0
- package/dist/server/register.js.map +1 -0
- package/dist/server/register.mjs +114 -0
- package/dist/server/register.mjs.map +1 -0
- package/dist/server/routes/index.js +10 -0
- package/dist/server/routes/index.js.map +1 -0
- package/dist/server/routes/index.mjs +8 -0
- package/dist/server/routes/index.mjs.map +1 -0
- package/dist/server/routes/review-workflows.js +186 -0
- package/dist/server/routes/review-workflows.js.map +1 -0
- package/dist/server/routes/review-workflows.mjs +184 -0
- package/dist/server/routes/review-workflows.mjs.map +1 -0
- package/dist/server/routes/utils.js +11 -0
- package/dist/server/routes/utils.js.map +1 -0
- package/dist/server/routes/utils.mjs +9 -0
- package/dist/server/routes/utils.mjs.map +1 -0
- package/dist/server/services/assignees.js +68 -0
- package/dist/server/services/assignees.js.map +1 -0
- package/dist/server/services/assignees.mjs +66 -0
- package/dist/server/services/assignees.mjs.map +1 -0
- package/dist/server/services/document-service-middleware.js +130 -0
- package/dist/server/services/document-service-middleware.js.map +1 -0
- package/dist/server/services/document-service-middleware.mjs +128 -0
- package/dist/server/services/document-service-middleware.mjs.map +1 -0
- package/dist/server/services/index.js +24 -0
- package/dist/server/services/index.js.map +1 -0
- package/dist/server/services/index.mjs +22 -0
- package/dist/server/services/index.mjs.map +1 -0
- package/dist/server/services/metrics/index.js +67 -0
- package/dist/server/services/metrics/index.js.map +1 -0
- package/dist/server/services/metrics/index.mjs +55 -0
- package/dist/server/services/metrics/index.mjs.map +1 -0
- package/dist/server/services/metrics/weekly-metrics.js +84 -0
- package/dist/server/services/metrics/weekly-metrics.js.map +1 -0
- package/dist/server/services/metrics/weekly-metrics.mjs +82 -0
- package/dist/server/services/metrics/weekly-metrics.mjs.map +1 -0
- package/dist/server/services/stage-permissions.js +59 -0
- package/dist/server/services/stage-permissions.js.map +1 -0
- package/dist/server/services/stage-permissions.mjs +57 -0
- package/dist/server/services/stage-permissions.mjs.map +1 -0
- package/dist/server/services/stages.js +353 -0
- package/dist/server/services/stages.js.map +1 -0
- package/dist/server/services/stages.mjs +351 -0
- package/dist/server/services/stages.mjs.map +1 -0
- package/dist/server/services/validation.js +69 -0
- package/dist/server/services/validation.js.map +1 -0
- package/dist/server/services/validation.mjs +67 -0
- package/dist/server/services/validation.mjs.map +1 -0
- package/dist/server/services/workflow-content-types.js +90 -0
- package/dist/server/services/workflow-content-types.js.map +1 -0
- package/dist/server/services/workflow-content-types.mjs +88 -0
- package/dist/server/services/workflow-content-types.mjs.map +1 -0
- package/dist/server/services/workflows.js +279 -0
- package/dist/server/services/workflows.js.map +1 -0
- package/dist/server/services/workflows.mjs +277 -0
- package/dist/server/services/workflows.mjs.map +1 -0
- package/dist/server/utils/index.js +16 -0
- package/dist/server/utils/index.js.map +1 -0
- package/dist/server/utils/index.mjs +13 -0
- package/dist/server/utils/index.mjs.map +1 -0
- package/dist/server/utils/review-workflows.js +36 -0
- package/dist/server/utils/review-workflows.js.map +1 -0
- package/dist/server/utils/review-workflows.mjs +30 -0
- package/dist/server/utils/review-workflows.mjs.map +1 -0
- package/dist/server/validation/review-workflows.js +71 -0
- package/dist/server/validation/review-workflows.js.map +1 -0
- package/dist/server/validation/review-workflows.mjs +65 -0
- package/dist/server/validation/review-workflows.mjs.map +1 -0
- package/package.json +5 -5
- package/dist/admin/chunks/Layout-C4ri_ldC.js.map +0 -1
- package/dist/admin/chunks/Layout-CF497D6H.mjs.map +0 -1
- package/dist/admin/chunks/en-BNGiWajd.js.map +0 -1
- package/dist/admin/chunks/en-BrZXFtVv.mjs.map +0 -1
- package/dist/admin/chunks/id-DVOtqJqn.js +0 -1442
- package/dist/admin/chunks/id-DVOtqJqn.js.map +0 -1
- package/dist/admin/chunks/id-QD0V9dME.mjs +0 -1420
- package/dist/admin/chunks/id-QD0V9dME.mjs.map +0 -1
- package/dist/admin/chunks/index-CCx4kT-t.js.map +0 -1
- package/dist/admin/chunks/index-CzdEqFOm.js.map +0 -1
- package/dist/admin/chunks/index-DcEF47R4.mjs.map +0 -1
- package/dist/admin/chunks/index-iChY7MsG.mjs.map +0 -1
- package/dist/admin/chunks/purchase-review-workflows-4n0KXAeo.mjs.map +0 -1
- package/dist/admin/chunks/purchase-review-workflows-BDLncDcz.js.map +0 -1
- package/dist/admin/chunks/router-ChVwf8TN.js.map +0 -1
- package/dist/admin/chunks/router-D-YCUzYy.mjs.map +0 -1
- package/dist/admin/chunks/uk-CbRUr1I7.js.map +0 -1
- package/dist/admin/chunks/uk-DLlzEBUF.mjs.map +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"router.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":["ProtectedListPage","lazy","then","mod","default","ProtectedEditPage","routes","path","Component","Router","_jsx","Routes","map","route","Route"],"mappings":";;;;AAKA,MAAMA,iBAAAA,iBAAoBC,IAAK,CAAA,IAC7B,OAAO,+BAAqBC,IAAI,CAAC,CAACC,GAAAA,IAAS;AAAEC,YAAAA,OAAAA,EAASD,IAAIH;SAAkB,CAAA,CAAA,CAAA;AAE9E,MAAMK,iBAAAA,iBAAoBJ,IAAK,CAAA,IAC7B,OAAO,4BAAwBC,IAAI,CAAC,CAACC,GAAAA,IAAS;AAAEC,YAAAA,OAAAA,EAASD,IAAIE;SAAkB,CAAA,CAAA,CAAA;AAGjF,MAAMC,MAA2B,GAAA;AAC/B,IAAA;QACEC,IAAM,EAAA,GAAA;QACNC,SAAWR,EAAAA;AACb,KAAA;AACA,IAAA;QACEO,IAAM,EAAA,KAAA;QACNC,SAAWH,EAAAA;AACb;AACD,CAAA;AAEKI,MAAAA,MAAAA,GAAS,kBACbC,GAACC,CAAAA,MAAAA,EAAAA;AACEL,QAAAA,QAAAA,EAAAA,MAAAA,CAAOM,GAAG,CAAC,CAACC,KAAAA,iBACXH,GAACI,CAAAA,KAAAA,EAAAA;AAAwB,gBAAA,GAAGD;AAAhBA,aAAAA,EAAAA,KAAAA,CAAMN,IAAI,CAAA;;;;;"}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var jsxRuntime = require('react/jsx-runtime');
|
|
4
|
+
var designSystem = require('@strapi/design-system');
|
|
5
|
+
var constants = require('../../../../constants.js');
|
|
6
|
+
var colors = require('../../../../utils/colors.js');
|
|
7
|
+
var users = require('../../../../utils/users.js');
|
|
8
|
+
|
|
9
|
+
const StageColumn = (props)=>{
|
|
10
|
+
const { color = constants.STAGE_COLOR_DEFAULT, name } = props.strapi_stage ?? {};
|
|
11
|
+
const { themeColorName } = colors.getStageColorByHex(color) ?? {};
|
|
12
|
+
return /*#__PURE__*/ jsxRuntime.jsxs(designSystem.Flex, {
|
|
13
|
+
alignItems: "center",
|
|
14
|
+
gap: 2,
|
|
15
|
+
maxWidth: "30rem",
|
|
16
|
+
children: [
|
|
17
|
+
/*#__PURE__*/ jsxRuntime.jsx(designSystem.Box, {
|
|
18
|
+
height: 2,
|
|
19
|
+
background: color,
|
|
20
|
+
borderColor: themeColorName === 'neutral0' ? 'neutral150' : undefined,
|
|
21
|
+
hasRadius: true,
|
|
22
|
+
shrink: 0,
|
|
23
|
+
width: 2
|
|
24
|
+
}),
|
|
25
|
+
/*#__PURE__*/ jsxRuntime.jsx(designSystem.Typography, {
|
|
26
|
+
fontWeight: "regular",
|
|
27
|
+
textColor: "neutral700",
|
|
28
|
+
ellipsis: true,
|
|
29
|
+
children: name
|
|
30
|
+
})
|
|
31
|
+
]
|
|
32
|
+
});
|
|
33
|
+
};
|
|
34
|
+
const AssigneeColumn = (props)=>{
|
|
35
|
+
const { strapi_assignee: user } = props;
|
|
36
|
+
return /*#__PURE__*/ jsxRuntime.jsx(designSystem.Typography, {
|
|
37
|
+
textColor: "neutral800",
|
|
38
|
+
children: user ? users.getDisplayName(user) : '-'
|
|
39
|
+
});
|
|
40
|
+
};
|
|
41
|
+
|
|
42
|
+
exports.AssigneeColumn = AssigneeColumn;
|
|
43
|
+
exports.StageColumn = StageColumn;
|
|
44
|
+
//# sourceMappingURL=TableColumns.js.map
|
|
@@ -0,0 +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';\n\nimport { STAGE_COLOR_DEFAULT } from '../../../../constants';\nimport { getStageColorByHex } from '../../../../utils/colors';\nimport { getDisplayName } from '../../../../utils/users';\n\ninterface StageColumnProps {\n documentId?: string;\n id?: number;\n strapi_stage?: {\n color?: string;\n name: string;\n };\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 documentId?: string;\n id?: number;\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":";;;;;;;;AAgBA,MAAMA,cAAc,CAACC,KAAAA,GAAAA;IACnB,MAAM,EAAEC,KAAQC,GAAAA,6BAAmB,EAAEC,IAAI,EAAE,GAAGH,KAAAA,CAAMI,YAAY,IAAI,EAAC;AACrE,IAAA,MAAM,EAAEC,cAAc,EAAE,GAAGC,yBAAAA,CAAmBL,UAAU,EAAC;AAEzD,IAAA,qBACEM,eAACC,CAAAA,iBAAAA,EAAAA;QAAKC,UAAW,EAAA,QAAA;QAASC,GAAK,EAAA,CAAA;QAAGC,QAAS,EAAA,OAAA;;0BACzCC,cAACC,CAAAA,gBAAAA,EAAAA;gBACCC,MAAQ,EAAA,CAAA;gBACRC,UAAYd,EAAAA,KAAAA;gBACZe,WAAaX,EAAAA,cAAAA,KAAmB,aAAa,YAAeY,GAAAA,SAAAA;gBAC5DC,SAAS,EAAA,IAAA;gBACTC,MAAQ,EAAA,CAAA;gBACRC,KAAO,EAAA;;0BAGTR,cAACS,CAAAA,uBAAAA,EAAAA;gBAAWC,UAAW,EAAA,SAAA;gBAAUC,SAAU,EAAA,YAAA;gBAAaC,QAAQ,EAAA,IAAA;AAC7DrB,gBAAAA,QAAAA,EAAAA;;;;AAIT;AAWA,MAAMsB,iBAAiB,CAACzB,KAAAA,GAAAA;AACtB,IAAA,MAAM,EAAE0B,eAAAA,EAAiBC,IAAI,EAAE,GAAG3B,KAAAA;AAClC,IAAA,qBAAOY,cAACS,CAAAA,uBAAAA,EAAAA;QAAWE,SAAU,EAAA,YAAA;AAAcI,QAAAA,QAAAA,EAAAA,IAAAA,GAAOC,qBAAeD,IAAQ,CAAA,GAAA;;AAC3E;;;;;"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import { jsxs, jsx } from 'react/jsx-runtime';
|
|
2
|
+
import { Flex, Box, Typography } from '@strapi/design-system';
|
|
3
|
+
import { STAGE_COLOR_DEFAULT } from '../../../../constants.mjs';
|
|
4
|
+
import { getStageColorByHex } from '../../../../utils/colors.mjs';
|
|
5
|
+
import { getDisplayName } from '../../../../utils/users.mjs';
|
|
6
|
+
|
|
7
|
+
const StageColumn = (props)=>{
|
|
8
|
+
const { color = STAGE_COLOR_DEFAULT, name } = props.strapi_stage ?? {};
|
|
9
|
+
const { themeColorName } = getStageColorByHex(color) ?? {};
|
|
10
|
+
return /*#__PURE__*/ jsxs(Flex, {
|
|
11
|
+
alignItems: "center",
|
|
12
|
+
gap: 2,
|
|
13
|
+
maxWidth: "30rem",
|
|
14
|
+
children: [
|
|
15
|
+
/*#__PURE__*/ jsx(Box, {
|
|
16
|
+
height: 2,
|
|
17
|
+
background: color,
|
|
18
|
+
borderColor: themeColorName === 'neutral0' ? 'neutral150' : undefined,
|
|
19
|
+
hasRadius: true,
|
|
20
|
+
shrink: 0,
|
|
21
|
+
width: 2
|
|
22
|
+
}),
|
|
23
|
+
/*#__PURE__*/ jsx(Typography, {
|
|
24
|
+
fontWeight: "regular",
|
|
25
|
+
textColor: "neutral700",
|
|
26
|
+
ellipsis: true,
|
|
27
|
+
children: name
|
|
28
|
+
})
|
|
29
|
+
]
|
|
30
|
+
});
|
|
31
|
+
};
|
|
32
|
+
const AssigneeColumn = (props)=>{
|
|
33
|
+
const { strapi_assignee: user } = props;
|
|
34
|
+
return /*#__PURE__*/ jsx(Typography, {
|
|
35
|
+
textColor: "neutral800",
|
|
36
|
+
children: user ? getDisplayName(user) : '-'
|
|
37
|
+
});
|
|
38
|
+
};
|
|
39
|
+
|
|
40
|
+
export { AssigneeColumn, StageColumn };
|
|
41
|
+
//# sourceMappingURL=TableColumns.mjs.map
|
|
@@ -0,0 +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';\n\nimport { STAGE_COLOR_DEFAULT } from '../../../../constants';\nimport { getStageColorByHex } from '../../../../utils/colors';\nimport { getDisplayName } from '../../../../utils/users';\n\ninterface StageColumnProps {\n documentId?: string;\n id?: number;\n strapi_stage?: {\n color?: string;\n name: string;\n };\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 documentId?: string;\n id?: number;\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":";;;;;;AAgBA,MAAMA,cAAc,CAACC,KAAAA,GAAAA;IACnB,MAAM,EAAEC,KAAQC,GAAAA,mBAAmB,EAAEC,IAAI,EAAE,GAAGH,KAAAA,CAAMI,YAAY,IAAI,EAAC;AACrE,IAAA,MAAM,EAAEC,cAAc,EAAE,GAAGC,kBAAAA,CAAmBL,UAAU,EAAC;AAEzD,IAAA,qBACEM,IAACC,CAAAA,IAAAA,EAAAA;QAAKC,UAAW,EAAA,QAAA;QAASC,GAAK,EAAA,CAAA;QAAGC,QAAS,EAAA,OAAA;;0BACzCC,GAACC,CAAAA,GAAAA,EAAAA;gBACCC,MAAQ,EAAA,CAAA;gBACRC,UAAYd,EAAAA,KAAAA;gBACZe,WAAaX,EAAAA,cAAAA,KAAmB,aAAa,YAAeY,GAAAA,SAAAA;gBAC5DC,SAAS,EAAA,IAAA;gBACTC,MAAQ,EAAA,CAAA;gBACRC,KAAO,EAAA;;0BAGTR,GAACS,CAAAA,UAAAA,EAAAA;gBAAWC,UAAW,EAAA,SAAA;gBAAUC,SAAU,EAAA,YAAA;gBAAaC,QAAQ,EAAA,IAAA;AAC7DrB,gBAAAA,QAAAA,EAAAA;;;;AAIT;AAWA,MAAMsB,iBAAiB,CAACzB,KAAAA,GAAAA;AACtB,IAAA,MAAM,EAAE0B,eAAAA,EAAiBC,IAAI,EAAE,GAAG3B,KAAAA;AAClC,IAAA,qBAAOY,GAACS,CAAAA,UAAAA,EAAAA;QAAWE,SAAU,EAAA,YAAA;AAAcI,QAAAA,QAAAA,EAAAA,IAAAA,GAAOC,eAAeD,IAAQ,CAAA,GAAA;;AAC3E;;;;"}
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var jsxRuntime = require('react/jsx-runtime');
|
|
4
|
+
require('react');
|
|
5
|
+
require('@strapi/admin/strapi-admin');
|
|
6
|
+
require('@strapi/design-system');
|
|
7
|
+
require('react-intl');
|
|
8
|
+
require('react-router-dom');
|
|
9
|
+
require('../../../utils/colors.js');
|
|
10
|
+
require('../../../services/settings.js');
|
|
11
|
+
var TableColumns = require('./components/TableColumns.js');
|
|
12
|
+
var constants = require('./id/components/constants.js');
|
|
13
|
+
|
|
14
|
+
const REVIEW_WORKFLOW_COLUMNS = [
|
|
15
|
+
{
|
|
16
|
+
name: constants.STAGE_ATTRIBUTE_NAME,
|
|
17
|
+
attribute: {
|
|
18
|
+
type: 'relation',
|
|
19
|
+
relation: 'oneToMany',
|
|
20
|
+
target: 'admin::review-workflow-stage'
|
|
21
|
+
},
|
|
22
|
+
label: {
|
|
23
|
+
id: 'review-workflows.containers.list.table-headers.reviewWorkflows.stage',
|
|
24
|
+
defaultMessage: 'Review stage'
|
|
25
|
+
},
|
|
26
|
+
searchable: false,
|
|
27
|
+
sortable: true,
|
|
28
|
+
mainField: {
|
|
29
|
+
name: 'name',
|
|
30
|
+
type: 'string'
|
|
31
|
+
},
|
|
32
|
+
cellFormatter: (props)=>/*#__PURE__*/ jsxRuntime.jsx(TableColumns.StageColumn, {
|
|
33
|
+
...props
|
|
34
|
+
})
|
|
35
|
+
},
|
|
36
|
+
{
|
|
37
|
+
name: constants.ASSIGNEE_ATTRIBUTE_NAME,
|
|
38
|
+
attribute: {
|
|
39
|
+
type: 'relation',
|
|
40
|
+
target: 'admin::user',
|
|
41
|
+
relation: 'oneToMany'
|
|
42
|
+
},
|
|
43
|
+
label: {
|
|
44
|
+
id: 'review-workflows.containers.list.table-headers.reviewWorkflows.assignee',
|
|
45
|
+
defaultMessage: 'Assignee'
|
|
46
|
+
},
|
|
47
|
+
searchable: false,
|
|
48
|
+
sortable: true,
|
|
49
|
+
mainField: {
|
|
50
|
+
name: 'firstname',
|
|
51
|
+
type: 'string'
|
|
52
|
+
},
|
|
53
|
+
cellFormatter: (props)=>/*#__PURE__*/ jsxRuntime.jsx(TableColumns.AssigneeColumn, {
|
|
54
|
+
...props
|
|
55
|
+
})
|
|
56
|
+
}
|
|
57
|
+
];
|
|
58
|
+
|
|
59
|
+
exports.REVIEW_WORKFLOW_COLUMNS = REVIEW_WORKFLOW_COLUMNS;
|
|
60
|
+
//# sourceMappingURL=constants.js.map
|
|
@@ -0,0 +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 {...props} />,\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 {...props} />,\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: 'review-workflows.containers.list.table-headers.reviewWorkflows.assignee.label',\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","ASSIGNEE_ATTRIBUTE_NAME","AssigneeColumn"],"mappings":";;;;;;;;;;;;;MASaA,uBAA0B,GAAA;AACrC,IAAA;QACEC,IAAMC,EAAAA,8BAAAA;QACNC,SAAW,EAAA;YACTC,IAAM,EAAA,UAAA;YACNC,QAAU,EAAA,WAAA;YACVC,MAAQ,EAAA;AACV,SAAA;QACAC,KAAO,EAAA;YACLC,EAAI,EAAA,sEAAA;YACJC,cAAgB,EAAA;AAClB,SAAA;QACAC,UAAY,EAAA,KAAA;QACZC,QAAU,EAAA,IAAA;QACVC,SAAW,EAAA;YACTX,IAAM,EAAA,MAAA;YACNG,IAAM,EAAA;AACR,SAAA;QACAS,aAAe,EAAA,CAACC,sBAAUC,cAACC,CAAAA,wBAAAA,EAAAA;AAAa,gBAAA,GAAGF;;AAC7C,KAAA;AACA,IAAA;QACEb,IAAMgB,EAAAA,iCAAAA;QACNd,SAAW,EAAA;YACTC,IAAM,EAAA,UAAA;YACNE,MAAQ,EAAA,aAAA;YACRD,QAAU,EAAA;AACZ,SAAA;QACAE,KAAO,EAAA;YACLC,EAAI,EAAA,yEAAA;YACJC,cAAgB,EAAA;AAClB,SAAA;QACAC,UAAY,EAAA,KAAA;QACZC,QAAU,EAAA,IAAA;QACVC,SAAW,EAAA;YACTX,IAAM,EAAA,WAAA;YACNG,IAAM,EAAA;AACR,SAAA;QACAS,aAAe,EAAA,CAACC,sBAAUC,cAACG,CAAAA,2BAAAA,EAAAA;AAAgB,gBAAA,GAAGJ;;AAChD;;;;;"}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import { jsx } from 'react/jsx-runtime';
|
|
2
|
+
import 'react';
|
|
3
|
+
import '@strapi/admin/strapi-admin';
|
|
4
|
+
import '@strapi/design-system';
|
|
5
|
+
import 'react-intl';
|
|
6
|
+
import 'react-router-dom';
|
|
7
|
+
import '../../../utils/colors.mjs';
|
|
8
|
+
import '../../../services/settings.mjs';
|
|
9
|
+
import { StageColumn, AssigneeColumn } from './components/TableColumns.mjs';
|
|
10
|
+
import { STAGE_ATTRIBUTE_NAME, ASSIGNEE_ATTRIBUTE_NAME } from './id/components/constants.mjs';
|
|
11
|
+
|
|
12
|
+
const REVIEW_WORKFLOW_COLUMNS = [
|
|
13
|
+
{
|
|
14
|
+
name: STAGE_ATTRIBUTE_NAME,
|
|
15
|
+
attribute: {
|
|
16
|
+
type: 'relation',
|
|
17
|
+
relation: 'oneToMany',
|
|
18
|
+
target: 'admin::review-workflow-stage'
|
|
19
|
+
},
|
|
20
|
+
label: {
|
|
21
|
+
id: 'review-workflows.containers.list.table-headers.reviewWorkflows.stage',
|
|
22
|
+
defaultMessage: 'Review stage'
|
|
23
|
+
},
|
|
24
|
+
searchable: false,
|
|
25
|
+
sortable: true,
|
|
26
|
+
mainField: {
|
|
27
|
+
name: 'name',
|
|
28
|
+
type: 'string'
|
|
29
|
+
},
|
|
30
|
+
cellFormatter: (props)=>/*#__PURE__*/ jsx(StageColumn, {
|
|
31
|
+
...props
|
|
32
|
+
})
|
|
33
|
+
},
|
|
34
|
+
{
|
|
35
|
+
name: ASSIGNEE_ATTRIBUTE_NAME,
|
|
36
|
+
attribute: {
|
|
37
|
+
type: 'relation',
|
|
38
|
+
target: 'admin::user',
|
|
39
|
+
relation: 'oneToMany'
|
|
40
|
+
},
|
|
41
|
+
label: {
|
|
42
|
+
id: 'review-workflows.containers.list.table-headers.reviewWorkflows.assignee',
|
|
43
|
+
defaultMessage: 'Assignee'
|
|
44
|
+
},
|
|
45
|
+
searchable: false,
|
|
46
|
+
sortable: true,
|
|
47
|
+
mainField: {
|
|
48
|
+
name: 'firstname',
|
|
49
|
+
type: 'string'
|
|
50
|
+
},
|
|
51
|
+
cellFormatter: (props)=>/*#__PURE__*/ jsx(AssigneeColumn, {
|
|
52
|
+
...props
|
|
53
|
+
})
|
|
54
|
+
}
|
|
55
|
+
];
|
|
56
|
+
|
|
57
|
+
export { REVIEW_WORKFLOW_COLUMNS };
|
|
58
|
+
//# sourceMappingURL=constants.mjs.map
|
|
@@ -0,0 +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 {...props} />,\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 {...props} />,\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: 'review-workflows.containers.list.table-headers.reviewWorkflows.assignee.label',\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","ASSIGNEE_ATTRIBUTE_NAME","AssigneeColumn"],"mappings":";;;;;;;;;;;MASaA,uBAA0B,GAAA;AACrC,IAAA;QACEC,IAAMC,EAAAA,oBAAAA;QACNC,SAAW,EAAA;YACTC,IAAM,EAAA,UAAA;YACNC,QAAU,EAAA,WAAA;YACVC,MAAQ,EAAA;AACV,SAAA;QACAC,KAAO,EAAA;YACLC,EAAI,EAAA,sEAAA;YACJC,cAAgB,EAAA;AAClB,SAAA;QACAC,UAAY,EAAA,KAAA;QACZC,QAAU,EAAA,IAAA;QACVC,SAAW,EAAA;YACTX,IAAM,EAAA,MAAA;YACNG,IAAM,EAAA;AACR,SAAA;QACAS,aAAe,EAAA,CAACC,sBAAUC,GAACC,CAAAA,WAAAA,EAAAA;AAAa,gBAAA,GAAGF;;AAC7C,KAAA;AACA,IAAA;QACEb,IAAMgB,EAAAA,uBAAAA;QACNd,SAAW,EAAA;YACTC,IAAM,EAAA,UAAA;YACNE,MAAQ,EAAA,aAAA;YACRD,QAAU,EAAA;AACZ,SAAA;QACAE,KAAO,EAAA;YACLC,EAAI,EAAA,yEAAA;YACJC,cAAgB,EAAA;AAClB,SAAA;QACAC,UAAY,EAAA,KAAA;QACZC,QAAU,EAAA,IAAA;QACVC,SAAW,EAAA;YACTX,IAAM,EAAA,WAAA;YACNG,IAAM,EAAA;AACR,SAAA;QACAS,aAAe,EAAA,CAACC,sBAAUC,GAACG,CAAAA,cAAAA,EAAAA;AAAgB,gBAAA,GAAGJ;;AAChD;;;;;"}
|
|
@@ -0,0 +1,169 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var jsxRuntime = require('react/jsx-runtime');
|
|
4
|
+
var React = require('react');
|
|
5
|
+
var strapiAdmin = require('@strapi/admin/strapi-admin');
|
|
6
|
+
var strapiAdmin$1 = require('@strapi/content-manager/strapi-admin');
|
|
7
|
+
var designSystem = require('@strapi/design-system');
|
|
8
|
+
var reactIntl = require('react-intl');
|
|
9
|
+
var reactRouterDom = require('react-router-dom');
|
|
10
|
+
var hooks = require('../../../../../modules/hooks.js');
|
|
11
|
+
var contentManager = require('../../../../../services/content-manager.js');
|
|
12
|
+
var api = require('../../../../../utils/api.js');
|
|
13
|
+
var users = require('../../../../../utils/users.js');
|
|
14
|
+
var constants = require('./constants.js');
|
|
15
|
+
|
|
16
|
+
function _interopNamespaceDefault(e) {
|
|
17
|
+
var n = Object.create(null);
|
|
18
|
+
if (e) {
|
|
19
|
+
Object.keys(e).forEach(function (k) {
|
|
20
|
+
if (k !== 'default') {
|
|
21
|
+
var d = Object.getOwnPropertyDescriptor(e, k);
|
|
22
|
+
Object.defineProperty(n, k, d.get ? d : {
|
|
23
|
+
enumerable: true,
|
|
24
|
+
get: function () { return e[k]; }
|
|
25
|
+
});
|
|
26
|
+
}
|
|
27
|
+
});
|
|
28
|
+
}
|
|
29
|
+
n.default = e;
|
|
30
|
+
return Object.freeze(n);
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
var React__namespace = /*#__PURE__*/_interopNamespaceDefault(React);
|
|
34
|
+
|
|
35
|
+
const AssigneeSelect = ({ isCompact })=>{
|
|
36
|
+
const { collectionType = '', id, slug: model = '' } = reactRouterDom.useParams();
|
|
37
|
+
const permissions = hooks.useTypedSelector((state)=>state.admin_app.permissions);
|
|
38
|
+
const { formatMessage } = reactIntl.useIntl();
|
|
39
|
+
const { _unstableFormatAPIError: formatAPIError } = strapiAdmin.useAPIErrorHandler();
|
|
40
|
+
const { toggleNotification } = strapiAdmin.useNotification();
|
|
41
|
+
const { allowedActions: { canRead }, isLoading: isLoadingPermissions } = strapiAdmin.useRBAC(permissions.settings?.users);
|
|
42
|
+
const [{ query }] = strapiAdmin.useQueryParams();
|
|
43
|
+
const params = React__namespace.useMemo(()=>api.buildValidParams(query), [
|
|
44
|
+
query
|
|
45
|
+
]);
|
|
46
|
+
const { data, isLoading: isLoadingUsers, isError } = strapiAdmin.useAdminUsers(undefined, {
|
|
47
|
+
skip: isLoadingPermissions || !canRead
|
|
48
|
+
});
|
|
49
|
+
const { document } = strapiAdmin$1.unstable_useDocument({
|
|
50
|
+
collectionType,
|
|
51
|
+
model,
|
|
52
|
+
documentId: id
|
|
53
|
+
}, {
|
|
54
|
+
skip: !id && collectionType !== 'single-types'
|
|
55
|
+
});
|
|
56
|
+
const users$1 = data?.users || [];
|
|
57
|
+
const currentAssignee = document ? document[constants.ASSIGNEE_ATTRIBUTE_NAME] : null;
|
|
58
|
+
const [updateAssignee, { error, isLoading: isMutating }] = contentManager.useUpdateAssigneeMutation();
|
|
59
|
+
if (!collectionType || !model || !document?.documentId) {
|
|
60
|
+
return null;
|
|
61
|
+
}
|
|
62
|
+
const handleChange = async (assigneeId)=>{
|
|
63
|
+
// a simple way to avoid erroneous updates
|
|
64
|
+
if (currentAssignee?.id === assigneeId) {
|
|
65
|
+
return;
|
|
66
|
+
}
|
|
67
|
+
const res = await updateAssignee({
|
|
68
|
+
slug: collectionType,
|
|
69
|
+
model,
|
|
70
|
+
id: document.documentId,
|
|
71
|
+
params,
|
|
72
|
+
data: {
|
|
73
|
+
id: assigneeId ? parseInt(assigneeId, 10) : null
|
|
74
|
+
}
|
|
75
|
+
});
|
|
76
|
+
if ('data' in res) {
|
|
77
|
+
toggleNotification({
|
|
78
|
+
type: 'success',
|
|
79
|
+
message: formatMessage({
|
|
80
|
+
id: 'content-manager.reviewWorkflows.assignee.notification.saved',
|
|
81
|
+
defaultMessage: 'Assignee updated'
|
|
82
|
+
})
|
|
83
|
+
});
|
|
84
|
+
}
|
|
85
|
+
if (isCompact && 'error' in res) {
|
|
86
|
+
toggleNotification({
|
|
87
|
+
type: 'danger',
|
|
88
|
+
message: formatAPIError(res.error)
|
|
89
|
+
});
|
|
90
|
+
}
|
|
91
|
+
};
|
|
92
|
+
const isDisabled = !isLoadingPermissions && !isLoadingUsers && users$1.length === 0 || !document.documentId;
|
|
93
|
+
const isLoading = isLoadingUsers || isLoadingPermissions || isMutating;
|
|
94
|
+
const assigneeLabel = formatMessage({
|
|
95
|
+
id: 'content-manager.reviewWorkflows.assignee.label',
|
|
96
|
+
defaultMessage: 'Assignee'
|
|
97
|
+
});
|
|
98
|
+
const assigneeClearLabel = formatMessage({
|
|
99
|
+
id: 'content-manager.reviewWorkflows.assignee.clear',
|
|
100
|
+
defaultMessage: 'Clear assignee'
|
|
101
|
+
});
|
|
102
|
+
const assigneePlaceholder = formatMessage({
|
|
103
|
+
id: 'content-manager.reviewWorkflows.assignee.placeholder',
|
|
104
|
+
defaultMessage: 'Select…'
|
|
105
|
+
});
|
|
106
|
+
if (isCompact) {
|
|
107
|
+
return /*#__PURE__*/ jsxRuntime.jsxs(designSystem.Field.Root, {
|
|
108
|
+
name: constants.ASSIGNEE_ATTRIBUTE_NAME,
|
|
109
|
+
id: constants.ASSIGNEE_ATTRIBUTE_NAME,
|
|
110
|
+
children: [
|
|
111
|
+
/*#__PURE__*/ jsxRuntime.jsx(designSystem.VisuallyHidden, {
|
|
112
|
+
children: /*#__PURE__*/ jsxRuntime.jsx(designSystem.Field.Label, {
|
|
113
|
+
children: assigneeLabel
|
|
114
|
+
})
|
|
115
|
+
}),
|
|
116
|
+
/*#__PURE__*/ jsxRuntime.jsx(designSystem.Combobox, {
|
|
117
|
+
clearLabel: assigneeClearLabel,
|
|
118
|
+
disabled: isDisabled,
|
|
119
|
+
value: currentAssignee ? currentAssignee.id.toString() : null,
|
|
120
|
+
onChange: handleChange,
|
|
121
|
+
onClear: ()=>handleChange(null),
|
|
122
|
+
placeholder: assigneePlaceholder,
|
|
123
|
+
loading: isLoading || isLoadingPermissions || isMutating,
|
|
124
|
+
size: "S",
|
|
125
|
+
children: users$1.map((user)=>{
|
|
126
|
+
return /*#__PURE__*/ jsxRuntime.jsx(designSystem.ComboboxOption, {
|
|
127
|
+
value: user.id.toString(),
|
|
128
|
+
textValue: users.getDisplayName(user),
|
|
129
|
+
children: users.getDisplayName(user)
|
|
130
|
+
}, user.id);
|
|
131
|
+
})
|
|
132
|
+
})
|
|
133
|
+
]
|
|
134
|
+
});
|
|
135
|
+
}
|
|
136
|
+
return /*#__PURE__*/ jsxRuntime.jsxs(designSystem.Field.Root, {
|
|
137
|
+
name: constants.ASSIGNEE_ATTRIBUTE_NAME,
|
|
138
|
+
id: constants.ASSIGNEE_ATTRIBUTE_NAME,
|
|
139
|
+
error: (isError && canRead && formatMessage({
|
|
140
|
+
id: 'content-manager.reviewWorkflows.assignee.error',
|
|
141
|
+
defaultMessage: 'An error occurred while fetching users'
|
|
142
|
+
}) || error && formatAPIError(error)) ?? undefined,
|
|
143
|
+
children: [
|
|
144
|
+
/*#__PURE__*/ jsxRuntime.jsx(designSystem.Field.Label, {
|
|
145
|
+
children: assigneeLabel
|
|
146
|
+
}),
|
|
147
|
+
/*#__PURE__*/ jsxRuntime.jsx(designSystem.Combobox, {
|
|
148
|
+
clearLabel: assigneeClearLabel,
|
|
149
|
+
disabled: !isLoadingPermissions && !isLoading && users$1.length === 0 || !document.documentId,
|
|
150
|
+
value: currentAssignee ? currentAssignee.id.toString() : null,
|
|
151
|
+
onChange: handleChange,
|
|
152
|
+
onClear: ()=>handleChange(null),
|
|
153
|
+
placeholder: assigneePlaceholder,
|
|
154
|
+
loading: isLoading || isLoadingPermissions || isMutating,
|
|
155
|
+
children: users$1.map((user)=>{
|
|
156
|
+
return /*#__PURE__*/ jsxRuntime.jsx(designSystem.ComboboxOption, {
|
|
157
|
+
value: user.id.toString(),
|
|
158
|
+
textValue: users.getDisplayName(user),
|
|
159
|
+
children: users.getDisplayName(user)
|
|
160
|
+
}, user.id);
|
|
161
|
+
})
|
|
162
|
+
}),
|
|
163
|
+
/*#__PURE__*/ jsxRuntime.jsx(designSystem.Field.Error, {})
|
|
164
|
+
]
|
|
165
|
+
});
|
|
166
|
+
};
|
|
167
|
+
|
|
168
|
+
exports.AssigneeSelect = AssigneeSelect;
|
|
169
|
+
//# sourceMappingURL=AssigneeSelect.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AssigneeSelect.js","sources":["../../../../../../../admin/src/routes/content-manager/model/id/components/AssigneeSelect.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport {\n useNotification,\n useAPIErrorHandler,\n useRBAC,\n useAdminUsers,\n useQueryParams,\n} from '@strapi/admin/strapi-admin';\nimport { unstable_useDocument } from '@strapi/content-manager/strapi-admin';\nimport { Combobox, ComboboxOption, Field, VisuallyHidden } from '@strapi/design-system';\nimport { useIntl } from 'react-intl';\nimport { useParams } from 'react-router-dom';\n\nimport { useTypedSelector } from '../../../../../modules/hooks';\nimport { useUpdateAssigneeMutation } from '../../../../../services/content-manager';\nimport { buildValidParams } from '../../../../../utils/api';\nimport { getDisplayName } from '../../../../../utils/users';\n\nimport { ASSIGNEE_ATTRIBUTE_NAME } from './constants';\n\nconst AssigneeSelect = ({ isCompact }: { isCompact?: boolean }) => {\n const {\n collectionType = '',\n id,\n slug: model = '',\n } = useParams<{ collectionType: string; slug: string; id: string }>();\n const permissions = useTypedSelector((state) => state.admin_app.permissions);\n const { formatMessage } = useIntl();\n const { _unstableFormatAPIError: formatAPIError } = useAPIErrorHandler();\n const { toggleNotification } = useNotification();\n const {\n allowedActions: { canRead },\n isLoading: isLoadingPermissions,\n } = useRBAC(permissions.settings?.users);\n const [{ query }] = useQueryParams();\n const params = React.useMemo(() => buildValidParams(query), [query]);\n const {\n data,\n isLoading: isLoadingUsers,\n isError,\n } = useAdminUsers(undefined, {\n skip: isLoadingPermissions || !canRead,\n });\n const { document } = unstable_useDocument(\n {\n collectionType,\n model,\n documentId: id,\n },\n {\n skip: !id && collectionType !== 'single-types',\n }\n );\n\n const users = data?.users || [];\n\n const currentAssignee = document ? document[ASSIGNEE_ATTRIBUTE_NAME] : null;\n\n const [updateAssignee, { error, isLoading: isMutating }] = useUpdateAssigneeMutation();\n\n if (!collectionType || !model || !document?.documentId) {\n return null;\n }\n\n const handleChange = async (assigneeId: string | null) => {\n // a simple way to avoid erroneous updates\n if (currentAssignee?.id === assigneeId) {\n return;\n }\n\n const res = await updateAssignee({\n slug: collectionType,\n model,\n id: document.documentId,\n params,\n data: {\n id: assigneeId ? parseInt(assigneeId, 10) : null,\n },\n });\n\n if ('data' in res) {\n toggleNotification({\n type: 'success',\n message: formatMessage({\n id: 'content-manager.reviewWorkflows.assignee.notification.saved',\n defaultMessage: 'Assignee updated',\n }),\n });\n }\n\n if (isCompact && 'error' in res) {\n toggleNotification({\n type: 'danger',\n message: formatAPIError(res.error),\n });\n }\n };\n\n const isDisabled =\n (!isLoadingPermissions && !isLoadingUsers && users.length === 0) || !document.documentId;\n const isLoading = isLoadingUsers || isLoadingPermissions || isMutating;\n\n const assigneeLabel = formatMessage({\n id: 'content-manager.reviewWorkflows.assignee.label',\n defaultMessage: 'Assignee',\n });\n const assigneeClearLabel = formatMessage({\n id: 'content-manager.reviewWorkflows.assignee.clear',\n defaultMessage: 'Clear assignee',\n });\n const assigneePlaceholder = formatMessage({\n id: 'content-manager.reviewWorkflows.assignee.placeholder',\n defaultMessage: 'Select…',\n });\n\n if (isCompact) {\n return (\n <Field.Root name={ASSIGNEE_ATTRIBUTE_NAME} id={ASSIGNEE_ATTRIBUTE_NAME}>\n <VisuallyHidden>\n <Field.Label>{assigneeLabel}</Field.Label>\n </VisuallyHidden>\n <Combobox\n clearLabel={assigneeClearLabel}\n disabled={isDisabled}\n value={currentAssignee ? currentAssignee.id.toString() : null}\n onChange={handleChange}\n onClear={() => handleChange(null)}\n placeholder={assigneePlaceholder}\n loading={isLoading || isLoadingPermissions || isMutating}\n size=\"S\"\n >\n {users.map((user) => {\n return (\n <ComboboxOption\n key={user.id}\n value={user.id.toString()}\n textValue={getDisplayName(user)}\n >\n {getDisplayName(user)}\n </ComboboxOption>\n );\n })}\n </Combobox>\n </Field.Root>\n );\n }\n\n return (\n <Field.Root\n name={ASSIGNEE_ATTRIBUTE_NAME}\n id={ASSIGNEE_ATTRIBUTE_NAME}\n error={\n ((isError &&\n canRead &&\n formatMessage({\n id: 'content-manager.reviewWorkflows.assignee.error',\n defaultMessage: 'An error occurred while fetching users',\n })) ||\n (error && formatAPIError(error))) ??\n undefined\n }\n >\n <Field.Label>{assigneeLabel}</Field.Label>\n <Combobox\n clearLabel={assigneeClearLabel}\n disabled={\n (!isLoadingPermissions && !isLoading && users.length === 0) || !document.documentId\n }\n value={currentAssignee ? currentAssignee.id.toString() : null}\n onChange={handleChange}\n onClear={() => handleChange(null)}\n placeholder={assigneePlaceholder}\n loading={isLoading || isLoadingPermissions || isMutating}\n >\n {users.map((user) => {\n return (\n <ComboboxOption\n key={user.id}\n value={user.id.toString()}\n textValue={getDisplayName(user)}\n >\n {getDisplayName(user)}\n </ComboboxOption>\n );\n })}\n </Combobox>\n <Field.Error />\n </Field.Root>\n );\n};\n\nexport { AssigneeSelect };\n"],"names":["AssigneeSelect","isCompact","collectionType","id","slug","model","useParams","permissions","useTypedSelector","state","admin_app","formatMessage","useIntl","_unstableFormatAPIError","formatAPIError","useAPIErrorHandler","toggleNotification","useNotification","allowedActions","canRead","isLoading","isLoadingPermissions","useRBAC","settings","users","query","useQueryParams","params","React","useMemo","buildValidParams","data","isLoadingUsers","isError","useAdminUsers","undefined","skip","document","unstable_useDocument","documentId","currentAssignee","ASSIGNEE_ATTRIBUTE_NAME","updateAssignee","error","isMutating","useUpdateAssigneeMutation","handleChange","assigneeId","res","parseInt","type","message","defaultMessage","isDisabled","length","assigneeLabel","assigneeClearLabel","assigneePlaceholder","_jsxs","Field","Root","name","_jsx","VisuallyHidden","Label","Combobox","clearLabel","disabled","value","toString","onChange","onClear","placeholder","loading","size","map","user","ComboboxOption","textValue","getDisplayName","Error"],"mappings":"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"}
|
|
@@ -0,0 +1,148 @@
|
|
|
1
|
+
import { jsxs, jsx } from 'react/jsx-runtime';
|
|
2
|
+
import * as React from 'react';
|
|
3
|
+
import { useAPIErrorHandler, useNotification, useRBAC, useQueryParams, useAdminUsers } from '@strapi/admin/strapi-admin';
|
|
4
|
+
import { unstable_useDocument } from '@strapi/content-manager/strapi-admin';
|
|
5
|
+
import { Field, VisuallyHidden, Combobox, ComboboxOption } from '@strapi/design-system';
|
|
6
|
+
import { useIntl } from 'react-intl';
|
|
7
|
+
import { useParams } from 'react-router-dom';
|
|
8
|
+
import { useTypedSelector } from '../../../../../modules/hooks.mjs';
|
|
9
|
+
import { useUpdateAssigneeMutation } from '../../../../../services/content-manager.mjs';
|
|
10
|
+
import { buildValidParams } from '../../../../../utils/api.mjs';
|
|
11
|
+
import { getDisplayName } from '../../../../../utils/users.mjs';
|
|
12
|
+
import { ASSIGNEE_ATTRIBUTE_NAME } from './constants.mjs';
|
|
13
|
+
|
|
14
|
+
const AssigneeSelect = ({ isCompact })=>{
|
|
15
|
+
const { collectionType = '', id, slug: model = '' } = useParams();
|
|
16
|
+
const permissions = useTypedSelector((state)=>state.admin_app.permissions);
|
|
17
|
+
const { formatMessage } = useIntl();
|
|
18
|
+
const { _unstableFormatAPIError: formatAPIError } = useAPIErrorHandler();
|
|
19
|
+
const { toggleNotification } = useNotification();
|
|
20
|
+
const { allowedActions: { canRead }, isLoading: isLoadingPermissions } = useRBAC(permissions.settings?.users);
|
|
21
|
+
const [{ query }] = useQueryParams();
|
|
22
|
+
const params = React.useMemo(()=>buildValidParams(query), [
|
|
23
|
+
query
|
|
24
|
+
]);
|
|
25
|
+
const { data, isLoading: isLoadingUsers, isError } = useAdminUsers(undefined, {
|
|
26
|
+
skip: isLoadingPermissions || !canRead
|
|
27
|
+
});
|
|
28
|
+
const { document } = unstable_useDocument({
|
|
29
|
+
collectionType,
|
|
30
|
+
model,
|
|
31
|
+
documentId: id
|
|
32
|
+
}, {
|
|
33
|
+
skip: !id && collectionType !== 'single-types'
|
|
34
|
+
});
|
|
35
|
+
const users = data?.users || [];
|
|
36
|
+
const currentAssignee = document ? document[ASSIGNEE_ATTRIBUTE_NAME] : null;
|
|
37
|
+
const [updateAssignee, { error, isLoading: isMutating }] = useUpdateAssigneeMutation();
|
|
38
|
+
if (!collectionType || !model || !document?.documentId) {
|
|
39
|
+
return null;
|
|
40
|
+
}
|
|
41
|
+
const handleChange = async (assigneeId)=>{
|
|
42
|
+
// a simple way to avoid erroneous updates
|
|
43
|
+
if (currentAssignee?.id === assigneeId) {
|
|
44
|
+
return;
|
|
45
|
+
}
|
|
46
|
+
const res = await updateAssignee({
|
|
47
|
+
slug: collectionType,
|
|
48
|
+
model,
|
|
49
|
+
id: document.documentId,
|
|
50
|
+
params,
|
|
51
|
+
data: {
|
|
52
|
+
id: assigneeId ? parseInt(assigneeId, 10) : null
|
|
53
|
+
}
|
|
54
|
+
});
|
|
55
|
+
if ('data' in res) {
|
|
56
|
+
toggleNotification({
|
|
57
|
+
type: 'success',
|
|
58
|
+
message: formatMessage({
|
|
59
|
+
id: 'content-manager.reviewWorkflows.assignee.notification.saved',
|
|
60
|
+
defaultMessage: 'Assignee updated'
|
|
61
|
+
})
|
|
62
|
+
});
|
|
63
|
+
}
|
|
64
|
+
if (isCompact && 'error' in res) {
|
|
65
|
+
toggleNotification({
|
|
66
|
+
type: 'danger',
|
|
67
|
+
message: formatAPIError(res.error)
|
|
68
|
+
});
|
|
69
|
+
}
|
|
70
|
+
};
|
|
71
|
+
const isDisabled = !isLoadingPermissions && !isLoadingUsers && users.length === 0 || !document.documentId;
|
|
72
|
+
const isLoading = isLoadingUsers || isLoadingPermissions || isMutating;
|
|
73
|
+
const assigneeLabel = formatMessage({
|
|
74
|
+
id: 'content-manager.reviewWorkflows.assignee.label',
|
|
75
|
+
defaultMessage: 'Assignee'
|
|
76
|
+
});
|
|
77
|
+
const assigneeClearLabel = formatMessage({
|
|
78
|
+
id: 'content-manager.reviewWorkflows.assignee.clear',
|
|
79
|
+
defaultMessage: 'Clear assignee'
|
|
80
|
+
});
|
|
81
|
+
const assigneePlaceholder = formatMessage({
|
|
82
|
+
id: 'content-manager.reviewWorkflows.assignee.placeholder',
|
|
83
|
+
defaultMessage: 'Select…'
|
|
84
|
+
});
|
|
85
|
+
if (isCompact) {
|
|
86
|
+
return /*#__PURE__*/ jsxs(Field.Root, {
|
|
87
|
+
name: ASSIGNEE_ATTRIBUTE_NAME,
|
|
88
|
+
id: ASSIGNEE_ATTRIBUTE_NAME,
|
|
89
|
+
children: [
|
|
90
|
+
/*#__PURE__*/ jsx(VisuallyHidden, {
|
|
91
|
+
children: /*#__PURE__*/ jsx(Field.Label, {
|
|
92
|
+
children: assigneeLabel
|
|
93
|
+
})
|
|
94
|
+
}),
|
|
95
|
+
/*#__PURE__*/ jsx(Combobox, {
|
|
96
|
+
clearLabel: assigneeClearLabel,
|
|
97
|
+
disabled: isDisabled,
|
|
98
|
+
value: currentAssignee ? currentAssignee.id.toString() : null,
|
|
99
|
+
onChange: handleChange,
|
|
100
|
+
onClear: ()=>handleChange(null),
|
|
101
|
+
placeholder: assigneePlaceholder,
|
|
102
|
+
loading: isLoading || isLoadingPermissions || isMutating,
|
|
103
|
+
size: "S",
|
|
104
|
+
children: users.map((user)=>{
|
|
105
|
+
return /*#__PURE__*/ jsx(ComboboxOption, {
|
|
106
|
+
value: user.id.toString(),
|
|
107
|
+
textValue: getDisplayName(user),
|
|
108
|
+
children: getDisplayName(user)
|
|
109
|
+
}, user.id);
|
|
110
|
+
})
|
|
111
|
+
})
|
|
112
|
+
]
|
|
113
|
+
});
|
|
114
|
+
}
|
|
115
|
+
return /*#__PURE__*/ jsxs(Field.Root, {
|
|
116
|
+
name: ASSIGNEE_ATTRIBUTE_NAME,
|
|
117
|
+
id: ASSIGNEE_ATTRIBUTE_NAME,
|
|
118
|
+
error: (isError && canRead && formatMessage({
|
|
119
|
+
id: 'content-manager.reviewWorkflows.assignee.error',
|
|
120
|
+
defaultMessage: 'An error occurred while fetching users'
|
|
121
|
+
}) || error && formatAPIError(error)) ?? undefined,
|
|
122
|
+
children: [
|
|
123
|
+
/*#__PURE__*/ jsx(Field.Label, {
|
|
124
|
+
children: assigneeLabel
|
|
125
|
+
}),
|
|
126
|
+
/*#__PURE__*/ jsx(Combobox, {
|
|
127
|
+
clearLabel: assigneeClearLabel,
|
|
128
|
+
disabled: !isLoadingPermissions && !isLoading && users.length === 0 || !document.documentId,
|
|
129
|
+
value: currentAssignee ? currentAssignee.id.toString() : null,
|
|
130
|
+
onChange: handleChange,
|
|
131
|
+
onClear: ()=>handleChange(null),
|
|
132
|
+
placeholder: assigneePlaceholder,
|
|
133
|
+
loading: isLoading || isLoadingPermissions || isMutating,
|
|
134
|
+
children: users.map((user)=>{
|
|
135
|
+
return /*#__PURE__*/ jsx(ComboboxOption, {
|
|
136
|
+
value: user.id.toString(),
|
|
137
|
+
textValue: getDisplayName(user),
|
|
138
|
+
children: getDisplayName(user)
|
|
139
|
+
}, user.id);
|
|
140
|
+
})
|
|
141
|
+
}),
|
|
142
|
+
/*#__PURE__*/ jsx(Field.Error, {})
|
|
143
|
+
]
|
|
144
|
+
});
|
|
145
|
+
};
|
|
146
|
+
|
|
147
|
+
export { AssigneeSelect };
|
|
148
|
+
//# sourceMappingURL=AssigneeSelect.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AssigneeSelect.mjs","sources":["../../../../../../../admin/src/routes/content-manager/model/id/components/AssigneeSelect.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport {\n useNotification,\n useAPIErrorHandler,\n useRBAC,\n useAdminUsers,\n useQueryParams,\n} from '@strapi/admin/strapi-admin';\nimport { unstable_useDocument } from '@strapi/content-manager/strapi-admin';\nimport { Combobox, ComboboxOption, Field, VisuallyHidden } from '@strapi/design-system';\nimport { useIntl } from 'react-intl';\nimport { useParams } from 'react-router-dom';\n\nimport { useTypedSelector } from '../../../../../modules/hooks';\nimport { useUpdateAssigneeMutation } from '../../../../../services/content-manager';\nimport { buildValidParams } from '../../../../../utils/api';\nimport { getDisplayName } from '../../../../../utils/users';\n\nimport { ASSIGNEE_ATTRIBUTE_NAME } from './constants';\n\nconst AssigneeSelect = ({ isCompact }: { isCompact?: boolean }) => {\n const {\n collectionType = '',\n id,\n slug: model = '',\n } = useParams<{ collectionType: string; slug: string; id: string }>();\n const permissions = useTypedSelector((state) => state.admin_app.permissions);\n const { formatMessage } = useIntl();\n const { _unstableFormatAPIError: formatAPIError } = useAPIErrorHandler();\n const { toggleNotification } = useNotification();\n const {\n allowedActions: { canRead },\n isLoading: isLoadingPermissions,\n } = useRBAC(permissions.settings?.users);\n const [{ query }] = useQueryParams();\n const params = React.useMemo(() => buildValidParams(query), [query]);\n const {\n data,\n isLoading: isLoadingUsers,\n isError,\n } = useAdminUsers(undefined, {\n skip: isLoadingPermissions || !canRead,\n });\n const { document } = unstable_useDocument(\n {\n collectionType,\n model,\n documentId: id,\n },\n {\n skip: !id && collectionType !== 'single-types',\n }\n );\n\n const users = data?.users || [];\n\n const currentAssignee = document ? document[ASSIGNEE_ATTRIBUTE_NAME] : null;\n\n const [updateAssignee, { error, isLoading: isMutating }] = useUpdateAssigneeMutation();\n\n if (!collectionType || !model || !document?.documentId) {\n return null;\n }\n\n const handleChange = async (assigneeId: string | null) => {\n // a simple way to avoid erroneous updates\n if (currentAssignee?.id === assigneeId) {\n return;\n }\n\n const res = await updateAssignee({\n slug: collectionType,\n model,\n id: document.documentId,\n params,\n data: {\n id: assigneeId ? parseInt(assigneeId, 10) : null,\n },\n });\n\n if ('data' in res) {\n toggleNotification({\n type: 'success',\n message: formatMessage({\n id: 'content-manager.reviewWorkflows.assignee.notification.saved',\n defaultMessage: 'Assignee updated',\n }),\n });\n }\n\n if (isCompact && 'error' in res) {\n toggleNotification({\n type: 'danger',\n message: formatAPIError(res.error),\n });\n }\n };\n\n const isDisabled =\n (!isLoadingPermissions && !isLoadingUsers && users.length === 0) || !document.documentId;\n const isLoading = isLoadingUsers || isLoadingPermissions || isMutating;\n\n const assigneeLabel = formatMessage({\n id: 'content-manager.reviewWorkflows.assignee.label',\n defaultMessage: 'Assignee',\n });\n const assigneeClearLabel = formatMessage({\n id: 'content-manager.reviewWorkflows.assignee.clear',\n defaultMessage: 'Clear assignee',\n });\n const assigneePlaceholder = formatMessage({\n id: 'content-manager.reviewWorkflows.assignee.placeholder',\n defaultMessage: 'Select…',\n });\n\n if (isCompact) {\n return (\n <Field.Root name={ASSIGNEE_ATTRIBUTE_NAME} id={ASSIGNEE_ATTRIBUTE_NAME}>\n <VisuallyHidden>\n <Field.Label>{assigneeLabel}</Field.Label>\n </VisuallyHidden>\n <Combobox\n clearLabel={assigneeClearLabel}\n disabled={isDisabled}\n value={currentAssignee ? currentAssignee.id.toString() : null}\n onChange={handleChange}\n onClear={() => handleChange(null)}\n placeholder={assigneePlaceholder}\n loading={isLoading || isLoadingPermissions || isMutating}\n size=\"S\"\n >\n {users.map((user) => {\n return (\n <ComboboxOption\n key={user.id}\n value={user.id.toString()}\n textValue={getDisplayName(user)}\n >\n {getDisplayName(user)}\n </ComboboxOption>\n );\n })}\n </Combobox>\n </Field.Root>\n );\n }\n\n return (\n <Field.Root\n name={ASSIGNEE_ATTRIBUTE_NAME}\n id={ASSIGNEE_ATTRIBUTE_NAME}\n error={\n ((isError &&\n canRead &&\n formatMessage({\n id: 'content-manager.reviewWorkflows.assignee.error',\n defaultMessage: 'An error occurred while fetching users',\n })) ||\n (error && formatAPIError(error))) ??\n undefined\n }\n >\n <Field.Label>{assigneeLabel}</Field.Label>\n <Combobox\n clearLabel={assigneeClearLabel}\n disabled={\n (!isLoadingPermissions && !isLoading && users.length === 0) || !document.documentId\n }\n value={currentAssignee ? currentAssignee.id.toString() : null}\n onChange={handleChange}\n onClear={() => handleChange(null)}\n placeholder={assigneePlaceholder}\n loading={isLoading || isLoadingPermissions || isMutating}\n >\n {users.map((user) => {\n return (\n <ComboboxOption\n key={user.id}\n value={user.id.toString()}\n textValue={getDisplayName(user)}\n >\n {getDisplayName(user)}\n </ComboboxOption>\n );\n })}\n </Combobox>\n <Field.Error />\n </Field.Root>\n );\n};\n\nexport { AssigneeSelect };\n"],"names":["AssigneeSelect","isCompact","collectionType","id","slug","model","useParams","permissions","useTypedSelector","state","admin_app","formatMessage","useIntl","_unstableFormatAPIError","formatAPIError","useAPIErrorHandler","toggleNotification","useNotification","allowedActions","canRead","isLoading","isLoadingPermissions","useRBAC","settings","users","query","useQueryParams","params","React","useMemo","buildValidParams","data","isLoadingUsers","isError","useAdminUsers","undefined","skip","document","unstable_useDocument","documentId","currentAssignee","ASSIGNEE_ATTRIBUTE_NAME","updateAssignee","error","isMutating","useUpdateAssigneeMutation","handleChange","assigneeId","res","parseInt","type","message","defaultMessage","isDisabled","length","assigneeLabel","assigneeClearLabel","assigneePlaceholder","_jsxs","Field","Root","name","_jsx","VisuallyHidden","Label","Combobox","clearLabel","disabled","value","toString","onChange","onClear","placeholder","loading","size","map","user","ComboboxOption","textValue","getDisplayName","Error"],"mappings":"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"}
|