From 62e7709dd89e1a61c27c5ea4edc30f02167eeff9 Mon Sep 17 00:00:00 2001 From: tusmester <tusmester@gmail.com> Date: Thu, 16 Nov 2023 10:47:16 +0100 Subject: [PATCH] Feature flag for Categories field. --- .../components/content-list/contenttype-list.tsx | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/apps/sensenet/src/components/content-list/contenttype-list.tsx b/apps/sensenet/src/components/content-list/contenttype-list.tsx index f440e0c16..3f5594daf 100644 --- a/apps/sensenet/src/components/content-list/contenttype-list.tsx +++ b/apps/sensenet/src/components/content-list/contenttype-list.tsx @@ -1,12 +1,21 @@ import React, { lazy, useState } from 'react' import { PATHS } from '../../application-paths' import { Switch } from '@sensenet/controls-react' +import { useRepository } from '@sensenet/hooks-react' const ContentComponent = lazy(() => import(/* webpackChunkName: "content" */ '../content')) const ContentTypeList: React.FC = () => { + const repository = useRepository() const [showHiddenTypes, setShowHiddenTypes] = useState(false) + const categoryField = repository.schemas.getFieldTypeByName('Categories') + const isCategoryFieldAvailable = categoryField !== undefined + const renderBeforeGrid = () => { + if (!isCategoryFieldAvailable) { + return <></> + } + return ( <div style={{ marginTop: '20px', marginBottom: '20px' }}> <label htmlFor="showHiddenTypes" style={{ marginRight: '10px' }}> @@ -23,7 +32,9 @@ const ContentTypeList: React.FC = () => { } const contentTypeQuery = - "+TypeIs:'ContentType'" + (!showHiddenTypes ? ' -Categories:*HideByDefault*' : '') + ' .AUTOFILTERS:OFF' + "+TypeIs:'ContentType'" + + (isCategoryFieldAvailable && !showHiddenTypes ? ' -Categories:*HideByDefault*' : '') + + ' .AUTOFILTERS:OFF' return ( <ContentComponent