@strapi/review-workflows 5.37.0 → 5.38.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/admin/assets/balloon.png.js.map +1 -1
- package/dist/admin/assets/balloon.png.mjs.map +1 -1
- package/dist/admin/assets/purchase-page-illustration-dark.jpg.js.map +1 -1
- package/dist/admin/assets/purchase-page-illustration-dark.jpg.mjs.map +1 -1
- package/dist/admin/assets/purchase-page-illustration-light.jpg.js.map +1 -1
- package/dist/admin/assets/purchase-page-illustration-light.jpg.mjs.map +1 -1
- package/dist/admin/components/LimitsModal.js.map +1 -1
- package/dist/admin/components/LimitsModal.mjs +1 -1
- package/dist/admin/components/LimitsModal.mjs.map +1 -1
- package/dist/admin/components/Widgets.js.map +1 -1
- package/dist/admin/components/Widgets.mjs +1 -1
- package/dist/admin/components/Widgets.mjs.map +1 -1
- package/dist/admin/constants.js.map +1 -1
- package/dist/admin/constants.mjs.map +1 -1
- package/dist/admin/index.js.map +1 -1
- package/dist/admin/index.mjs.map +1 -1
- package/dist/admin/modules/hooks.js.map +1 -1
- package/dist/admin/modules/hooks.mjs.map +1 -1
- package/dist/admin/router.js.map +1 -1
- package/dist/admin/router.mjs.map +1 -1
- package/dist/admin/routes/content-manager/model/components/TableColumns.js.map +1 -1
- package/dist/admin/routes/content-manager/model/components/TableColumns.mjs.map +1 -1
- package/dist/admin/routes/content-manager/model/constants.js.map +1 -1
- package/dist/admin/routes/content-manager/model/constants.mjs.map +1 -1
- package/dist/admin/routes/content-manager/model/id/components/AssigneeSelect.js.map +1 -1
- package/dist/admin/routes/content-manager/model/id/components/AssigneeSelect.mjs.map +1 -1
- package/dist/admin/routes/content-manager/model/id/components/Header.js.map +1 -1
- package/dist/admin/routes/content-manager/model/id/components/Header.mjs.map +1 -1
- package/dist/admin/routes/content-manager/model/id/components/Panel.js.map +1 -1
- package/dist/admin/routes/content-manager/model/id/components/Panel.mjs.map +1 -1
- package/dist/admin/routes/content-manager/model/id/components/StageSelect.js.map +1 -1
- package/dist/admin/routes/content-manager/model/id/components/StageSelect.mjs +1 -1
- package/dist/admin/routes/content-manager/model/id/components/StageSelect.mjs.map +1 -1
- package/dist/admin/routes/purchase-review-workflows.js.map +1 -1
- package/dist/admin/routes/purchase-review-workflows.mjs.map +1 -1
- package/dist/admin/routes/settings/components/AddStage.js.map +1 -1
- package/dist/admin/routes/settings/components/AddStage.mjs +1 -1
- package/dist/admin/routes/settings/components/AddStage.mjs.map +1 -1
- package/dist/admin/routes/settings/components/Layout.js.map +1 -1
- package/dist/admin/routes/settings/components/Layout.mjs +1 -1
- package/dist/admin/routes/settings/components/Layout.mjs.map +1 -1
- package/dist/admin/routes/settings/components/StageDragPreview.js.map +1 -1
- package/dist/admin/routes/settings/components/StageDragPreview.mjs.map +1 -1
- package/dist/admin/routes/settings/components/Stages.js.map +1 -1
- package/dist/admin/routes/settings/components/Stages.mjs +1 -1
- package/dist/admin/routes/settings/components/Stages.mjs.map +1 -1
- package/dist/admin/routes/settings/components/WorkflowAttributes.js.map +1 -1
- package/dist/admin/routes/settings/components/WorkflowAttributes.mjs +1 -1
- package/dist/admin/routes/settings/components/WorkflowAttributes.mjs.map +1 -1
- package/dist/admin/routes/settings/constants.js.map +1 -1
- package/dist/admin/routes/settings/constants.mjs.map +1 -1
- package/dist/admin/routes/settings/hooks/useDragAndDrop.js +1 -3
- package/dist/admin/routes/settings/hooks/useDragAndDrop.js.map +1 -1
- package/dist/admin/routes/settings/hooks/useDragAndDrop.mjs +1 -3
- package/dist/admin/routes/settings/hooks/useDragAndDrop.mjs.map +1 -1
- package/dist/admin/routes/settings/hooks/useKeyboardDragAndDrop.js.map +1 -1
- package/dist/admin/routes/settings/hooks/useKeyboardDragAndDrop.mjs.map +1 -1
- package/dist/admin/routes/settings/hooks/useReviewWorkflows.js.map +1 -1
- package/dist/admin/routes/settings/hooks/useReviewWorkflows.mjs.map +1 -1
- package/dist/admin/routes/settings/id.js.map +1 -1
- package/dist/admin/routes/settings/id.mjs +1 -1
- package/dist/admin/routes/settings/id.mjs.map +1 -1
- package/dist/admin/routes/settings/index.js.map +1 -1
- package/dist/admin/routes/settings/index.mjs +2 -2
- package/dist/admin/routes/settings/index.mjs.map +1 -1
- package/dist/admin/services/admin.js.map +1 -1
- package/dist/admin/services/admin.mjs.map +1 -1
- package/dist/admin/services/api.js.map +1 -1
- package/dist/admin/services/api.mjs.map +1 -1
- package/dist/admin/services/content-manager.js.map +1 -1
- package/dist/admin/services/content-manager.mjs.map +1 -1
- package/dist/admin/services/settings.js.map +1 -1
- package/dist/admin/services/settings.mjs.map +1 -1
- package/dist/admin/src/routes/content-manager/model/components/TableColumns.d.ts +3 -2
- package/dist/admin/utils/api.js.map +1 -1
- package/dist/admin/utils/api.mjs.map +1 -1
- package/dist/admin/utils/cm-hooks.js.map +1 -1
- package/dist/admin/utils/cm-hooks.mjs.map +1 -1
- package/dist/admin/utils/colors.js.map +1 -1
- package/dist/admin/utils/colors.mjs.map +1 -1
- package/dist/admin/utils/translations.js.map +1 -1
- package/dist/admin/utils/translations.mjs.map +1 -1
- package/dist/admin/utils/users.js.map +1 -1
- package/dist/admin/utils/users.mjs.map +1 -1
- package/dist/server/bootstrap.js.map +1 -1
- package/dist/server/bootstrap.mjs.map +1 -1
- package/dist/server/config/actions.js.map +1 -1
- package/dist/server/config/actions.mjs.map +1 -1
- package/dist/server/constants/webhook-events.js.map +1 -1
- package/dist/server/constants/webhook-events.mjs.map +1 -1
- package/dist/server/constants/workflows.js.map +1 -1
- package/dist/server/constants/workflows.mjs.map +1 -1
- package/dist/server/content-types/index.js +4 -4
- package/dist/server/content-types/index.js.map +1 -1
- package/dist/server/content-types/index.mjs.map +1 -1
- package/dist/server/content-types/workflow/index.js.map +1 -1
- package/dist/server/content-types/workflow/index.mjs.map +1 -1
- package/dist/server/content-types/workflow-stage/index.js.map +1 -1
- package/dist/server/content-types/workflow-stage/index.mjs.map +1 -1
- package/dist/server/controllers/assignees.js.map +1 -1
- package/dist/server/controllers/assignees.mjs.map +1 -1
- package/dist/server/controllers/index.js.map +1 -1
- package/dist/server/controllers/index.mjs.map +1 -1
- package/dist/server/controllers/stages.js.map +1 -1
- package/dist/server/controllers/stages.mjs.map +1 -1
- package/dist/server/controllers/workflows.js.map +1 -1
- package/dist/server/controllers/workflows.mjs +1 -1
- package/dist/server/controllers/workflows.mjs.map +1 -1
- package/dist/server/destroy.js.map +1 -1
- package/dist/server/destroy.mjs.map +1 -1
- package/dist/server/homepage/controllers/homepage.js.map +1 -1
- package/dist/server/homepage/controllers/homepage.mjs.map +1 -1
- package/dist/server/homepage/controllers/index.js.map +1 -1
- package/dist/server/homepage/controllers/index.mjs.map +1 -1
- package/dist/server/homepage/index.js.map +1 -1
- package/dist/server/homepage/index.mjs.map +1 -1
- package/dist/server/homepage/routes/homepage.js.map +1 -1
- package/dist/server/homepage/routes/homepage.mjs.map +1 -1
- package/dist/server/homepage/routes/index.js.map +1 -1
- package/dist/server/homepage/routes/index.mjs.map +1 -1
- package/dist/server/homepage/services/homepage.js.map +1 -1
- package/dist/server/homepage/services/homepage.mjs.map +1 -1
- package/dist/server/homepage/services/index.js.map +1 -1
- package/dist/server/homepage/services/index.mjs.map +1 -1
- package/dist/server/index.js +9 -9
- package/dist/server/index.js.map +1 -1
- package/dist/server/index.mjs.map +1 -1
- package/dist/server/middlewares/review-workflows.js.map +1 -1
- package/dist/server/middlewares/review-workflows.mjs.map +1 -1
- package/dist/server/migrations/handle-deleted-ct-in-workflows.js.map +1 -1
- package/dist/server/migrations/handle-deleted-ct-in-workflows.mjs.map +1 -1
- package/dist/server/migrations/multiple-workflows.js.map +1 -1
- package/dist/server/migrations/multiple-workflows.mjs +1 -1
- package/dist/server/migrations/multiple-workflows.mjs.map +1 -1
- package/dist/server/migrations/set-stages-default-color.js.map +1 -1
- package/dist/server/migrations/set-stages-default-color.mjs.map +1 -1
- package/dist/server/migrations/set-stages-roles.js.map +1 -1
- package/dist/server/migrations/set-stages-roles.mjs.map +1 -1
- package/dist/server/migrations/set-workflow-default-name.js.map +1 -1
- package/dist/server/migrations/set-workflow-default-name.mjs.map +1 -1
- package/dist/server/migrations/shorten-stage-attribute.js.map +1 -1
- package/dist/server/migrations/shorten-stage-attribute.mjs.map +1 -1
- package/dist/server/register.js.map +1 -1
- package/dist/server/register.mjs +1 -1
- package/dist/server/register.mjs.map +1 -1
- package/dist/server/routes/index.js.map +1 -1
- package/dist/server/routes/index.mjs.map +1 -1
- package/dist/server/routes/review-workflows.js.map +1 -1
- package/dist/server/routes/review-workflows.mjs.map +1 -1
- package/dist/server/routes/utils.js.map +1 -1
- package/dist/server/routes/utils.mjs.map +1 -1
- package/dist/server/services/assignees.js.map +1 -1
- package/dist/server/services/assignees.mjs.map +1 -1
- package/dist/server/services/document-service-middleware.js.map +1 -1
- package/dist/server/services/document-service-middleware.mjs.map +1 -1
- package/dist/server/services/index.js +4 -4
- package/dist/server/services/index.js.map +1 -1
- package/dist/server/services/index.mjs.map +1 -1
- package/dist/server/services/metrics/index.js.map +1 -1
- package/dist/server/services/metrics/index.mjs.map +1 -1
- package/dist/server/services/metrics/weekly-metrics.js.map +1 -1
- package/dist/server/services/metrics/weekly-metrics.mjs +1 -1
- package/dist/server/services/metrics/weekly-metrics.mjs.map +1 -1
- package/dist/server/services/stage-permissions.js.map +1 -1
- package/dist/server/services/stage-permissions.mjs +1 -1
- package/dist/server/services/stage-permissions.mjs.map +1 -1
- package/dist/server/services/stages.js.map +1 -1
- package/dist/server/services/stages.mjs +2 -2
- package/dist/server/services/stages.mjs.map +1 -1
- package/dist/server/services/validation.js.map +1 -1
- package/dist/server/services/validation.mjs +1 -1
- package/dist/server/services/validation.mjs.map +1 -1
- package/dist/server/services/workflow-content-types.js.map +1 -1
- package/dist/server/services/workflow-content-types.mjs.map +1 -1
- package/dist/server/services/workflows.js.map +1 -1
- package/dist/server/services/workflows.mjs +1 -1
- package/dist/server/services/workflows.mjs.map +1 -1
- package/dist/server/utils/index.js.map +1 -1
- package/dist/server/utils/index.mjs.map +1 -1
- package/dist/server/utils/review-workflows.js.map +1 -1
- package/dist/server/utils/review-workflows.mjs +1 -1
- package/dist/server/utils/review-workflows.mjs.map +1 -1
- package/dist/server/validation/review-workflows.js.map +1 -1
- package/dist/server/validation/review-workflows.mjs.map +1 -1
- package/package.json +7 -7
package/dist/admin/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../admin/src/index.ts"],"sourcesContent":["import { SealCheck } from '@strapi/icons';\n\nimport { PLUGIN_ID, FEATURE_ID } from './constants';\nimport { Header } from './routes/content-manager/model/id/components/Header';\nimport { Panel } from './routes/content-manager/model/id/components/Panel';\nimport { addColumnToTableHook } from './utils/cm-hooks';\nimport { prefixPluginTranslations } from './utils/translations';\n\nimport type { StrapiApp, WidgetArgs } from '@strapi/admin/strapi-admin';\nimport type { Plugin } from '@strapi/types';\n\nconst admin: Plugin.Config.AdminInput = {\n register(app: StrapiApp) {\n if (window.strapi.features.isEnabled(FEATURE_ID)) {\n app.registerHook('Admin/CM/pages/ListView/inject-column-in-table', addColumnToTableHook);\n\n const contentManagerPluginApis = app.getPlugin('content-manager').apis;\n\n if (\n 'addEditViewSidePanel' in contentManagerPluginApis &&\n typeof contentManagerPluginApis.addEditViewSidePanel === 'function'\n ) {\n contentManagerPluginApis.addEditViewSidePanel([Panel]);\n }\n\n app.addSettingsLink('global', {\n id: PLUGIN_ID,\n to: `review-workflows`,\n intlLabel: {\n id: `${PLUGIN_ID}.plugin.name`,\n defaultMessage: 'Review Workflows',\n },\n licenseOnly: true,\n permissions: [],\n async Component() {\n const { Router } = await import('./router');\n return { default: Router };\n },\n });\n\n // Always put the assigned to me widget last in the list of widgets\n app.widgets.register((widgets: WidgetArgs[]) => [\n ...widgets,\n {\n icon: SealCheck,\n title: {\n id: `${PLUGIN_ID}.widget.assigned.title`,\n defaultMessage: 'Assigned to me',\n },\n component: async () => {\n const { AssignedWidget } = await import('./components/Widgets');\n return AssignedWidget;\n },\n pluginId: PLUGIN_ID,\n id: 'assigned',\n permissions: [{ action: 'plugin::content-manager.explorer.read' }],\n },\n ]);\n } else if (!window.strapi.features.isEnabled(FEATURE_ID) && window.strapi?.flags?.promoteEE) {\n app.addSettingsLink('global', {\n id: PLUGIN_ID,\n to: `purchase-review-workflows`,\n intlLabel: {\n id: `${PLUGIN_ID}.plugin.name`,\n defaultMessage: 'Review Workflows',\n },\n licenseOnly: true,\n permissions: [],\n async Component() {\n const { PurchaseReviewWorkflows } = await import('./routes/purchase-review-workflows');\n return { default: PurchaseReviewWorkflows };\n },\n });\n }\n },\n bootstrap(app: StrapiApp) {\n if (window.strapi.features.isEnabled(FEATURE_ID)) {\n app.getPlugin('content-manager').injectComponent('preview', 'actions', {\n name: 'review-workflows-assignee',\n Component: Header,\n });\n }\n },\n async registerTrads({ locales }: { locales: string[] }) {\n const importedTrads = await Promise.all(\n locales.map((locale) => {\n return import(`./translations/${locale}.json`)\n .then(({ default: data }) => {\n return {\n data: prefixPluginTranslations(data, PLUGIN_ID),\n locale,\n };\n })\n .catch(() => {\n return {\n data: {},\n locale,\n };\n });\n })\n );\n\n return Promise.resolve(importedTrads);\n },\n};\n\n// eslint-disable-next-line import/no-default-export\nexport default admin;\n"],"names":["admin","register","app","window","strapi","features","isEnabled","FEATURE_ID","registerHook","addColumnToTableHook","contentManagerPluginApis","getPlugin","apis","addEditViewSidePanel","Panel","addSettingsLink","id","PLUGIN_ID","to","intlLabel","defaultMessage","licenseOnly","permissions","Component","Router","default","widgets","icon","SealCheck","title","component","AssignedWidget","pluginId","action","flags","promoteEE","PurchaseReviewWorkflows","bootstrap","injectComponent","name","Header","registerTrads","locales","importedTrads","Promise","all","map","locale","then","data","prefixPluginTranslations","catch","resolve"],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAWA,MAAMA,
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../admin/src/index.ts"],"sourcesContent":["import { SealCheck } from '@strapi/icons';\n\nimport { PLUGIN_ID, FEATURE_ID } from './constants';\nimport { Header } from './routes/content-manager/model/id/components/Header';\nimport { Panel } from './routes/content-manager/model/id/components/Panel';\nimport { addColumnToTableHook } from './utils/cm-hooks';\nimport { prefixPluginTranslations } from './utils/translations';\n\nimport type { StrapiApp, WidgetArgs } from '@strapi/admin/strapi-admin';\nimport type { Plugin } from '@strapi/types';\n\nconst admin: Plugin.Config.AdminInput = {\n register(app: StrapiApp) {\n if (window.strapi.features.isEnabled(FEATURE_ID)) {\n app.registerHook('Admin/CM/pages/ListView/inject-column-in-table', addColumnToTableHook);\n\n const contentManagerPluginApis = app.getPlugin('content-manager').apis;\n\n if (\n 'addEditViewSidePanel' in contentManagerPluginApis &&\n typeof contentManagerPluginApis.addEditViewSidePanel === 'function'\n ) {\n contentManagerPluginApis.addEditViewSidePanel([Panel]);\n }\n\n app.addSettingsLink('global', {\n id: PLUGIN_ID,\n to: `review-workflows`,\n intlLabel: {\n id: `${PLUGIN_ID}.plugin.name`,\n defaultMessage: 'Review Workflows',\n },\n licenseOnly: true,\n permissions: [],\n async Component() {\n const { Router } = await import('./router');\n return { default: Router };\n },\n });\n\n // Always put the assigned to me widget last in the list of widgets\n app.widgets.register((widgets: WidgetArgs[]) => [\n ...widgets,\n {\n icon: SealCheck,\n title: {\n id: `${PLUGIN_ID}.widget.assigned.title`,\n defaultMessage: 'Assigned to me',\n },\n component: async () => {\n const { AssignedWidget } = await import('./components/Widgets');\n return AssignedWidget;\n },\n pluginId: PLUGIN_ID,\n id: 'assigned',\n permissions: [{ action: 'plugin::content-manager.explorer.read' }],\n },\n ]);\n } else if (!window.strapi.features.isEnabled(FEATURE_ID) && window.strapi?.flags?.promoteEE) {\n app.addSettingsLink('global', {\n id: PLUGIN_ID,\n to: `purchase-review-workflows`,\n intlLabel: {\n id: `${PLUGIN_ID}.plugin.name`,\n defaultMessage: 'Review Workflows',\n },\n licenseOnly: true,\n permissions: [],\n async Component() {\n const { PurchaseReviewWorkflows } = await import('./routes/purchase-review-workflows');\n return { default: PurchaseReviewWorkflows };\n },\n });\n }\n },\n bootstrap(app: StrapiApp) {\n if (window.strapi.features.isEnabled(FEATURE_ID)) {\n app.getPlugin('content-manager').injectComponent('preview', 'actions', {\n name: 'review-workflows-assignee',\n Component: Header,\n });\n }\n },\n async registerTrads({ locales }: { locales: string[] }) {\n const importedTrads = await Promise.all(\n locales.map((locale) => {\n return import(`./translations/${locale}.json`)\n .then(({ default: data }) => {\n return {\n data: prefixPluginTranslations(data, PLUGIN_ID),\n locale,\n };\n })\n .catch(() => {\n return {\n data: {},\n locale,\n };\n });\n })\n );\n\n return Promise.resolve(importedTrads);\n },\n};\n\n// eslint-disable-next-line import/no-default-export\nexport default admin;\n"],"names":["admin","register","app","window","strapi","features","isEnabled","FEATURE_ID","registerHook","addColumnToTableHook","contentManagerPluginApis","getPlugin","apis","addEditViewSidePanel","Panel","addSettingsLink","id","PLUGIN_ID","to","intlLabel","defaultMessage","licenseOnly","permissions","Component","Router","default","widgets","icon","SealCheck","title","component","AssignedWidget","pluginId","action","flags","promoteEE","PurchaseReviewWorkflows","bootstrap","injectComponent","name","Header","registerTrads","locales","importedTrads","Promise","all","map","locale","then","data","prefixPluginTranslations","catch","resolve"],"mappings":"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"}
|
package/dist/admin/index.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.mjs","sources":["../../admin/src/index.ts"],"sourcesContent":["import { SealCheck } from '@strapi/icons';\n\nimport { PLUGIN_ID, FEATURE_ID } from './constants';\nimport { Header } from './routes/content-manager/model/id/components/Header';\nimport { Panel } from './routes/content-manager/model/id/components/Panel';\nimport { addColumnToTableHook } from './utils/cm-hooks';\nimport { prefixPluginTranslations } from './utils/translations';\n\nimport type { StrapiApp, WidgetArgs } from '@strapi/admin/strapi-admin';\nimport type { Plugin } from '@strapi/types';\n\nconst admin: Plugin.Config.AdminInput = {\n register(app: StrapiApp) {\n if (window.strapi.features.isEnabled(FEATURE_ID)) {\n app.registerHook('Admin/CM/pages/ListView/inject-column-in-table', addColumnToTableHook);\n\n const contentManagerPluginApis = app.getPlugin('content-manager').apis;\n\n if (\n 'addEditViewSidePanel' in contentManagerPluginApis &&\n typeof contentManagerPluginApis.addEditViewSidePanel === 'function'\n ) {\n contentManagerPluginApis.addEditViewSidePanel([Panel]);\n }\n\n app.addSettingsLink('global', {\n id: PLUGIN_ID,\n to: `review-workflows`,\n intlLabel: {\n id: `${PLUGIN_ID}.plugin.name`,\n defaultMessage: 'Review Workflows',\n },\n licenseOnly: true,\n permissions: [],\n async Component() {\n const { Router } = await import('./router');\n return { default: Router };\n },\n });\n\n // Always put the assigned to me widget last in the list of widgets\n app.widgets.register((widgets: WidgetArgs[]) => [\n ...widgets,\n {\n icon: SealCheck,\n title: {\n id: `${PLUGIN_ID}.widget.assigned.title`,\n defaultMessage: 'Assigned to me',\n },\n component: async () => {\n const { AssignedWidget } = await import('./components/Widgets');\n return AssignedWidget;\n },\n pluginId: PLUGIN_ID,\n id: 'assigned',\n permissions: [{ action: 'plugin::content-manager.explorer.read' }],\n },\n ]);\n } else if (!window.strapi.features.isEnabled(FEATURE_ID) && window.strapi?.flags?.promoteEE) {\n app.addSettingsLink('global', {\n id: PLUGIN_ID,\n to: `purchase-review-workflows`,\n intlLabel: {\n id: `${PLUGIN_ID}.plugin.name`,\n defaultMessage: 'Review Workflows',\n },\n licenseOnly: true,\n permissions: [],\n async Component() {\n const { PurchaseReviewWorkflows } = await import('./routes/purchase-review-workflows');\n return { default: PurchaseReviewWorkflows };\n },\n });\n }\n },\n bootstrap(app: StrapiApp) {\n if (window.strapi.features.isEnabled(FEATURE_ID)) {\n app.getPlugin('content-manager').injectComponent('preview', 'actions', {\n name: 'review-workflows-assignee',\n Component: Header,\n });\n }\n },\n async registerTrads({ locales }: { locales: string[] }) {\n const importedTrads = await Promise.all(\n locales.map((locale) => {\n return import(`./translations/${locale}.json`)\n .then(({ default: data }) => {\n return {\n data: prefixPluginTranslations(data, PLUGIN_ID),\n locale,\n };\n })\n .catch(() => {\n return {\n data: {},\n locale,\n };\n });\n })\n );\n\n return Promise.resolve(importedTrads);\n },\n};\n\n// eslint-disable-next-line import/no-default-export\nexport default admin;\n"],"names":["admin","register","app","window","strapi","features","isEnabled","FEATURE_ID","registerHook","addColumnToTableHook","contentManagerPluginApis","getPlugin","apis","addEditViewSidePanel","Panel","addSettingsLink","id","PLUGIN_ID","to","intlLabel","defaultMessage","licenseOnly","permissions","Component","Router","default","widgets","icon","SealCheck","title","component","AssignedWidget","pluginId","action","flags","promoteEE","PurchaseReviewWorkflows","bootstrap","injectComponent","name","Header","registerTrads","locales","importedTrads","Promise","all","map","locale","then","data","prefixPluginTranslations","catch","resolve"],"mappings":";;;;;;;;;;;;;;;;;;AAWA,MAAMA,
|
|
1
|
+
{"version":3,"file":"index.mjs","sources":["../../admin/src/index.ts"],"sourcesContent":["import { SealCheck } from '@strapi/icons';\n\nimport { PLUGIN_ID, FEATURE_ID } from './constants';\nimport { Header } from './routes/content-manager/model/id/components/Header';\nimport { Panel } from './routes/content-manager/model/id/components/Panel';\nimport { addColumnToTableHook } from './utils/cm-hooks';\nimport { prefixPluginTranslations } from './utils/translations';\n\nimport type { StrapiApp, WidgetArgs } from '@strapi/admin/strapi-admin';\nimport type { Plugin } from '@strapi/types';\n\nconst admin: Plugin.Config.AdminInput = {\n register(app: StrapiApp) {\n if (window.strapi.features.isEnabled(FEATURE_ID)) {\n app.registerHook('Admin/CM/pages/ListView/inject-column-in-table', addColumnToTableHook);\n\n const contentManagerPluginApis = app.getPlugin('content-manager').apis;\n\n if (\n 'addEditViewSidePanel' in contentManagerPluginApis &&\n typeof contentManagerPluginApis.addEditViewSidePanel === 'function'\n ) {\n contentManagerPluginApis.addEditViewSidePanel([Panel]);\n }\n\n app.addSettingsLink('global', {\n id: PLUGIN_ID,\n to: `review-workflows`,\n intlLabel: {\n id: `${PLUGIN_ID}.plugin.name`,\n defaultMessage: 'Review Workflows',\n },\n licenseOnly: true,\n permissions: [],\n async Component() {\n const { Router } = await import('./router');\n return { default: Router };\n },\n });\n\n // Always put the assigned to me widget last in the list of widgets\n app.widgets.register((widgets: WidgetArgs[]) => [\n ...widgets,\n {\n icon: SealCheck,\n title: {\n id: `${PLUGIN_ID}.widget.assigned.title`,\n defaultMessage: 'Assigned to me',\n },\n component: async () => {\n const { AssignedWidget } = await import('./components/Widgets');\n return AssignedWidget;\n },\n pluginId: PLUGIN_ID,\n id: 'assigned',\n permissions: [{ action: 'plugin::content-manager.explorer.read' }],\n },\n ]);\n } else if (!window.strapi.features.isEnabled(FEATURE_ID) && window.strapi?.flags?.promoteEE) {\n app.addSettingsLink('global', {\n id: PLUGIN_ID,\n to: `purchase-review-workflows`,\n intlLabel: {\n id: `${PLUGIN_ID}.plugin.name`,\n defaultMessage: 'Review Workflows',\n },\n licenseOnly: true,\n permissions: [],\n async Component() {\n const { PurchaseReviewWorkflows } = await import('./routes/purchase-review-workflows');\n return { default: PurchaseReviewWorkflows };\n },\n });\n }\n },\n bootstrap(app: StrapiApp) {\n if (window.strapi.features.isEnabled(FEATURE_ID)) {\n app.getPlugin('content-manager').injectComponent('preview', 'actions', {\n name: 'review-workflows-assignee',\n Component: Header,\n });\n }\n },\n async registerTrads({ locales }: { locales: string[] }) {\n const importedTrads = await Promise.all(\n locales.map((locale) => {\n return import(`./translations/${locale}.json`)\n .then(({ default: data }) => {\n return {\n data: prefixPluginTranslations(data, PLUGIN_ID),\n locale,\n };\n })\n .catch(() => {\n return {\n data: {},\n locale,\n };\n });\n })\n );\n\n return Promise.resolve(importedTrads);\n },\n};\n\n// eslint-disable-next-line import/no-default-export\nexport default admin;\n"],"names":["admin","register","app","window","strapi","features","isEnabled","FEATURE_ID","registerHook","addColumnToTableHook","contentManagerPluginApis","getPlugin","apis","addEditViewSidePanel","Panel","addSettingsLink","id","PLUGIN_ID","to","intlLabel","defaultMessage","licenseOnly","permissions","Component","Router","default","widgets","icon","SealCheck","title","component","AssignedWidget","pluginId","action","flags","promoteEE","PurchaseReviewWorkflows","bootstrap","injectComponent","name","Header","registerTrads","locales","importedTrads","Promise","all","map","locale","then","data","prefixPluginTranslations","catch","resolve"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hooks.js","sources":["../../../admin/src/modules/hooks.ts"],"sourcesContent":["import { Dispatch } from '@reduxjs/toolkit';\nimport { TypedUseSelectorHook, useDispatch, useSelector } from 'react-redux';\n\nimport type { Store } from '@strapi/admin/strapi-admin';\n\ntype RootState = ReturnType<Store['getState']>;\n\nconst useTypedDispatch: () => Dispatch = useDispatch;\nconst useTypedSelector: TypedUseSelectorHook<RootState> = useSelector;\n\nexport { useTypedSelector, useTypedDispatch };\n"],"names":["useTypedSelector","useSelector"],"mappings":";;;;AAQA,MAAMA,
|
|
1
|
+
{"version":3,"file":"hooks.js","sources":["../../../admin/src/modules/hooks.ts"],"sourcesContent":["import { Dispatch } from '@reduxjs/toolkit';\nimport { TypedUseSelectorHook, useDispatch, useSelector } from 'react-redux';\n\nimport type { Store } from '@strapi/admin/strapi-admin';\n\ntype RootState = ReturnType<Store['getState']>;\n\nconst useTypedDispatch: () => Dispatch = useDispatch;\nconst useTypedSelector: TypedUseSelectorHook<RootState> = useSelector;\n\nexport { useTypedSelector, useTypedDispatch };\n"],"names":["useTypedSelector","useSelector"],"mappings":";;;;AAQA,MAAMA,gBAAAA,GAAoDC;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hooks.mjs","sources":["../../../admin/src/modules/hooks.ts"],"sourcesContent":["import { Dispatch } from '@reduxjs/toolkit';\nimport { TypedUseSelectorHook, useDispatch, useSelector } from 'react-redux';\n\nimport type { Store } from '@strapi/admin/strapi-admin';\n\ntype RootState = ReturnType<Store['getState']>;\n\nconst useTypedDispatch: () => Dispatch = useDispatch;\nconst useTypedSelector: TypedUseSelectorHook<RootState> = useSelector;\n\nexport { useTypedSelector, useTypedDispatch };\n"],"names":["useTypedSelector","useSelector"],"mappings":";;AAQA,MAAMA,
|
|
1
|
+
{"version":3,"file":"hooks.mjs","sources":["../../../admin/src/modules/hooks.ts"],"sourcesContent":["import { Dispatch } from '@reduxjs/toolkit';\nimport { TypedUseSelectorHook, useDispatch, useSelector } from 'react-redux';\n\nimport type { Store } from '@strapi/admin/strapi-admin';\n\ntype RootState = ReturnType<Store['getState']>;\n\nconst useTypedDispatch: () => Dispatch = useDispatch;\nconst useTypedSelector: TypedUseSelectorHook<RootState> = useSelector;\n\nexport { useTypedSelector, useTypedDispatch };\n"],"names":["useTypedSelector","useSelector"],"mappings":";;AAQA,MAAMA,gBAAAA,GAAoDC;;;;"}
|
package/dist/admin/router.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"router.js","sources":["../../admin/src/router.tsx"],"sourcesContent":["/* eslint-disable check-file/filename-naming-convention */\nimport { lazy } from 'react';\n\nimport { Routes, Route, PathRouteProps } from 'react-router-dom';\n\nconst ProtectedListPage = lazy(() =>\n import('./routes/settings').then((mod) => ({ default: mod.ProtectedListPage }))\n);\nconst ProtectedEditPage = lazy(() =>\n import('./routes/settings/id').then((mod) => ({ default: mod.ProtectedEditPage }))\n);\n\nconst routes: PathRouteProps[] = [\n {\n path: '/',\n Component: ProtectedListPage,\n },\n {\n path: ':id',\n Component: ProtectedEditPage,\n },\n];\n\nconst Router = () => (\n <Routes>\n {routes.map((route) => (\n <Route key={route.path} {...route} />\n ))}\n </Routes>\n);\n\nexport { Router };\n"],"names":["ProtectedListPage","lazy","then","mod","default","ProtectedEditPage","routes","path","Component","Router","_jsx","Routes","map","route","Route"],"mappings":";;;;;;AAKA,MAAMA,iBAAAA,iBAAoBC,
|
|
1
|
+
{"version":3,"file":"router.js","sources":["../../admin/src/router.tsx"],"sourcesContent":["/* eslint-disable check-file/filename-naming-convention */\nimport { lazy } from 'react';\n\nimport { Routes, Route, PathRouteProps } from 'react-router-dom';\n\nconst ProtectedListPage = lazy(() =>\n import('./routes/settings').then((mod) => ({ default: mod.ProtectedListPage }))\n);\nconst ProtectedEditPage = lazy(() =>\n import('./routes/settings/id').then((mod) => ({ default: mod.ProtectedEditPage }))\n);\n\nconst routes: PathRouteProps[] = [\n {\n path: '/',\n Component: ProtectedListPage,\n },\n {\n path: ':id',\n Component: ProtectedEditPage,\n },\n];\n\nconst Router = () => (\n <Routes>\n {routes.map((route) => (\n <Route key={route.path} {...route} />\n ))}\n </Routes>\n);\n\nexport { Router };\n"],"names":["ProtectedListPage","lazy","then","mod","default","ProtectedEditPage","routes","path","Component","Router","_jsx","Routes","map","route","Route"],"mappings":";;;;;;AAKA,MAAMA,iBAAAA,iBAAoBC,UAAAA,CAAK,IAC7B,oDAAO,kCAAqBC,IAAI,CAAC,CAACC,GAAAA,IAAS;AAAEC,YAAAA,OAAAA,EAASD,IAAIH;SAAkB,CAAA,CAAA,CAAA;AAE9E,MAAMK,iBAAAA,iBAAoBJ,UAAAA,CAAK,IAC7B,oDAAO,+BAAwBC,IAAI,CAAC,CAACC,GAAAA,IAAS;AAAEC,YAAAA,OAAAA,EAASD,IAAIE;SAAkB,CAAA,CAAA,CAAA;AAGjF,MAAMC,MAAAA,GAA2B;AAC/B,IAAA;QACEC,IAAAA,EAAM,GAAA;QACNC,SAAAA,EAAWR;AACb,KAAA;AACA,IAAA;QACEO,IAAAA,EAAM,KAAA;QACNC,SAAAA,EAAWH;AACb;AACD,CAAA;AAED,MAAMI,MAAAA,GAAS,kBACbC,cAAA,CAACC,qBAAAA,EAAAA;AACEL,QAAAA,QAAAA,EAAAA,MAAAA,CAAOM,GAAG,CAAC,CAACC,KAAAA,iBACXH,cAAA,CAACI,oBAAAA,EAAAA;AAAwB,gBAAA,GAAGD;AAAhBA,aAAAA,EAAAA,KAAAA,CAAMN,IAAI,CAAA;;;;;"}
|
|
@@ -1 +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,
|
|
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,IAAAA,CAAK,IAC7B,OAAO,+BAAqBC,IAAI,CAAC,CAACC,GAAAA,IAAS;AAAEC,YAAAA,OAAAA,EAASD,IAAIH;SAAkB,CAAA,CAAA,CAAA;AAE9E,MAAMK,iBAAAA,iBAAoBJ,IAAAA,CAAK,IAC7B,OAAO,4BAAwBC,IAAI,CAAC,CAACC,GAAAA,IAAS;AAAEC,YAAAA,OAAAA,EAASD,IAAIE;SAAkB,CAAA,CAAA,CAAA;AAGjF,MAAMC,MAAAA,GAA2B;AAC/B,IAAA;QACEC,IAAAA,EAAM,GAAA;QACNC,SAAAA,EAAWR;AACb,KAAA;AACA,IAAA;QACEO,IAAAA,EAAM,KAAA;QACNC,SAAAA,EAAWH;AACb;AACD,CAAA;AAED,MAAMI,MAAAA,GAAS,kBACbC,GAAA,CAACC,MAAAA,EAAAA;AACEL,QAAAA,QAAAA,EAAAA,MAAAA,CAAOM,GAAG,CAAC,CAACC,KAAAA,iBACXH,GAAA,CAACI,KAAAA,EAAAA;AAAwB,gBAAA,GAAGD;AAAhBA,aAAAA,EAAAA,KAAAA,CAAMN,IAAI,CAAA;;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TableColumns.js","sources":["../../../../../../admin/src/routes/content-manager/model/components/TableColumns.tsx"],"sourcesContent":["import { SanitizedAdminUser } from '@strapi/admin/strapi-admin';\nimport { Box, Flex, Typography } from '@strapi/design-system';\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?:
|
|
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';\nimport { Data } from '@strapi/types';\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?: Data.ID;\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?: Data.ID;\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":";;;;;;;;AAiBA,MAAMA,cAAc,CAACC,KAAAA,GAAAA;IACnB,MAAM,EAAEC,KAAAA,GAAQC,6BAAmB,EAAEC,IAAI,EAAE,GAAGH,KAAAA,CAAMI,YAAY,IAAI,EAAC;AACrE,IAAA,MAAM,EAAEC,cAAc,EAAE,GAAGC,yBAAAA,CAAmBL,UAAU,EAAC;AAEzD,IAAA,qBACEM,eAAA,CAACC,iBAAAA,EAAAA;QAAKC,UAAAA,EAAW,QAAA;QAASC,GAAAA,EAAK,CAAA;QAAGC,QAAAA,EAAS,OAAA;;0BACzCC,cAAA,CAACC,gBAAAA,EAAAA;gBACCC,MAAAA,EAAQ,CAAA;gBACRC,UAAAA,EAAYd,KAAAA;gBACZe,WAAAA,EAAaX,cAAAA,KAAmB,aAAa,YAAA,GAAeY,SAAAA;gBAC5DC,SAAS,EAAA,IAAA;gBACTC,MAAAA,EAAQ,CAAA;gBACRC,KAAAA,EAAO;;0BAGTR,cAAA,CAACS,uBAAAA,EAAAA;gBAAWC,UAAAA,EAAW,SAAA;gBAAUC,SAAAA,EAAU,YAAA;gBAAaC,QAAQ,EAAA,IAAA;AAC7DrB,gBAAAA,QAAAA,EAAAA;;;;AAIT;AAWA,MAAMsB,iBAAiB,CAACzB,KAAAA,GAAAA;AACtB,IAAA,MAAM,EAAE0B,eAAAA,EAAiBC,IAAI,EAAE,GAAG3B,KAAAA;AAClC,IAAA,qBAAOY,cAAA,CAACS,uBAAAA,EAAAA;QAAWE,SAAAA,EAAU,YAAA;AAAcI,QAAAA,QAAAA,EAAAA,IAAAA,GAAOC,qBAAeD,IAAAA,CAAAA,GAAQ;;AAC3E;;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TableColumns.mjs","sources":["../../../../../../admin/src/routes/content-manager/model/components/TableColumns.tsx"],"sourcesContent":["import { SanitizedAdminUser } from '@strapi/admin/strapi-admin';\nimport { Box, Flex, Typography } from '@strapi/design-system';\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?:
|
|
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';\nimport { Data } from '@strapi/types';\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?: Data.ID;\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?: Data.ID;\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":";;;;;;AAiBA,MAAMA,cAAc,CAACC,KAAAA,GAAAA;IACnB,MAAM,EAAEC,KAAAA,GAAQC,mBAAmB,EAAEC,IAAI,EAAE,GAAGH,KAAAA,CAAMI,YAAY,IAAI,EAAC;AACrE,IAAA,MAAM,EAAEC,cAAc,EAAE,GAAGC,kBAAAA,CAAmBL,UAAU,EAAC;AAEzD,IAAA,qBACEM,IAAA,CAACC,IAAAA,EAAAA;QAAKC,UAAAA,EAAW,QAAA;QAASC,GAAAA,EAAK,CAAA;QAAGC,QAAAA,EAAS,OAAA;;0BACzCC,GAAA,CAACC,GAAAA,EAAAA;gBACCC,MAAAA,EAAQ,CAAA;gBACRC,UAAAA,EAAYd,KAAAA;gBACZe,WAAAA,EAAaX,cAAAA,KAAmB,aAAa,YAAA,GAAeY,SAAAA;gBAC5DC,SAAS,EAAA,IAAA;gBACTC,MAAAA,EAAQ,CAAA;gBACRC,KAAAA,EAAO;;0BAGTR,GAAA,CAACS,UAAAA,EAAAA;gBAAWC,UAAAA,EAAW,SAAA;gBAAUC,SAAAA,EAAU,YAAA;gBAAaC,QAAQ,EAAA,IAAA;AAC7DrB,gBAAAA,QAAAA,EAAAA;;;;AAIT;AAWA,MAAMsB,iBAAiB,CAACzB,KAAAA,GAAAA;AACtB,IAAA,MAAM,EAAE0B,eAAAA,EAAiBC,IAAI,EAAE,GAAG3B,KAAAA;AAClC,IAAA,qBAAOY,GAAA,CAACS,UAAAA,EAAAA;QAAWE,SAAAA,EAAU,YAAA;AAAcI,QAAAA,QAAAA,EAAAA,IAAAA,GAAOC,eAAeD,IAAAA,CAAAA,GAAQ;;AAC3E;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.js","sources":["../../../../../admin/src/routes/content-manager/model/constants.tsx"],"sourcesContent":["import { AssigneeFilter } from './components/AssigneeFilter';\nimport { StageFilter } from './components/StageFilter';\nimport { AssigneeColumn, StageColumn } from './components/TableColumns';\nimport { ASSIGNEE_ATTRIBUTE_NAME, STAGE_ATTRIBUTE_NAME } from './id/components/constants';\n\nimport type { Filters } from '@strapi/admin/strapi-admin';\nimport type { ListFieldLayout } from '@strapi/content-manager/strapi-admin';\nimport type { MessageDescriptor } from 'react-intl';\n\nexport const REVIEW_WORKFLOW_COLUMNS = [\n {\n name: STAGE_ATTRIBUTE_NAME,\n attribute: {\n type: 'relation',\n relation: 'oneToMany',\n target: 'admin::review-workflow-stage',\n },\n label: {\n id: 'review-workflows.containers.list.table-headers.reviewWorkflows.stage',\n defaultMessage: 'Review stage',\n },\n searchable: false,\n sortable: true,\n mainField: {\n name: 'name',\n type: 'string',\n },\n cellFormatter: (props) => <StageColumn {...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,
|
|
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,uBAAAA,GAA0B;AACrC,IAAA;QACEC,IAAAA,EAAMC,8BAAAA;QACNC,SAAAA,EAAW;YACTC,IAAAA,EAAM,UAAA;YACNC,QAAAA,EAAU,WAAA;YACVC,MAAAA,EAAQ;AACV,SAAA;QACAC,KAAAA,EAAO;YACLC,EAAAA,EAAI,sEAAA;YACJC,cAAAA,EAAgB;AAClB,SAAA;QACAC,UAAAA,EAAY,KAAA;QACZC,QAAAA,EAAU,IAAA;QACVC,SAAAA,EAAW;YACTX,IAAAA,EAAM,MAAA;YACNG,IAAAA,EAAM;AACR,SAAA;QACAS,aAAAA,EAAe,CAACC,sBAAUC,cAAA,CAACC,wBAAAA,EAAAA;AAAa,gBAAA,GAAGF;;AAC7C,KAAA;AACA,IAAA;QACEb,IAAAA,EAAMgB,iCAAAA;QACNd,SAAAA,EAAW;YACTC,IAAAA,EAAM,UAAA;YACNE,MAAAA,EAAQ,aAAA;YACRD,QAAAA,EAAU;AACZ,SAAA;QACAE,KAAAA,EAAO;YACLC,EAAAA,EAAI,yEAAA;YACJC,cAAAA,EAAgB;AAClB,SAAA;QACAC,UAAAA,EAAY,KAAA;QACZC,QAAAA,EAAU,IAAA;QACVC,SAAAA,EAAW;YACTX,IAAAA,EAAM,WAAA;YACNG,IAAAA,EAAM;AACR,SAAA;QACAS,aAAAA,EAAe,CAACC,sBAAUC,cAAA,CAACG,2BAAAA,EAAAA;AAAgB,gBAAA,GAAGJ;;AAChD;;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.mjs","sources":["../../../../../admin/src/routes/content-manager/model/constants.tsx"],"sourcesContent":["import { AssigneeFilter } from './components/AssigneeFilter';\nimport { StageFilter } from './components/StageFilter';\nimport { AssigneeColumn, StageColumn } from './components/TableColumns';\nimport { ASSIGNEE_ATTRIBUTE_NAME, STAGE_ATTRIBUTE_NAME } from './id/components/constants';\n\nimport type { Filters } from '@strapi/admin/strapi-admin';\nimport type { ListFieldLayout } from '@strapi/content-manager/strapi-admin';\nimport type { MessageDescriptor } from 'react-intl';\n\nexport const REVIEW_WORKFLOW_COLUMNS = [\n {\n name: STAGE_ATTRIBUTE_NAME,\n attribute: {\n type: 'relation',\n relation: 'oneToMany',\n target: 'admin::review-workflow-stage',\n },\n label: {\n id: 'review-workflows.containers.list.table-headers.reviewWorkflows.stage',\n defaultMessage: 'Review stage',\n },\n searchable: false,\n sortable: true,\n mainField: {\n name: 'name',\n type: 'string',\n },\n cellFormatter: (props) => <StageColumn {...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,
|
|
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,uBAAAA,GAA0B;AACrC,IAAA;QACEC,IAAAA,EAAMC,oBAAAA;QACNC,SAAAA,EAAW;YACTC,IAAAA,EAAM,UAAA;YACNC,QAAAA,EAAU,WAAA;YACVC,MAAAA,EAAQ;AACV,SAAA;QACAC,KAAAA,EAAO;YACLC,EAAAA,EAAI,sEAAA;YACJC,cAAAA,EAAgB;AAClB,SAAA;QACAC,UAAAA,EAAY,KAAA;QACZC,QAAAA,EAAU,IAAA;QACVC,SAAAA,EAAW;YACTX,IAAAA,EAAM,MAAA;YACNG,IAAAA,EAAM;AACR,SAAA;QACAS,aAAAA,EAAe,CAACC,sBAAUC,GAAA,CAACC,WAAAA,EAAAA;AAAa,gBAAA,GAAGF;;AAC7C,KAAA;AACA,IAAA;QACEb,IAAAA,EAAMgB,uBAAAA;QACNd,SAAAA,EAAW;YACTC,IAAAA,EAAM,UAAA;YACNE,MAAAA,EAAQ,aAAA;YACRD,QAAAA,EAAU;AACZ,SAAA;QACAE,KAAAA,EAAO;YACLC,EAAAA,EAAI,yEAAA;YACJC,cAAAA,EAAgB;AAClB,SAAA;QACAC,UAAAA,EAAY,KAAA;QACZC,QAAAA,EAAU,IAAA;QACVC,SAAAA,EAAW;YACTX,IAAAA,EAAM,WAAA;YACNG,IAAAA,EAAM;AACR,SAAA;QACAS,aAAAA,EAAe,CAACC,sBAAUC,GAAA,CAACG,cAAAA,EAAAA;AAAgB,gBAAA,GAAGJ;;AAChD;;;;;"}
|
|
@@ -1 +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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"}
|
|
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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"}
|
|
@@ -1 +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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"}
|
|
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":";;;;;;;;;;;;;AAqBA,MAAMA,cAAAA,GAAiB,CAAC,EAAEC,SAAS,EAA2B,GAAA;IAC5D,MAAM,EACJC,cAAAA,GAAiB,EAAE,EACnBC,EAAE,EACFC,IAAAA,EAAMC,KAAAA,GAAQ,EAAE,EACjB,GAAGC,SAAAA,EAAAA;AACJ,IAAA,MAAMC,cAAcC,gBAAAA,CAAiB,CAACC,QAAUA,KAAAA,CAAMC,SAAS,CAACH,WAAW,CAAA;IAC3E,MAAM,EAAEI,aAAa,EAAE,GAAGC,OAAAA,EAAAA;AAC1B,IAAA,MAAM,EAAEC,uBAAAA,EAAyBC,cAAc,EAAE,GAAGC,kBAAAA,EAAAA;IACpD,MAAM,EAAEC,kBAAkB,EAAE,GAAGC,eAAAA,EAAAA;AAC/B,IAAA,MAAM,EACJC,cAAAA,EAAgB,EAAEC,OAAO,EAAE,EAC3BC,SAAAA,EAAWC,oBAAoB,EAChC,GAAGC,OAAAA,CAAQf,WAAAA,CAAYgB,QAAQ,EAAEC,KAAAA,CAAAA;AAClC,IAAA,MAAM,CAAC,EAAEC,KAAK,EAAE,CAAC,GAAGC,cAAAA,EAAAA;AACpB,IAAA,MAAMC,SAASC,KAAAA,CAAMC,OAAO,CAAC,IAAMC,iBAAiBL,KAAAA,CAAAA,EAAQ;AAACA,QAAAA;AAAM,KAAA,CAAA;IACnE,MAAM,EACJM,IAAI,EACJX,SAAAA,EAAWY,cAAc,EACzBC,OAAO,EACR,GAAGC,aAAAA,CAAcC,SAAAA,EAAW;AAC3BC,QAAAA,IAAAA,EAAMf,wBAAwB,CAACF;AACjC,KAAA,CAAA;AACA,IAAA,MAAM,EAAEkB,QAAQ,EAAE,GAAGC,oBAAAA,CACnB;AACEpC,QAAAA,cAAAA;AACAG,QAAAA,KAAAA;QACAkC,UAAAA,EAAYpC;KACd,EACA;QACEiC,IAAAA,EAAM,CAACjC,MAAMD,cAAAA,KAAmB;AAClC,KAAA,CAAA;IAGF,MAAMsB,KAAAA,GAAQO,IAAAA,EAAMP,KAAAA,IAAS,EAAE;AAE/B,IAAA,MAAMgB,eAAAA,GAAkBH,QAAAA,GAAWA,QAAQ,CAACI,wBAAwB,GAAG,IAAA;IAEvE,MAAM,CAACC,gBAAgB,EAAEC,KAAK,EAAEvB,SAAAA,EAAWwB,UAAU,EAAE,CAAC,GAAGC,yBAAAA,EAAAA;AAE3D,IAAA,IAAI,CAAC3C,cAAAA,IAAkB,CAACG,KAAAA,IAAS,CAACgC,UAAUE,UAAAA,EAAY;QACtD,OAAO,IAAA;AACT,IAAA;AAEA,IAAA,MAAMO,eAAe,OAAOC,UAAAA,GAAAA;;QAE1B,IAAIP,eAAAA,EAAiBrC,OAAO4C,UAAAA,EAAY;AACtC,YAAA;AACF,QAAA;QAEA,MAAMC,GAAAA,GAAM,MAAMN,cAAAA,CAAe;YAC/BtC,IAAAA,EAAMF,cAAAA;AACNG,YAAAA,KAAAA;AACAF,YAAAA,EAAAA,EAAIkC,SAASE,UAAU;AACvBZ,YAAAA,MAAAA;YACAI,IAAAA,EAAM;gBACJ5B,EAAAA,EAAI4C,UAAAA,GAAaE,QAAAA,CAASF,UAAAA,EAAY,EAAA,CAAA,GAAM;AAC9C;AACF,SAAA,CAAA;AAEA,QAAA,IAAI,UAAUC,GAAAA,EAAK;YACjBhC,kBAAAA,CAAmB;gBACjBkC,IAAAA,EAAM,SAAA;AACNC,gBAAAA,OAAAA,EAASxC,aAAAA,CAAc;oBACrBR,EAAAA,EAAI,6DAAA;oBACJiD,cAAAA,EAAgB;AAClB,iBAAA;AACF,aAAA,CAAA;AACF,QAAA;QAEA,IAAInD,SAAAA,IAAa,WAAW+C,GAAAA,EAAK;YAC/BhC,kBAAAA,CAAmB;gBACjBkC,IAAAA,EAAM,QAAA;gBACNC,OAAAA,EAASrC,cAAAA,CAAekC,IAAIL,KAAK;AACnC,aAAA,CAAA;AACF,QAAA;AACF,IAAA,CAAA;AAEA,IAAA,MAAMU,UAAAA,GACH,CAAChC,oBAAAA,IAAwB,CAACW,cAAAA,IAAkBR,KAAAA,CAAM8B,MAAM,KAAK,CAAA,IAAM,CAACjB,QAAAA,CAASE,UAAU;IAC1F,MAAMnB,SAAAA,GAAYY,kBAAkBX,oBAAAA,IAAwBuB,UAAAA;AAE5D,IAAA,MAAMW,gBAAgB5C,aAAAA,CAAc;QAClCR,EAAAA,EAAI,gDAAA;QACJiD,cAAAA,EAAgB;AAClB,KAAA,CAAA;AACA,IAAA,MAAMI,qBAAqB7C,aAAAA,CAAc;QACvCR,EAAAA,EAAI,gDAAA;QACJiD,cAAAA,EAAgB;AAClB,KAAA,CAAA;AACA,IAAA,MAAMK,sBAAsB9C,aAAAA,CAAc;QACxCR,EAAAA,EAAI,sDAAA;QACJiD,cAAAA,EAAgB;AAClB,KAAA,CAAA;AAEA,IAAA,IAAInD,SAAAA,EAAW;QACb,qBACEyD,IAAA,CAACC,MAAMC,IAAI,EAAA;YAACC,IAAAA,EAAMpB,uBAAAA;YAAyBtC,EAAAA,EAAIsC,uBAAAA;;8BAC7CqB,GAAA,CAACC,cAAAA,EAAAA;4CACCD,GAAA,CAACH,MAAMK,KAAK,EAAA;AAAET,wBAAAA,QAAAA,EAAAA;;;8BAEhBO,GAAA,CAACG,QAAAA,EAAAA;oBACCC,UAAAA,EAAYV,kBAAAA;oBACZW,QAAAA,EAAUd,UAAAA;AACVe,oBAAAA,KAAAA,EAAO5B,eAAAA,GAAkBA,eAAAA,CAAgBrC,EAAE,CAACkE,QAAQ,EAAA,GAAK,IAAA;oBACzDC,QAAAA,EAAUxB,YAAAA;AACVyB,oBAAAA,OAAAA,EAAS,IAAMzB,YAAAA,CAAa,IAAA,CAAA;oBAC5B0B,WAAAA,EAAaf,mBAAAA;AACbgB,oBAAAA,OAAAA,EAASrD,aAAaC,oBAAAA,IAAwBuB,UAAAA;oBAC9C8B,IAAAA,EAAK,GAAA;8BAEJlD,KAAAA,CAAMmD,GAAG,CAAC,CAACC,IAAAA,GAAAA;AACV,wBAAA,qBACEd,GAAA,CAACe,cAAAA,EAAAA;4BAECT,KAAAA,EAAOQ,IAAAA,CAAKzE,EAAE,CAACkE,QAAQ,EAAA;AACvBS,4BAAAA,SAAAA,EAAWC,cAAAA,CAAeH,IAAAA,CAAAA;sCAEzBG,cAAAA,CAAeH,IAAAA;AAJXA,yBAAAA,EAAAA,IAAAA,CAAKzE,EAAE,CAAA;AAOlB,oBAAA,CAAA;;;;AAIR,IAAA;IAEA,qBACEuD,IAAA,CAACC,MAAMC,IAAI,EAAA;QACTC,IAAAA,EAAMpB,uBAAAA;QACNtC,EAAAA,EAAIsC,uBAAAA;AACJE,QAAAA,KAAAA,EACE,CAAC,OAACV,IACAd,WACAR,aAAAA,CAAc;YACZR,EAAAA,EAAI,gDAAA;YACJiD,cAAAA,EAAgB;SAClB,CAAA,IACCT,KAAAA,IAAS7B,cAAAA,CAAe6B,KAAAA,CAAM,KACjCR,SAAAA;;AAGF,0BAAA2B,GAAA,CAACH,MAAMK,KAAK,EAAA;AAAET,gBAAAA,QAAAA,EAAAA;;0BACdO,GAAA,CAACG,QAAAA,EAAAA;gBACCC,UAAAA,EAAYV,kBAAAA;gBACZW,QAAAA,EACG,CAAC9C,oBAAAA,IAAwB,CAACD,SAAAA,IAAaI,KAAAA,CAAM8B,MAAM,KAAK,CAAA,IAAM,CAACjB,QAAAA,CAASE,UAAU;AAErF6B,gBAAAA,KAAAA,EAAO5B,eAAAA,GAAkBA,eAAAA,CAAgBrC,EAAE,CAACkE,QAAQ,EAAA,GAAK,IAAA;gBACzDC,QAAAA,EAAUxB,YAAAA;AACVyB,gBAAAA,OAAAA,EAAS,IAAMzB,YAAAA,CAAa,IAAA,CAAA;gBAC5B0B,WAAAA,EAAaf,mBAAAA;AACbgB,gBAAAA,OAAAA,EAASrD,aAAaC,oBAAAA,IAAwBuB,UAAAA;0BAE7CpB,KAAAA,CAAMmD,GAAG,CAAC,CAACC,IAAAA,GAAAA;AACV,oBAAA,qBACEd,GAAA,CAACe,cAAAA,EAAAA;wBAECT,KAAAA,EAAOQ,IAAAA,CAAKzE,EAAE,CAACkE,QAAQ,EAAA;AACvBS,wBAAAA,SAAAA,EAAWC,cAAAA,CAAeH,IAAAA,CAAAA;kCAEzBG,cAAAA,CAAeH,IAAAA;AAJXA,qBAAAA,EAAAA,IAAAA,CAAKzE,EAAE,CAAA;AAOlB,gBAAA,CAAA;;AAEF,0BAAA2D,GAAA,CAACH,MAAMqB,KAAK,EAAA,EAAA;;;AAGlB;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Header.js","sources":["../../../../../../../admin/src/routes/content-manager/model/id/components/Header.tsx"],"sourcesContent":["import { unstable_useDocumentLayout as useDocumentLayout } from '@strapi/content-manager/strapi-admin';\nimport { Flex } from '@strapi/design-system';\nimport { useParams } from 'react-router-dom';\n\nimport { AssigneeSelect } from './AssigneeSelect';\nimport { StageSelect } from './StageSelect';\n\nconst Header = () => {\n const {\n slug = '',\n id,\n collectionType,\n } = useParams<{\n collectionType: string;\n slug: string;\n id: string;\n }>();\n\n const {\n edit: { options },\n } = useDocumentLayout(slug);\n\n if (\n !window.strapi.isEE ||\n !options?.reviewWorkflows ||\n (collectionType !== 'single-types' && !id) ||\n id === 'create'\n ) {\n return null;\n }\n\n return (\n <Flex gap={2}>\n <AssigneeSelect isCompact />\n <StageSelect isCompact />\n </Flex>\n );\n};\n\nHeader.type = 'preview';\n\nexport { Header };\n"],"names":["Header","slug","id","collectionType","useParams","edit","options","useDocumentLayout","window","strapi","isEE","reviewWorkflows","_jsxs","Flex","gap","_jsx","AssigneeSelect","isCompact","StageSelect","type"],"mappings":";;;;;;;;;AAOA,MAAMA,
|
|
1
|
+
{"version":3,"file":"Header.js","sources":["../../../../../../../admin/src/routes/content-manager/model/id/components/Header.tsx"],"sourcesContent":["import { unstable_useDocumentLayout as useDocumentLayout } from '@strapi/content-manager/strapi-admin';\nimport { Flex } from '@strapi/design-system';\nimport { useParams } from 'react-router-dom';\n\nimport { AssigneeSelect } from './AssigneeSelect';\nimport { StageSelect } from './StageSelect';\n\nconst Header = () => {\n const {\n slug = '',\n id,\n collectionType,\n } = useParams<{\n collectionType: string;\n slug: string;\n id: string;\n }>();\n\n const {\n edit: { options },\n } = useDocumentLayout(slug);\n\n if (\n !window.strapi.isEE ||\n !options?.reviewWorkflows ||\n (collectionType !== 'single-types' && !id) ||\n id === 'create'\n ) {\n return null;\n }\n\n return (\n <Flex gap={2}>\n <AssigneeSelect isCompact />\n <StageSelect isCompact />\n </Flex>\n );\n};\n\nHeader.type = 'preview';\n\nexport { Header };\n"],"names":["Header","slug","id","collectionType","useParams","edit","options","useDocumentLayout","window","strapi","isEE","reviewWorkflows","_jsxs","Flex","gap","_jsx","AssigneeSelect","isCompact","StageSelect","type"],"mappings":";;;;;;;;;AAOA,MAAMA,MAAAA,GAAS,IAAA;IACb,MAAM,EACJC,OAAO,EAAE,EACTC,EAAE,EACFC,cAAc,EACf,GAAGC,wBAAAA,EAAAA;AAMJ,IAAA,MAAM,EACJC,IAAAA,EAAM,EAAEC,OAAO,EAAE,EAClB,GAAGC,sCAAAA,CAAkBN,IAAAA,CAAAA;AAEtB,IAAA,IACE,CAACO,MAAAA,CAAOC,MAAM,CAACC,IAAI,IACnB,CAACJ,OAAAA,EAASK,eAAAA,IACTR,cAAAA,KAAmB,cAAA,IAAkB,CAACD,EAAAA,IACvCA,OAAO,QAAA,EACP;QACA,OAAO,IAAA;AACT,IAAA;AAEA,IAAA,qBACEU,eAAA,CAACC,iBAAAA,EAAAA;QAAKC,GAAAA,EAAK,CAAA;;0BACTC,cAAA,CAACC,6BAAAA,EAAAA;gBAAeC,SAAS,EAAA;;0BACzBF,cAAA,CAACG,uBAAAA,EAAAA;gBAAYD,SAAS,EAAA;;;;AAG5B;AAEAjB,MAAAA,CAAOmB,IAAI,GAAG,SAAA;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Header.mjs","sources":["../../../../../../../admin/src/routes/content-manager/model/id/components/Header.tsx"],"sourcesContent":["import { unstable_useDocumentLayout as useDocumentLayout } from '@strapi/content-manager/strapi-admin';\nimport { Flex } from '@strapi/design-system';\nimport { useParams } from 'react-router-dom';\n\nimport { AssigneeSelect } from './AssigneeSelect';\nimport { StageSelect } from './StageSelect';\n\nconst Header = () => {\n const {\n slug = '',\n id,\n collectionType,\n } = useParams<{\n collectionType: string;\n slug: string;\n id: string;\n }>();\n\n const {\n edit: { options },\n } = useDocumentLayout(slug);\n\n if (\n !window.strapi.isEE ||\n !options?.reviewWorkflows ||\n (collectionType !== 'single-types' && !id) ||\n id === 'create'\n ) {\n return null;\n }\n\n return (\n <Flex gap={2}>\n <AssigneeSelect isCompact />\n <StageSelect isCompact />\n </Flex>\n );\n};\n\nHeader.type = 'preview';\n\nexport { Header };\n"],"names":["Header","slug","id","collectionType","useParams","edit","options","useDocumentLayout","window","strapi","isEE","reviewWorkflows","_jsxs","Flex","gap","_jsx","AssigneeSelect","isCompact","StageSelect","type"],"mappings":";;;;;;;AAOA,MAAMA,
|
|
1
|
+
{"version":3,"file":"Header.mjs","sources":["../../../../../../../admin/src/routes/content-manager/model/id/components/Header.tsx"],"sourcesContent":["import { unstable_useDocumentLayout as useDocumentLayout } from '@strapi/content-manager/strapi-admin';\nimport { Flex } from '@strapi/design-system';\nimport { useParams } from 'react-router-dom';\n\nimport { AssigneeSelect } from './AssigneeSelect';\nimport { StageSelect } from './StageSelect';\n\nconst Header = () => {\n const {\n slug = '',\n id,\n collectionType,\n } = useParams<{\n collectionType: string;\n slug: string;\n id: string;\n }>();\n\n const {\n edit: { options },\n } = useDocumentLayout(slug);\n\n if (\n !window.strapi.isEE ||\n !options?.reviewWorkflows ||\n (collectionType !== 'single-types' && !id) ||\n id === 'create'\n ) {\n return null;\n }\n\n return (\n <Flex gap={2}>\n <AssigneeSelect isCompact />\n <StageSelect isCompact />\n </Flex>\n );\n};\n\nHeader.type = 'preview';\n\nexport { Header };\n"],"names":["Header","slug","id","collectionType","useParams","edit","options","useDocumentLayout","window","strapi","isEE","reviewWorkflows","_jsxs","Flex","gap","_jsx","AssigneeSelect","isCompact","StageSelect","type"],"mappings":";;;;;;;AAOA,MAAMA,MAAAA,GAAS,IAAA;IACb,MAAM,EACJC,OAAO,EAAE,EACTC,EAAE,EACFC,cAAc,EACf,GAAGC,SAAAA,EAAAA;AAMJ,IAAA,MAAM,EACJC,IAAAA,EAAM,EAAEC,OAAO,EAAE,EAClB,GAAGC,0BAAAA,CAAkBN,IAAAA,CAAAA;AAEtB,IAAA,IACE,CAACO,MAAAA,CAAOC,MAAM,CAACC,IAAI,IACnB,CAACJ,OAAAA,EAASK,eAAAA,IACTR,cAAAA,KAAmB,cAAA,IAAkB,CAACD,EAAAA,IACvCA,OAAO,QAAA,EACP;QACA,OAAO,IAAA;AACT,IAAA;AAEA,IAAA,qBACEU,IAAA,CAACC,IAAAA,EAAAA;QAAKC,GAAAA,EAAK,CAAA;;0BACTC,GAAA,CAACC,cAAAA,EAAAA;gBAAeC,SAAS,EAAA;;0BACzBF,GAAA,CAACG,WAAAA,EAAAA;gBAAYD,SAAS,EAAA;;;;AAG5B;AAEAjB,MAAAA,CAAOmB,IAAI,GAAG,SAAA;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Panel.js","sources":["../../../../../../../admin/src/routes/content-manager/model/id/components/Panel.tsx"],"sourcesContent":["import { unstable_useDocumentLayout as useDocumentLayout } from '@strapi/content-manager/strapi-admin';\nimport { Flex } from '@strapi/design-system';\nimport { useIntl } from 'react-intl';\nimport { useParams } from 'react-router-dom';\n\nimport { AssigneeSelect } from './AssigneeSelect';\nimport { StageSelect } from './StageSelect';\n\nimport type { PanelComponent } from '@strapi/content-manager/strapi-admin';\n\nconst Panel: PanelComponent = () => {\n const {\n slug = '',\n id,\n collectionType,\n } = useParams<{\n collectionType: string;\n slug: string;\n id: string;\n }>();\n\n const {\n edit: { options },\n } = useDocumentLayout(slug);\n const { formatMessage } = useIntl();\n\n if (\n !window.strapi.isEE ||\n !options?.reviewWorkflows ||\n (collectionType !== 'single-types' && !id) ||\n id === 'create'\n ) {\n return null;\n }\n\n return {\n title: formatMessage({\n id: 'content-manager.containers.edit.panels.review-workflows.title',\n defaultMessage: 'Review Workflows',\n }),\n content: (\n <Flex direction=\"column\" gap={2} alignItems=\"stretch\" width=\"100%\">\n <AssigneeSelect />\n <StageSelect />\n </Flex>\n ),\n };\n};\n\n// @ts-expect-error – this is fine, we like to label the core panels / actions.\nPanel.type = 'review-workflows';\n\nexport { Panel };\n"],"names":["Panel","slug","id","collectionType","useParams","edit","options","useDocumentLayout","formatMessage","useIntl","window","strapi","isEE","reviewWorkflows","title","defaultMessage","content","_jsxs","Flex","direction","gap","alignItems","width","_jsx","AssigneeSelect","StageSelect","type"],"mappings":";;;;;;;;;;AAUA,MAAMA,
|
|
1
|
+
{"version":3,"file":"Panel.js","sources":["../../../../../../../admin/src/routes/content-manager/model/id/components/Panel.tsx"],"sourcesContent":["import { unstable_useDocumentLayout as useDocumentLayout } from '@strapi/content-manager/strapi-admin';\nimport { Flex } from '@strapi/design-system';\nimport { useIntl } from 'react-intl';\nimport { useParams } from 'react-router-dom';\n\nimport { AssigneeSelect } from './AssigneeSelect';\nimport { StageSelect } from './StageSelect';\n\nimport type { PanelComponent } from '@strapi/content-manager/strapi-admin';\n\nconst Panel: PanelComponent = () => {\n const {\n slug = '',\n id,\n collectionType,\n } = useParams<{\n collectionType: string;\n slug: string;\n id: string;\n }>();\n\n const {\n edit: { options },\n } = useDocumentLayout(slug);\n const { formatMessage } = useIntl();\n\n if (\n !window.strapi.isEE ||\n !options?.reviewWorkflows ||\n (collectionType !== 'single-types' && !id) ||\n id === 'create'\n ) {\n return null;\n }\n\n return {\n title: formatMessage({\n id: 'content-manager.containers.edit.panels.review-workflows.title',\n defaultMessage: 'Review Workflows',\n }),\n content: (\n <Flex direction=\"column\" gap={2} alignItems=\"stretch\" width=\"100%\">\n <AssigneeSelect />\n <StageSelect />\n </Flex>\n ),\n };\n};\n\n// @ts-expect-error – this is fine, we like to label the core panels / actions.\nPanel.type = 'review-workflows';\n\nexport { Panel };\n"],"names":["Panel","slug","id","collectionType","useParams","edit","options","useDocumentLayout","formatMessage","useIntl","window","strapi","isEE","reviewWorkflows","title","defaultMessage","content","_jsxs","Flex","direction","gap","alignItems","width","_jsx","AssigneeSelect","StageSelect","type"],"mappings":";;;;;;;;;;AAUA,MAAMA,KAAAA,GAAwB,IAAA;IAC5B,MAAM,EACJC,OAAO,EAAE,EACTC,EAAE,EACFC,cAAc,EACf,GAAGC,wBAAAA,EAAAA;AAMJ,IAAA,MAAM,EACJC,IAAAA,EAAM,EAAEC,OAAO,EAAE,EAClB,GAAGC,sCAAAA,CAAkBN,IAAAA,CAAAA;IACtB,MAAM,EAAEO,aAAa,EAAE,GAAGC,iBAAAA,EAAAA;AAE1B,IAAA,IACE,CAACC,MAAAA,CAAOC,MAAM,CAACC,IAAI,IACnB,CAACN,OAAAA,EAASO,eAAAA,IACTV,cAAAA,KAAmB,cAAA,IAAkB,CAACD,EAAAA,IACvCA,OAAO,QAAA,EACP;QACA,OAAO,IAAA;AACT,IAAA;IAEA,OAAO;AACLY,QAAAA,KAAAA,EAAON,aAAAA,CAAc;YACnBN,EAAAA,EAAI,+DAAA;YACJa,cAAAA,EAAgB;AAClB,SAAA,CAAA;AACAC,QAAAA,OAAAA,gBACEC,eAAA,CAACC,iBAAAA,EAAAA;YAAKC,SAAAA,EAAU,QAAA;YAASC,GAAAA,EAAK,CAAA;YAAGC,UAAAA,EAAW,SAAA;YAAUC,KAAAA,EAAM,MAAA;;8BAC1DC,cAAA,CAACC,6BAAAA,EAAAA,EAAAA,CAAAA;8BACDD,cAAA,CAACE,uBAAAA,EAAAA,EAAAA;;;AAGP,KAAA;AACF;AAEA;AACAzB,KAAAA,CAAM0B,IAAI,GAAG,kBAAA;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Panel.mjs","sources":["../../../../../../../admin/src/routes/content-manager/model/id/components/Panel.tsx"],"sourcesContent":["import { unstable_useDocumentLayout as useDocumentLayout } from '@strapi/content-manager/strapi-admin';\nimport { Flex } from '@strapi/design-system';\nimport { useIntl } from 'react-intl';\nimport { useParams } from 'react-router-dom';\n\nimport { AssigneeSelect } from './AssigneeSelect';\nimport { StageSelect } from './StageSelect';\n\nimport type { PanelComponent } from '@strapi/content-manager/strapi-admin';\n\nconst Panel: PanelComponent = () => {\n const {\n slug = '',\n id,\n collectionType,\n } = useParams<{\n collectionType: string;\n slug: string;\n id: string;\n }>();\n\n const {\n edit: { options },\n } = useDocumentLayout(slug);\n const { formatMessage } = useIntl();\n\n if (\n !window.strapi.isEE ||\n !options?.reviewWorkflows ||\n (collectionType !== 'single-types' && !id) ||\n id === 'create'\n ) {\n return null;\n }\n\n return {\n title: formatMessage({\n id: 'content-manager.containers.edit.panels.review-workflows.title',\n defaultMessage: 'Review Workflows',\n }),\n content: (\n <Flex direction=\"column\" gap={2} alignItems=\"stretch\" width=\"100%\">\n <AssigneeSelect />\n <StageSelect />\n </Flex>\n ),\n };\n};\n\n// @ts-expect-error – this is fine, we like to label the core panels / actions.\nPanel.type = 'review-workflows';\n\nexport { Panel };\n"],"names":["Panel","slug","id","collectionType","useParams","edit","options","useDocumentLayout","formatMessage","useIntl","window","strapi","isEE","reviewWorkflows","title","defaultMessage","content","_jsxs","Flex","direction","gap","alignItems","width","_jsx","AssigneeSelect","StageSelect","type"],"mappings":";;;;;;;;AAUA,MAAMA,
|
|
1
|
+
{"version":3,"file":"Panel.mjs","sources":["../../../../../../../admin/src/routes/content-manager/model/id/components/Panel.tsx"],"sourcesContent":["import { unstable_useDocumentLayout as useDocumentLayout } from '@strapi/content-manager/strapi-admin';\nimport { Flex } from '@strapi/design-system';\nimport { useIntl } from 'react-intl';\nimport { useParams } from 'react-router-dom';\n\nimport { AssigneeSelect } from './AssigneeSelect';\nimport { StageSelect } from './StageSelect';\n\nimport type { PanelComponent } from '@strapi/content-manager/strapi-admin';\n\nconst Panel: PanelComponent = () => {\n const {\n slug = '',\n id,\n collectionType,\n } = useParams<{\n collectionType: string;\n slug: string;\n id: string;\n }>();\n\n const {\n edit: { options },\n } = useDocumentLayout(slug);\n const { formatMessage } = useIntl();\n\n if (\n !window.strapi.isEE ||\n !options?.reviewWorkflows ||\n (collectionType !== 'single-types' && !id) ||\n id === 'create'\n ) {\n return null;\n }\n\n return {\n title: formatMessage({\n id: 'content-manager.containers.edit.panels.review-workflows.title',\n defaultMessage: 'Review Workflows',\n }),\n content: (\n <Flex direction=\"column\" gap={2} alignItems=\"stretch\" width=\"100%\">\n <AssigneeSelect />\n <StageSelect />\n </Flex>\n ),\n };\n};\n\n// @ts-expect-error – this is fine, we like to label the core panels / actions.\nPanel.type = 'review-workflows';\n\nexport { Panel };\n"],"names":["Panel","slug","id","collectionType","useParams","edit","options","useDocumentLayout","formatMessage","useIntl","window","strapi","isEE","reviewWorkflows","title","defaultMessage","content","_jsxs","Flex","direction","gap","alignItems","width","_jsx","AssigneeSelect","StageSelect","type"],"mappings":";;;;;;;;AAUA,MAAMA,KAAAA,GAAwB,IAAA;IAC5B,MAAM,EACJC,OAAO,EAAE,EACTC,EAAE,EACFC,cAAc,EACf,GAAGC,SAAAA,EAAAA;AAMJ,IAAA,MAAM,EACJC,IAAAA,EAAM,EAAEC,OAAO,EAAE,EAClB,GAAGC,0BAAAA,CAAkBN,IAAAA,CAAAA;IACtB,MAAM,EAAEO,aAAa,EAAE,GAAGC,OAAAA,EAAAA;AAE1B,IAAA,IACE,CAACC,MAAAA,CAAOC,MAAM,CAACC,IAAI,IACnB,CAACN,OAAAA,EAASO,eAAAA,IACTV,cAAAA,KAAmB,cAAA,IAAkB,CAACD,EAAAA,IACvCA,OAAO,QAAA,EACP;QACA,OAAO,IAAA;AACT,IAAA;IAEA,OAAO;AACLY,QAAAA,KAAAA,EAAON,aAAAA,CAAc;YACnBN,EAAAA,EAAI,+DAAA;YACJa,cAAAA,EAAgB;AAClB,SAAA,CAAA;AACAC,QAAAA,OAAAA,gBACEC,IAAA,CAACC,IAAAA,EAAAA;YAAKC,SAAAA,EAAU,QAAA;YAASC,GAAAA,EAAK,CAAA;YAAGC,UAAAA,EAAW,SAAA;YAAUC,KAAAA,EAAM,MAAA;;8BAC1DC,GAAA,CAACC,cAAAA,EAAAA,EAAAA,CAAAA;8BACDD,GAAA,CAACE,WAAAA,EAAAA,EAAAA;;;AAGP,KAAA;AACF;AAEA;AACAzB,KAAAA,CAAM0B,IAAI,GAAG,kBAAA;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StageSelect.js","sources":["../../../../../../../admin/src/routes/content-manager/model/id/components/StageSelect.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport { useNotification, useAPIErrorHandler, useQueryParams } from '@strapi/admin/strapi-admin';\nimport { useLicenseLimits } from '@strapi/admin/strapi-admin/ee';\nimport { unstable_useDocument } from '@strapi/content-manager/strapi-admin';\nimport {\n SingleSelect,\n type SingleSelectProps,\n SingleSelectOption,\n Field,\n Flex,\n Loader,\n Typography,\n VisuallyHidden,\n Tooltip,\n} from '@strapi/design-system';\nimport { useIntl } from 'react-intl';\nimport { useParams } from 'react-router-dom';\n\nimport { Stage } from '../../../../../../../shared/contracts/review-workflows';\nimport { LimitsModal, LimitsModalProps } from '../../../../../components/LimitsModal';\nimport {\n CHARGEBEE_STAGES_PER_WORKFLOW_ENTITLEMENT_NAME,\n CHARGEBEE_WORKFLOW_ENTITLEMENT_NAME,\n} from '../../../../../constants';\nimport { useGetStagesQuery, useUpdateStageMutation } from '../../../../../services/content-manager';\nimport { buildValidParams } from '../../../../../utils/api';\nimport { getStageColorByHex } from '../../../../../utils/colors';\n\nimport { STAGE_ATTRIBUTE_NAME } from './constants';\n\nimport type { Data } from '@strapi/types';\n\n/* -------------------------------------------------------------------------------------------------\n * LimitModals\n * -----------------------------------------------------------------------------------------------*/\n\nconst WorkflowLimitModal = ({ open, onOpenChange }: LimitsModalProps) => {\n const { formatMessage } = useIntl();\n\n return (\n <LimitsModal.Root open={open} onOpenChange={onOpenChange}>\n <LimitsModal.Title>\n {formatMessage({\n id: 'content-manager.reviewWorkflows.workflows.limit.title',\n defaultMessage: 'You’ve reached the limit of workflows in your plan',\n })}\n </LimitsModal.Title>\n\n <LimitsModal.Body>\n {formatMessage({\n id: 'content-manager.reviewWorkflows.workflows.limit.body',\n defaultMessage: 'Delete a workflow or contact Sales to enable more workflows.',\n })}\n </LimitsModal.Body>\n </LimitsModal.Root>\n );\n};\n\nconst StageLimitModal = ({ open, onOpenChange }: LimitsModalProps) => {\n const { formatMessage } = useIntl();\n\n return (\n <LimitsModal.Root open={open} onOpenChange={onOpenChange}>\n <LimitsModal.Title>\n {formatMessage({\n id: 'content-manager.reviewWorkflows.stages.limit.title',\n defaultMessage: 'You have reached the limit of stages for this workflow in your plan',\n })}\n </LimitsModal.Title>\n\n <LimitsModal.Body>\n {formatMessage({\n id: 'content-manager.reviewWorkflows.stages.limit.body',\n defaultMessage: 'Try deleting some stages or contact Sales to enable more stages.',\n })}\n </LimitsModal.Body>\n </LimitsModal.Root>\n );\n};\n\n/* -------------------------------------------------------------------------------------------------\n * StageSelect\n * -----------------------------------------------------------------------------------------------*/\n\nconst Select = ({\n stages,\n activeWorkflowStage,\n isLoading,\n ...props\n}: SingleSelectProps & { stages: Stage[]; activeWorkflowStage: Stage; isLoading: boolean }) => {\n const { formatMessage } = useIntl();\n const { themeColorName } = getStageColorByHex(activeWorkflowStage?.color) ?? {};\n\n return (\n <SingleSelect\n disabled={stages.length === 0}\n placeholder={formatMessage({\n id: 'content-manager.reviewWorkflows.assignee.placeholder',\n defaultMessage: 'Select…',\n })}\n startIcon={\n activeWorkflowStage && (\n <Flex\n tag=\"span\"\n height={2}\n background={activeWorkflowStage?.color}\n borderColor={themeColorName === 'neutral0' ? 'neutral150' : undefined}\n hasRadius\n shrink={0}\n width={2}\n marginRight=\"-3px\"\n />\n )\n }\n // @ts-expect-error – `customizeContent` is not correctly typed in the DS.\n customizeContent={() => {\n return (\n <Flex tag=\"span\" justifyContent=\"space-between\" alignItems=\"center\" width=\"100%\">\n <Typography textColor=\"neutral800\" ellipsis lineHeight=\"inherit\">\n {activeWorkflowStage?.name ?? ''}\n </Typography>\n {isLoading ? <Loader small style={{ display: 'flex' }} data-testid=\"loader\" /> : null}\n </Flex>\n );\n }}\n {...props}\n >\n {stages.map(({ id, color, name }) => {\n const { themeColorName } = getStageColorByHex(color) ?? {};\n\n return (\n <SingleSelectOption\n key={id}\n startIcon={\n <Flex\n height={2}\n background={color}\n borderColor={themeColorName === 'neutral0' ? 'neutral150' : undefined}\n hasRadius\n shrink={0}\n width={2}\n />\n }\n value={id}\n textValue={name}\n >\n {name}\n </SingleSelectOption>\n );\n })}\n </SingleSelect>\n );\n};\n\nexport const StageSelect = ({ isCompact }: { isCompact?: boolean }) => {\n const {\n collectionType = '',\n slug: model = '',\n id = '',\n } = useParams<{\n collectionType: string;\n slug: string;\n id: string;\n }>();\n const { formatMessage } = useIntl();\n const { _unstableFormatAPIError: formatAPIError } = useAPIErrorHandler();\n const { toggleNotification } = useNotification();\n const [{ query }] = useQueryParams();\n const params = React.useMemo(() => buildValidParams(query), [query]);\n const { document, isLoading: isLoadingDocument } = unstable_useDocument(\n {\n collectionType,\n model,\n documentId: id,\n },\n {\n skip: !id && collectionType !== 'single-types',\n }\n );\n\n const { data, isLoading: isLoadingStages } = useGetStagesQuery(\n {\n slug: collectionType,\n model: model,\n // @ts-expect-error – `id` is not correctly typed in the DS.\n id: document?.documentId,\n params,\n },\n {\n skip: !document?.documentId,\n }\n );\n\n const { meta, stages = [] } = data ?? {};\n\n const { getFeature } = useLicenseLimits();\n const [showLimitModal, setShowLimitModal] = React.useState<'stage' | 'workflow' | null>(null);\n\n const limits = getFeature<string>('review-workflows') ?? {};\n\n const activeWorkflowStage = document ? document[STAGE_ATTRIBUTE_NAME] : null;\n\n const [updateStage, { error }] = useUpdateStageMutation();\n\n const handleChange = async (stageId: Data.ID) => {\n try {\n /**\n * If the current license has a limit:\n * check if the total count of workflows exceeds that limit and display\n * the limits modal.\n *\n * If the current license does not have a limit (e.g. offline license):\n * do nothing (for now).\n *\n */\n\n if (\n limits?.[CHARGEBEE_WORKFLOW_ENTITLEMENT_NAME] &&\n parseInt(limits[CHARGEBEE_WORKFLOW_ENTITLEMENT_NAME], 10) < (meta?.workflowCount ?? 0)\n ) {\n setShowLimitModal('workflow');\n\n /**\n * If the current license has a limit:\n * check if the total count of stages exceeds that limit and display\n * the limits modal.\n *\n * If the current license does not have a limit (e.g. offline license):\n * do nothing (for now).\n *\n */\n } else if (\n limits?.[CHARGEBEE_STAGES_PER_WORKFLOW_ENTITLEMENT_NAME] &&\n parseInt(limits[CHARGEBEE_STAGES_PER_WORKFLOW_ENTITLEMENT_NAME], 10) < stages.length\n ) {\n setShowLimitModal('stage');\n } else {\n if (document?.documentId) {\n const res = await updateStage({\n model,\n id: document.documentId,\n slug: collectionType,\n params,\n data: { id: stageId },\n });\n\n if ('data' in res) {\n toggleNotification({\n type: 'success',\n message: formatMessage({\n id: 'content-manager.reviewWorkflows.stage.notification.saved',\n defaultMessage: 'Review stage 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 } catch (error) {\n toggleNotification({\n type: 'danger',\n message: formatMessage({\n id: 'content-manager.reviewWorkflows.stage.notification.error',\n defaultMessage: 'An error occurred while updating the review stage',\n }),\n });\n }\n };\n\n const isLoading = isLoadingStages || isLoadingDocument;\n\n const reviewStageLabel = formatMessage({\n id: 'content-manager.reviewWorkflows.stage.label',\n defaultMessage: 'Review stage',\n });\n const reviewStageHint =\n !isLoading &&\n stages.length === 0 &&\n // TODO: Handle errors and hints\n formatMessage({\n id: 'content-manager.reviewWorkflows.stages.no-transition',\n defaultMessage: 'You don’t have the permission to update this stage.',\n });\n\n if (isCompact) {\n return (\n <>\n <Tooltip label={reviewStageHint}>\n <Field.Root name={STAGE_ATTRIBUTE_NAME} id={STAGE_ATTRIBUTE_NAME}>\n <>\n <VisuallyHidden>\n <Field.Label>{reviewStageLabel}</Field.Label>\n </VisuallyHidden>\n <Select\n stages={stages}\n activeWorkflowStage={activeWorkflowStage}\n isLoading={isLoading}\n size=\"S\"\n disabled={stages.length === 0}\n value={activeWorkflowStage?.id}\n onChange={handleChange}\n placeholder={formatMessage({\n id: 'content-manager.reviewWorkflows.assignee.placeholder',\n defaultMessage: 'Select…',\n })}\n />\n </>\n </Field.Root>\n </Tooltip>\n <WorkflowLimitModal\n open={showLimitModal === 'workflow'}\n onOpenChange={() => setShowLimitModal(null)}\n />\n <StageLimitModal\n open={showLimitModal === 'stage'}\n onOpenChange={() => setShowLimitModal(null)}\n />\n </>\n );\n }\n\n return (\n <>\n <Field.Root\n hint={reviewStageHint}\n error={(error && formatAPIError(error)) || undefined}\n name={STAGE_ATTRIBUTE_NAME}\n id={STAGE_ATTRIBUTE_NAME}\n >\n <Field.Label>{reviewStageLabel}</Field.Label>\n <Select\n stages={stages}\n activeWorkflowStage={activeWorkflowStage}\n isLoading={isLoading}\n disabled={stages.length === 0}\n value={activeWorkflowStage?.id}\n onChange={handleChange}\n placeholder={formatMessage({\n id: 'content-manager.reviewWorkflows.assignee.placeholder',\n defaultMessage: 'Select…',\n })}\n />\n <Field.Hint />\n <Field.Error />\n </Field.Root>\n <WorkflowLimitModal\n open={showLimitModal === 'workflow'}\n onOpenChange={() => setShowLimitModal(null)}\n />\n <StageLimitModal\n open={showLimitModal === 'stage'}\n onOpenChange={() => setShowLimitModal(null)}\n />\n </>\n );\n};\n"],"names":["WorkflowLimitModal","open","onOpenChange","formatMessage","useIntl","_jsxs","LimitsModal","Root","_jsx","Title","id","defaultMessage","Body","StageLimitModal","Select","stages","activeWorkflowStage","isLoading","props","themeColorName","getStageColorByHex","color","SingleSelect","disabled","length","placeholder","startIcon","Flex","tag","height","background","borderColor","undefined","hasRadius","shrink","width","marginRight","customizeContent","justifyContent","alignItems","Typography","textColor","ellipsis","lineHeight","name","Loader","small","style","display","data-testid","map","SingleSelectOption","value","textValue","StageSelect","isCompact","collectionType","slug","model","useParams","_unstableFormatAPIError","formatAPIError","useAPIErrorHandler","toggleNotification","useNotification","query","useQueryParams","params","React","useMemo","buildValidParams","document","isLoadingDocument","unstable_useDocument","documentId","skip","data","isLoadingStages","useGetStagesQuery","meta","getFeature","useLicenseLimits","showLimitModal","setShowLimitModal","useState","limits","STAGE_ATTRIBUTE_NAME","updateStage","error","useUpdateStageMutation","handleChange","stageId","CHARGEBEE_WORKFLOW_ENTITLEMENT_NAME","parseInt","workflowCount","CHARGEBEE_STAGES_PER_WORKFLOW_ENTITLEMENT_NAME","res","type","message","reviewStageLabel","reviewStageHint","_Fragment","Tooltip","label","Field","VisuallyHidden","Label","size","onChange","hint","Hint","Error"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"StageSelect.js","sources":["../../../../../../../admin/src/routes/content-manager/model/id/components/StageSelect.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport { useNotification, useAPIErrorHandler, useQueryParams } from '@strapi/admin/strapi-admin';\nimport { useLicenseLimits } from '@strapi/admin/strapi-admin/ee';\nimport { unstable_useDocument } from '@strapi/content-manager/strapi-admin';\nimport {\n SingleSelect,\n type SingleSelectProps,\n SingleSelectOption,\n Field,\n Flex,\n Loader,\n Typography,\n VisuallyHidden,\n Tooltip,\n} from '@strapi/design-system';\nimport { useIntl } from 'react-intl';\nimport { useParams } from 'react-router-dom';\n\nimport { Stage } from '../../../../../../../shared/contracts/review-workflows';\nimport { LimitsModal, LimitsModalProps } from '../../../../../components/LimitsModal';\nimport {\n CHARGEBEE_STAGES_PER_WORKFLOW_ENTITLEMENT_NAME,\n CHARGEBEE_WORKFLOW_ENTITLEMENT_NAME,\n} from '../../../../../constants';\nimport { useGetStagesQuery, useUpdateStageMutation } from '../../../../../services/content-manager';\nimport { buildValidParams } from '../../../../../utils/api';\nimport { getStageColorByHex } from '../../../../../utils/colors';\n\nimport { STAGE_ATTRIBUTE_NAME } from './constants';\n\nimport type { Data } from '@strapi/types';\n\n/* -------------------------------------------------------------------------------------------------\n * LimitModals\n * -----------------------------------------------------------------------------------------------*/\n\nconst WorkflowLimitModal = ({ open, onOpenChange }: LimitsModalProps) => {\n const { formatMessage } = useIntl();\n\n return (\n <LimitsModal.Root open={open} onOpenChange={onOpenChange}>\n <LimitsModal.Title>\n {formatMessage({\n id: 'content-manager.reviewWorkflows.workflows.limit.title',\n defaultMessage: 'You’ve reached the limit of workflows in your plan',\n })}\n </LimitsModal.Title>\n\n <LimitsModal.Body>\n {formatMessage({\n id: 'content-manager.reviewWorkflows.workflows.limit.body',\n defaultMessage: 'Delete a workflow or contact Sales to enable more workflows.',\n })}\n </LimitsModal.Body>\n </LimitsModal.Root>\n );\n};\n\nconst StageLimitModal = ({ open, onOpenChange }: LimitsModalProps) => {\n const { formatMessage } = useIntl();\n\n return (\n <LimitsModal.Root open={open} onOpenChange={onOpenChange}>\n <LimitsModal.Title>\n {formatMessage({\n id: 'content-manager.reviewWorkflows.stages.limit.title',\n defaultMessage: 'You have reached the limit of stages for this workflow in your plan',\n })}\n </LimitsModal.Title>\n\n <LimitsModal.Body>\n {formatMessage({\n id: 'content-manager.reviewWorkflows.stages.limit.body',\n defaultMessage: 'Try deleting some stages or contact Sales to enable more stages.',\n })}\n </LimitsModal.Body>\n </LimitsModal.Root>\n );\n};\n\n/* -------------------------------------------------------------------------------------------------\n * StageSelect\n * -----------------------------------------------------------------------------------------------*/\n\nconst Select = ({\n stages,\n activeWorkflowStage,\n isLoading,\n ...props\n}: SingleSelectProps & { stages: Stage[]; activeWorkflowStage: Stage; isLoading: boolean }) => {\n const { formatMessage } = useIntl();\n const { themeColorName } = getStageColorByHex(activeWorkflowStage?.color) ?? {};\n\n return (\n <SingleSelect\n disabled={stages.length === 0}\n placeholder={formatMessage({\n id: 'content-manager.reviewWorkflows.assignee.placeholder',\n defaultMessage: 'Select…',\n })}\n startIcon={\n activeWorkflowStage && (\n <Flex\n tag=\"span\"\n height={2}\n background={activeWorkflowStage?.color}\n borderColor={themeColorName === 'neutral0' ? 'neutral150' : undefined}\n hasRadius\n shrink={0}\n width={2}\n marginRight=\"-3px\"\n />\n )\n }\n // @ts-expect-error – `customizeContent` is not correctly typed in the DS.\n customizeContent={() => {\n return (\n <Flex tag=\"span\" justifyContent=\"space-between\" alignItems=\"center\" width=\"100%\">\n <Typography textColor=\"neutral800\" ellipsis lineHeight=\"inherit\">\n {activeWorkflowStage?.name ?? ''}\n </Typography>\n {isLoading ? <Loader small style={{ display: 'flex' }} data-testid=\"loader\" /> : null}\n </Flex>\n );\n }}\n {...props}\n >\n {stages.map(({ id, color, name }) => {\n const { themeColorName } = getStageColorByHex(color) ?? {};\n\n return (\n <SingleSelectOption\n key={id}\n startIcon={\n <Flex\n height={2}\n background={color}\n borderColor={themeColorName === 'neutral0' ? 'neutral150' : undefined}\n hasRadius\n shrink={0}\n width={2}\n />\n }\n value={id}\n textValue={name}\n >\n {name}\n </SingleSelectOption>\n );\n })}\n </SingleSelect>\n );\n};\n\nexport const StageSelect = ({ isCompact }: { isCompact?: boolean }) => {\n const {\n collectionType = '',\n slug: model = '',\n id = '',\n } = useParams<{\n collectionType: string;\n slug: string;\n id: string;\n }>();\n const { formatMessage } = useIntl();\n const { _unstableFormatAPIError: formatAPIError } = useAPIErrorHandler();\n const { toggleNotification } = useNotification();\n const [{ query }] = useQueryParams();\n const params = React.useMemo(() => buildValidParams(query), [query]);\n const { document, isLoading: isLoadingDocument } = unstable_useDocument(\n {\n collectionType,\n model,\n documentId: id,\n },\n {\n skip: !id && collectionType !== 'single-types',\n }\n );\n\n const { data, isLoading: isLoadingStages } = useGetStagesQuery(\n {\n slug: collectionType,\n model: model,\n // @ts-expect-error – `id` is not correctly typed in the DS.\n id: document?.documentId,\n params,\n },\n {\n skip: !document?.documentId,\n }\n );\n\n const { meta, stages = [] } = data ?? {};\n\n const { getFeature } = useLicenseLimits();\n const [showLimitModal, setShowLimitModal] = React.useState<'stage' | 'workflow' | null>(null);\n\n const limits = getFeature<string>('review-workflows') ?? {};\n\n const activeWorkflowStage = document ? document[STAGE_ATTRIBUTE_NAME] : null;\n\n const [updateStage, { error }] = useUpdateStageMutation();\n\n const handleChange = async (stageId: Data.ID) => {\n try {\n /**\n * If the current license has a limit:\n * check if the total count of workflows exceeds that limit and display\n * the limits modal.\n *\n * If the current license does not have a limit (e.g. offline license):\n * do nothing (for now).\n *\n */\n\n if (\n limits?.[CHARGEBEE_WORKFLOW_ENTITLEMENT_NAME] &&\n parseInt(limits[CHARGEBEE_WORKFLOW_ENTITLEMENT_NAME], 10) < (meta?.workflowCount ?? 0)\n ) {\n setShowLimitModal('workflow');\n\n /**\n * If the current license has a limit:\n * check if the total count of stages exceeds that limit and display\n * the limits modal.\n *\n * If the current license does not have a limit (e.g. offline license):\n * do nothing (for now).\n *\n */\n } else if (\n limits?.[CHARGEBEE_STAGES_PER_WORKFLOW_ENTITLEMENT_NAME] &&\n parseInt(limits[CHARGEBEE_STAGES_PER_WORKFLOW_ENTITLEMENT_NAME], 10) < stages.length\n ) {\n setShowLimitModal('stage');\n } else {\n if (document?.documentId) {\n const res = await updateStage({\n model,\n id: document.documentId,\n slug: collectionType,\n params,\n data: { id: stageId },\n });\n\n if ('data' in res) {\n toggleNotification({\n type: 'success',\n message: formatMessage({\n id: 'content-manager.reviewWorkflows.stage.notification.saved',\n defaultMessage: 'Review stage 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 } catch (error) {\n toggleNotification({\n type: 'danger',\n message: formatMessage({\n id: 'content-manager.reviewWorkflows.stage.notification.error',\n defaultMessage: 'An error occurred while updating the review stage',\n }),\n });\n }\n };\n\n const isLoading = isLoadingStages || isLoadingDocument;\n\n const reviewStageLabel = formatMessage({\n id: 'content-manager.reviewWorkflows.stage.label',\n defaultMessage: 'Review stage',\n });\n const reviewStageHint =\n !isLoading &&\n stages.length === 0 &&\n // TODO: Handle errors and hints\n formatMessage({\n id: 'content-manager.reviewWorkflows.stages.no-transition',\n defaultMessage: 'You don’t have the permission to update this stage.',\n });\n\n if (isCompact) {\n return (\n <>\n <Tooltip label={reviewStageHint}>\n <Field.Root name={STAGE_ATTRIBUTE_NAME} id={STAGE_ATTRIBUTE_NAME}>\n <>\n <VisuallyHidden>\n <Field.Label>{reviewStageLabel}</Field.Label>\n </VisuallyHidden>\n <Select\n stages={stages}\n activeWorkflowStage={activeWorkflowStage}\n isLoading={isLoading}\n size=\"S\"\n disabled={stages.length === 0}\n value={activeWorkflowStage?.id}\n onChange={handleChange}\n placeholder={formatMessage({\n id: 'content-manager.reviewWorkflows.assignee.placeholder',\n defaultMessage: 'Select…',\n })}\n />\n </>\n </Field.Root>\n </Tooltip>\n <WorkflowLimitModal\n open={showLimitModal === 'workflow'}\n onOpenChange={() => setShowLimitModal(null)}\n />\n <StageLimitModal\n open={showLimitModal === 'stage'}\n onOpenChange={() => setShowLimitModal(null)}\n />\n </>\n );\n }\n\n return (\n <>\n <Field.Root\n hint={reviewStageHint}\n error={(error && formatAPIError(error)) || undefined}\n name={STAGE_ATTRIBUTE_NAME}\n id={STAGE_ATTRIBUTE_NAME}\n >\n <Field.Label>{reviewStageLabel}</Field.Label>\n <Select\n stages={stages}\n activeWorkflowStage={activeWorkflowStage}\n isLoading={isLoading}\n disabled={stages.length === 0}\n value={activeWorkflowStage?.id}\n onChange={handleChange}\n placeholder={formatMessage({\n id: 'content-manager.reviewWorkflows.assignee.placeholder',\n defaultMessage: 'Select…',\n })}\n />\n <Field.Hint />\n <Field.Error />\n </Field.Root>\n <WorkflowLimitModal\n open={showLimitModal === 'workflow'}\n onOpenChange={() => setShowLimitModal(null)}\n />\n <StageLimitModal\n open={showLimitModal === 'stage'}\n onOpenChange={() => setShowLimitModal(null)}\n />\n </>\n );\n};\n"],"names":["WorkflowLimitModal","open","onOpenChange","formatMessage","useIntl","_jsxs","LimitsModal","Root","_jsx","Title","id","defaultMessage","Body","StageLimitModal","Select","stages","activeWorkflowStage","isLoading","props","themeColorName","getStageColorByHex","color","SingleSelect","disabled","length","placeholder","startIcon","Flex","tag","height","background","borderColor","undefined","hasRadius","shrink","width","marginRight","customizeContent","justifyContent","alignItems","Typography","textColor","ellipsis","lineHeight","name","Loader","small","style","display","data-testid","map","SingleSelectOption","value","textValue","StageSelect","isCompact","collectionType","slug","model","useParams","_unstableFormatAPIError","formatAPIError","useAPIErrorHandler","toggleNotification","useNotification","query","useQueryParams","params","React","useMemo","buildValidParams","document","isLoadingDocument","unstable_useDocument","documentId","skip","data","isLoadingStages","useGetStagesQuery","meta","getFeature","useLicenseLimits","showLimitModal","setShowLimitModal","useState","limits","STAGE_ATTRIBUTE_NAME","updateStage","error","useUpdateStageMutation","handleChange","stageId","CHARGEBEE_WORKFLOW_ENTITLEMENT_NAME","parseInt","workflowCount","CHARGEBEE_STAGES_PER_WORKFLOW_ENTITLEMENT_NAME","res","type","message","reviewStageLabel","reviewStageHint","_Fragment","Tooltip","label","Field","VisuallyHidden","Label","size","onChange","hint","Hint","Error"],"mappings":"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"}
|
|
@@ -3,7 +3,7 @@ import * as React from 'react';
|
|
|
3
3
|
import { useAPIErrorHandler, useNotification, useQueryParams } from '@strapi/admin/strapi-admin';
|
|
4
4
|
import { useLicenseLimits } from '@strapi/admin/strapi-admin/ee';
|
|
5
5
|
import { unstable_useDocument } from '@strapi/content-manager/strapi-admin';
|
|
6
|
-
import { Tooltip, Field, VisuallyHidden, SingleSelect, Flex, Typography, Loader
|
|
6
|
+
import { Tooltip, Field, VisuallyHidden, SingleSelect, SingleSelectOption, Flex, Typography, Loader } from '@strapi/design-system';
|
|
7
7
|
import { useIntl } from 'react-intl';
|
|
8
8
|
import { useParams } from 'react-router-dom';
|
|
9
9
|
import { LimitsModal } from '../../../../../components/LimitsModal.mjs';
|