From 19d827b0a9ee59ab8f7607a4e4321f69b2be27f9 Mon Sep 17 00:00:00 2001 From: Gustav Hansen Date: Wed, 21 Jun 2023 13:40:00 +0200 Subject: [PATCH] Chore: Refactor CM list-view review-workflow columns to use useEnterprise --- .../ReviewWorkflowsStage/getTableColumn.js | 2 - .../ReviewWorkflowsStage/constants.js | 42 ++++++++++++++ .../ReviewWorkflowsStage/getTableColumn.js | 58 ------------------- 3 files changed, 42 insertions(+), 60 deletions(-) delete mode 100644 packages/core/admin/admin/src/content-manager/components/DynamicTable/CellContent/ReviewWorkflowsStage/getTableColumn.js create mode 100644 packages/core/admin/ee/admin/content-manager/components/DynamicTable/CellContent/ReviewWorkflowsStage/constants.js delete mode 100644 packages/core/admin/ee/admin/content-manager/components/DynamicTable/CellContent/ReviewWorkflowsStage/getTableColumn.js diff --git a/packages/core/admin/admin/src/content-manager/components/DynamicTable/CellContent/ReviewWorkflowsStage/getTableColumn.js b/packages/core/admin/admin/src/content-manager/components/DynamicTable/CellContent/ReviewWorkflowsStage/getTableColumn.js deleted file mode 100644 index e19585b823..0000000000 --- a/packages/core/admin/admin/src/content-manager/components/DynamicTable/CellContent/ReviewWorkflowsStage/getTableColumn.js +++ /dev/null @@ -1,2 +0,0 @@ -// Overwritten in EE -export default () => null; diff --git a/packages/core/admin/ee/admin/content-manager/components/DynamicTable/CellContent/ReviewWorkflowsStage/constants.js b/packages/core/admin/ee/admin/content-manager/components/DynamicTable/CellContent/ReviewWorkflowsStage/constants.js new file mode 100644 index 0000000000..9dfe23528b --- /dev/null +++ b/packages/core/admin/ee/admin/content-manager/components/DynamicTable/CellContent/ReviewWorkflowsStage/constants.js @@ -0,0 +1,42 @@ +import React from 'react'; + +import { Typography } from '@strapi/design-system'; + +import getTrad from '../../../../../../../admin/src/content-manager/utils/getTrad'; +import { STAGE_COLOR_DEFAULT } from '../../../../../pages/SettingsPage/pages/ReviewWorkflows/constants'; + +import ReviewWorkflowsStage from '.'; + +export const REVIEW_WORKFLOW_COLUMNS_EE = { + key: '__strapi_reviewWorkflows_stage_temp_key__', + name: 'strapi_reviewWorkflows_stage', + fieldSchema: { + type: 'relation', + }, + metadatas: { + // formatMessage() will be applied when the column is rendered + label: { + id: getTrad(`containers.ListPage.table-headers.reviewWorkflows.stage`), + defaultMessage: 'Review stage', + }, + searchable: false, + sortable: true, + mainField: { + name: 'name', + schema: { + type: 'string', + }, + }, + }, + cellFormatter({ strapi_reviewWorkflows_stage }) { + // if entities are created e.g. through lifecycle methods + // they may not have a stage assigned + if (!strapi_reviewWorkflows_stage) { + return -; + } + + const { color, name } = strapi_reviewWorkflows_stage; + + return ; + }, +}; diff --git a/packages/core/admin/ee/admin/content-manager/components/DynamicTable/CellContent/ReviewWorkflowsStage/getTableColumn.js b/packages/core/admin/ee/admin/content-manager/components/DynamicTable/CellContent/ReviewWorkflowsStage/getTableColumn.js deleted file mode 100644 index c5afe6c8de..0000000000 --- a/packages/core/admin/ee/admin/content-manager/components/DynamicTable/CellContent/ReviewWorkflowsStage/getTableColumn.js +++ /dev/null @@ -1,58 +0,0 @@ -import React from 'react'; - -import { Typography } from '@strapi/design-system'; -import { useIntl } from 'react-intl'; - -import getTrad from '../../../../../../../admin/src/content-manager/utils/getTrad'; -import { STAGE_COLOR_DEFAULT } from '../../../../../pages/SettingsPage/pages/ReviewWorkflows/constants'; - -import ReviewWorkflowsStage from '.'; - -export default (layout) => { - const { formatMessage } = useIntl(); - - // TODO: As soon as the feature was enabled in EE mode, the BE currently does not have a way to send - // `false` once a user is in CE mode again. We shouldn't have to perform the window.strapi.isEE check here - // and it is meant to be in interim solution until we find a better one. - const hasReviewWorkflows = - (window.strapi.features.isEnabled(window.strapi.features.REVIEW_WORKFLOWS) && - layout.contentType.options?.reviewWorkflows) ?? - false; - - if (!hasReviewWorkflows) { - return null; - } - - return { - key: '__strapi_reviewWorkflows_stage_temp_key__', - name: 'strapi_reviewWorkflows_stage', - fieldSchema: { - type: 'relation', - }, - metadatas: { - label: formatMessage({ - id: getTrad(`containers.ListPage.table-headers.reviewWorkflows.stage`), - defaultMessage: 'Review stage', - }), - searchable: false, - sortable: true, - mainField: { - name: 'name', - schema: { - type: 'string', - }, - }, - }, - cellFormatter({ strapi_reviewWorkflows_stage }) { - // if entities are created e.g. through lifecycle methods - // they may not have a stage assigned - if (!strapi_reviewWorkflows_stage) { - return -; - } - - const { color, name } = strapi_reviewWorkflows_stage; - - return ; - }, - }; -};