@strapi/review-workflows 5.46.0 → 5.46.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (89) hide show
  1. package/dist/admin/index.js +6 -0
  2. package/dist/admin/index.js.map +1 -1
  3. package/dist/admin/index.mjs +7 -1
  4. package/dist/admin/index.mjs.map +1 -1
  5. package/dist/admin/routes/content-manager/model/components/AssigneeFilter.js +83 -0
  6. package/dist/admin/routes/content-manager/model/components/AssigneeFilter.js.map +1 -0
  7. package/dist/admin/routes/content-manager/model/components/AssigneeFilter.mjs +62 -0
  8. package/dist/admin/routes/content-manager/model/components/AssigneeFilter.mjs.map +1 -0
  9. package/dist/admin/routes/content-manager/model/components/StageFilter.js +70 -0
  10. package/dist/admin/routes/content-manager/model/components/StageFilter.js.map +1 -0
  11. package/dist/admin/routes/content-manager/model/components/StageFilter.mjs +68 -0
  12. package/dist/admin/routes/content-manager/model/components/StageFilter.mjs.map +1 -0
  13. package/dist/admin/routes/content-manager/model/constants.js +63 -9
  14. package/dist/admin/routes/content-manager/model/constants.js.map +1 -1
  15. package/dist/admin/routes/content-manager/model/constants.mjs +63 -10
  16. package/dist/admin/routes/content-manager/model/constants.mjs.map +1 -1
  17. package/dist/admin/routes/content-manager/model/id/components/AssigneeSelect.js +5 -5
  18. package/dist/admin/routes/content-manager/model/id/components/AssigneeSelect.js.map +1 -1
  19. package/dist/admin/routes/content-manager/model/id/components/AssigneeSelect.mjs +5 -5
  20. package/dist/admin/routes/content-manager/model/id/components/AssigneeSelect.mjs.map +1 -1
  21. package/dist/admin/routes/content-manager/model/id/components/StageSelect.js +45 -18
  22. package/dist/admin/routes/content-manager/model/id/components/StageSelect.js.map +1 -1
  23. package/dist/admin/routes/content-manager/model/id/components/StageSelect.mjs +45 -18
  24. package/dist/admin/routes/content-manager/model/id/components/StageSelect.mjs.map +1 -1
  25. package/dist/admin/routes/settings/components/Stages.js +1 -1
  26. package/dist/admin/routes/settings/components/Stages.js.map +1 -1
  27. package/dist/admin/routes/settings/components/Stages.mjs +1 -1
  28. package/dist/admin/routes/settings/components/Stages.mjs.map +1 -1
  29. package/dist/admin/routes/settings/id.js +4 -4
  30. package/dist/admin/routes/settings/id.js.map +1 -1
  31. package/dist/admin/routes/settings/id.mjs +4 -4
  32. package/dist/admin/routes/settings/id.mjs.map +1 -1
  33. package/dist/admin/routes/settings/index.js +2 -2
  34. package/dist/admin/routes/settings/index.js.map +1 -1
  35. package/dist/admin/routes/settings/index.mjs +2 -2
  36. package/dist/admin/routes/settings/index.mjs.map +1 -1
  37. package/dist/admin/src/utils/cm-hooks.d.ts +42 -2
  38. package/dist/admin/translations/cs.json.js +2 -1
  39. package/dist/admin/translations/cs.json.js.map +1 -1
  40. package/dist/admin/translations/cs.json.mjs +2 -1
  41. package/dist/admin/translations/cs.json.mjs.map +1 -1
  42. package/dist/admin/translations/de.json.js +8 -0
  43. package/dist/admin/translations/de.json.js.map +1 -0
  44. package/dist/admin/translations/de.json.mjs +6 -0
  45. package/dist/admin/translations/de.json.mjs.map +1 -0
  46. package/dist/admin/translations/en.json.js +20 -1
  47. package/dist/admin/translations/en.json.js.map +1 -1
  48. package/dist/admin/translations/en.json.mjs +20 -1
  49. package/dist/admin/translations/en.json.mjs.map +1 -1
  50. package/dist/admin/translations/es.json.js +2 -1
  51. package/dist/admin/translations/es.json.js.map +1 -1
  52. package/dist/admin/translations/es.json.mjs +2 -1
  53. package/dist/admin/translations/es.json.mjs.map +1 -1
  54. package/dist/admin/translations/fr.json.js +8 -0
  55. package/dist/admin/translations/fr.json.js.map +1 -0
  56. package/dist/admin/translations/fr.json.mjs +6 -0
  57. package/dist/admin/translations/fr.json.mjs.map +1 -0
  58. package/dist/admin/translations/nl.json.js +2 -1
  59. package/dist/admin/translations/nl.json.js.map +1 -1
  60. package/dist/admin/translations/nl.json.mjs +2 -1
  61. package/dist/admin/translations/nl.json.mjs.map +1 -1
  62. package/dist/admin/translations/pl.json.js +8 -0
  63. package/dist/admin/translations/pl.json.js.map +1 -0
  64. package/dist/admin/translations/pl.json.mjs +6 -0
  65. package/dist/admin/translations/pl.json.mjs.map +1 -0
  66. package/dist/admin/translations/ru.json.js +8 -0
  67. package/dist/admin/translations/ru.json.js.map +1 -0
  68. package/dist/admin/translations/ru.json.mjs +6 -0
  69. package/dist/admin/translations/ru.json.mjs.map +1 -0
  70. package/dist/admin/translations/uk.json.js +2 -1
  71. package/dist/admin/translations/uk.json.js.map +1 -1
  72. package/dist/admin/translations/uk.json.mjs +2 -1
  73. package/dist/admin/translations/uk.json.mjs.map +1 -1
  74. package/dist/admin/translations/zh-Hans.json.js +8 -0
  75. package/dist/admin/translations/zh-Hans.json.js.map +1 -0
  76. package/dist/admin/translations/zh-Hans.json.mjs +6 -0
  77. package/dist/admin/translations/zh-Hans.json.mjs.map +1 -0
  78. package/dist/admin/utils/cm-hooks.js +16 -0
  79. package/dist/admin/utils/cm-hooks.js.map +1 -1
  80. package/dist/admin/utils/cm-hooks.mjs +17 -2
  81. package/dist/admin/utils/cm-hooks.mjs.map +1 -1
  82. package/dist/server/controllers/stages.js +24 -14
  83. package/dist/server/controllers/stages.js.map +1 -1
  84. package/dist/server/controllers/stages.mjs +24 -14
  85. package/dist/server/controllers/stages.mjs.map +1 -1
  86. package/dist/server/src/controllers/stages.d.ts.map +1 -1
  87. package/dist/shared/contracts/review-workflows.d.ts +2 -0
  88. package/dist/shared/contracts/review-workflows.d.ts.map +1 -1
  89. package/package.json +6 -6
@@ -12,10 +12,15 @@ function _interopNamespaceDefaultOnly (e) { return Object.freeze({ __proto__: nu
12
12
  function __variableDynamicImportRuntime3__(path) {
13
13
  switch (path) {
14
14
  case './translations/cs.json': return Promise.resolve().then(function () { return /*#__PURE__*/_interopNamespaceDefaultOnly(require('./translations/cs.json.js')); });
15
+ case './translations/de.json': return Promise.resolve().then(function () { return /*#__PURE__*/_interopNamespaceDefaultOnly(require('./translations/de.json.js')); });
15
16
  case './translations/en.json': return Promise.resolve().then(function () { return /*#__PURE__*/_interopNamespaceDefaultOnly(require('./translations/en.json.js')); });
16
17
  case './translations/es.json': return Promise.resolve().then(function () { return /*#__PURE__*/_interopNamespaceDefaultOnly(require('./translations/es.json.js')); });
18
+ case './translations/fr.json': return Promise.resolve().then(function () { return /*#__PURE__*/_interopNamespaceDefaultOnly(require('./translations/fr.json.js')); });
17
19
  case './translations/nl.json': return Promise.resolve().then(function () { return /*#__PURE__*/_interopNamespaceDefaultOnly(require('./translations/nl.json.js')); });
20
+ case './translations/pl.json': return Promise.resolve().then(function () { return /*#__PURE__*/_interopNamespaceDefaultOnly(require('./translations/pl.json.js')); });
21
+ case './translations/ru.json': return Promise.resolve().then(function () { return /*#__PURE__*/_interopNamespaceDefaultOnly(require('./translations/ru.json.js')); });
18
22
  case './translations/uk.json': return Promise.resolve().then(function () { return /*#__PURE__*/_interopNamespaceDefaultOnly(require('./translations/uk.json.js')); });
23
+ case './translations/zh-Hans.json': return Promise.resolve().then(function () { return /*#__PURE__*/_interopNamespaceDefaultOnly(require('./translations/zh-Hans.json.js')); });
19
24
  default: return new Promise(function(resolve, reject) {
20
25
  (typeof queueMicrotask === 'function' ? queueMicrotask : setTimeout)(
21
26
  reject.bind(null, new Error("Unknown variable dynamic import: " + path))
@@ -27,6 +32,7 @@ const admin = {
27
32
  register (app) {
28
33
  if (window.strapi.features.isEnabled(constants.FEATURE_ID)) {
29
34
  app.registerHook('Admin/CM/pages/ListView/inject-column-in-table', cmHooks.addColumnToTableHook);
35
+ app.registerHook('Admin/CM/pages/ListView/inject-in-filters', cmHooks.addFilterToListViewHook);
30
36
  const contentManagerPluginApis = app.getPlugin('content-manager').apis;
31
37
  if ('addEditViewSidePanel' in contentManagerPluginApis && typeof contentManagerPluginApis.addEditViewSidePanel === 'function') {
32
38
  contentManagerPluginApis.addEditViewSidePanel([
@@ -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 Component() {\n return import('./router').then((mod) => ({\n default: mod.Router,\n }));\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 Component() {\n return import('./routes/purchase-review-workflows').then((mod) => ({\n default: mod.PurchaseReviewWorkflows,\n }));\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","then","mod","default","Router","widgets","icon","SealCheck","title","component","AssignedWidget","pluginId","action","flags","promoteEE","PurchaseReviewWorkflows","bootstrap","injectComponent","name","Header","registerTrads","locales","importedTrads","Promise","all","map","locale","data","prefixPluginTranslations","catch","resolve"],"mappings":"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"}
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, addFilterToListViewHook } 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 app.registerHook('Admin/CM/pages/ListView/inject-in-filters', addFilterToListViewHook);\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 Component() {\n return import('./router').then((mod) => ({\n default: mod.Router,\n }));\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 Component() {\n return import('./routes/purchase-review-workflows').then((mod) => ({\n default: mod.PurchaseReviewWorkflows,\n }));\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","addFilterToListViewHook","contentManagerPluginApis","getPlugin","apis","addEditViewSidePanel","Panel","addSettingsLink","id","PLUGIN_ID","to","intlLabel","defaultMessage","licenseOnly","permissions","Component","then","mod","default","Router","widgets","icon","SealCheck","title","component","AssignedWidget","pluginId","action","flags","promoteEE","PurchaseReviewWorkflows","bootstrap","injectComponent","name","Header","registerTrads","locales","importedTrads","Promise","all","map","locale","data","prefixPluginTranslations","catch","resolve"],"mappings":"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"}
@@ -2,16 +2,21 @@ import { SealCheck } from '@strapi/icons';
2
2
  import { FEATURE_ID, PLUGIN_ID } from './constants.mjs';
3
3
  import { Header } from './routes/content-manager/model/id/components/Header.mjs';
4
4
  import { Panel } from './routes/content-manager/model/id/components/Panel.mjs';
5
- import { addColumnToTableHook } from './utils/cm-hooks.mjs';
5
+ import { addColumnToTableHook, addFilterToListViewHook } from './utils/cm-hooks.mjs';
6
6
  import { prefixPluginTranslations } from './utils/translations.mjs';
7
7
 
8
8
  function __variableDynamicImportRuntime3__(path) {
9
9
  switch (path) {
10
10
  case './translations/cs.json': return import('./translations/cs.json.mjs');
11
+ case './translations/de.json': return import('./translations/de.json.mjs');
11
12
  case './translations/en.json': return import('./translations/en.json.mjs');
12
13
  case './translations/es.json': return import('./translations/es.json.mjs');
14
+ case './translations/fr.json': return import('./translations/fr.json.mjs');
13
15
  case './translations/nl.json': return import('./translations/nl.json.mjs');
16
+ case './translations/pl.json': return import('./translations/pl.json.mjs');
17
+ case './translations/ru.json': return import('./translations/ru.json.mjs');
14
18
  case './translations/uk.json': return import('./translations/uk.json.mjs');
19
+ case './translations/zh-Hans.json': return import('./translations/zh-Hans.json.mjs');
15
20
  default: return new Promise(function(resolve, reject) {
16
21
  (typeof queueMicrotask === 'function' ? queueMicrotask : setTimeout)(
17
22
  reject.bind(null, new Error("Unknown variable dynamic import: " + path))
@@ -23,6 +28,7 @@ const admin = {
23
28
  register (app) {
24
29
  if (window.strapi.features.isEnabled(FEATURE_ID)) {
25
30
  app.registerHook('Admin/CM/pages/ListView/inject-column-in-table', addColumnToTableHook);
31
+ app.registerHook('Admin/CM/pages/ListView/inject-in-filters', addFilterToListViewHook);
26
32
  const contentManagerPluginApis = app.getPlugin('content-manager').apis;
27
33
  if ('addEditViewSidePanel' in contentManagerPluginApis && typeof contentManagerPluginApis.addEditViewSidePanel === 'function') {
28
34
  contentManagerPluginApis.addEditViewSidePanel([
@@ -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 Component() {\n return import('./router').then((mod) => ({\n default: mod.Router,\n }));\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 Component() {\n return import('./routes/purchase-review-workflows').then((mod) => ({\n default: mod.PurchaseReviewWorkflows,\n }));\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","then","mod","default","Router","widgets","icon","SealCheck","title","component","AssignedWidget","pluginId","action","flags","promoteEE","PurchaseReviewWorkflows","bootstrap","injectComponent","name","Header","registerTrads","locales","importedTrads","Promise","all","map","locale","data","prefixPluginTranslations","catch","resolve"],"mappings":"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"}
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, addFilterToListViewHook } 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 app.registerHook('Admin/CM/pages/ListView/inject-in-filters', addFilterToListViewHook);\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 Component() {\n return import('./router').then((mod) => ({\n default: mod.Router,\n }));\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 Component() {\n return import('./routes/purchase-review-workflows').then((mod) => ({\n default: mod.PurchaseReviewWorkflows,\n }));\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","addFilterToListViewHook","contentManagerPluginApis","getPlugin","apis","addEditViewSidePanel","Panel","addSettingsLink","id","PLUGIN_ID","to","intlLabel","defaultMessage","licenseOnly","permissions","Component","then","mod","default","Router","widgets","icon","SealCheck","title","component","AssignedWidget","pluginId","action","flags","promoteEE","PurchaseReviewWorkflows","bootstrap","injectComponent","name","Header","registerTrads","locales","importedTrads","Promise","all","map","locale","data","prefixPluginTranslations","catch","resolve"],"mappings":"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"}
@@ -0,0 +1,83 @@
1
+ 'use strict';
2
+
3
+ var jsxRuntime = require('react/jsx-runtime');
4
+ var React = require('react');
5
+ var strapiAdmin = require('@strapi/admin/strapi-admin');
6
+ var designSystem = require('@strapi/design-system');
7
+ var reactIntl = require('react-intl');
8
+ var users = require('../../../../utils/users.js');
9
+
10
+ function _interopNamespaceDefault(e) {
11
+ var n = Object.create(null);
12
+ if (e) {
13
+ Object.keys(e).forEach(function (k) {
14
+ if (k !== 'default') {
15
+ var d = Object.getOwnPropertyDescriptor(e, k);
16
+ Object.defineProperty(n, k, d.get ? d : {
17
+ enumerable: true,
18
+ get: function () { return e[k]; }
19
+ });
20
+ }
21
+ });
22
+ }
23
+ n.default = e;
24
+ return Object.freeze(n);
25
+ }
26
+
27
+ var React__namespace = /*#__PURE__*/_interopNamespaceDefault(React);
28
+
29
+ const PAGE_SIZE = 10;
30
+ const AssigneeFilter = ({ name })=>{
31
+ const [pageSize, setPageSize] = React__namespace.useState(PAGE_SIZE);
32
+ const [hasOpened, setHasOpened] = React__namespace.useState(false);
33
+ const { formatMessage } = reactIntl.useIntl();
34
+ const field = strapiAdmin.useField(name);
35
+ const shouldFetch = hasOpened || Boolean(field.value);
36
+ const { data, isLoading } = strapiAdmin.useAdminUsers({
37
+ pageSize
38
+ }, {
39
+ skip: !shouldFetch
40
+ });
41
+ const handleChange = (value)=>{
42
+ setPageSize(PAGE_SIZE);
43
+ field.onChange(name, value);
44
+ };
45
+ const handleOpenChange = (isOpen)=>{
46
+ if (isOpen && !hasOpened) {
47
+ setHasOpened(true);
48
+ }
49
+ };
50
+ const { pageCount = 1, page = 1 } = data?.pagination ?? {};
51
+ const hasMoreItems = page < pageCount;
52
+ const handleLoadMore = ()=>{
53
+ if (!hasMoreItems) {
54
+ return;
55
+ }
56
+ setPageSize((prev)=>prev + PAGE_SIZE);
57
+ };
58
+ const options = React__namespace.useMemo(()=>(data?.users ?? []).map((user)=>({
59
+ id: user.id,
60
+ label: users.getDisplayName(user)
61
+ })), [
62
+ data?.users
63
+ ]);
64
+ return /*#__PURE__*/ jsxRuntime.jsx(designSystem.Combobox, {
65
+ value: field.value,
66
+ "aria-label": formatMessage({
67
+ id: 'content-manager.components.Filters.usersSelect.label',
68
+ defaultMessage: 'Search and select an user to filter'
69
+ }),
70
+ onChange: handleChange,
71
+ onOpenChange: handleOpenChange,
72
+ loading: isLoading,
73
+ onLoadMore: handleLoadMore,
74
+ hasMoreItems: hasMoreItems,
75
+ children: options.map((option)=>/*#__PURE__*/ jsxRuntime.jsx(designSystem.ComboboxOption, {
76
+ value: option.id.toString(),
77
+ children: option.label
78
+ }, option.id))
79
+ });
80
+ };
81
+
82
+ exports.AssigneeFilter = AssigneeFilter;
83
+ //# sourceMappingURL=AssigneeFilter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AssigneeFilter.js","sources":["../../../../../../admin/src/routes/content-manager/model/components/AssigneeFilter.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport { type Filters, useAdminUsers, useField } from '@strapi/admin/strapi-admin';\nimport { Combobox, ComboboxOption, ComboboxProps } from '@strapi/design-system';\nimport { useIntl } from 'react-intl';\n\nimport { getDisplayName } from '../../../../utils/users';\n\ninterface AssigneeFilterProps extends Pick<ComboboxProps, 'value' | 'onChange'> {}\n\nconst PAGE_SIZE = 10;\n\nconst AssigneeFilter = ({ name }: Filters.ValueInputProps) => {\n const [pageSize, setPageSize] = React.useState(PAGE_SIZE);\n const [hasOpened, setHasOpened] = React.useState(false);\n const { formatMessage } = useIntl();\n const field = useField(name);\n const shouldFetch = hasOpened || Boolean(field.value);\n const { data, isLoading } = useAdminUsers({ pageSize }, { skip: !shouldFetch });\n\n const handleChange = (value?: string) => {\n setPageSize(PAGE_SIZE);\n field.onChange(name, value);\n };\n\n const handleOpenChange = (isOpen?: boolean) => {\n if (isOpen && !hasOpened) {\n setHasOpened(true);\n }\n };\n\n const { pageCount = 1, page = 1 } = data?.pagination ?? {};\n const hasMoreItems = page < pageCount;\n\n const handleLoadMore = () => {\n if (!hasMoreItems) {\n return;\n }\n setPageSize((prev) => prev + PAGE_SIZE);\n };\n\n const options = React.useMemo(\n () =>\n (data?.users ?? []).map((user) => ({\n id: user.id,\n label: getDisplayName(user),\n })),\n [data?.users]\n );\n\n return (\n <Combobox\n value={field.value}\n aria-label={formatMessage({\n id: 'content-manager.components.Filters.usersSelect.label',\n defaultMessage: 'Search and select an user to filter',\n })}\n onChange={handleChange}\n onOpenChange={handleOpenChange}\n loading={isLoading}\n onLoadMore={handleLoadMore}\n hasMoreItems={hasMoreItems}\n >\n {options.map((option) => (\n <ComboboxOption key={option.id} value={option.id.toString()}>\n {option.label}\n </ComboboxOption>\n ))}\n </Combobox>\n );\n};\n\nexport { AssigneeFilter };\nexport type { AssigneeFilterProps };\n"],"names":["PAGE_SIZE","AssigneeFilter","name","pageSize","setPageSize","React","useState","hasOpened","setHasOpened","formatMessage","useIntl","field","useField","shouldFetch","Boolean","value","data","isLoading","useAdminUsers","skip","handleChange","onChange","handleOpenChange","isOpen","pageCount","page","pagination","hasMoreItems","handleLoadMore","prev","options","useMemo","users","map","user","id","label","getDisplayName","_jsx","Combobox","aria-label","defaultMessage","onOpenChange","loading","onLoadMore","option","ComboboxOption","toString"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAUA,MAAMA,SAAAA,GAAY,EAAA;AAElB,MAAMC,cAAAA,GAAiB,CAAC,EAAEC,IAAI,EAA2B,GAAA;AACvD,IAAA,MAAM,CAACC,QAAAA,EAAUC,WAAAA,CAAY,GAAGC,gBAAAA,CAAMC,QAAQ,CAACN,SAAAA,CAAAA;AAC/C,IAAA,MAAM,CAACO,SAAAA,EAAWC,YAAAA,CAAa,GAAGH,gBAAAA,CAAMC,QAAQ,CAAC,KAAA,CAAA;IACjD,MAAM,EAAEG,aAAa,EAAE,GAAGC,iBAAAA,EAAAA;AAC1B,IAAA,MAAMC,QAAQC,oBAAAA,CAASV,IAAAA,CAAAA;AACvB,IAAA,MAAMW,WAAAA,GAAcN,SAAAA,IAAaO,OAAAA,CAAQH,KAAAA,CAAMI,KAAK,CAAA;AACpD,IAAA,MAAM,EAAEC,IAAI,EAAEC,SAAS,EAAE,GAAGC,yBAAAA,CAAc;AAAEf,QAAAA;KAAS,EAAG;AAAEgB,QAAAA,IAAAA,EAAM,CAACN;AAAY,KAAA,CAAA;AAE7E,IAAA,MAAMO,eAAe,CAACL,KAAAA,GAAAA;QACpBX,WAAAA,CAAYJ,SAAAA,CAAAA;QACZW,KAAAA,CAAMU,QAAQ,CAACnB,IAAAA,EAAMa,KAAAA,CAAAA;AACvB,IAAA,CAAA;AAEA,IAAA,MAAMO,mBAAmB,CAACC,MAAAA,GAAAA;QACxB,IAAIA,MAAAA,IAAU,CAAChB,SAAAA,EAAW;YACxBC,YAAAA,CAAa,IAAA,CAAA;AACf,QAAA;AACF,IAAA,CAAA;IAEA,MAAM,EAAEgB,SAAAA,GAAY,CAAC,EAAEC,IAAAA,GAAO,CAAC,EAAE,GAAGT,IAAAA,EAAMU,UAAAA,IAAc,EAAC;AACzD,IAAA,MAAMC,eAAeF,IAAAA,GAAOD,SAAAA;AAE5B,IAAA,MAAMI,cAAAA,GAAiB,IAAA;AACrB,QAAA,IAAI,CAACD,YAAAA,EAAc;AACjB,YAAA;AACF,QAAA;QACAvB,WAAAA,CAAY,CAACyB,OAASA,IAAAA,GAAO7B,SAAAA,CAAAA;AAC/B,IAAA,CAAA;AAEA,IAAA,MAAM8B,UAAUzB,gBAAAA,CAAM0B,OAAO,CAC3B,IACE,CAACf,IAAAA,EAAMgB,KAAAA,IAAS,EAAE,EAAEC,GAAG,CAAC,CAACC,QAAU;AACjCC,gBAAAA,EAAAA,EAAID,KAAKC,EAAE;AACXC,gBAAAA,KAAAA,EAAOC,oBAAAA,CAAeH,IAAAA;AACxB,aAAA,CAAA,CAAA,EACF;QAAClB,IAAAA,EAAMgB;AAAM,KAAA,CAAA;AAGf,IAAA,qBACEM,cAAA,CAACC,qBAAAA,EAAAA;AACCxB,QAAAA,KAAAA,EAAOJ,MAAMI,KAAK;AAClByB,QAAAA,YAAAA,EAAY/B,aAAAA,CAAc;YACxB0B,EAAAA,EAAI,sDAAA;YACJM,cAAAA,EAAgB;AAClB,SAAA,CAAA;QACApB,QAAAA,EAAUD,YAAAA;QACVsB,YAAAA,EAAcpB,gBAAAA;QACdqB,OAAAA,EAAS1B,SAAAA;QACT2B,UAAAA,EAAYhB,cAAAA;QACZD,YAAAA,EAAcA,YAAAA;AAEbG,QAAAA,QAAAA,EAAAA,OAAAA,CAAQG,GAAG,CAAC,CAACY,MAAAA,iBACZP,cAAA,CAACQ,2BAAAA,EAAAA;gBAA+B/B,KAAAA,EAAO8B,MAAAA,CAAOV,EAAE,CAACY,QAAQ,EAAA;AACtDF,gBAAAA,QAAAA,EAAAA,MAAAA,CAAOT;AADWS,aAAAA,EAAAA,MAAAA,CAAOV,EAAE,CAAA;;AAMtC;;;;"}
@@ -0,0 +1,62 @@
1
+ import { jsx } from 'react/jsx-runtime';
2
+ import * as React from 'react';
3
+ import { useField, useAdminUsers } from '@strapi/admin/strapi-admin';
4
+ import { Combobox, ComboboxOption } from '@strapi/design-system';
5
+ import { useIntl } from 'react-intl';
6
+ import { getDisplayName } from '../../../../utils/users.mjs';
7
+
8
+ const PAGE_SIZE = 10;
9
+ const AssigneeFilter = ({ name })=>{
10
+ const [pageSize, setPageSize] = React.useState(PAGE_SIZE);
11
+ const [hasOpened, setHasOpened] = React.useState(false);
12
+ const { formatMessage } = useIntl();
13
+ const field = useField(name);
14
+ const shouldFetch = hasOpened || Boolean(field.value);
15
+ const { data, isLoading } = useAdminUsers({
16
+ pageSize
17
+ }, {
18
+ skip: !shouldFetch
19
+ });
20
+ const handleChange = (value)=>{
21
+ setPageSize(PAGE_SIZE);
22
+ field.onChange(name, value);
23
+ };
24
+ const handleOpenChange = (isOpen)=>{
25
+ if (isOpen && !hasOpened) {
26
+ setHasOpened(true);
27
+ }
28
+ };
29
+ const { pageCount = 1, page = 1 } = data?.pagination ?? {};
30
+ const hasMoreItems = page < pageCount;
31
+ const handleLoadMore = ()=>{
32
+ if (!hasMoreItems) {
33
+ return;
34
+ }
35
+ setPageSize((prev)=>prev + PAGE_SIZE);
36
+ };
37
+ const options = React.useMemo(()=>(data?.users ?? []).map((user)=>({
38
+ id: user.id,
39
+ label: getDisplayName(user)
40
+ })), [
41
+ data?.users
42
+ ]);
43
+ return /*#__PURE__*/ jsx(Combobox, {
44
+ value: field.value,
45
+ "aria-label": formatMessage({
46
+ id: 'content-manager.components.Filters.usersSelect.label',
47
+ defaultMessage: 'Search and select an user to filter'
48
+ }),
49
+ onChange: handleChange,
50
+ onOpenChange: handleOpenChange,
51
+ loading: isLoading,
52
+ onLoadMore: handleLoadMore,
53
+ hasMoreItems: hasMoreItems,
54
+ children: options.map((option)=>/*#__PURE__*/ jsx(ComboboxOption, {
55
+ value: option.id.toString(),
56
+ children: option.label
57
+ }, option.id))
58
+ });
59
+ };
60
+
61
+ export { AssigneeFilter };
62
+ //# sourceMappingURL=AssigneeFilter.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AssigneeFilter.mjs","sources":["../../../../../../admin/src/routes/content-manager/model/components/AssigneeFilter.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport { type Filters, useAdminUsers, useField } from '@strapi/admin/strapi-admin';\nimport { Combobox, ComboboxOption, ComboboxProps } from '@strapi/design-system';\nimport { useIntl } from 'react-intl';\n\nimport { getDisplayName } from '../../../../utils/users';\n\ninterface AssigneeFilterProps extends Pick<ComboboxProps, 'value' | 'onChange'> {}\n\nconst PAGE_SIZE = 10;\n\nconst AssigneeFilter = ({ name }: Filters.ValueInputProps) => {\n const [pageSize, setPageSize] = React.useState(PAGE_SIZE);\n const [hasOpened, setHasOpened] = React.useState(false);\n const { formatMessage } = useIntl();\n const field = useField(name);\n const shouldFetch = hasOpened || Boolean(field.value);\n const { data, isLoading } = useAdminUsers({ pageSize }, { skip: !shouldFetch });\n\n const handleChange = (value?: string) => {\n setPageSize(PAGE_SIZE);\n field.onChange(name, value);\n };\n\n const handleOpenChange = (isOpen?: boolean) => {\n if (isOpen && !hasOpened) {\n setHasOpened(true);\n }\n };\n\n const { pageCount = 1, page = 1 } = data?.pagination ?? {};\n const hasMoreItems = page < pageCount;\n\n const handleLoadMore = () => {\n if (!hasMoreItems) {\n return;\n }\n setPageSize((prev) => prev + PAGE_SIZE);\n };\n\n const options = React.useMemo(\n () =>\n (data?.users ?? []).map((user) => ({\n id: user.id,\n label: getDisplayName(user),\n })),\n [data?.users]\n );\n\n return (\n <Combobox\n value={field.value}\n aria-label={formatMessage({\n id: 'content-manager.components.Filters.usersSelect.label',\n defaultMessage: 'Search and select an user to filter',\n })}\n onChange={handleChange}\n onOpenChange={handleOpenChange}\n loading={isLoading}\n onLoadMore={handleLoadMore}\n hasMoreItems={hasMoreItems}\n >\n {options.map((option) => (\n <ComboboxOption key={option.id} value={option.id.toString()}>\n {option.label}\n </ComboboxOption>\n ))}\n </Combobox>\n );\n};\n\nexport { AssigneeFilter };\nexport type { AssigneeFilterProps };\n"],"names":["PAGE_SIZE","AssigneeFilter","name","pageSize","setPageSize","React","useState","hasOpened","setHasOpened","formatMessage","useIntl","field","useField","shouldFetch","Boolean","value","data","isLoading","useAdminUsers","skip","handleChange","onChange","handleOpenChange","isOpen","pageCount","page","pagination","hasMoreItems","handleLoadMore","prev","options","useMemo","users","map","user","id","label","getDisplayName","_jsx","Combobox","aria-label","defaultMessage","onOpenChange","loading","onLoadMore","option","ComboboxOption","toString"],"mappings":";;;;;;;AAUA,MAAMA,SAAAA,GAAY,EAAA;AAElB,MAAMC,cAAAA,GAAiB,CAAC,EAAEC,IAAI,EAA2B,GAAA;AACvD,IAAA,MAAM,CAACC,QAAAA,EAAUC,WAAAA,CAAY,GAAGC,KAAAA,CAAMC,QAAQ,CAACN,SAAAA,CAAAA;AAC/C,IAAA,MAAM,CAACO,SAAAA,EAAWC,YAAAA,CAAa,GAAGH,KAAAA,CAAMC,QAAQ,CAAC,KAAA,CAAA;IACjD,MAAM,EAAEG,aAAa,EAAE,GAAGC,OAAAA,EAAAA;AAC1B,IAAA,MAAMC,QAAQC,QAAAA,CAASV,IAAAA,CAAAA;AACvB,IAAA,MAAMW,WAAAA,GAAcN,SAAAA,IAAaO,OAAAA,CAAQH,KAAAA,CAAMI,KAAK,CAAA;AACpD,IAAA,MAAM,EAAEC,IAAI,EAAEC,SAAS,EAAE,GAAGC,aAAAA,CAAc;AAAEf,QAAAA;KAAS,EAAG;AAAEgB,QAAAA,IAAAA,EAAM,CAACN;AAAY,KAAA,CAAA;AAE7E,IAAA,MAAMO,eAAe,CAACL,KAAAA,GAAAA;QACpBX,WAAAA,CAAYJ,SAAAA,CAAAA;QACZW,KAAAA,CAAMU,QAAQ,CAACnB,IAAAA,EAAMa,KAAAA,CAAAA;AACvB,IAAA,CAAA;AAEA,IAAA,MAAMO,mBAAmB,CAACC,MAAAA,GAAAA;QACxB,IAAIA,MAAAA,IAAU,CAAChB,SAAAA,EAAW;YACxBC,YAAAA,CAAa,IAAA,CAAA;AACf,QAAA;AACF,IAAA,CAAA;IAEA,MAAM,EAAEgB,SAAAA,GAAY,CAAC,EAAEC,IAAAA,GAAO,CAAC,EAAE,GAAGT,IAAAA,EAAMU,UAAAA,IAAc,EAAC;AACzD,IAAA,MAAMC,eAAeF,IAAAA,GAAOD,SAAAA;AAE5B,IAAA,MAAMI,cAAAA,GAAiB,IAAA;AACrB,QAAA,IAAI,CAACD,YAAAA,EAAc;AACjB,YAAA;AACF,QAAA;QACAvB,WAAAA,CAAY,CAACyB,OAASA,IAAAA,GAAO7B,SAAAA,CAAAA;AAC/B,IAAA,CAAA;AAEA,IAAA,MAAM8B,UAAUzB,KAAAA,CAAM0B,OAAO,CAC3B,IACE,CAACf,IAAAA,EAAMgB,KAAAA,IAAS,EAAE,EAAEC,GAAG,CAAC,CAACC,QAAU;AACjCC,gBAAAA,EAAAA,EAAID,KAAKC,EAAE;AACXC,gBAAAA,KAAAA,EAAOC,cAAAA,CAAeH,IAAAA;AACxB,aAAA,CAAA,CAAA,EACF;QAAClB,IAAAA,EAAMgB;AAAM,KAAA,CAAA;AAGf,IAAA,qBACEM,GAAA,CAACC,QAAAA,EAAAA;AACCxB,QAAAA,KAAAA,EAAOJ,MAAMI,KAAK;AAClByB,QAAAA,YAAAA,EAAY/B,aAAAA,CAAc;YACxB0B,EAAAA,EAAI,sDAAA;YACJM,cAAAA,EAAgB;AAClB,SAAA,CAAA;QACApB,QAAAA,EAAUD,YAAAA;QACVsB,YAAAA,EAAcpB,gBAAAA;QACdqB,OAAAA,EAAS1B,SAAAA;QACT2B,UAAAA,EAAYhB,cAAAA;QACZD,YAAAA,EAAcA,YAAAA;AAEbG,QAAAA,QAAAA,EAAAA,OAAAA,CAAQG,GAAG,CAAC,CAACY,MAAAA,iBACZP,GAAA,CAACQ,cAAAA,EAAAA;gBAA+B/B,KAAAA,EAAO8B,MAAAA,CAAOV,EAAE,CAACY,QAAQ,EAAA;AACtDF,gBAAAA,QAAAA,EAAAA,MAAAA,CAAOT;AADWS,aAAAA,EAAAA,MAAAA,CAAOV,EAAE,CAAA;;AAMtC;;;;"}
@@ -0,0 +1,70 @@
1
+ 'use strict';
2
+
3
+ var jsxRuntime = require('react/jsx-runtime');
4
+ var strapiAdmin = require('@strapi/admin/strapi-admin');
5
+ var designSystem = require('@strapi/design-system');
6
+ var reactIntl = require('react-intl');
7
+ var reactRouterDom = require('react-router-dom');
8
+ var colors = require('../../../../utils/colors.js');
9
+ var useReviewWorkflows = require('../../../settings/hooks/useReviewWorkflows.js');
10
+
11
+ const StageFilter = (props)=>{
12
+ const { slug: model } = reactRouterDom.useParams();
13
+ const { formatMessage } = reactIntl.useIntl();
14
+ const { workflows, isLoading } = useReviewWorkflows.useReviewWorkflows({
15
+ filters: {
16
+ contentTypes: model
17
+ }
18
+ });
19
+ const field = strapiAdmin.useField(props.name);
20
+ const [workflow] = workflows ?? [];
21
+ return /*#__PURE__*/ jsxRuntime.jsx(designSystem.SingleSelect, {
22
+ "aria-label": formatMessage({
23
+ id: 'content-manager.components.Filters.reviewWorkflows.label',
24
+ defaultMessage: 'Search and select an workflow stage to filter'
25
+ }),
26
+ value: field.value,
27
+ onChange: (value)=>{
28
+ field.onChange(props.name, value);
29
+ },
30
+ loading: isLoading,
31
+ // @ts-expect-error – DS type error with SingleSelect['customizeContent']
32
+ customizeContent: ()=>/*#__PURE__*/ jsxRuntime.jsxs(designSystem.Flex, {
33
+ tag: "span",
34
+ justifyContent: "space-between",
35
+ alignItems: "center",
36
+ width: "100%",
37
+ children: [
38
+ /*#__PURE__*/ jsxRuntime.jsx(designSystem.Typography, {
39
+ textColor: "neutral800",
40
+ ellipsis: true,
41
+ children: field.value
42
+ }),
43
+ isLoading ? /*#__PURE__*/ jsxRuntime.jsx(designSystem.Loader, {
44
+ small: true,
45
+ style: {
46
+ display: 'flex'
47
+ }
48
+ }) : null
49
+ ]
50
+ }),
51
+ children: (workflow?.stages ?? []).map(({ id, color, name })=>{
52
+ const { themeColorName } = colors.getStageColorByHex(color) ?? {};
53
+ return /*#__PURE__*/ jsxRuntime.jsx(designSystem.SingleSelectOption, {
54
+ startIcon: /*#__PURE__*/ jsxRuntime.jsx(designSystem.Flex, {
55
+ height: 2,
56
+ background: color,
57
+ borderColor: themeColorName === 'neutral0' ? 'neutral150' : undefined,
58
+ hasRadius: true,
59
+ shrink: 0,
60
+ width: 2
61
+ }),
62
+ value: name,
63
+ children: name
64
+ }, id);
65
+ })
66
+ });
67
+ };
68
+
69
+ exports.StageFilter = StageFilter;
70
+ //# sourceMappingURL=StageFilter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"StageFilter.js","sources":["../../../../../../admin/src/routes/content-manager/model/components/StageFilter.tsx"],"sourcesContent":["import { type Filters, useField } from '@strapi/admin/strapi-admin';\nimport {\n Flex,\n Loader,\n SingleSelect,\n SingleSelectOption,\n SingleSelectProps,\n Typography,\n} from '@strapi/design-system';\nimport { useIntl } from 'react-intl';\nimport { useParams } from 'react-router-dom';\n\nimport { getStageColorByHex } from '../../../../utils/colors';\nimport { useReviewWorkflows } from '../../../settings/hooks/useReviewWorkflows';\n\ninterface StageFilterProps extends Pick<SingleSelectProps, 'value' | 'onChange'> {\n uid?: string;\n}\n\nconst StageFilter = (props: Filters.ValueInputProps) => {\n const { slug: model } = useParams<{ slug: string }>();\n const { formatMessage } = useIntl();\n const { workflows, isLoading } = useReviewWorkflows({ filters: { contentTypes: model } });\n\n const field = useField(props.name);\n\n const [workflow] = workflows ?? [];\n\n return (\n <SingleSelect\n aria-label={formatMessage({\n id: 'content-manager.components.Filters.reviewWorkflows.label',\n defaultMessage: 'Search and select an workflow stage to filter',\n })}\n value={field.value}\n onChange={(value) => {\n field.onChange(props.name, value);\n }}\n loading={isLoading}\n // @ts-expect-error – DS type error with SingleSelect['customizeContent']\n customizeContent={() => (\n <Flex tag=\"span\" justifyContent=\"space-between\" alignItems=\"center\" width=\"100%\">\n <Typography textColor=\"neutral800\" ellipsis>\n {field.value}\n </Typography>\n {isLoading ? <Loader small style={{ display: 'flex' }} /> : null}\n </Flex>\n )}\n >\n {(workflow?.stages ?? []).map(({ id, color, name }) => {\n const { themeColorName } = getStageColorByHex(color) ?? {};\n\n return (\n <SingleSelectOption\n key={id}\n startIcon={\n <Flex\n height={2}\n background={color}\n borderColor={themeColorName === 'neutral0' ? 'neutral150' : undefined}\n hasRadius\n shrink={0}\n width={2}\n />\n }\n value={name}\n >\n {name}\n </SingleSelectOption>\n );\n })}\n </SingleSelect>\n );\n};\n\nexport { StageFilter };\nexport type { StageFilterProps };\n"],"names":["StageFilter","props","slug","model","useParams","formatMessage","useIntl","workflows","isLoading","useReviewWorkflows","filters","contentTypes","field","useField","name","workflow","_jsx","SingleSelect","aria-label","id","defaultMessage","value","onChange","loading","customizeContent","_jsxs","Flex","tag","justifyContent","alignItems","width","Typography","textColor","ellipsis","Loader","small","style","display","stages","map","color","themeColorName","getStageColorByHex","SingleSelectOption","startIcon","height","background","borderColor","undefined","hasRadius","shrink"],"mappings":";;;;;;;;;;AAmBA,MAAMA,cAAc,CAACC,KAAAA,GAAAA;AACnB,IAAA,MAAM,EAAEC,IAAAA,EAAMC,KAAK,EAAE,GAAGC,wBAAAA,EAAAA;IACxB,MAAM,EAAEC,aAAa,EAAE,GAAGC,iBAAAA,EAAAA;AAC1B,IAAA,MAAM,EAAEC,SAAS,EAAEC,SAAS,EAAE,GAAGC,qCAAAA,CAAmB;QAAEC,OAAAA,EAAS;YAAEC,YAAAA,EAAcR;AAAM;AAAE,KAAA,CAAA;IAEvF,MAAMS,KAAAA,GAAQC,oBAAAA,CAASZ,KAAAA,CAAMa,IAAI,CAAA;AAEjC,IAAA,MAAM,CAACC,QAAAA,CAAS,GAAGR,SAAAA,IAAa,EAAE;AAElC,IAAA,qBACES,cAAA,CAACC,yBAAAA,EAAAA;AACCC,QAAAA,YAAAA,EAAYb,aAAAA,CAAc;YACxBc,EAAAA,EAAI,0DAAA;YACJC,cAAAA,EAAgB;AAClB,SAAA,CAAA;AACAC,QAAAA,KAAAA,EAAOT,MAAMS,KAAK;AAClBC,QAAAA,QAAAA,EAAU,CAACD,KAAAA,GAAAA;AACTT,YAAAA,KAAAA,CAAMU,QAAQ,CAACrB,KAAAA,CAAMa,IAAI,EAAEO,KAAAA,CAAAA;AAC7B,QAAA,CAAA;QACAE,OAAAA,EAASf,SAAAA;;AAETgB,QAAAA,gBAAAA,EAAkB,kBAChBC,eAAA,CAACC,iBAAAA,EAAAA;gBAAKC,GAAAA,EAAI,MAAA;gBAAOC,cAAAA,EAAe,eAAA;gBAAgBC,UAAAA,EAAW,QAAA;gBAASC,KAAAA,EAAM,MAAA;;kCACxEd,cAAA,CAACe,uBAAAA,EAAAA;wBAAWC,SAAAA,EAAU,YAAA;wBAAaC,QAAQ,EAAA,IAAA;AACxCrB,wBAAAA,QAAAA,EAAAA,KAAAA,CAAMS;;AAERb,oBAAAA,SAAAA,iBAAYQ,cAAA,CAACkB,mBAAAA,EAAAA;wBAAOC,KAAK,EAAA,IAAA;wBAACC,KAAAA,EAAO;4BAAEC,OAAAA,EAAS;AAAO;AAAQ,qBAAA,CAAA,GAAA;;;AAI/D,QAAA,QAAA,EAACtB,CAAAA,QAAAA,EAAUuB,MAAAA,IAAU,EAAE,EAAEC,GAAG,CAAC,CAAC,EAAEpB,EAAE,EAAEqB,KAAK,EAAE1B,IAAI,EAAE,GAAA;AAChD,YAAA,MAAM,EAAE2B,cAAc,EAAE,GAAGC,yBAAAA,CAAmBF,UAAU,EAAC;AAEzD,YAAA,qBACExB,cAAA,CAAC2B,+BAAAA,EAAAA;AAECC,gBAAAA,SAAAA,gBACE5B,cAAA,CAACU,iBAAAA,EAAAA;oBACCmB,MAAAA,EAAQ,CAAA;oBACRC,UAAAA,EAAYN,KAAAA;oBACZO,WAAAA,EAAaN,cAAAA,KAAmB,aAAa,YAAA,GAAeO,SAAAA;oBAC5DC,SAAS,EAAA,IAAA;oBACTC,MAAAA,EAAQ,CAAA;oBACRpB,KAAAA,EAAO;;gBAGXT,KAAAA,EAAOP,IAAAA;AAENA,gBAAAA,QAAAA,EAAAA;AAbIK,aAAAA,EAAAA,EAAAA,CAAAA;AAgBX,QAAA,CAAA;;AAGN;;;;"}
@@ -0,0 +1,68 @@
1
+ import { jsx, jsxs } from 'react/jsx-runtime';
2
+ import { useField } from '@strapi/admin/strapi-admin';
3
+ import { SingleSelect, SingleSelectOption, Flex, Typography, Loader } from '@strapi/design-system';
4
+ import { useIntl } from 'react-intl';
5
+ import { useParams } from 'react-router-dom';
6
+ import { getStageColorByHex } from '../../../../utils/colors.mjs';
7
+ import { useReviewWorkflows } from '../../../settings/hooks/useReviewWorkflows.mjs';
8
+
9
+ const StageFilter = (props)=>{
10
+ const { slug: model } = useParams();
11
+ const { formatMessage } = useIntl();
12
+ const { workflows, isLoading } = useReviewWorkflows({
13
+ filters: {
14
+ contentTypes: model
15
+ }
16
+ });
17
+ const field = useField(props.name);
18
+ const [workflow] = workflows ?? [];
19
+ return /*#__PURE__*/ jsx(SingleSelect, {
20
+ "aria-label": formatMessage({
21
+ id: 'content-manager.components.Filters.reviewWorkflows.label',
22
+ defaultMessage: 'Search and select an workflow stage to filter'
23
+ }),
24
+ value: field.value,
25
+ onChange: (value)=>{
26
+ field.onChange(props.name, value);
27
+ },
28
+ loading: isLoading,
29
+ // @ts-expect-error – DS type error with SingleSelect['customizeContent']
30
+ customizeContent: ()=>/*#__PURE__*/ jsxs(Flex, {
31
+ tag: "span",
32
+ justifyContent: "space-between",
33
+ alignItems: "center",
34
+ width: "100%",
35
+ children: [
36
+ /*#__PURE__*/ jsx(Typography, {
37
+ textColor: "neutral800",
38
+ ellipsis: true,
39
+ children: field.value
40
+ }),
41
+ isLoading ? /*#__PURE__*/ jsx(Loader, {
42
+ small: true,
43
+ style: {
44
+ display: 'flex'
45
+ }
46
+ }) : null
47
+ ]
48
+ }),
49
+ children: (workflow?.stages ?? []).map(({ id, color, name })=>{
50
+ const { themeColorName } = getStageColorByHex(color) ?? {};
51
+ return /*#__PURE__*/ jsx(SingleSelectOption, {
52
+ startIcon: /*#__PURE__*/ jsx(Flex, {
53
+ height: 2,
54
+ background: color,
55
+ borderColor: themeColorName === 'neutral0' ? 'neutral150' : undefined,
56
+ hasRadius: true,
57
+ shrink: 0,
58
+ width: 2
59
+ }),
60
+ value: name,
61
+ children: name
62
+ }, id);
63
+ })
64
+ });
65
+ };
66
+
67
+ export { StageFilter };
68
+ //# sourceMappingURL=StageFilter.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"StageFilter.mjs","sources":["../../../../../../admin/src/routes/content-manager/model/components/StageFilter.tsx"],"sourcesContent":["import { type Filters, useField } from '@strapi/admin/strapi-admin';\nimport {\n Flex,\n Loader,\n SingleSelect,\n SingleSelectOption,\n SingleSelectProps,\n Typography,\n} from '@strapi/design-system';\nimport { useIntl } from 'react-intl';\nimport { useParams } from 'react-router-dom';\n\nimport { getStageColorByHex } from '../../../../utils/colors';\nimport { useReviewWorkflows } from '../../../settings/hooks/useReviewWorkflows';\n\ninterface StageFilterProps extends Pick<SingleSelectProps, 'value' | 'onChange'> {\n uid?: string;\n}\n\nconst StageFilter = (props: Filters.ValueInputProps) => {\n const { slug: model } = useParams<{ slug: string }>();\n const { formatMessage } = useIntl();\n const { workflows, isLoading } = useReviewWorkflows({ filters: { contentTypes: model } });\n\n const field = useField(props.name);\n\n const [workflow] = workflows ?? [];\n\n return (\n <SingleSelect\n aria-label={formatMessage({\n id: 'content-manager.components.Filters.reviewWorkflows.label',\n defaultMessage: 'Search and select an workflow stage to filter',\n })}\n value={field.value}\n onChange={(value) => {\n field.onChange(props.name, value);\n }}\n loading={isLoading}\n // @ts-expect-error – DS type error with SingleSelect['customizeContent']\n customizeContent={() => (\n <Flex tag=\"span\" justifyContent=\"space-between\" alignItems=\"center\" width=\"100%\">\n <Typography textColor=\"neutral800\" ellipsis>\n {field.value}\n </Typography>\n {isLoading ? <Loader small style={{ display: 'flex' }} /> : null}\n </Flex>\n )}\n >\n {(workflow?.stages ?? []).map(({ id, color, name }) => {\n const { themeColorName } = getStageColorByHex(color) ?? {};\n\n return (\n <SingleSelectOption\n key={id}\n startIcon={\n <Flex\n height={2}\n background={color}\n borderColor={themeColorName === 'neutral0' ? 'neutral150' : undefined}\n hasRadius\n shrink={0}\n width={2}\n />\n }\n value={name}\n >\n {name}\n </SingleSelectOption>\n );\n })}\n </SingleSelect>\n );\n};\n\nexport { StageFilter };\nexport type { StageFilterProps };\n"],"names":["StageFilter","props","slug","model","useParams","formatMessage","useIntl","workflows","isLoading","useReviewWorkflows","filters","contentTypes","field","useField","name","workflow","_jsx","SingleSelect","aria-label","id","defaultMessage","value","onChange","loading","customizeContent","_jsxs","Flex","tag","justifyContent","alignItems","width","Typography","textColor","ellipsis","Loader","small","style","display","stages","map","color","themeColorName","getStageColorByHex","SingleSelectOption","startIcon","height","background","borderColor","undefined","hasRadius","shrink"],"mappings":";;;;;;;;AAmBA,MAAMA,cAAc,CAACC,KAAAA,GAAAA;AACnB,IAAA,MAAM,EAAEC,IAAAA,EAAMC,KAAK,EAAE,GAAGC,SAAAA,EAAAA;IACxB,MAAM,EAAEC,aAAa,EAAE,GAAGC,OAAAA,EAAAA;AAC1B,IAAA,MAAM,EAAEC,SAAS,EAAEC,SAAS,EAAE,GAAGC,kBAAAA,CAAmB;QAAEC,OAAAA,EAAS;YAAEC,YAAAA,EAAcR;AAAM;AAAE,KAAA,CAAA;IAEvF,MAAMS,KAAAA,GAAQC,QAAAA,CAASZ,KAAAA,CAAMa,IAAI,CAAA;AAEjC,IAAA,MAAM,CAACC,QAAAA,CAAS,GAAGR,SAAAA,IAAa,EAAE;AAElC,IAAA,qBACES,GAAA,CAACC,YAAAA,EAAAA;AACCC,QAAAA,YAAAA,EAAYb,aAAAA,CAAc;YACxBc,EAAAA,EAAI,0DAAA;YACJC,cAAAA,EAAgB;AAClB,SAAA,CAAA;AACAC,QAAAA,KAAAA,EAAOT,MAAMS,KAAK;AAClBC,QAAAA,QAAAA,EAAU,CAACD,KAAAA,GAAAA;AACTT,YAAAA,KAAAA,CAAMU,QAAQ,CAACrB,KAAAA,CAAMa,IAAI,EAAEO,KAAAA,CAAAA;AAC7B,QAAA,CAAA;QACAE,OAAAA,EAASf,SAAAA;;AAETgB,QAAAA,gBAAAA,EAAkB,kBAChBC,IAAA,CAACC,IAAAA,EAAAA;gBAAKC,GAAAA,EAAI,MAAA;gBAAOC,cAAAA,EAAe,eAAA;gBAAgBC,UAAAA,EAAW,QAAA;gBAASC,KAAAA,EAAM,MAAA;;kCACxEd,GAAA,CAACe,UAAAA,EAAAA;wBAAWC,SAAAA,EAAU,YAAA;wBAAaC,QAAQ,EAAA,IAAA;AACxCrB,wBAAAA,QAAAA,EAAAA,KAAAA,CAAMS;;AAERb,oBAAAA,SAAAA,iBAAYQ,GAAA,CAACkB,MAAAA,EAAAA;wBAAOC,KAAK,EAAA,IAAA;wBAACC,KAAAA,EAAO;4BAAEC,OAAAA,EAAS;AAAO;AAAQ,qBAAA,CAAA,GAAA;;;AAI/D,QAAA,QAAA,EAACtB,CAAAA,QAAAA,EAAUuB,MAAAA,IAAU,EAAE,EAAEC,GAAG,CAAC,CAAC,EAAEpB,EAAE,EAAEqB,KAAK,EAAE1B,IAAI,EAAE,GAAA;AAChD,YAAA,MAAM,EAAE2B,cAAc,EAAE,GAAGC,kBAAAA,CAAmBF,UAAU,EAAC;AAEzD,YAAA,qBACExB,GAAA,CAAC2B,kBAAAA,EAAAA;AAECC,gBAAAA,SAAAA,gBACE5B,GAAA,CAACU,IAAAA,EAAAA;oBACCmB,MAAAA,EAAQ,CAAA;oBACRC,UAAAA,EAAYN,KAAAA;oBACZO,WAAAA,EAAaN,cAAAA,KAAmB,aAAa,YAAA,GAAeO,SAAAA;oBAC5DC,SAAS,EAAA,IAAA;oBACTC,MAAAA,EAAQ,CAAA;oBACRpB,KAAAA,EAAO;;gBAGXT,KAAAA,EAAOP,IAAAA;AAENA,gBAAAA,QAAAA,EAAAA;AAbIK,aAAAA,EAAAA,EAAAA,CAAAA;AAgBX,QAAA,CAAA;;AAGN;;;;"}
@@ -1,13 +1,8 @@
1
1
  'use strict';
2
2
 
3
3
  var jsxRuntime = require('react/jsx-runtime');
4
- require('react');
5
- require('@strapi/admin/strapi-admin');
6
- require('@strapi/design-system');
7
- require('react-intl');
8
- require('react-router-dom');
9
- require('../../../utils/colors.js');
10
- require('../../../services/settings.js');
4
+ var AssigneeFilter = require('./components/AssigneeFilter.js');
5
+ var StageFilter = require('./components/StageFilter.js');
11
6
  var TableColumns = require('./components/TableColumns.js');
12
7
  var constants = require('./id/components/constants.js');
13
8
 
@@ -21,7 +16,7 @@ const REVIEW_WORKFLOW_COLUMNS = [
21
16
  },
22
17
  label: {
23
18
  id: 'review-workflows.containers.list.table-headers.reviewWorkflows.stage',
24
- defaultMessage: 'Review stage'
19
+ defaultMessage: 'review stage'
25
20
  },
26
21
  searchable: false,
27
22
  sortable: true,
@@ -42,7 +37,7 @@ const REVIEW_WORKFLOW_COLUMNS = [
42
37
  },
43
38
  label: {
44
39
  id: 'review-workflows.containers.list.table-headers.reviewWorkflows.assignee',
45
- defaultMessage: 'Assignee'
40
+ defaultMessage: 'assignee'
46
41
  },
47
42
  searchable: false,
48
43
  sortable: true,
@@ -55,6 +50,65 @@ const REVIEW_WORKFLOW_COLUMNS = [
55
50
  })
56
51
  }
57
52
  ];
53
+ const REVIEW_WORKFLOW_FILTERS = [
54
+ {
55
+ mainField: {
56
+ name: 'name',
57
+ type: 'string'
58
+ },
59
+ input: StageFilter.StageFilter,
60
+ label: {
61
+ id: 'review-workflows.containers.list.table-headers.reviewWorkflows.stage',
62
+ defaultMessage: 'review stage'
63
+ },
64
+ name: 'strapi_stage',
65
+ type: 'relation'
66
+ },
67
+ {
68
+ type: 'relation',
69
+ mainField: {
70
+ name: 'id',
71
+ type: 'integer'
72
+ },
73
+ input: AssigneeFilter.AssigneeFilter,
74
+ operators: [
75
+ {
76
+ label: {
77
+ id: 'components.FilterOptions.FILTER_TYPES.$eq',
78
+ defaultMessage: 'is'
79
+ },
80
+ value: '$eq'
81
+ },
82
+ {
83
+ label: {
84
+ id: 'components.FilterOptions.FILTER_TYPES.$ne',
85
+ defaultMessage: 'is not'
86
+ },
87
+ value: '$ne'
88
+ },
89
+ {
90
+ label: {
91
+ id: 'components.FilterOptions.FILTER_TYPES.$null',
92
+ defaultMessage: 'is null'
93
+ },
94
+ value: '$null'
95
+ },
96
+ {
97
+ label: {
98
+ id: 'components.FilterOptions.FILTER_TYPES.$notNull',
99
+ defaultMessage: 'is not null'
100
+ },
101
+ value: '$notNull'
102
+ }
103
+ ],
104
+ label: {
105
+ id: 'review-workflows.containers.list.table-headers.reviewWorkflows.assignee',
106
+ defaultMessage: 'assignee'
107
+ },
108
+ name: 'strapi_assignee'
109
+ }
110
+ ];
58
111
 
59
112
  exports.REVIEW_WORKFLOW_COLUMNS = REVIEW_WORKFLOW_COLUMNS;
113
+ exports.REVIEW_WORKFLOW_FILTERS = REVIEW_WORKFLOW_FILTERS;
60
114
  //# sourceMappingURL=constants.js.map
@@ -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,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
+ {"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: 'components.FilterOptions.FILTER_TYPES.$null',\n defaultMessage: 'is null',\n },\n value: '$null',\n },\n {\n label: {\n id: 'components.FilterOptions.FILTER_TYPES.$notNull',\n defaultMessage: 'is not null',\n },\n value: '$notNull',\n },\n ],\n label: {\n id: 'review-workflows.containers.list.table-headers.reviewWorkflows.assignee',\n defaultMessage: 'assignee',\n },\n name: 'strapi_assignee',\n },\n] satisfies Array<\n Omit<Filters.Filter, 'label' | 'operators'> & {\n label: MessageDescriptor;\n operators?: Array<{ value: string; label: MessageDescriptor }>;\n }\n>;\n"],"names":["REVIEW_WORKFLOW_COLUMNS","name","STAGE_ATTRIBUTE_NAME","attribute","type","relation","target","label","id","defaultMessage","searchable","sortable","mainField","cellFormatter","props","_jsx","StageColumn","ASSIGNEE_ATTRIBUTE_NAME","AssigneeColumn","REVIEW_WORKFLOW_FILTERS","input","StageFilter","AssigneeFilter","operators","value"],"mappings":";;;;;;;;MASaA,uBAAAA,GAA0B;AACrC,IAAA;QACEC,IAAAA,EAAMC,8BAAAA;QACNC,SAAAA,EAAW;YACTC,IAAAA,EAAM,UAAA;YACNC,QAAAA,EAAU,WAAA;YACVC,MAAAA,EAAQ;AACV,SAAA;QACAC,KAAAA,EAAO;YACLC,EAAAA,EAAI,sEAAA;YACJC,cAAAA,EAAgB;AAClB,SAAA;QACAC,UAAAA,EAAY,KAAA;QACZC,QAAAA,EAAU,IAAA;QACVC,SAAAA,EAAW;YACTX,IAAAA,EAAM,MAAA;YACNG,IAAAA,EAAM;AACR,SAAA;QACAS,aAAAA,EAAe,CAACC,sBAAUC,cAAA,CAACC,wBAAAA,EAAAA;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;;MAGWK,uBAAAA,GAA0B;AACrC,IAAA;QACEP,SAAAA,EAAW;YACTX,IAAAA,EAAM,MAAA;YACNG,IAAAA,EAAM;AACR,SAAA;QACAgB,KAAAA,EAAOC,uBAAAA;QACPd,KAAAA,EAAO;YACLC,EAAAA,EAAI,sEAAA;YACJC,cAAAA,EAAgB;AAClB,SAAA;QACAR,IAAAA,EAAM,cAAA;QACNG,IAAAA,EAAM;AACR,KAAA;AAEA,IAAA;QACEA,IAAAA,EAAM,UAAA;QACNQ,SAAAA,EAAW;YACTX,IAAAA,EAAM,IAAA;YACNG,IAAAA,EAAM;AACR,SAAA;QACAgB,KAAAA,EAAOE,6BAAAA;QACPC,SAAAA,EAAW;AACT,YAAA;gBACEhB,KAAAA,EAAO;oBACLC,EAAAA,EAAI,2CAAA;oBACJC,cAAAA,EAAgB;AAClB,iBAAA;gBACAe,KAAAA,EAAO;AACT,aAAA;AACA,YAAA;gBACEjB,KAAAA,EAAO;oBACLC,EAAAA,EAAI,2CAAA;oBACJC,cAAAA,EAAgB;AAClB,iBAAA;gBACAe,KAAAA,EAAO;AACT,aAAA;AACA,YAAA;gBACEjB,KAAAA,EAAO;oBACLC,EAAAA,EAAI,6CAAA;oBACJC,cAAAA,EAAgB;AAClB,iBAAA;gBACAe,KAAAA,EAAO;AACT,aAAA;AACA,YAAA;gBACEjB,KAAAA,EAAO;oBACLC,EAAAA,EAAI,gDAAA;oBACJC,cAAAA,EAAgB;AAClB,iBAAA;gBACAe,KAAAA,EAAO;AACT;AACD,SAAA;QACDjB,KAAAA,EAAO;YACLC,EAAAA,EAAI,yEAAA;YACJC,cAAAA,EAAgB;AAClB,SAAA;QACAR,IAAAA,EAAM;AACR;;;;;;"}